/* Complete the approved gold / emerald / cream system. Board geometry is unchanged. */
:root{--night:#000;--panel:#0B493C;--cream:#F7E8CF;--gold:#E5B94E;--muted:#C9D6CE}
body{background:#000;color:var(--cream)}
button,a,input,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
button:disabled{opacity:.55;cursor:default}
.compact-header .brand-image{background:transparent;box-shadow:none}
.compact-header nav .icon-button[aria-label="Ranking"]{width:auto;min-width:68px;padding:8px;font-size:14px}
.compact-header nav .icon-button[aria-label="Ranking"] svg{display:none}
.compact-header nav .icon-button[aria-label="Ranking"]::after{content:'Ranking'}
.game-brand-logo{display:block;width:64px;height:32px;object-fit:contain;flex:none}
.question-line{display:flex;align-items:center;justify-content:center;gap:8px}
.question-line h1{min-width:0}
.board-frame{border-color:var(--brand-emerald);background:#05241D;box-shadow:none}
.board .tile,.word-tile{background:var(--brand-cream);border-color:#A5B4A7;box-shadow:none}
.board .tile input,.word-tile{color:#072D23}
.board .tile.given,.word-tile.given{background:var(--gold);border-color:var(--gold)}
.board .tile.solved,.board .tile.propagated,.word-tile.solved{background:#B7DEBE;border-color:#709E80}
.board .tile.hinted,.word-tile.hinted{background:#D4DBCC}
.board .tile.active-word{outline-color:var(--gold);box-shadow:0 0 0 1px #000}
.board .tile.active-word::after{border-color:#062A20}
.space-tile,.board .space-tile,.word-tile.space-tile{background:#48574C!important;border-color:#75867A}
.game-keyboard{background:#000}
.keyboard-row button,.word-selectors button,.direct-help .secondary{background:var(--brand-emerald);color:var(--brand-cream);border-color:#689280;box-shadow:none}
.keyboard-row button:active,.word-selectors button:active{background:#176B53}
.keyboard-row button[data-base-key="Enter"],.word-selectors button.selected{background:var(--gold);color:#000;border-color:var(--gold)}
.input-row>input{background:#052C23;border-color:#65907C;color:var(--brand-cream)}
.input-row>input::placeholder{color:#CBD6C9}
.scoreboard strong,.scoreboard #progress{font-variant-numeric:tabular-nums;color:var(--gold)}
#help-panel .helper-question{color:var(--brand-cream);border-color:var(--gold)}
.final-mode #final{background:#052C23;border:1px solid #38735D;border-radius:12px}
.final-clock{background:var(--brand-emerald);border-color:var(--gold);color:var(--gold)}
.final-card h3{color:var(--brand-cream)}
#final-hint{background:var(--gold);color:#000;border-color:var(--gold)}
.final-intro-mode .shell{width:100%;max-width:960px;padding:0 20px 24px}
.final-intro-mode #game{max-width:780px;width:100%}
.final-intro-mode #game .lower-panel{padding:0;margin-top:0}
#final-intro:not([hidden]){position:relative;inset:auto;z-index:1;width:100%;height:auto;min-height:420px;max-height:none;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;overflow:hidden;background:var(--gold);color:#000;border:0;border-radius:22px;box-shadow:0 6px 0 var(--brand-emerald);text-align:center}
#final-intro::before,#final-intro::after{display:none!important;content:none!important}
#final-intro .presenter-frame{position:relative;inset:auto;width:100%;height:110px;max-width:300px;margin:0 0 24px;z-index:auto;border:0;border-radius:12px;background:transparent}
#final-intro .presenter-frame img{display:block;width:200px;height:100px;aspect-ratio:2;object-fit:contain;margin:auto}
#final-intro h2{font:700 clamp(30px,6vw,48px)/1.1 Inter;color:#000;margin:0 0 14px}
#final-intro #final-host-line{font:700 20px/1.3 Inter;color:#073B2B;margin:0 0 12px}
#final-intro #final-intro-rule{font:400 17px/1.5 Inter;color:#073B2B;max-width:420px;margin:0 0 26px}
#final-intro #start-final{background:var(--brand-emerald);color:var(--brand-cream);min-height:56px;min-width:220px;border:1px solid #000;border-radius:12px}
#presenter-count{inset:0;left:0;top:0;width:100%;height:100%;color:var(--gold);font:700 96px/1 Inter;text-shadow:none}
.countdown-mode #final-intro .presenter-frame{height:180px;background:var(--brand-emerald);margin:0}
.countdown-mode #final-intro .presenter-frame img,.countdown-mode #final-host-line{display:none}
.answer-slide{background:#0B493C;padding-top:100px}
.answer-brand-logo{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:140px;height:70px;object-fit:contain}
#answer-slide-word .word-tile{background:var(--brand-cream);border-color:#000;color:#000;box-shadow:none}
#answer-slide-word.horizontal-answer{--answer-cell:min(70px,calc((100vw - 52px) / var(--answer-length) - 4px))}
#answer-slide-word.vertical-answer{--answer-cell:min(65px,calc((100dvh - 140px) / var(--answer-length) - 4px))}
.viewing-page .shell{max-width:1000px!important}
.viewing-page .schedule{display:none}
#history,#rules{max-width:850px;margin:12px auto 0;padding:28px;background:var(--brand-cream);color:#052C23;border-radius:20px;border-top:8px solid var(--gold)}
#history h1,#rules h1{font-size:clamp(26px,5vw,40px);line-height:1.15;color:#000;margin:8px 0 20px}
#history h2,#rules h2{color:#0B493C}
#history a,#rules a,#history .text-button,#rules .text-button{color:#0B493C}
#history .eyebrow,#rules .eyebrow{color:#0B493C;font-weight:700}
#history .muted,#rules .muted,#history .sub,#ranking-rule{color:#365846}
.page-back{min-height:44px;font-weight:700}
#server-ranking{margin:24px 0;padding:20px;background:#fff9ec;border:1px solid #C1C9AC;border-radius:14px}
#server-ranking h2{margin-top:0}
#ranking-caption{font-weight:700;color:#294B39;overflow-wrap:anywhere}
#ranking-tabs{display:flex;gap:8px;margin:16px 0}
#ranking-tabs button{min-height:44px;flex:1;background:var(--brand-emerald);color:var(--brand-cream);border:1px solid #0B493C}
#ranking-tabs button[aria-pressed="true"]{background:var(--gold);color:#000;border-color:#000;font-weight:700}
#ranking-rule,#ranking-status{font-size:14px;line-height:1.5}
.ranking-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:16px}
.ranking-table th{font-size:12px;text-transform:uppercase;color:#426A52}
.ranking-table th,.ranking-table td{padding:12px 6px;text-align:left;border-bottom:1px solid #CAD5BC;overflow-wrap:anywhere}
.ranking-table th:first-child,.ranking-table td:first-child{width:56px;text-align:center;font-weight:700;color:#0B493C}
.ranking-table th:last-child,.ranking-table td:last-child{width:80px;text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.ranking-table tbody tr:nth-child(-n+3){background:#F4E2AF}
#local-history{border-top:1px solid #ACBEA8;padding-top:16px;margin-top:24px}
#local-history summary{min-height:44px;cursor:pointer;font-weight:700}
#local-history .empty{color:#365846}
.history-item{border-color:#B4C8AD;color:#284C39}
.history-item strong{color:#0B493C;font-variant-numeric:tabular-nums}
.rules-grid article{border-color:#B4C8AD}
.crossing-report summary{color:#0B493C}
#result .result-record-status{font-size:13px;line-height:1.45;max-width:460px;margin:14px auto 4px;color:#163A2B;overflow-wrap:anywhere}
#result .result-ranking{color:#0B493C;min-height:44px;font-weight:700}
#account-dialog{background:var(--brand-cream);color:#052C23;border:3px solid var(--gold);border-radius:20px}
.account-brand-logo{display:block;width:160px;height:80px;object-fit:contain;margin:0 auto}
#account-title{color:#000;text-align:center;margin:8px 0 20px}
#account-dialog a,#account-dialog .text-button{color:#0B493C}
#account-dialog .text-button{min-height:44px}
#account-dialog .account-contact{font-size:13px}
#account-dialog #account-nick{background:#fff9ec;color:#052C23;border-color:#487A5E}
#account-dialog .primary{background:#0B493C;color:var(--brand-cream);border-color:#0B493C;min-height:48px}
#account-dialog .secondary{background:#F0DFAF;color:#052C23;border-color:#6D8B65;min-height:44px}
#account-message{color:#6B2715;font-weight:700}
#account-record-list p{border-color:#B4C8AD}
#account-delete-confirm{padding:12px;border:2px solid #9E3D23;border-radius:10px}
.privacy-choice{background:var(--brand-emerald);color:var(--brand-cream);border-color:var(--gold);border-radius:16px}
.privacy-choice h2{color:var(--brand-cream)}
.privacy-choice button{background:var(--brand-cream);color:#052C23;border:1px solid #052C23;font-weight:700;flex:1}
@media(max-width:600px){.final-intro-mode .shell{padding:0 12px 20px}#final-intro:not([hidden]){padding:26px 20px;min-height:360px;border-radius:18px}#history,#rules{padding:20px 16px;border-radius:16px}#server-ranking{padding:14px 10px}#account-dialog{padding:18px}.game-brand-logo{width:48px;height:24px}.ranking-table{font-size:14px}.ranking-table th:first-child,.ranking-table td:first-child{width:42px}.ranking-table th:last-child,.ranking-table td:last-child{width:68px}}
@media(max-height:520px) and (orientation:landscape){#final-intro:not([hidden]){min-height:0;padding:20px}#final-intro .presenter-frame{height:70px;margin-bottom:8px}#final-intro .presenter-frame img{height:70px;width:140px}#final-intro #final-intro-rule{margin-bottom:12px}.answer-brand-logo{height:44px;width:88px;top:4px}.answer-slide{padding-top:52px}#answer-slide-word.vertical-answer{--answer-cell:min(65px,calc((100dvh - 80px) / var(--answer-length) - 4px))}}
@media(prefers-reduced-motion:reduce){#final-intro .presenter-frame,.answer-slide,#answer-slide-word{animation:none!important}}
#final-intro .presenter-frame::before,#final-intro .presenter-frame::after{display:none!important;content:none!important}
#final-intro .presenter-frame img{position:static!important;inset:auto!important;height:100px!important;max-height:100px!important;background:transparent!important;object-position:center!important}
@media(max-height:520px) and (orientation:landscape){#final-intro .presenter-frame img{height:70px!important;max-height:70px!important}}
#site-welcome{background:#0B493C}
.playing-mode #board .tile.active-word{outline:2px solid #0B493C!important;outline-offset:0;box-shadow:inset 0 0 0 2px #0B493C!important;background:#E5B94E!important}
.playing-mode #board .tile.active-word input{color:#000!important;-webkit-text-fill-color:#000!important}
#game-keyboard #keyboard-keys button{background:#0B493C!important;color:#F7E8CF!important;border-color:#689280!important;box-shadow:none!important}
#game-keyboard #keyboard-keys button[data-base-key="Enter"]{background:#E5B94E!important;color:#000!important;border-color:#E5B94E!important}
#game-keyboard #keyboard-keys button:active{background:#176B53!important}
#game-keyboard #keyboard-keys button[data-base-key="Backspace"]{background:#183E33!important}
#game-keyboard #keyboard-keys button#polish-toggle[aria-pressed="true"]{background:#E5B94E!important;color:#000!important}
.board .tile input:focus{outline-color:#0B493C;caret-color:#0B493C}
.board .tile.solved:not(.given):not(.hinted),.word-tile.solved:not(.given):not(.hinted){background:#B7DEBE}
.final-mode #final,.final-mode #final-hint,.final-mode .final-clock{box-shadow:none!important}
.final-mode .final-clock{background:#0B493C!important;color:#E5B94E}
#penalty{color:#E5B94E}
#result .result-record-status:empty{display:none}
@media(max-height:600px) and (max-width:600px){.result-mode #result{padding-top:20px}#result .brand-question{margin-bottom:14px;font-size:26px}#result .result-headline{margin-bottom:14px}#result .result-next{margin-top:14px;padding-top:16px;padding-bottom:16px}#result #next-round-title{font-size:16px;line-height:1.3}#result #next-round-countdown{font-size:40px}#result .result-ranking{min-height:36px;padding:4px}#result .result-record-status{margin-top:8px}}
