/* KTO1.standard 1.0: flat squares; a readable selected answer below the overview. */
.playing-mode #board .tile{border-radius:1px!important;background:#fff4dc!important;border-color:#c8bc9c!important}
.playing-mode #board .tile input{border-radius:0!important;font-weight:800!important}
.playing-mode #board .tile.active-word{background:#fffdf5!important;box-shadow:inset 0 0 0 1px #e5b94e!important}
.playing-mode #board .tile.given{background:#f4ce65!important;border-color:#f4ce65!important}
.playing-mode #board .tile.solved:not(.given){background:#d7edca!important}
.hangman-game #board .tile.space-tile,.hangman-game #word-pattern .word-tile.space-tile{background:#777f7b!important;border:1px solid #a9b2ac!important;border-radius:1px!important;box-shadow:none!important;color:transparent!important}
.hangman-game #board .tile.space-tile.active-word{background:#777f7b!important;border-color:#d8ded9!important}
.hangman-game #board .tile.space-tile::after{content:none!important}
.playing-mode #help-panel{display:block!important;margin:0!important;padding:0!important}
.playing-mode #help-panel .question-top{display:flex!important;align-items:center;justify-content:space-between;margin:2px 0 4px!important;min-height:15px}
.playing-mode #word-label{font:600 11px/1.2 Inter!important;color:#e8dcbf!important}
.playing-mode #space-note{display:block;font:400 10px/1.2 Inter;color:#c2c9c4;white-space:nowrap}
.playing-mode #space-note[hidden]{display:none!important}
.playing-mode #word-pattern{display:grid!important;grid-template-columns:repeat(var(--visible-letters,10),minmax(0,1fr))!important;gap:3px!important;margin:0 0 5px!important;overflow:visible!important;width:100%!important}
.playing-mode #word-pattern .word-tile{display:flex!important;min-width:0!important;width:100%!important;max-width:none!important;min-height:26px!important;height:30px!important;aspect-ratio:auto!important;border-radius:2px!important;padding:0!important;opacity:1!important;font:800 21px/1 Inter!important;box-shadow:none!important;background:#fff3d6!important;color:#173c30!important}
.playing-mode #word-pattern .word-tile.given{background:#f4ce65!important}
.playing-mode #word-pattern .word-tile small{font-size:6px;bottom:1px;right:2px}
.playing-mode #word-pattern .word-tile.space-tile{background:#777f7b!important;color:transparent!important}
.playing-mode #word-length,.playing-mode #check{display:none!important}
.playing-mode #question:not([hidden]){display:block!important;font:400 13px/1.25 Inter!important;margin:4px 0!important}
.hangman-game.final-mode #final-pattern .space-tile{display:inline-flex!important;width:calc(var(--fit-final-cell)*.45)!important;flex:0 0 calc(var(--fit-final-cell)*.45)!important;height:var(--fit-final-cell)!important;background:#67716c!important;border:1px solid #929e94!important;border-radius:1px!important;box-shadow:none!important}
.hangman-game.final-mode #final-pattern .phrase-word{height:var(--fit-final-cell)!important}
.hangman-game #answer-slide-word{display:flex!important;flex-wrap:wrap!important;justify-content:center;gap:5px!important;max-width:100%!important}
.hangman-game #answer-slide-word .word-tile{display:inline-flex!important;width:28px!important;height:34px!important;min-height:34px!important;flex:0 0 28px!important;font:800 23px/1 Inter!important;border-radius:2px!important;opacity:1!important;background:#fff4d9!important;color:#173c30!important;box-shadow:none!important;animation:kto1-answer-open 620ms cubic-bezier(.3,.05,.2,1) both;animation-delay:calc(var(--open-index)*45ms);backface-visibility:hidden}
.hangman-game #answer-slide-word .space-tile{background:#777f7b!important;color:transparent!important;width:14px!important;flex-basis:14px!important;animation:none!important}
@keyframes kto1-answer-open{0%,20%{transform:perspective(500px) rotateY(90deg);background:#195343;color:transparent}55%{color:#173c30}100%{transform:perspective(500px) rotateY(0deg)}}
@media(max-width:480px){.playing-mode .keyboard-row button,.playing-mode .keyboard-space button{height:36px!important;min-height:36px!important}.playing-mode #word-pattern .word-tile{height:27px!important;min-height:27px!important;font-size:20px!important}.playing-mode .direct-help button{height:27px!important;min-height:27px!important;font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.hangman-game #answer-slide-word .word-tile{animation:none!important}}

#welcome .comic-poster{grid-column:1/-1;background:linear-gradient(130deg,#39273c,#183c2d);color:#fff1d4}#welcome .comic-poster[hidden]{display:none!important}#welcome .comic-card-content{display:flex;align-items:center;gap:20px;flex:1;padding:12px 0}#welcome .comic-card-portrait{width:120px;flex:0 0 120px;aspect-ratio:1;background-size:300% 300%;background-position:0 0;background-repeat:no-repeat}#welcome .comic-poster .poster-caption{margin:12px 0}#welcome .comic-poster h2{font-size:clamp(24px,4vw,34px);color:#fff1d4}#welcome .comic-poster .poster-caption p{color:#d6d9be}#welcome .comic-poster .poster-play{background:#edcc72!important;color:#173c2d!important}@media(max-width:480px){#welcome .comic-card-content{gap:12px}#welcome .comic-card-portrait{width:88px;flex-basis:88px}}

.playing-mode #selectors{display:grid!important;grid-template-columns:repeat(var(--selector-count,7),minmax(0,1fr))!important;gap:3px!important}.playing-mode #selectors button{max-width:none!important;padding:1px!important;font-size:12px!important;min-width:0!important}.playing-mode #selectors .hint-toggle{font-size:10px!important;background:#173e30!important;color:#f5e3bb!important}.playing-mode .direct-help{display:none!important}.playing-mode.hints-expanded .direct-help{display:flex!important}@media(max-width:480px){.playing-mode .game-heading h1{font-size:14px!important;line-height:1.13!important}.playing-mode .keyboard-row button,.playing-mode .keyboard-space button{height:34px!important;min-height:34px!important}}
.playing-mode #board .tile input{font-size:calc(var(--cell)*.86)!important;letter-spacing:-.04em}

/* v94: the daily character leads the phone welcome screen. */
@media(max-width:700px){
 #welcome #daily-hero{flex-direction:column;gap:4px;padding:10px 12px 14px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#89557588,transparent 70%),#23142e}
 #welcome #daily-hero .hangman-portrait{width:clamp(180px,54vw,224px);max-width:100%;height:auto;aspect-ratio:var(--character-ratio,1);margin:0 auto;filter:drop-shadow(0 8px 10px #0005)}
 #welcome #daily-hero strong{font-size:24px;line-height:1.15;margin:4px 0 6px}
 #welcome #daily-hero small{font-size:11px;letter-spacing:.12em}
 #welcome #daily-hero p{font-size:12px;line-height:1.4}
 #welcome #daily-hero .parody-label{font-size:10px;margin-top:3px}
}

/* v108: legible controls, visible answer numbers and calm result screen. */
.playing-mode #selectors button{height:38px!important;min-height:38px!important;font:800 17px/1 Inter!important;border:1px solid #8baf9b!important;border-radius:6px!important;background:#184c3b!important;color:#fff4d9!important}
.playing-mode #selectors button.selected{background:#f4ce65!important;color:#102d23!important;border-color:#fff0bc!important}
.playing-mode #selectors button.done{background:#264d39!important;color:#a9c4b2!important;text-decoration:line-through}
.playing-mode #board .start-number{display:block!important;position:absolute;left:1px;top:0;z-index:2;font:800 max(8px,calc(var(--cell)*.24))/1 Inter!important;color:#123d30!important;pointer-events:none}
.playing-mode #board .tile.active-word{background:#fffdf5!important;outline:2px solid #f0c85c!important;outline-offset:-2px}
.playing-mode #board .tile input{font-size:calc(var(--cell)*.69)!important;padding-top:3px!important;letter-spacing:0}
.playing-mode .board-scroll{background:#0c211a!important;border-radius:3px!important}
.playing-mode.board-zoomed .board-scroll{scrollbar-width:thin;scrollbar-color:#e3c673 #174235}
.playing-mode #word-pattern .word-tile{height:32px!important;min-height:32px!important;font-size:22px!important}
.playing-mode #word-label{font-size:12px!important}
.playing-mode #word-pattern .space-tile::after{content:'␣';color:#fff!important;font:700 17px/1 Inter!important}
.playing-mode #target-hint,.playing-mode #show-question[hidden]{display:none!important}
.playing-mode .direct-help:has(#show-question:not([hidden])){display:flex!important}
.playing-mode #game-keyboard .input-row{display:flex!important;gap:6px!important}
.playing-mode #game-keyboard #word-input{min-width:0!important;flex:1!important;font-size:17px!important}
.playing-mode #game-keyboard #random-hint{display:flex!important;flex:0 0 96px!important;flex-direction:column;justify-content:center;gap:2px;width:96px!important;height:40px!important;padding:3px!important;min-width:0;font:600 11px/1.15 Inter!important;color:#fff3cb;background:#4b4424!important;border:1px solid #bca467!important;border-radius:6px}
.playing-mode #game-keyboard #random-hint b{font-size:14px}.playing-mode #random-hint:disabled{opacity:.45}
.playing-mode .game-heading h1{font-size:clamp(15px,4vw,20px)!important;line-height:1.2!important}
.game-domain,.scene-domain{color:#f6d77c!important;font:700 13px/1 Inter!important;text-decoration:none;white-space:nowrap}
.round-toolbar .game-domain{order:2;margin-left:auto}.round-toolbar #size{order:3}.round-toolbar .mobile-game-info{order:4}
.hangman-game.final-mode .final-top{flex-wrap:wrap;gap:4px!important}
.hangman-game.final-mode .final-top h2{font-size:17px!important}
.hangman-game.final-mode .final-top .game-domain{order:4;width:100%;text-align:center;font-size:11px!important}
.hangman-portrait{overflow:hidden}
.portal-mode #game-heading,.portal-mode #play,.portal-mode #controls,.portal-mode #entry,.portal-mode #final-intro,.portal-mode #final,.portal-mode #result,.portal-mode #game-keyboard{display:none!important}
.result-mode #result{padding:20px!important}
#result .result-domain{display:block;color:#143a2b!important;font:800 24px/1 Inter;margin:0 0 12px;text-decoration:none}
#result #hangman-result .hangman-portrait{width:110px!important;height:auto!important;margin:auto}
#result #result-victory{font-size:16px!important;margin:8px 0!important}
#result .result-headline{margin:8px 0 18px!important}
#result #photo-result{font-size:18px!important;min-height:52px!important;margin:0 auto!important}
#result .photo-result-promise{margin:10px 0!important;font-size:13px!important}
#result .result-home{display:block;padding:13px 8px;margin:12px 0 16px;color:#123c2d;font:700 15px/1.2 Inter;text-decoration:underline}
#result .result-next{background:transparent!important;margin:10px 0!important;padding:12px 0!important;color:#123c2d!important;border-top:1px solid #9e873e}
#result .result-next summary{font-size:14px;font-weight:600;cursor:pointer}
#result #next-round-title,#result #next-round-countdown,#result #next-round-note{color:#123c2d!important;font-size:18px!important;margin:8px 0!important}
#result #result-options,#result #result-more{margin:8px 0!important;padding:10px 0!important}
#result #result-options summary,#result #result-more summary{font-size:14px!important}
@media(max-height:680px){.playing-mode #selectors button{height:32px!important;min-height:32px!important}.playing-mode #word-pattern .word-tile{height:29px!important;min-height:29px!important}}

.playing-mode .round-toolbar{gap:7px!important}.playing-mode .scoreboard{gap:9px!important;flex:none!important}.playing-mode #penalty{white-space:nowrap!important}.playing-mode #size{white-space:nowrap!important;font-size:12px!important;min-width:0!important;padding:2px!important}.playing-mode .round-toolbar .mobile-game-info{flex:0 0 20px!important;width:20px!important;padding:0!important}.playing-mode .round-toolbar .game-domain{font-size:11px!important}
@media(max-width:350px){.playing-mode .round-toolbar{gap:4px!important}.playing-mode .scoreboard{gap:6px!important}.playing-mode #time{font-size:21px!important}.playing-mode #penalty{font-size:13px!important}}

.compact-header .brand-button{position:relative}.compact-header .header-domain{display:block!important;position:absolute;bottom:0;left:0;right:0;text-align:center;font:800 12px/1 Inter;color:#f6d77c}
.playing-mode #selectors button{width:100%!important}

/* clarity111d: reaction occupies only the keyboard, leaving the board untouched. */
.hangman-game #answer-slide:not([hidden]){position:fixed!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:stretch!important;gap:6px!important;max-height:none!important;min-height:0!important;max-width:none!important;padding:10px!important;border:1px solid #b18d59;border-radius:14px;box-sizing:border-box;overflow:hidden!important;box-shadow:none!important}
#answer-reaction{display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:4px 10px;align-items:center;min-height:0;flex:1 1 0;max-width:100%;text-align:center}
#answer-reaction .hangman-portrait{grid-row:1/4;grid-column:1;max-height:none!important;max-width:none!important;flex:none!important;align-self:center;margin:0!important}
#answer-reaction .scene-domain,#answer-reaction small,#answer-reaction p{grid-column:2;margin:0!important}
#answer-reaction small{font-size:9px!important}
#answer-reaction p{font-size:clamp(12px,2.8vw,18px)!important;line-height:1.2!important;align-self:center;overflow-wrap:anywhere}
.hangman-game #answer-slide-word{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;flex:0 0 auto!important;justify-content:center!important;gap:3px!important;margin:0!important;max-width:100%!important}
.hangman-game #answer-slide-word .word-tile{width:22px!important;flex:0 0 22px!important;height:26px!important;min-height:26px!important;font-size:18px!important}
.hangman-game #answer-slide-word .space-tile{width:10px!important;flex-basis:10px!important}
.all-games{font:700 13px/1.2 Inter,sans-serif;color:#ffdf8d;background:#163d32;border:1px solid #857344;border-radius:8px;padding:10px 12px;min-height:40px;white-space:nowrap}
#final-pattern .phrase-word{white-space:nowrap!important;flex-wrap:nowrap!important}
.hangman-game.final-mode #final-pattern{column-gap:var(--fit-final-cell,36px)!important;row-gap:8px!important}
@media(max-width:650px){.all-games{font-size:12px;padding:8px}.hangman-game.final-mode #final-pattern{column-gap:var(--fit-final-cell,36px)!important;row-gap:6px!important}}

/* reading112: uncluttered mobile overview and an explicit reading/typing zoom. */
@media(max-width:650px) and (orientation:portrait){
 .intro-mode .shell{padding:0 10px 16px!important}
 .intro-mode .compact-header{min-height:64px!important;gap:6px!important;grid-template-columns:auto minmax(0,1fr)!important}
 .intro-mode .compact-header .brand-button{grid-column:1!important;grid-row:1!important;order:0!important}
 .intro-mode .compact-header .brand-image{width:88px!important}
 .intro-mode .compact-header nav{grid-column:2!important;grid-row:1!important;margin-left:auto!important;gap:3px!important}
 .intro-mode .compact-header .header-info{display:none!important}
 .intro-mode #welcome:not([hidden]){display:flex!important;flex-direction:column!important;gap:12px!important}
 #welcome .game-posters{display:contents!important}
 #welcome .crossword-poster{order:0!important;padding:14px!important;min-height:0!important;border-radius:16px!important}
 #welcome .crossword-scene{height:190px!important;min-height:0!important;flex:none!important;margin:5px 0 12px!important}
 #welcome .crossword-scene .poster-board{width:176px!important;max-height:none!important;max-width:none!important}
 #welcome .crossword-poster .poster-caption{margin:6px 0 12px!important;min-height:0!important}
 #welcome .crossword-poster h2{font-size:26px!important;margin:0!important}
 #welcome .crossword-poster .poster-play{min-height:52px!important;margin:0!important;font-size:19px!important}
 #welcome #daily-hero{order:1!important;flex-direction:row!important;text-align:left!important;padding:10px!important;gap:12px!important}
 #welcome #daily-hero .hangman-portrait{width:76px!important;flex:0 0 76px!important;margin:0!important}
 #welcome #daily-hero strong{font-size:19px!important}
 #welcome .comic-poster{order:2!important}#welcome .opinion-poster{order:3!important}#welcome .six-poster{order:4!important}
 #welcome .kto1-about,#welcome #saved-session{order:5!important}
 .playing-mode #game-keyboard{min-height:196px!important}
 .playing-mode #mobile-typing-toggle:not([hidden]){display:block!important;order:9!important;width:100%!important;min-height:44px!important;padding:6px 10px!important;border:1px solid #9cb29e;border-radius:8px;background:#214b3d;color:#fff4d9;font:700 15px/1.2 Inter;margin:4px 0 0}
 .playing-mode #game-keyboard{display:flex!important;flex-direction:column!important;gap:0!important}
 .playing-mode #game-keyboard #controls{order:0!important}.playing-mode #game-keyboard #entry{order:1!important}.playing-mode #keyboard-keys{order:10!important}
 .playing-mode #board .tile input{font-size:var(--letter-size)!important;font-weight:700!important;padding:0!important;line-height:1.15!important;letter-spacing:0!important}
 .playing-mode #board:not(.big) .start-number{display:none!important}
 .playing-mode #board.big .tile input{padding:8px 0 0!important}
 .playing-mode #board.big .start-number{font:700 8px/8px Inter!important;top:1px!important;left:2px!important}
 .playing-mode #board .tile.given .cross-mark,.playing-mode #board .tile .hint-mark{display:none!important}
 .playing-mode #word-pattern .word-tile small,.final-mode #final-pattern .word-tile small{display:none!important}
 .playing-mode #word-pattern .word-tile{height:36px!important;min-height:36px!important;font:700 24px/1.15 Inter!important;padding:1px 0!important}
 .playing-mode #selectors button{height:42px!important;min-height:42px!important;font-size:18px!important}
 .playing-mode .round-toolbar{height:44px!important;min-height:44px!important;gap:4px!important}
 .playing-mode #size{height:44px!important;min-height:44px!important;font:700 12px/1.15 Inter!important;white-space:normal!important;width:82px!important;min-width:82px!important}
 .playing-mode .game-heading h1{font-size:16px!important;line-height:1.15!important}
 .playing-mode #game-keyboard .input-row input{height:44px!important;min-height:44px!important;font-size:20px!important}
 .playing-mode #game-keyboard #random-hint{height:44px!important;min-height:44px!important}
 .playing-mode #game-keyboard .keyboard-row button{height:40px!important;min-height:40px!important}
 .playing-mode #game-keyboard .keyboard-tools,.playing-mode #game-keyboard #keyboard-note{display:none!important}
}
@media(max-width:650px) and (orientation:portrait){
 .intro-mode .compact-header nav button{padding:6px!important;min-width:36px!important;min-height:44px!important;width:auto!important;font-size:12px!important}
}
@media(max-width:650px) and (orientation:portrait){
 .playing-mode #word-pattern{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:3px!important;padding-bottom:3px!important;scrollbar-width:thin;scrollbar-color:#d5b755 #16382d}
 .playing-mode #word-pattern .word-tile{width:30px!important;min-width:30px!important;flex:0 0 30px!important}
 .playing-mode #word-pattern .word-tile.space-tile{width:12px!important;min-width:12px!important;flex-basis:12px!important}
}

/* comfort113: one product name, original tilted art, direct typing. */
#welcome .crossword-title{font:750 clamp(26px,3.3vw,40px)/1.1 Outfit,Inter,system-ui;letter-spacing:-.04em;margin:0;color:inherit}
#welcome .crossword-poster .poster-topline{align-items:flex-start}
#welcome .crossword-poster .poster-edition{padding-top:6px;white-space:nowrap}
#keyboard-keys .keyboard-last button{flex:1!important;min-width:0!important;max-width:none!important}
#keyboard-keys .keyboard-last button[data-base-key="Enter"],#keyboard-keys .keyboard-last button[data-base-key="Backspace"]{flex:1.5!important}
@keyframes kto1-keys-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.playing-mode.mobile-typing #keyboard-keys{animation:kto1-keys-in .18s ease-out both}
@media(max-width:650px) and (orientation:portrait){
 .playing-mode #mobile-typing-toggle:not([hidden]){min-height:36px!important;height:36px!important;font-size:13px!important}
 .playing-mode #keyboard-keys .keyboard-last button{font-size:20px!important}
 .playing-mode #word-pattern .word-tile:not(:disabled){cursor:text}
}
@media(prefers-reduced-motion:reduce){.playing-mode.mobile-typing #keyboard-keys{animation:none}}

@media(max-width:650px) and (orientation:portrait){
 #welcome .poster-board{gap:2px}
 #welcome .poster-board span{border-radius:2px;font-size:calc(176px / var(--cols) * .62);box-shadow:0 2px 0 #ab925f}
 #welcome .poster-board .seed{box-shadow:0 2px 0 #082d22}
}

.playing-mode .keyboard-space button[data-base-key="ArrowLeft"],.playing-mode .keyboard-space button[data-base-key="ArrowRight"]{flex:0 0 44px!important;max-width:44px!important;min-width:44px!important;font-size:22px!important}
.playing-mode #keyboard-keys .keyboard-space{display:grid!important;grid-template-columns:44px 44px minmax(0,1fr) 44px!important;width:100%!important;gap:4px!important}

/* words115: answer strip only; board geometry stays unchanged. */
.playing-mode #word-pattern{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:3px!important;width:100%!important;padding:3px 0 5px!important;scrollbar-width:thin}
.playing-mode #word-pattern .word-tile{flex:0 0 32px!important;width:32px!important;min-width:32px!important;height:38px!important;font:700 24px/1 Inter!important}
.playing-mode #word-pattern .word-tile.space-tile{flex-basis:14px!important;min-width:14px!important;width:14px!important}
.playing-mode #word-pattern .slot-active{outline:3px solid #ffda69!important;outline-offset:-3px;background:#d5eedb!important}
#choose-word-note,#entry-tip{font:600 13px/1.35 Inter;color:#ffe19b;margin:4px 0 7px}
#choose-word-note{animation:choose-word-pulse 1.2s ease-in-out 2}
.selection-flash{animation:choose-word-pulse .7s ease-out 1}
@keyframes choose-word-pulse{50%{box-shadow:0 0 0 3px #f4ce65;background:#524521}}
@media(prefers-reduced-motion:reduce){#choose-word-note,.selection-flash{animation:none}}
#crossword-archive{margin:14px 0;padding:12px;border:1px solid #8d7840;border-radius:12px;background:#102f26;color:#fff3d6}
#crossword-archive summary{cursor:pointer;font-weight:700}#archive-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
#archive-days a{display:block;padding:12px 8px;border:1px solid #a18d56;border-radius:7px;color:#fff3d6;text-align:center;text-decoration:none}
#archive-note,.archive-local{font-size:13px;line-height:1.4}.archive-local{opacity:.75}

/* words114: wrap answers only at a word boundary, with one empty cell between words. */
.hangman-game #answer-slide-word{width:100%;column-gap:var(--answer-cell,22px)!important;row-gap:6px!important}
.hangman-game #answer-slide-word .answer-word{display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;white-space:nowrap;gap:3px;max-width:100%}
.hangman-game #answer-slide-word .word-tile{width:var(--answer-cell,22px)!important;flex-basis:var(--answer-cell,22px)!important;height:var(--answer-height,26px)!important;min-height:var(--answer-height,26px)!important;font-size:var(--answer-font,18px)!important}
#answer-reaction p{overflow-wrap:normal;word-break:normal;hyphens:none}
