@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f7f6ef;--ink:#233e35;--green:#315c49;--line:#dcded2;--muted:#72796d;--lime:#e5ebae}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:7px;padding:11px 16px}button:hover{background:#e9eddd}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bf923e;outline-offset:3px}button:disabled{opacity:.5;cursor:default}a{color:var(--green)}header{max-width:1250px;margin:auto;padding:27px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:25px;font-weight:600;letter-spacing:-1px}.mark{font-size:36px}.tag{font-size:9px;letter-spacing:1.4px;margin:6px 0 0 15px;font-weight:500}#saved-count{background:var(--lime);border-radius:50%;padding:3px 7px;margin-left:7px}main{max-width:1170px;padding:0 20px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:49px 0 35px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 15px}h1{font:64px/1.03 'Libre Caslon Display',Georgia,serif;letter-spacing:-2px;margin:0}h1 em{font-weight:400;color:#6e8257}p{line-height:1.65}.intro p:last-child{color:var(--muted);margin:20px 0 5px}.illustration{position:relative;width:330px;height:180px;margin-right:55px}.tile{display:flex;align-items:center;justify-content:center;background:#e8dfa9;box-shadow:0 5px 0 #c6bb80,0 10px 20px #233e3510;border:1px solid #d4cb95;border-radius:10px;width:79px;height:85px;font:42px Georgia,serif;position:absolute}.tile small{position:absolute;right:10px;bottom:8px;font:12px sans-serif}.t1{left:0;top:35px;transform:rotate(-12deg)}.t2{left:86px;top:10px;transform:rotate(7deg)}.t3{left:174px;top:42px;transform:rotate(-7deg)}.t4{left:250px;top:15px;transform:rotate(13deg)}.spark{position:absolute;right:45px;bottom:0;font-size:46px;color:#8c9c66}nav{display:flex;gap:12px;margin:15px 0 33px;border-bottom:1px solid var(--line);padding-bottom:20px}nav button{text-align:left;min-width:255px;padding:17px 22px;font-weight:600}nav button small{display:block;font-weight:400;margin:7px 0 0 24px;font-size:11px;opacity:.7}nav .active{color:#fff;background:var(--green);border-color:var(--green)}nav .active:hover{background:#244b3b}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}h2{font:32px 'Libre Caslon Display',Georgia,serif;margin:0}.section-head .eyebrow{margin-bottom:8px;font-size:9px}.game-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:25px}.board-card,.clues-card{background:#fffef9;border:1px solid var(--line);border-radius:13px;padding:25px}.board-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;font-size:12px}.pill{display:inline-block;font-size:9px;letter-spacing:1px;background:#edf0df;padding:8px 10px;border-radius:20px}#grid{display:grid;gap:3px;max-width:490px;margin:0 auto;background:#edf0e7;padding:8px;border-radius:6px}.cell{aspect-ratio:1;position:relative;min-width:0}.cell input{width:100%;height:100%;padding:4px 0 0;text-align:center;text-transform:uppercase;border:1px solid #c9cebc;border-radius:2px;background:#fffef9;color:var(--ink);font-size:clamp(12px,2vw,23px);caret-color:transparent}.cell.selected input{background:#e9edbb}.cell input:focus{background:#d4df91;outline:2px solid var(--green);position:relative;z-index:1}.cell.solved input{color:#34744b;background:#e1eddc}.cell small{position:absolute;top:2px;left:3px;font-size:8px;z-index:2;pointer-events:none}.muted{color:var(--muted);font-size:12px}.board-card>.muted{text-align:center}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.actions button{font-size:12px;flex:1;padding:10px 7px}.actions button:first-child{background:var(--green);color:white;border-color:var(--green)}h3{font:25px 'Libre Caslon Display',Georgia,serif;margin:0 0 15px}.clue{display:block;text-align:left;width:100%;padding:12px 10px;border:0;border-radius:5px;font-size:13px;line-height:1.5;margin:3px 0}.clue.active{background:#edf0df}.clue.done:before{content:'✓ ';color:#3a7a45}.clue-group{font-size:10px;letter-spacing:1.4px;margin:16px 0 6px}.learn-card{background:#edf0df;border:1px solid #e1e6cf;padding:25px;border-radius:13px;margin-top:18px}.learn-card>span{font-size:27px}.learn-card p,.clues-card p{font-size:13px;color:#5b6c5c}.learn-card h3{margin-top:9px}.learn-card a{font-size:12px}.learn-card button{display:block;margin-top:15px;background:#fffef9}#status{min-height:25px;margin:15px 0;color:#436547;font-size:13px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:25px 0 35px;color:var(--muted);font-size:11px}.scores{display:flex;align-items:center;justify-content:space-between;text-align:center;font-size:10px;letter-spacing:1px;margin:10px 0 40px}.scores strong{display:block;font-size:42px;font-weight:500;letter-spacing:-2px;margin-top:8px}.scores p{margin:8px}.duel-card>h3,.duel-card>p{text-align:center}.duel-card>p{color:var(--muted);font-size:13px}#rack{display:flex;justify-content:center;gap:8px;margin:30px 0}#rack .tile{position:relative;width:55px;height:65px;font-size:30px;cursor:pointer}form label{display:block;font-size:12px;margin:10px 0}.entry{display:flex;gap:9px}.entry input{width:100%;min-width:0;border:1px solid var(--line);padding:13px;border-radius:6px;background:#fff}.entry button{background:var(--green);color:white;white-space:nowrap}#duel-feedback{margin-top:25px;font-size:14px;line-height:1.7}#history p{padding-bottom:10px;border-bottom:1px solid #d7ddc8}#history button{display:inline;font-size:11px;padding:4px 9px;margin:0 0 0 5px}select{padding:8px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink)}dialog{width:min(620px,92vw);max-height:80vh;border:1px solid var(--line);border-radius:14px;padding:30px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#233e3577}.book-entry{padding:15px 0;border-bottom:1px solid var(--line)}.book-entry strong{text-transform:capitalize;font-size:20px}.book-entry p{margin:8px 0}.book-entry button{font-size:11px;padding:6px 10px} [hidden]{display:none!important}@media(max-width:760px){header{padding:20px}.tag{display:none}.brand{font-size:22px}header button{font-size:12px;padding:8px}main{padding:0 18px}.intro{padding:35px 0 22px}h1{font-size:48px}.illustration{display:none}nav{gap:8px}nav button{min-width:0;flex:1;padding:13px 10px;font-size:13px}nav button small{margin-left:0;font-size:10px}.game-layout{grid-template-columns:1fr}.board-card,.clues-card,.learn-card{padding:18px}.section-head h2{font-size:27px}.section-head button{font-size:11px;padding:9px}footer{gap:20px}.cell input{font-size:20px}#rack{gap:5px}#rack .tile{width:38px;height:48px;font-size:23px}#rack .tile small{font-size:9px;right:5px;bottom:5px}.scores{margin-bottom:25px}.entry button{padding:10px;font-size:12px}}

.dashboard-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0 50px}.dashboard-options>button{text-align:left;background:#fffef9;border-radius:14px;padding:32px}.dashboard-options>button:first-child:hover{border-color:var(--green);background:#f0f3e5}.dashboard-options>button:disabled{opacity:.65}.option-icon{display:block;font:44px Georgia;margin-bottom:22px}.dashboard-options h2{margin-top:20px}.dashboard-options p{font-size:14px;color:var(--muted);max-width:380px}.dashboard-options strong{display:block;margin-top:25px;font-size:13px}@media(max-width:650px){.dashboard-options{grid-template-columns:1fr;gap:16px}.dashboard-options>button{padding:24px}}
/* Board game layout */
#duel .game-layout{grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr)}.board-scroll{overflow-x:auto;padding:3px}.duel-card .scores{margin:0 0 20px}#scrabble-board{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;background:#315c49;padding:9px;border-radius:7px;min-width:390px;box-shadow:0 4px 0 #1b3c2d}.square{aspect-ratio:1;border:0;border-radius:2px;padding:0;position:relative;background:#d3ddbb;font-size:9px;font-weight:700;color:#315c49;min-width:0}.square.TW,.board-legend .TW{background:#d97669;color:#542b25}.square.DW,.board-legend .DW{background:#efb6a6;color:#643d36}.square.TL,.board-legend .TL{background:#55a0a9;color:#163f47}.square.DL,.board-legend .DL{background:#acd5d9;color:#254a52}.square.occupied,.square.ghost{background:#e8dfa9;color:#233e35;font-size:clamp(13px,1.8vw,25px);font-family:Georgia,serif;box-shadow:inset 0 -3px #c5b77f}.square small{position:absolute;right:3px;bottom:2px;font:8px sans-serif}.square.ghost{background:#fff7ce;outline:1px dashed #856b24;outline-offset:-3px}.square.cursor{outline:3px solid #f2c745;outline-offset:-2px;z-index:1}.square.conflict{background:#ec8f85}.square:disabled{opacity:1}.board-legend{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.board-legend span{padding:5px 8px;border-radius:3px;font-size:10px}.rack-heading{display:flex;justify-content:space-between;font-size:12px;margin-top:25px}#rack{background:#947147;border-bottom:7px solid #654c2e;border-radius:6px;padding:14px 8px 10px;margin:12px 0 22px;box-shadow:0 5px 9px #233e3520}#rack .tile{flex:1;max-width:62px}#placement{font-weight:600;font-size:13px;margin:10px 0}#history{max-height:440px;overflow:auto}@media(max-width:850px){#duel .game-layout{grid-template-columns:1fr}.square{font-size:8px}.square.occupied,.square.ghost{font-size:19px}}@media(max-width:450px){.duel-card{padding:12px}#scrabble-board{gap:2px;padding:6px}.square.occupied,.square.ghost{font-size:17px}.square small{font-size:7px;right:2px}.board-legend span{font-size:9px}}
/* Word Garden: playful tabletop edition */
:root{--paper:#f8f5ec;--ink:#193d35;--green:#17644d;--line:#d8dfd4;--muted:#60736a;--lime:#e4ef9b}
body{background-color:var(--paper);background-image:radial-gradient(#244d3512 .8px,transparent .8px);background-size:19px 19px}header{padding-top:20px;padding-bottom:20px}.brand{font-weight:700;letter-spacing:-1.2px}.mark{display:grid;place-items:center;background:var(--green);color:#e9f3a6;border-radius:13px;width:43px;height:43px;font-size:33px;transform:rotate(-8deg)}.tag{color:var(--muted)}#notebook{background:#fffdf6;border:1px solid #cbd6c8;box-shadow:0 3px 0 #dbe2d4;font-weight:600;border-radius:12px}button{transition:background .15s,box-shadow .15s,transform .15s}button:not(:disabled):active{transform:translateY(2px)}
.intro{margin:28px 0 38px;padding:45px 40px;background:#1c5845;border-radius:25px;position:relative;overflow:hidden;box-shadow:0 7px 0 #dce3cd;color:#fffdf3;isolation:isolate}.intro:after{content:'';position:absolute;width:340px;height:340px;right:-65px;top:-90px;border:60px solid #ffffff08;border-radius:50%;z-index:-1}.intro .eyebrow{color:#d8ec9c;font-size:10px;letter-spacing:2.3px}h1{font-family:'DM Sans',sans-serif;font-size:clamp(38px,4.9vw,65px);font-weight:700;line-height:1.05;letter-spacing:-3px}h1 em{font-style:normal;font-weight:700;color:#dded98}.intro p:last-child{color:#d3e4d9;font-size:14px;max-width:390px}.illustration{flex-shrink:0;margin-right:25px;transform:scale(.88) rotate(-5deg)}.illustration:after{content:'one word wiser';position:absolute;bottom:0;left:10px;transform:rotate(4deg);font-size:12px;letter-spacing:1px;color:#d4e8a8;border:1px solid #afca8b70;border-radius:30px;padding:8px 16px}.illustration .tile{color:#244a38;background:linear-gradient(135deg,#fff1ce,#e7ca8f);border-color:#e9d09a;box-shadow:0 7px 0 #bc975b,0 14px 16px #08261f40;font-family:'DM Sans',sans-serif;font-weight:600}.spark{color:#e4ef9b;right:15px;bottom:-8px}.eyebrow{font-size:11px;letter-spacing:1.7px}
h2,h3{font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:-1px}h2{font-size:29px}h3{font-size:22px;line-height:1.25}.dashboard-options{gap:25px}.dashboard-options>button{position:relative;overflow:hidden;border:1px solid #bfcec0;border-radius:20px;background:#edf3da;padding:30px;box-shadow:0 6px 0 #cbd7b9;min-height:315px}.dashboard-options>button:first-child:hover{background:#e5efcc;transform:translateY(-4px);box-shadow:0 10px 0 #cbd7b9}.dashboard-options>button:nth-child(2){background:#f4e4dc;border-color:#e1c9be;box-shadow:0 6px 0 #dfccc0;opacity:1}.dashboard-options>button>.pill{position:absolute;right:25px;top:28px;font-weight:700;font-size:9px;background:#fffdf3;letter-spacing:1px}.dashboard-options>button:first-child>.pill{color:#17644d}.dashboard-options h2{font-size:30px;margin-top:20px}.dashboard-options p{max-width:360px;color:#526958;font-size:14px;line-height:1.7}.dashboard-options strong{background:#1d624b;color:white;display:inline-block;padding:13px 19px;border-radius:10px;margin-top:15px;font-size:13px}.dashboard-options>button:disabled strong{background:#e7cec1;color:#795346}.letter-art{display:flex;gap:5px;height:70px;align-items:center;margin:2px 0 20px}.letter-art i{display:grid;place-items:center;width:45px;height:51px;background:#ffefc8;box-shadow:0 4px 0 #bfa06a;border:1px solid #d8bd85;border-radius:6px;font:600 27px 'DM Sans',sans-serif;position:relative;transform:rotate(-10deg)}.letter-art i:nth-child(even){transform:rotate(9deg);top:7px}.letter-art small{position:absolute;bottom:4px;right:5px;font-size:9px}.crossword-art{display:grid;grid-template-columns:repeat(3,23px);gap:3px;margin:0 0 20px}.crossword-art i{display:grid;place-items:center;background:#fff9ee;border-radius:3px;height:23px;font:700 14px 'DM Sans',sans-serif}.crossword-art i:empty{background:#b77864}.sidebar-kicker{display:block;font-size:9px;letter-spacing:1.6px;font-weight:700;margin-bottom:12px;color:#637d60}
.playing .intro{display:none}nav{border:0;margin:25px 0 24px;padding:0}nav button{min-width:0;border-radius:10px;padding:10px 16px}nav button small{display:none}nav #home-button{background:#fffdf6;font-size:12px}nav .active{font-size:12px}.section-head{margin-bottom:22px}.section-head label{font-size:12px}.section-head select{border-radius:8px;margin-left:5px}.board-card,.clues-card{border-radius:18px;background:#fffdf7;box-shadow:0 5px 0 #e1e5d8}.duel-card{padding:22px}.duel-card .scores{background:#eef3e3;border:1px solid #dee7d1;border-radius:13px;padding:15px 18px;margin-bottom:20px;gap:8px}.scores>div:first-child,.scores>div:last-child{flex:1}.scores>div:first-child:before{content:'YOU';display:block;width:30px;height:30px;line-height:30px;background:#d6e5b5;border-radius:50%;margin:0 auto 7px;font-size:8px;font-weight:700;letter-spacing:0}.scores>div:last-child:before{content:'F';display:block;width:30px;height:30px;line-height:30px;background:#edd4be;border-radius:50%;margin:0 auto 7px;font-size:15px;font-weight:700}.scores strong{font-weight:700;font-size:35px;margin-top:3px;line-height:1.2}.scores .pill{background:#1c624c;color:#f7ffd8;font-size:8px;letter-spacing:.6px;white-space:nowrap}.scores p{font-size:10px;color:#72846c;margin-bottom:0}
#scrabble-board{background:#254f3e;border:5px solid #37644e;border-radius:10px;padding:7px;gap:3px;box-shadow:0 5px 0 #163f30,0 9px 16px #153b2720}.square{background:#dce5c8;border-radius:3px;box-shadow:inset 0 1px 0 #ffffff35;font-family:'DM Sans',sans-serif;transition:filter .12s}.square:not(:disabled):hover{filter:brightness(1.13);box-shadow:inset 0 0 0 2px #fff8}.square.TW,.board-legend .TW{background:#e98170;color:#512a22}.square.DW,.board-legend .DW{background:#f1c3ae;color:#63382d}.square.TL,.board-legend .TL{background:#4ba4b2;color:#123b44}.square.DL,.board-legend .DL{background:#acd9d5;color:#214b48}.square.occupied{background:linear-gradient(135deg,#fff0c9,#e7cb90);font-family:'DM Sans',sans-serif;font-weight:700;border:1px solid #c7b17c;box-shadow:inset 0 -2px #c3a46c}.square.ghost{background:#fff8da;font-family:'DM Sans',sans-serif}.square.conflict{background:#ec8f85}.square.cursor{outline:3px solid #f6cf51}.board-legend{justify-content:center;margin-top:18px}.board-legend span{border-radius:5px;font-size:9px;font-weight:600;padding:6px 8px}#direction{display:block;margin:auto;background:#edf3e1;font-size:12px;border-radius:20px;padding:8px 16px}#rack{background:linear-gradient(#ab8052,#8e653f);border-bottom:7px solid #62462c;border-radius:11px;padding:13px 10px 12px;box-shadow:inset 0 2px 0 #caa06b,0 5px 9px #233e3520}#rack .tile{background:linear-gradient(135deg,#fff3d6,#ead09a);border:1px solid #d3b77d;border-radius:7px;box-shadow:0 4px 0 #b89961,0 5px 8px #33200f30;font-family:'DM Sans',sans-serif;font-weight:600}#rack .tile:not(:disabled):hover{transform:translateY(-5px);box-shadow:0 7px 0 #b89961,0 10px 12px #33200f30}.rack-heading{font-size:11px}.rack-heading strong{text-transform:uppercase;letter-spacing:1.2px}#bag-count{border-radius:12px;background:#edf1e5;padding:3px 9px}.entry input{border-radius:10px;background:#fffefb;padding:15px}.entry button{border-radius:10px;background:#db7659;border:1px solid #c36a50;box-shadow:0 3px 0 #ad513a;font-weight:700;color:#fff}.entry button:not(:disabled):hover{background:#c96349}.actions button{border-radius:8px;background:#f4f4ea;font-size:11px}.actions button:first-child{background:#e7edda;color:#284e3b;border-color:#ced9c1}#duel-feedback{background:#f1f5e5;border-left:3px solid #79a263;padding:14px 16px;border-radius:0 10px 10px 0;font-size:13px}.learn-card{background:#f4e8d3;border:1px solid #e9d9bc;border-radius:18px;box-shadow:0 4px 0 #e4d9c2}.learn-card p{color:#665c46}#history p{border-bottom-color:#e2d5b9}#history button{background:#fffbef;border-color:#dfcfaf;color:#665536}.clues-card p{line-height:1.8}.clues-card .muted{font-size:11px}.learn-card .sidebar-kicker{color:#897048}footer{margin-top:30px;font-size:11px}dialog{box-shadow:0 25px 80px #142d3850;border-radius:20px}
@media(max-width:1000px){.intro{padding:34px 30px}.illustration{transform:scale(.72) rotate(-5deg);margin-right:-45px;margin-left:-30px}.intro h1{font-size:48px}}@media(max-width:760px){.intro{padding:30px 24px;margin-top:22px;border-radius:19px}h1,.intro h1{font-size:43px;letter-spacing:-2px}.intro p:last-child{font-size:13px}.intro .eyebrow{font-size:8px}.dashboard-options h2{font-size:27px}.dashboard-options>button>.pill{right:20px;top:25px}.letter-art i{width:36px;height:44px;font-size:22px}.letter-art{gap:4px}.section-head{align-items:flex-start}.section-head h2{font-size:25px}.section-head label{font-size:10px;white-space:nowrap}.section-head select{padding:6px;margin:4px 0 0;display:block}.duel-card{padding:14px}.square.occupied,.square.ghost{font-size:18px}.scores strong{font-size:29px}.duel-card .scores{padding:12px 8px}.scores{font-size:8px}.scores .pill{font-size:7px;padding:7px 8px}.board-legend{gap:4px}.board-legend span{font-size:8px;padding:5px 6px}.actions{gap:5px}.actions button{font-size:10px}.tag{display:none}}@media(prefers-reduced-motion:reduce){button{transition:none}}
.explorer{background:#edf3df;border-color:#d7e2c4}.explorer .entry{flex-wrap:wrap}.explorer .entry input{flex:1 1 140px}.explorer .entry button{padding:10px 13px;font-size:12px;margin:0}.explorer label{font-size:11px;line-height:1.5}.explorer .dictionary-credit{font-size:10px;line-height:1.6;color:#65735b;margin-top:18px}#word-detail{margin-top:20px;font-size:13px;line-height:1.7}#word-detail h3{text-transform:lowercase}#word-detail .pill{background:#dae8c2;font-size:10px;letter-spacing:0}#word-detail .word-example{font-style:italic;border-left:2px solid #8aa66a;padding-left:12px}.cross-definition{display:block;margin-top:10px;font-size:11px;border-left:2px solid #c6b48e;padding-left:8px}
.match-options{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.match-options label{display:flex;flex-direction:column;gap:5px}.match-options select{margin:0}.scores>div:first-child:before{content:'1'}.scores>div:last-child:before{content:'2'}.tile-selected{outline:3px solid #d77b3e;outline-offset:3px}.tile-used{opacity:.25!important;box-shadow:none!important;background:#66472b!important;color:#e5cfaa!important}.square.staged{cursor:grab;outline:2px dashed #9d6e20;outline-offset:-3px}.dragging-tile{position:fixed;z-index:9999;pointer-events:none;width:53px;height:58px;transform:translate(-50%,-75%) rotate(-6deg);border-radius:8px;background:linear-gradient(135deg,#fff3d6,#ead09a);border:1px solid #b89b62;box-shadow:0 5px 0 #b89961,0 12px 25px #142f3555;display:grid;place-items:center;font-size:30px;font-weight:700;color:#193d35}.square.drop-target{outline:3px solid #f6cf51;outline-offset:-2px;filter:brightness(1.25)}#handoff{text-align:center;max-width:430px;padding:40px 30px}#handoff::backdrop{background:#17392ff5;backdrop-filter:blur(14px)}#handoff p{color:var(--muted)}#ready-player{background:var(--green);color:#fff;font-weight:700;padding:15px 23px;margin-top:15px}.handoff-icon{font-size:48px;color:var(--green);display:block;margin-bottom:15px}#recall{background:#f4dfc5;color:#6e4c29;border-color:#dfc6a8}.actions{flex-wrap:wrap}.actions button{min-width:75px}@media(max-width:650px){.match-options{gap:8px;max-width:175px;justify-content:flex-end}.match-options select{max-width:170px}.match-options label{width:100%}.section-head{gap:10px}.section-head h2{font-size:23px}}
/* Fixed-height play table: board, rack and actions share one viewport. */
body.playing{height:100dvh;overflow:hidden}.playing header{height:50px;padding:7px 20px}.playing .brand{font-size:21px}.playing .mark{height:32px;width:32px;font-size:26px}.playing #notebook{font-size:11px;padding:7px 12px}.playing main{height:calc(100dvh - 50px);max-width:1250px;display:flex;flex-direction:column;padding:0 20px 10px}.playing nav{flex:0 0 35px;margin:0;align-items:center;gap:6px}.playing nav button{font-size:10px;padding:5px 11px}.playing #status,.playing footer{display:none}.playing #duel{flex:1;min-height:0;display:flex;flex-direction:column}.playing #duel>.section-head{flex:0 0 48px;margin:0;align-items:center}.playing .section-head h2{font-size:23px}.playing .section-head .eyebrow{font-size:8px;margin-bottom:3px}.playing .match-options{flex-wrap:nowrap;max-width:none;gap:12px}.playing .match-options label{font-size:9px;gap:2px}.playing .match-options select{font-size:11px;padding:5px 8px;margin:0}.playing #duel .game-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:15px}.playing .duel-card{min-height:0;padding:10px 14px;display:flex;flex-direction:column;gap:6px;border-radius:14px;box-shadow:0 3px 0 #e1e5d8}.playing .duel-card .scores{flex:0 0 40px;margin:0;padding:4px 14px;gap:10px;border-radius:9px}.playing .scores>div:first-child,.playing .scores>div:last-child{display:flex;align-items:center;justify-content:center;gap:10px}.playing .scores>div:before,.playing .scores p{display:none}.playing .scores strong{font-size:25px;margin:0;letter-spacing:-1px}.playing .scores{font-size:9px}.playing .board-scroll{flex:1;min-height:0;min-width:0;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.playing #scrabble-board{min-width:0;flex-shrink:0;grid-template-rows:repeat(15,minmax(0,1fr));padding:5px;gap:2px;border:3px solid #37644e;border-radius:7px;box-shadow:none}.playing .square{aspect-ratio:auto;font-size:clamp(6px,1.1vh,10px);border-radius:2px}.playing .square.occupied,.playing .square.ghost{font-size:clamp(12px,2.3vh,23px)}.playing .square small{font-size:7px;bottom:1px;right:2px}.playing .board-legend{flex:0 0 19px;margin:0;gap:5px;align-items:center}.playing .board-legend span{font-size:8px;padding:3px 6px}.playing .rack-heading{margin:0;flex:0 0 16px;font-size:9px;align-items:center}.playing #bag-count{padding:1px 8px}.playing #rack{flex:0 0 58px;margin:0;padding:5px 12px 8px;gap:9px;border-bottom-width:4px;border-radius:8px;box-shadow:none;align-items:center;min-height:0}.playing #rack .tile{height:40px;width:42px;max-width:48px;font-size:23px;border-radius:5px}.playing #rack .tile small{font-size:9px;bottom:3px;right:5px}.playing #rack .tile:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 0 #b89961}.playing .actions{flex:0 0 34px;display:flex;margin:0;gap:5px;flex-wrap:nowrap}.playing .actions button{min-width:0;flex:1;padding:6px 4px;font-size:10px;white-space:nowrap}.playing .actions #play-tiles{flex:1.3;background:#cf694d;color:white;border-color:#b95a41;font-weight:700}.playing #duel-feedback{margin:0;padding:5px 9px;flex:0 0 34px;line-height:1.35;font-size:11px;overflow:hidden;border-radius:5px}.trail-panel{min-height:0;display:flex;flex-direction:column;background:#f4e8d3;border:1px solid #e5d5b8;border-radius:14px;padding:18px}.trail-heading{flex-shrink:0}.trail-heading h3{font-size:22px;margin-bottom:8px}.trail-heading .sidebar-kicker{margin-bottom:8px;color:#887048}.trail-heading>p{font-size:11px;line-height:1.5;color:#72664f;margin:0 0 12px}.trail-panel #history{min-height:0;max-height:none;flex:1;overflow:auto;overscroll-behavior:contain;padding-right:6px}.trail-panel #history p{font-size:12px;line-height:1.6;margin:0 0 14px;padding-bottom:14px}.trail-panel #history strong{display:block;color:#315842;margin-bottom:4px}.trail-panel #history button{margin:0 0 5px;font-size:10px}.trail-panel>.dictionary-credit{flex-shrink:0;font-size:9px;line-height:1.5;color:#776e5d;margin:9px 0 0}.playing .tile-selected{outline-offset:1px}
@media(max-width:850px){.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 220px;gap:10px}.playing main{padding:0 10px 8px}.playing .duel-card{padding:8px}.trail-panel{padding:12px}.playing .actions button{font-size:9px}.playing .scores{font-size:8px}}
@media(max-width:620px){.playing header{height:42px;padding:5px 10px}.playing main{height:calc(100dvh - 42px);padding:0 7px 5px}.playing nav{flex-basis:29px}.playing #duel>.section-head{flex-basis:46px}.playing .section-head .eyebrow{display:none}.playing .section-head h2{font-size:17px}.playing .match-options{gap:5px}.playing .match-options select{max-width:130px;font-size:10px;padding:4px}.playing .match-options label{width:auto;font-size:8px}.playing #duel .game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 100px;gap:7px}.playing .duel-card{gap:4px;padding:6px}.playing .duel-card .scores{flex-basis:30px;padding:2px 7px}.playing .scores strong{font-size:21px}.playing .scores .pill{font-size:6px;padding:5px}.playing #rack{flex-basis:48px;padding:4px 8px 7px;gap:7px}.playing #rack .tile{height:33px;font-size:20px;max-width:39px}.playing .actions{flex-basis:29px;gap:3px}.playing .actions button{font-size:8px;padding:4px 2px}.playing #duel-feedback{flex-basis:28px;font-size:9px;padding:3px 6px}.playing .board-legend{flex-basis:15px}.playing .board-legend span{font-size:6px;padding:2px 5px}.playing .rack-heading{flex-basis:13px;font-size:8px}.trail-panel{padding:7px 10px;display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px}.trail-heading h3{font-size:14px;letter-spacing:-.4px}.trail-heading .sidebar-kicker{font-size:7px;letter-spacing:.6px;margin:0 0 5px}.trail-heading>p,.trail-panel>.dictionary-credit{display:none}.trail-panel #history p{font-size:10px;margin-bottom:8px;padding-bottom:8px}.trail-panel #history button{font-size:8px;padding:2px 5px}.playing .square small{font-size:5px}.playing .square.occupied,.playing .square.ghost{font-size:clamp(9px,1.9vh,18px)}}
@media(max-height:650px) and (min-width:621px){.playing header{height:40px}.playing main{height:calc(100dvh - 40px)}.playing nav{flex-basis:28px}.playing #duel>.section-head{flex-basis:37px}.playing .section-head .eyebrow{display:none}.playing .duel-card{gap:4px}.playing .duel-card .scores{flex-basis:30px}.playing #rack{flex-basis:46px}.playing #rack .tile{height:31px;font-size:20px}.playing .actions{flex-basis:28px}.playing #duel-feedback{flex-basis:28px;font-size:10px}}
/* Board-first table: all move controls live alongside the playing surface. */
.playing main{max-width:1440px}.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 330px;gap:18px}.playing .duel-card{padding:12px;gap:8px;background:#fffdf7}.playing .duel-card .scores{flex-basis:43px}.playing .board-scroll{flex:1}.playing .board-legend{flex-basis:24px}.playing .square.occupied,.playing .square.ghost{font-size:clamp(12px,calc(var(--board-cell,30px)*.65),27px)}.playing .square small{font-size:clamp(6px,calc(var(--board-cell,30px)*.24),10px)}.game-sidebar{padding:14px;gap:12px;background:#f8f6ee;border-color:#d8dfd4;overflow:hidden}.play-controls{flex-shrink:0;display:flex;flex-direction:column;gap:9px}.playing .game-sidebar .rack-heading{flex:none;font-size:10px;height:16px}.playing .game-sidebar #rack{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;align-items:center;gap:4px;flex:none;min-height:0;padding:8px 7px 10px;border-bottom-width:4px;height:auto}.playing .game-sidebar #rack .tile{width:min(100%,var(--board-cell,32px));height:auto;aspect-ratio:1;min-width:0;max-width:none;font-size:clamp(14px,calc(var(--board-cell,30px)*.6),23px);box-shadow:0 3px 0 #b89961;border-radius:4px}.playing .game-sidebar #rack .tile small{font-size:7px;right:3px;bottom:2px}.playing .game-sidebar .actions{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.playing .game-sidebar .actions button{min-height:30px;font-size:10px;padding:6px}.playing .game-sidebar #play-tiles{grid-column:span 2;font-size:12px}.playing .game-sidebar #restart{grid-column:span 3;min-height:24px;padding:4px;background:transparent}.playing .game-sidebar #duel-feedback{flex:none;font-size:11px;min-height:30px;max-height:45px;padding:6px 8px;overflow:auto;line-height:1.4}.how-to{flex-shrink:0;border-top:1px solid #dce1d3;padding-top:10px}.how-to h3{font-size:17px;letter-spacing:-.4px;margin:0 0 5px}.how-to>p{font-size:11px;line-height:1.45;margin:0 0 8px;color:#65735e}.how-to ol{padding-left:17px;margin:0;font-size:11px;line-height:1.5;color:#4f634f}.how-to li{margin-bottom:5px}.how-to details{font-size:10px;color:#607254;margin-top:6px}.how-to summary{cursor:pointer;font-weight:600}.how-to details[open]{max-height:145px;overflow:auto}.how-to details p{line-height:1.5;margin:7px 0}.game-sidebar .trail-heading{border-top:1px solid #dce1d3;padding-top:10px}.game-sidebar .trail-heading h3{font-size:18px;margin:0}.game-sidebar .sidebar-kicker{font-size:8px;margin-bottom:4px}.game-sidebar #history{min-height:45px;font-size:11px}.game-sidebar #history p{font-size:11px;line-height:1.5}.game-sidebar>.dictionary-credit{font-size:8px;margin:0}.dragging-tile{width:var(--board-cell,32px);height:var(--board-cell,32px);font-size:calc(var(--board-cell,32px)*.64);border-radius:4px;transform:translate(-50%,-65%) rotate(-4deg);box-shadow:0 3px 0 #b89961,0 6px 15px #142f3555}
@media(min-width:701px) and (max-height:780px){.game-sidebar{gap:8px;padding:10px}.play-controls{gap:6px}.how-to{padding-top:7px}.how-to>p{display:none}.how-to ol{font-size:10px;line-height:1.4}.how-to li{margin-bottom:3px}.game-sidebar .trail-heading{padding-top:7px}.playing .game-sidebar .actions button{min-height:25px;padding:4px}.playing .game-sidebar #restart{min-height:21px}.game-sidebar>.dictionary-credit{display:none}}
@media(min-width:701px) and (max-width:1050px){.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 285px;gap:10px}.game-sidebar{padding:10px}.playing .duel-card{padding:8px}}
@media(max-width:700px){.playing #duel .game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 190px;gap:7px}.playing .duel-card{padding:5px;gap:4px}.playing .duel-card .scores{flex-basis:30px}.playing .board-legend{flex-basis:18px}.game-sidebar{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:7px 12px;padding:8px}.play-controls{grid-column:1;grid-row:1 / 3;gap:5px}.playing .game-sidebar .rack-heading{font-size:8px;height:12px}.playing .game-sidebar #rack{padding:5px 4px 7px;gap:3px}.playing .game-sidebar .actions{gap:3px}.playing .game-sidebar .actions button{font-size:8px;min-height:22px;padding:3px}.playing .game-sidebar #play-tiles{font-size:10px}.playing .game-sidebar #restart{min-height:19px}.playing .game-sidebar #duel-feedback{font-size:9px;padding:4px;min-height:25px;max-height:32px}.how-to{grid-column:2;grid-row:1;border:0;padding:0}.how-to h3{font-size:13px}.how-to>p{display:none}.how-to ol{font-size:9px;line-height:1.3;padding-left:13px}.how-to li{margin-bottom:3px}.how-to details{font-size:9px;margin-top:2px}.how-to details[open]{position:fixed;z-index:5;background:#fffdf3;border:1px solid #ccd5c3;border-radius:10px;box-shadow:0 8px 30px #233e3540;padding:12px;bottom:12px;right:12px;width:min(300px,85vw);max-height:60vh}.game-sidebar .trail-heading,.game-sidebar>.dictionary-credit{display:none}.game-sidebar #history{grid-column:2;grid-row:2;min-height:0;border-top:1px solid #dce1d3;padding-top:5px}.game-sidebar #history p{font-size:9px}.playing .game-sidebar #rack .tile{font-size:clamp(12px,calc(var(--board-cell,25px)*.6),19px)}.playing .game-sidebar #rack .tile small{font-size:5px;right:1px;bottom:1px}}
/* A close-fitting board and an uncluttered companion panel. */
.playing #duel .game-layout{grid-template-columns:var(--table-width,minmax(0,1fr)) 310px;justify-content:center;gap:24px}.playing #duel>.section-head{width:min(100%,calc(var(--table-width,700px) + 334px));align-self:center;flex-basis:58px}.playing .duel-card{padding:12px;gap:9px;border-radius:16px}.playing .board-scroll{justify-content:center}.game-sidebar{padding:0;background:transparent;border:0;border-radius:0;gap:18px;box-shadow:none}.play-controls{background:#fffdf7;border:1px solid #d8dfd4;border-radius:15px;padding:16px;gap:12px}.playing .game-sidebar .rack-heading{font-size:10px}.playing .game-sidebar #rack{padding:10px 7px 12px}.playing .game-sidebar .actions{gap:7px}.playing .game-sidebar .actions button{padding:7px;min-height:32px}.playing .game-sidebar #play-tiles{font-size:13px;min-height:38px}.playing .game-sidebar #restart{border:0;min-height:26px;color:#6b7969;font-size:10px}.playing .game-sidebar #duel-feedback{background:#eef3e5;min-height:38px;max-height:65px;font-size:11px;line-height:1.5}.game-sidebar .trail-heading{border:0;padding:0 4px}.game-sidebar .trail-heading h3{font-size:23px}.game-sidebar .sidebar-kicker{letter-spacing:1.6px;font-size:8px;margin-bottom:6px}.game-sidebar #history{background:#fffdf7;border:1px solid #dce1d3;border-radius:13px;padding:15px;min-height:45px}.game-sidebar #history p{font-size:12px;line-height:1.65;margin-bottom:15px;padding-bottom:15px}.game-sidebar #history strong{font-size:13px}.game-sidebar>.dictionary-credit{padding:0 4px;font-size:9px;display:block}.playing .match-options{align-items:center;gap:10px}.playing #show-help{padding:7px 10px;font-size:11px;border-radius:8px;background:#fffdf5;white-space:nowrap;margin-right:6px}.playing .duel-card .scores{background:#f0f4e7;border-color:#e1e7d7}.playing .scores>div:first-child,.playing .scores>div:last-child{gap:7px}.playing .scores{font-size:8px}.playing .scores strong{font-size:26px}#game-help{width:min(540px,92vw);padding:30px;max-height:85dvh;overflow:auto;background:#fffdf5}#game-help::backdrop{background:#17392fa8;backdrop-filter:blur(5px)}.help-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.help-top .pill{letter-spacing:1px;font-size:9px}.help-top button{border:0;padding:7px 11px}#game-help>h2{font-size:29px;line-height:1.2;margin-bottom:20px}#game-help .how-to{border:0;padding:0;display:block}#game-help .how-to h3{display:none}#game-help .how-to>p{display:block;font-size:14px;line-height:1.6;margin-bottom:20px}#game-help .how-to ol{font-size:14px;line-height:1.65;padding-left:22px}#game-help .how-to li{padding-left:5px;margin-bottom:15px}#game-help .how-to details{font-size:12px;background:#edf2e3;padding:12px 15px;border-radius:9px;margin-top:20px}#game-help .how-to details[open]{position:static;max-height:none;width:auto;border:0;box-shadow:none}#game-help .how-to details p{font-size:12px}#start-playing{width:100%;background:#17644d;color:white;border:0;padding:14px;border-radius:10px;font-weight:700;margin-top:25px}
@media(min-width:701px) and (max-height:750px){.game-sidebar{gap:11px}.play-controls{padding:12px;gap:8px}.playing .game-sidebar .actions button{min-height:26px;padding:4px}.playing .game-sidebar #play-tiles{min-height:32px}.playing .game-sidebar #restart{min-height:20px}.playing .game-sidebar #rack{padding:6px 7px 9px}.game-sidebar .trail-heading h3{font-size:19px}.playing #duel>.section-head{flex-basis:45px}}
@media(max-width:700px){.playing #duel .game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 180px;gap:9px}.playing #duel>.section-head{width:100%;flex-basis:60px}.playing .duel-card{padding:5px;gap:4px}.playing .match-options{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:225px}.playing #show-help{font-size:9px;padding:5px 7px;margin:0}.playing .match-options label{font-size:8px}.game-sidebar{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:10px;padding:0}.play-controls{grid-column:1;grid-row:1;padding:7px;gap:5px}.playing .game-sidebar #rack{padding:5px 4px 7px}.playing .game-sidebar .actions{gap:3px}.playing .game-sidebar .actions button{font-size:8px;padding:3px;min-height:21px}.playing .game-sidebar #play-tiles{font-size:10px;min-height:25px}.playing .game-sidebar #restart{min-height:17px;font-size:8px}.playing .game-sidebar #duel-feedback{min-height:22px;max-height:28px;font-size:8px;padding:3px}.game-sidebar .trail-heading,.game-sidebar>.dictionary-credit{display:none}.game-sidebar #history{grid-column:2;grid-row:1;padding:9px;min-height:0}.game-sidebar #history:before{content:'WORD TRAIL';display:block;font-size:8px;letter-spacing:1px;margin-bottom:10px;color:#887048}.game-sidebar #history p{font-size:10px;line-height:1.5}.game-sidebar #history strong{font-size:10px}#game-help{padding:23px}#game-help>h2{font-size:25px}}
/* Every main screen stays within the viewport; content panels own their scroll. */
html,body{height:100%;overflow:hidden}body{height:100dvh}body:not(.playing)>header{height:64px;padding:12px 24px}body:not(.playing)>main{height:calc(100dvh - 64px);display:flex;flex-direction:column;min-height:0;padding:0 24px 10px;max-width:1170px}body:not(.playing) .intro{flex:.85 1 0;min-height:0;margin:18px 0 22px;padding:clamp(18px,3vh,40px) 35px}body:not(.playing) .intro h1{font-size:clamp(32px,6.5vh,62px)}body:not(.playing) .intro p:last-child{margin-top:14px}body:not(.playing) .illustration{max-height:100%;transform:scale(.85)}body:not(.playing) #dashboard{flex:1 1 0;min-height:0;display:flex;flex-direction:column}body:not(.playing) #dashboard>.eyebrow{margin-bottom:12px;flex-shrink:0}.dashboard-options{flex:1;min-height:0;margin:0 0 12px;gap:20px}.dashboard-options>button{min-height:0;padding:clamp(15px,2.6vh,30px);display:flex;flex-direction:column;align-items:flex-start}.dashboard-options .option-icon{flex-shrink:1;margin:0 0 10px;min-height:0}.dashboard-options .letter-art{height:52px}.dashboard-options .letter-art i{height:42px;width:37px;font-size:23px}.dashboard-options .crossword-art{grid-template-columns:repeat(3,17px);gap:2px}.dashboard-options .crossword-art i{height:17px;font-size:11px}.dashboard-options h2{font-size:clamp(21px,3.5vh,30px);margin:8px 0 0}.dashboard-options p{font-size:clamp(11px,1.6vh,14px);line-height:1.5;margin:10px 0}.dashboard-options strong{margin-top:auto;padding:10px 16px;font-size:12px}.dashboard-options>button>.pill{top:20px;right:20px}body:not(.playing) #status{min-height:0;margin:0;font-size:11px}body:not(.playing) footer{flex:0 0 31px;margin:0;padding:9px 0 0;font-size:10px}
.playing #crossword{flex:1;min-height:0;display:flex;flex-direction:column}.playing #crossword>.section-head{flex:0 0 48px;margin:0}.playing #crossword>.game-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:18px}.playing #crossword .board-card{display:flex;flex-direction:column;min-height:0;padding:15px;gap:10px}.playing #crossword .board-top{flex:0 0 27px;margin:0}.crossword-stage{flex:1;min-height:0;min-width:0;display:flex;justify-content:center;align-items:center;overflow:hidden}#grid{max-width:none;flex-shrink:0;box-sizing:border-box;grid-auto-rows:minmax(0,1fr)}#grid .cell{min-height:0;aspect-ratio:auto}#grid .cell input{font-size:clamp(12px,2.3vh,24px)}.playing #crossword .board-card>.muted{flex-shrink:0;margin:0;font-size:10px}.playing #crossword .actions{flex:0 0 33px;margin:0}.playing #crossword aside{min-height:0;display:flex;flex-direction:column;gap:12px}.playing #crossword .clues-card{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px}.playing #crossword #clues{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.playing #crossword .learn-card{flex:0 1 32%;min-height:0;overflow:auto;overscroll-behavior:contain;margin:0;padding:15px}.playing #crossword .learn-card h3{font-size:20px}.playing #crossword .learn-card p{font-size:12px}
@media(max-width:650px){body:not(.playing)>header{height:52px;padding:8px 14px}body:not(.playing)>main{height:calc(100dvh - 52px);padding:0 14px 8px}body:not(.playing) .intro{flex:.55 1 0;margin:12px 0 17px;padding:20px}body:not(.playing) .intro h1{font-size:clamp(29px,5.4vh,43px)}body:not(.playing) .intro .eyebrow{font-size:8px;margin-bottom:10px}body:not(.playing) .intro p:last-child{font-size:12px;margin-top:10px}body:not(.playing) #dashboard{flex:1.25 1 0}.dashboard-options{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px}.dashboard-options>button{padding:14px 17px}.dashboard-options .option-icon{display:none}.dashboard-options h2{font-size:22px;margin-top:0;padding-right:70px}.dashboard-options>button>.pill{top:15px;right:12px;font-size:7px;padding:5px 7px;letter-spacing:.4px}.dashboard-options p{font-size:11px;line-height:1.45;margin:7px 0}.dashboard-options strong{padding:7px 11px;font-size:10px}.dashboard-options>button:disabled strong{padding:4px 0;background:transparent}body:not(.playing) footer{font-size:8px;flex-basis:25px;gap:10px}.playing #crossword>.game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 150px;gap:8px}.playing #crossword .board-card{padding:8px;gap:5px}.playing #crossword aside{display:grid;grid-template-columns:1fr 1fr;gap:7px}.playing #crossword .clues-card,.playing #crossword .learn-card{padding:8px}.playing #crossword .clues-card .eyebrow{display:none}.playing #crossword h3{font-size:15px;margin-bottom:6px}.playing #crossword .clue{font-size:11px;padding:7px 5px}.playing #crossword .learn-card p{font-size:10px}.playing #crossword>.section-head{flex-basis:43px}.playing #crossword .section-head .eyebrow{display:none}}
@media(max-height:600px){body:not(.playing) .intro{flex:.5;margin:8px 0 12px;padding:14px 24px}body:not(.playing) .intro h1{font-size:32px}body:not(.playing) .intro p:last-child{font-size:11px;margin-top:6px}body:not(.playing) .intro .eyebrow{margin-bottom:6px}body:not(.playing) .illustration{display:none}.dashboard-options .option-icon{display:none}.dashboard-options h2{font-size:20px}.dashboard-options p{font-size:11px;margin:7px 0}.dashboard-options>button{padding:12px 16px}.dashboard-options>button>.pill{top:12px;right:12px}.dashboard-options strong{padding:7px 12px;font-size:10px}body:not(.playing) footer{display:none}}
/* Device layouts: stable grid tracks, usable touch controls, portrait tablet board. */
#show-trail{display:none}button,input,select{-webkit-tap-highlight-color:transparent}.playing main{padding-bottom:max(8px,env(safe-area-inset-bottom));width:100%}.playing #duel>.section-head{width:100%;min-height:0;flex-shrink:0}.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 310px;max-width:1120px;width:100%;align-self:center}.playing .duel-card{min-width:0;min-height:0}.playing .board-scroll{flex:1 1 0;min-height:0}.playing .game-sidebar{min-height:0}.playing .board-legend,.playing .duel-card .scores{flex-shrink:0}.playing .square{touch-action:manipulation}.playing #rack .tile{touch-action:none;user-select:none}.playing .match-options{flex-shrink:0}#trail-dialog{width:min(560px,94vw);max-height:85dvh;padding:20px}#trail-dialog-content{max-height:65dvh;overflow:auto}#trail-dialog #history{max-height:none;overflow:visible}#trail-dialog #history p{font-size:14px;line-height:1.6;padding:12px 0}#trail-dialog #history button{min-height:36px;padding:6px 12px}.playing .actions button{touch-action:manipulation}
@media(max-width:900px) and (orientation:portrait){.playing header{height:46px;padding:7px 12px}.playing main{height:calc(100dvh - 46px);padding:0 10px max(8px,env(safe-area-inset-bottom))}.playing nav{flex:0 0 32px}.playing #duel>.section-head{flex:0 0 62px;gap:8px}.playing .section-head h2{font-size:20px}.playing .section-head .eyebrow{display:none}.playing .match-options{max-width:330px;gap:5px;flex-wrap:wrap;justify-content:flex-end}.playing .match-options label{width:auto;font-size:9px}.playing .match-options select{height:30px;font-size:11px;max-width:150px}.playing #show-help,.playing #show-trail{height:30px;font-size:10px;padding:5px 8px;margin:0;display:inline-block}.playing #duel .game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 193px;gap:8px;max-width:720px}.playing .duel-card{padding:6px;gap:5px}.playing .duel-card .scores{flex-basis:32px;padding:3px 8px}.playing .board-legend{flex-basis:17px}.playing .scores strong{font-size:24px}.playing .game-sidebar{display:block;padding:0;overflow:hidden}.playing .game-sidebar .play-controls{height:100%;padding:8px 10px;display:grid;grid-template-columns:1fr;grid-template-rows:15px 45px 72px minmax(0,1fr);gap:5px;border-radius:12px}.playing .game-sidebar .rack-heading{height:15px;font-size:10px}.playing .game-sidebar #rack{height:45px;padding:3px 12px 6px;display:flex;gap:8px;justify-content:center;border-bottom-width:3px}.playing .game-sidebar #rack .tile{width:34px;max-width:40px;flex:0 1 40px;height:33px;aspect-ratio:auto;font-size:20px}.playing .game-sidebar #rack .tile small{font-size:7px;right:3px;bottom:2px}.playing .game-sidebar .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:34px 34px;gap:4px}.playing .game-sidebar .actions button,.playing .game-sidebar #play-tiles,.playing .game-sidebar #restart{grid-column:auto;min-height:34px;height:34px;font-size:11px;padding:5px}.playing .game-sidebar #duel-feedback{min-height:0;max-height:none;padding:3px 6px;font-size:10px;line-height:1.3;margin:0}.playing .game-sidebar .trail-heading,.playing .game-sidebar>#history,.playing .game-sidebar>.dictionary-credit{display:none}.playing #scrabble-board{border-width:2px;padding:4px;gap:2px}.playing .square.occupied,.playing .square.ghost{font-size:clamp(11px,calc(var(--board-cell)*.65),25px)}.playing .square small{font-size:clamp(5px,calc(var(--board-cell)*.23),9px)}}
@media(max-width:450px) and (orientation:portrait){.playing #duel>.section-head{flex-basis:72px}.playing .section-head h2{font-size:17px;max-width:115px}.playing .match-options{max-width:220px}.playing .match-options select{max-width:135px}.playing .scores{font-size:7px}.playing .scores .pill{font-size:6px;padding:6px}.playing .scores strong{font-size:21px}.playing #duel .game-layout{grid-template-rows:minmax(0,1fr) 190px}.playing .game-sidebar .play-controls{padding:7px;gap:5px}.playing .game-sidebar #rack{gap:7px}.playing .game-sidebar .actions button,.playing .game-sidebar #play-tiles,.playing .game-sidebar #restart{font-size:10px}.playing .board-legend span{font-size:6px;padding:2px 4px}}
@media(orientation:landscape) and (max-height:600px){.playing header{height:36px;padding:3px 12px}.playing .mark{width:26px;height:26px;font-size:23px}.playing .brand{font-size:18px}.playing main{height:calc(100dvh - 36px);padding:0 10px 5px}.playing nav{flex:0 0 26px}.playing nav button{font-size:9px;padding:4px 8px}.playing #duel>.section-head{flex:0 0 36px;margin:0;width:100%;align-items:center}.playing .section-head h2{font-size:18px}.playing .section-head .eyebrow{display:none}.playing .match-options{flex-wrap:nowrap;max-width:none;gap:6px}.playing .match-options label{font-size:8px;gap:0}.playing .match-options select{height:25px;max-width:140px;padding:3px;font-size:10px}.playing #show-help,.playing #show-trail{display:inline-block;padding:4px 7px;font-size:9px;min-height:27px;margin:0}.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr);gap:12px;min-height:0}.playing .duel-card{padding:4px;gap:3px;display:flex;min-height:0}.playing .duel-card .scores{flex:0 0 27px;padding:2px 5px;min-height:0}.playing .scores strong{font-size:20px}.playing .board-legend{flex:0 0 14px;margin:0;gap:3px}.playing .board-legend span{font-size:6px;padding:1px 4px}.playing .board-scroll{min-height:0;flex:1 1 0}.playing .game-sidebar{display:block;min-height:0}.playing .game-sidebar .play-controls{height:100%;padding:9px;gap:7px;display:flex;flex-direction:column}.playing .game-sidebar #rack{padding:6px 4px 9px;gap:4px}.playing .game-sidebar #rack .tile{width:29px;height:29px;font-size:17px;aspect-ratio:auto}.playing .game-sidebar #rack .tile small{font-size:6px}.playing .game-sidebar .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:33px 33px;gap:4px}.playing .game-sidebar .actions button,.playing .game-sidebar #play-tiles,.playing .game-sidebar #restart{grid-column:auto;min-height:33px;height:33px;font-size:9px;padding:4px}.playing .game-sidebar #duel-feedback{min-height:25px;max-height:45px;font-size:10px;padding:5px}.playing .game-sidebar .trail-heading,.playing .game-sidebar>#history,.playing .game-sidebar>.dictionary-credit{display:none}.playing .square{font-size:5px}.playing .square.occupied,.playing .square.ghost{font-size:clamp(9px,calc(var(--board-cell)*.65),19px)}.playing .square small{font-size:5px}}
@media(pointer:coarse){#game-help button,#handoff button,#book button{min-height:40px}.clue{min-height:38px}}
/* Desktop table: discoveries / board / rack, with one shared toolbar. */
.playing nav{flex:0 0 48px;display:flex;align-items:center;gap:7px}.playing nav>.match-options{margin-left:auto;display:flex;align-items:center;gap:12px;max-width:none;flex-wrap:nowrap}.playing nav>.match-options label{font-size:9px;gap:2px}.playing nav>.match-options button{min-width:0;flex:none}.playing #duel>.section-head{flex:0 0 43px;align-self:stretch;width:100%;padding-left:calc(240px + 18px)}.playing #duel>.section-head h2{font-size:23px}.playing #duel .game-layout{max-width:none;grid-template-columns:240px minmax(0,1fr) 285px;gap:18px;align-items:stretch}.word-trail-column{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-height:0;min-width:0;gap:13px;padding:15px;background:#f4eddf;border:1px solid #e4dac7;border-radius:14px}.word-trail-column .trail-heading{padding:0;border:0}.word-trail-column .trail-heading h3{font-size:22px;margin:0}.word-trail-column .sidebar-kicker{font-size:8px;color:#8b7555;margin-bottom:7px}.word-trail-column #history{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;padding-right:4px}.word-trail-column #history p{font-size:12px;line-height:1.6;margin:0 0 16px;padding-bottom:15px;border-bottom:1px solid #e1d6c0}.word-trail-column #history strong{display:block;font-size:13px;margin-bottom:7px;color:#315842}.word-trail-column #history button{font-size:10px;margin:0 0 6px;padding:5px 9px}.word-trail-column>.dictionary-credit{flex-shrink:0;font-size:9px;line-height:1.5;margin:0;color:#80715b}.playing #duel .duel-card{grid-column:2;grid-row:1}.playing #duel .game-sidebar{grid-column:3;grid-row:1;display:block}.playing .game-sidebar .play-controls{height:auto}.playing .game-sidebar #duel-feedback{max-height:100px}.playing .game-sidebar #rack{gap:4px}.playing .game-sidebar #rack .tile{width:min(100%,var(--board-cell,32px));height:auto;aspect-ratio:1}.playing nav #show-trail{display:none}
@media(min-width:901px) and (max-width:1150px){.playing #duel .game-layout{grid-template-columns:190px minmax(0,1fr) 250px;gap:12px}.playing #duel>.section-head{padding-left:202px}.word-trail-column{padding:11px}.word-trail-column #history p{font-size:11px}.playing nav>.match-options{gap:7px}.playing .game-sidebar .play-controls{padding:10px}}
@media(max-width:900px){.playing .word-trail-column{display:none}.playing nav #show-trail{display:inline-block}.playing #duel>.section-head{padding-left:0}.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:12px}.playing #duel .duel-card{grid-column:1;grid-row:1}.playing #duel .game-sidebar{grid-column:2;grid-row:1}.playing nav>.match-options{gap:5px}.playing nav>.match-options label{font-size:8px}.playing nav>.match-options select{font-size:10px;max-width:135px}.playing nav #show-help,.playing nav #show-trail{font-size:9px;padding:5px 7px;margin:0}.playing nav>button{font-size:9px;padding:5px 8px;flex:none}.playing nav{gap:5px}}
@media(max-width:900px) and (orientation:portrait){.playing nav{flex:0 0 83px;flex-wrap:wrap;align-content:center;gap:5px}.playing nav>.match-options{flex:0 0 100%;justify-content:flex-end;margin-left:0;gap:7px}.playing nav>.match-options label{width:auto}.playing #duel>.section-head{flex:0 0 29px}.playing .section-head h2{max-width:none;font-size:18px}.playing #duel .game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 193px;gap:8px}.playing #duel .duel-card{grid-column:1;grid-row:1}.playing #duel .game-sidebar{grid-column:1;grid-row:2}.playing .game-sidebar .play-controls{height:100%;display:grid}.playing .game-sidebar #duel-feedback{max-height:none}.playing .game-sidebar #rack .tile{width:34px;max-width:40px;height:33px;aspect-ratio:auto}}
@media(max-width:450px) and (orientation:portrait){.playing nav>.match-options{gap:4px;justify-content:space-between}.playing nav>.match-options select{max-width:125px;font-size:10px}.playing nav #show-help,.playing nav #show-trail{font-size:8px;padding:5px}.playing #duel .game-layout{grid-template-rows:minmax(0,1fr) 190px}}
@media(orientation:landscape) and (max-height:600px){.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr);gap:12px}.playing .word-trail-column{display:none}.playing nav #show-trail{display:inline-block}.playing #duel .duel-card{grid-column:1;grid-row:1}.playing #duel .game-sidebar{grid-column:2;grid-row:1}.playing #duel>.section-head{padding-left:0;flex-basis:26px}.playing nav{flex:0 0 36px;flex-wrap:nowrap}.playing nav>.match-options{flex:initial;margin-left:auto;max-width:none;gap:5px}.playing .game-sidebar .play-controls{height:100%}.playing .game-sidebar #rack .tile{width:29px;height:29px;aspect-ratio:auto}.playing .game-sidebar #duel-feedback{max-height:45px}}
/* Crossword play: clues, a fitted grid, and a discovery with each solution. */
.crossword-playing .match-options>label,.crossword-playing #show-trail{display:none!important}.crossword-playing nav>.match-options{flex:initial;margin-left:auto}.crossword-playing nav{flex-wrap:nowrap;flex-basis:44px}.crossword-playing #crossword .game-layout{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);max-width:1150px;width:100%;align-self:center}.crossword-playing #crossword>.section-head{max-width:1150px;width:100%;align-self:center}.crossword-playing .board-card{background:#fffdf7}.crossword-stage{padding:4px}#grid{background:#254f3e;border-radius:8px;gap:3px;box-shadow:0 4px 0 #183a2e}#grid .cell input{border:0;background:#fffbed;font-weight:600;padding:4px 0 0;border-radius:2px}#grid .cell.selected input{background:#e3edb1}#grid .cell.solved input{background:#d3e6cc;color:#205134}#grid .cell.incorrect input{background:#f6b8a7}#grid .cell input:focus{background:#f4dc8c;outline:2px solid #ba8e2e}#grid .cell small{font-size:8px;top:2px;left:3px;color:#455b41}.crossword-playing #active-clue{flex-shrink:0;background:#edf2df;border-radius:7px;padding:9px 12px;font-size:12px;line-height:1.45;font-weight:600;min-height:34px}.crossword-playing #crossword-status{font-size:11px;line-height:1.4;flex-shrink:0;min-height:16px;color:#486d42}.crossword-playing #crossword .clues-card{background:#fffdf7}.crossword-playing .clue.active{border-left:3px solid #648149}.crossword-playing .clue.done{color:#386c43}.crossword-playing #learn{background:#edf2df}.crossword-playing #learn button{font-size:11px;padding:7px 12px}.crossword-playing #crossword .learn-card>span{display:none}#cross-keyboard{display:none}#cross-help{max-width:520px;padding:28px;background:#fffdf5}#cross-help p,#cross-help li{line-height:1.6;font-size:14px}#cross-help li{margin-bottom:10px}#cross-help ol{padding-left:22px}#start-crossword{display:block;width:100%;background:var(--green);color:white;margin-top:20px;padding:13px;font-weight:700}#cross-help::backdrop{background:#17392fa8;backdrop-filter:blur(5px)}.dashboard-options>button:nth-child(2):hover{background:#eed9ca;transform:translateY(-3px);box-shadow:0 9px 0 #dfccc0}
@media(pointer:coarse),(max-width:700px){#cross-keyboard{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.key-row{display:flex;justify-content:center;gap:3px}.key-row button{flex:1;max-width:42px;height:30px;min-width:0;padding:2px;font-size:12px;background:#e5ebd8;border:1px solid #ccd5be;border-radius:4px;touch-action:manipulation}.key-row button:last-child{max-width:48px}.crossword-playing #crossword .board-card>.muted{display:none}}
@media(max-width:700px){.crossword-playing #crossword>.game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 165px;gap:8px}.crossword-playing #crossword .board-card{padding:7px;gap:5px}.crossword-playing #crossword aside{grid-template-columns:1.15fr 1fr;gap:7px}.crossword-playing #active-clue{font-size:10px;padding:5px 8px;min-height:30px}.crossword-playing #crossword .board-top{flex-basis:21px;font-size:10px}.crossword-playing #crossword .actions{flex-basis:30px}.crossword-playing #crossword .actions button{font-size:10px}.crossword-playing #crossword-status{font-size:9px;min-height:12px;line-height:1.2}.crossword-playing #crossword .clues-card h3{font-size:14px}.crossword-playing #learn h3{font-size:16px}.crossword-playing #grid .cell input{font-size:clamp(12px,2.6vh,20px)}.crossword-playing #grid .cell small{font-size:6px;top:1px;left:2px}.crossword-playing nav>button{font-size:9px;padding:5px 7px}.crossword-playing #crossword .learn-card{overflow:auto}.crossword-playing #crossword .learn-card p{font-size:10px}.crossword-playing #learn button{padding:5px 7px;font-size:9px}.crossword-playing #new-puzzle{font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.crossword-playing #crossword>.game-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr)}.crossword-playing #crossword aside{display:flex}.crossword-playing #crossword .learn-card{flex-basis:35%}.crossword-playing #crossword .board-card{gap:4px;padding:6px}.crossword-playing #crossword .board-top,.crossword-playing #crossword .board-card>.muted{display:none}.crossword-playing .key-row button{height:23px;font-size:10px}.crossword-playing #active-clue{padding:4px;font-size:10px;min-height:0}.crossword-playing #crossword .actions{flex-basis:26px}}
@media(max-width:700px){body.crossword-playing nav{flex-basis:35px}body.crossword-playing #crossword>.section-head{flex-basis:34px}body.crossword-playing #crossword>.game-layout{grid-template-rows:minmax(0,1fr) 115px}body.crossword-playing #crossword .board-card{padding:5px;gap:4px}body.crossword-playing #crossword .board-top{display:none}body.crossword-playing #active-clue{font-size:10px;line-height:1.3;min-height:0;max-height:38px;padding:4px 7px;overflow:auto}body.crossword-playing .key-row button{height:26px;font-size:11px}body.crossword-playing #cross-keyboard{gap:3px}body.crossword-playing #crossword .actions{flex-basis:26px}body.crossword-playing #crossword-status{max-height:22px;overflow:auto;font-size:9px}body.crossword-playing #crossword .clues-card{padding:6px}body.crossword-playing #crossword .learn-card{padding:6px}body.crossword-playing #crossword .clue-group{margin:5px 0;font-size:8px}}
@media(orientation:landscape) and (max-height:600px){body.crossword-playing #crossword{position:relative}body.crossword-playing #cross-keyboard{position:absolute;bottom:8px;right:5px;width:270px}body.crossword-playing #crossword aside{padding-bottom:88px}body.crossword-playing #crossword .learn-card{display:none}body.crossword-playing #crossword .board-card>.muted{display:none}body.crossword-playing #crossword>.section-head{flex-basis:30px}}
#crossword .board-card,#crossword aside,#crossword .clues-card,#crossword .learn-card{min-width:0}#crossword .crossword-stage{width:100%;min-width:0}#grid input{min-width:0}@media(max-width:700px){body.crossword-playing #crossword>.game-layout{grid-template-columns:minmax(0,1fr)}}
@media(orientation:landscape) and (max-height:600px){body.crossword-playing #crossword .learn-card{display:block;flex:0 1 40%;padding:7px}body.crossword-playing #learn h3{font-size:15px;margin:0 0 4px}body.crossword-playing #learn p{font-size:10px;margin:4px 0}body.crossword-playing #learn button{font-size:9px;padding:4px 8px}}
/* Calm, symmetric play table and explicit active-player cards. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.playing:not(.crossword-playing) header{max-width:1440px}.playing:not(.crossword-playing) #duel>.section-head{padding:0;justify-content:center;text-align:center;flex-basis:61px;width:100%}.playing:not(.crossword-playing) #duel>.section-head>div{width:100%;text-align:center}.playing:not(.crossword-playing) #duel>.section-head h2{max-width:none;font-size:26px;letter-spacing:-.8px}.playing:not(.crossword-playing) #duel>.section-head .eyebrow{font-size:8px;letter-spacing:2.5px;margin-bottom:5px;color:#849078}.playing #duel .game-layout{grid-template-columns:270px minmax(0,1fr) 270px;gap:20px}.playing #duel .duel-card{grid-column:2;grid-row:1;padding:12px;gap:10px;border:1px solid #d5dece;box-shadow:0 3px 0 #e0e5d7;background:#fffef9}.playing #duel .word-trail-column{grid-column:1;grid-row:1;border-color:#e1e2d7;background:#f5f3e9;padding:17px;gap:16px}.playing #duel .game-sidebar{grid-column:3;grid-row:1}.playing.friend-player-one #duel .game-sidebar{grid-column:1}.playing.friend-player-one #duel .word-trail-column{grid-column:3}
.playing #duel .scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:0 0 58px;margin:0;padding:0;border:0;border-radius:0;background:transparent;letter-spacing:0}.playing #duel .scores .player-score{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border:1px solid #e2e5db;border-radius:10px;background:#f4f5ef;color:#7a8578;transition:background .2s,border-color .2s,box-shadow .2s}.playing #duel .scores .player-score:before{display:none}.player-caption{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.player-caption>span:first-child{font-size:9px;letter-spacing:1px;line-height:1.2;font-weight:700}.player-state{font-size:10px;line-height:1.2;font-weight:400}.playing #duel .scores strong{font-size:29px;line-height:1;margin:0;font-weight:600;letter-spacing:-1px;color:inherit}.playing #duel .scores #player-one-card.is-active{background:#e6f0df;border-color:#5b8554;box-shadow:inset 0 0 0 1px #5b8554;color:#254c32}.playing #duel .scores #player-two-card.is-active{background:#faeadc;border-color:#bc7b4f;box-shadow:inset 0 0 0 1px #bc7b4f;color:#82532e}.player-score.is-active .player-state:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:5px;vertical-align:1px}.playing .game-sidebar .play-controls{border-radius:14px;padding:16px;background:#fffef9;gap:12px;border-top:3px solid #759065}.playing.friend-player-two .game-sidebar .play-controls{border-top-color:#bc7b4f}.playing.friend-player-two #rack-label{color:#82532e}.playing .game-sidebar .rack-heading{font-size:9px;letter-spacing:.4px}.playing .game-sidebar #bag-count{font-size:9px;letter-spacing:0;background:#f0f3e7;padding:3px 7px}.playing .game-sidebar #rack{padding:8px 6px 10px;border-radius:7px;gap:4px}.playing .game-sidebar .actions{gap:6px}.playing .game-sidebar #play-tiles{background:#23664e;border-color:#19533e;font-weight:600;min-height:36px;font-size:12px}.playing.friend-player-two .game-sidebar #play-tiles{background:#a16a43;border-color:#8d5a36}.playing .game-sidebar #recall{background:#faf5e7;border-color:#e1d5b7;color:#736146}.playing .game-sidebar .actions button{border-radius:7px}.playing .game-sidebar #duel-feedback{background:#f2f5eb;border-left-width:2px;font-size:11px;line-height:1.5}.playing .word-trail-column #history p{font-size:12px;line-height:1.6;padding-bottom:17px}.playing .word-trail-column .trail-heading h3{font-size:22px}.playing .word-trail-column .sidebar-kicker{letter-spacing:1.7px}.playing .word-trail-column #history strong{font-size:12px}.playing .word-trail-column #history button{border-radius:6px;background:#fffdf5;border-color:#dcdccf;color:#627357}
@media(min-width:901px) and (max-width:1200px){.playing #duel .game-layout{grid-template-columns:220px minmax(0,1fr) 220px;gap:13px}.playing .game-sidebar .play-controls{padding:11px;gap:10px}.playing #duel .word-trail-column{padding:12px}.playing #duel .scores .player-score{padding:8px;gap:6px}.player-caption>span:first-child{font-size:8px}.player-state{font-size:9px}.playing #duel .scores strong{font-size:25px}.playing .game-sidebar .actions button{font-size:9px}}
@media(max-width:900px){.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:12px}.playing #duel .word-trail-column{display:none}.playing #duel .duel-card{grid-column:1;grid-row:1}.playing #duel .game-sidebar{grid-column:2;grid-row:1}.playing.friend-player-one #duel .game-layout{grid-template-columns:280px minmax(0,1fr)}.playing.friend-player-one #duel .duel-card{grid-column:2}.playing.friend-player-one #duel .game-sidebar{grid-column:1}.playing:not(.crossword-playing) #duel>.section-head{flex-basis:45px}.playing:not(.crossword-playing) #duel>.section-head h2{font-size:21px}.playing #duel .scores{flex-basis:48px;gap:7px}.playing #duel .scores .player-score{padding:7px 9px}.playing #duel .scores strong{font-size:25px}.player-caption>span:first-child{font-size:8px}}
@media(max-width:900px) and (orientation:portrait){.playing #duel .game-layout,.playing.friend-player-one #duel .game-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 193px;gap:8px}.playing #duel .duel-card,.playing.friend-player-one #duel .duel-card{grid-column:1;grid-row:1;padding:6px;gap:5px}.playing #duel .game-sidebar,.playing.friend-player-one #duel .game-sidebar{grid-column:1;grid-row:2}.playing .game-sidebar .play-controls{padding:7px 10px;gap:5px}.playing .game-sidebar #rack{padding:3px 12px 6px}.playing .game-sidebar #play-tiles{min-height:34px;font-size:11px}.playing .game-sidebar #duel-feedback{font-size:10px;line-height:1.3}.playing:not(.crossword-playing) #duel>.section-head{flex-basis:35px}.playing:not(.crossword-playing) #duel>.section-head h2{font-size:20px}.playing #duel .scores{flex-basis:42px}.playing #duel .scores .player-score{padding:5px 9px}.playing #duel .scores strong{font-size:23px}.player-caption{gap:3px}.player-state{font-size:9px}}
@media(orientation:landscape) and (max-height:600px){.playing #duel .game-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr)}.playing.friend-player-one #duel .game-layout{grid-template-columns:280px minmax(0,1fr)}.playing #duel .word-trail-column{display:none}.playing #duel .duel-card{grid-column:1;padding:5px;gap:4px}.playing.friend-player-one #duel .duel-card{grid-column:2}.playing #duel .game-sidebar{grid-column:2}.playing.friend-player-one #duel .game-sidebar{grid-column:1}.playing:not(.crossword-playing) #duel>.section-head{flex-basis:27px}.playing:not(.crossword-playing) #duel>.section-head h2{font-size:18px}.playing #duel .scores{flex-basis:38px;gap:6px}.playing #duel .scores .player-score{padding:4px 8px}.playing #duel .scores strong{font-size:22px}.player-state{font-size:8px}.playing .game-sidebar .play-controls{padding:9px;gap:7px}.playing .game-sidebar #play-tiles{min-height:33px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.playing #duel .scores .player-score{transition:none}}
@media(min-width:901px){.playing .game-sidebar #rack .tile{height:30px;max-width:30px;width:100%;font-size:18px;aspect-ratio:1}.playing .game-sidebar #rack .tile small{font-size:6px;right:2px;bottom:2px}.playing .game-sidebar #rack{gap:4px;min-height:48px;padding:7px 6px 10px}}
/* Crossword workspace: two visible clue lists and a compact discovery panel. */
body.crossword-playing nav{flex-basis:38px}body.crossword-playing #crossword>.section-head{max-width:none;flex-basis:45px}body.crossword-playing #crossword>.game-layout{max-width:none;grid-template-columns:minmax(0,1.05fr) minmax(390px,1fr);gap:18px}body.crossword-playing #crossword .board-card{padding:12px;gap:8px}body.crossword-playing #crossword aside{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(125px,23%);gap:12px;padding:0}body.crossword-playing #crossword .clues-card{padding:16px;gap:12px;border-radius:14px;box-shadow:none;min-height:0}body.crossword-playing #crossword .clues-card h3{font-size:20px;line-height:1.2;margin:0;flex-shrink:0}body.crossword-playing #clues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;overflow:hidden}.clue-column{min-height:0;min-width:0;display:flex;flex-direction:column}.clue-column+.clue-column{border-left:1px solid #e1e5d7;padding-left:14px}body.crossword-playing .clue-group{flex-shrink:0;font-size:10px;letter-spacing:1.4px;color:#7a856b;margin:0 0 10px}.clue-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:3px}body.crossword-playing .clue{padding:10px 9px;margin:0 0 7px;font-size:13px;line-height:1.5;border:1px solid transparent;border-radius:7px;text-wrap:pretty}body.crossword-playing .clue.active{background:#eaf0d9;border:1px solid #acbd8d;box-shadow:inset 3px 0 #648149}body.crossword-playing .clue.done{background:#f0f5e9}body.crossword-playing #crossword #learn{margin:0;padding:15px 18px;min-height:0;overflow:auto;border-radius:14px;box-shadow:none}body.crossword-playing #learn h3{font-size:19px;margin:0 0 8px}body.crossword-playing #learn p{font-size:12px;line-height:1.6;margin:0 0 9px}body.crossword-playing #learn a{font-size:11px}body.crossword-playing #learn button{display:inline-block;font-size:10px;margin:0 0 0 12px;padding:6px 9px}body.crossword-playing #crossword .board-card>.muted{display:none}body.crossword-playing #active-clue{font-size:12px;padding:8px 10px}body.crossword-playing #crossword-status{font-size:10px}body.crossword-playing #crossword .actions{flex-basis:33px}
@media(max-width:1100px) and (min-width:701px){body.crossword-playing #crossword>.game-layout{grid-template-columns:minmax(0,1fr) minmax(330px,1fr);gap:12px}body.crossword-playing #crossword .clues-card{padding:12px;gap:10px}body.crossword-playing #clues{gap:8px}.clue-column+.clue-column{padding-left:8px}body.crossword-playing .clue{font-size:11px;line-height:1.45;padding:8px 6px}body.crossword-playing .clue-group{font-size:9px}}
@media(max-width:700px){body.crossword-playing nav{flex-basis:35px}body.crossword-playing #crossword>.section-head{flex-basis:34px}body.crossword-playing #crossword>.game-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 170px;gap:7px}body.crossword-playing #crossword .board-card{padding:5px;gap:4px}body.crossword-playing #crossword aside{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 43px;gap:5px}body.crossword-playing #crossword .clues-card{padding:7px;gap:5px;border-radius:9px}body.crossword-playing #crossword .clues-card h3{display:none}body.crossword-playing #clues{gap:8px}body.crossword-playing .clue-group{font-size:8px;margin-bottom:5px}.clue-column+.clue-column{padding-left:8px}body.crossword-playing .clue{font-size:10px;line-height:1.35;padding:6px;margin-bottom:4px}body.crossword-playing #crossword #learn{padding:6px 9px;border-radius:8px}body.crossword-playing #learn h3{font-size:12px;line-height:1.3;margin:0 0 4px}body.crossword-playing #learn p{font-size:10px;line-height:1.4;margin:0 0 4px}body.crossword-playing #learn a{font-size:9px}body.crossword-playing #learn button{font-size:9px;padding:4px 7px;margin-left:8px}body.crossword-playing #active-clue{font-size:10px;padding:4px 7px;line-height:1.3;max-height:38px;overflow:auto}body.crossword-playing #crossword .actions{flex-basis:26px}body.crossword-playing #crossword-status{font-size:9px;max-height:22px;overflow:auto}}
@media(orientation:landscape) and (max-height:600px){body.crossword-playing #crossword>.game-layout{grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:minmax(0,1fr)}body.crossword-playing #crossword aside{grid-template-rows:minmax(0,1fr) 50px;gap:5px;padding-bottom:86px}body.crossword-playing #cross-keyboard{right:5px;width:330px}body.crossword-playing #crossword .clues-card{padding:7px;gap:6px}body.crossword-playing #crossword .clues-card h3{display:none}body.crossword-playing .clue-group{font-size:8px;margin-bottom:5px}body.crossword-playing .clue{font-size:10px;padding:5px}body.crossword-playing #crossword #learn{padding:6px 8px}body.crossword-playing #learn h3{font-size:12px;margin-bottom:3px}body.crossword-playing #learn p{font-size:10px;line-height:1.4}body.crossword-playing #crossword .board-card{padding:6px;gap:4px}}
.crossword-options{display:flex;align-items:center;gap:12px}.crossword-options label{display:flex;align-items:center;gap:8px;color:#65745e;font-size:11px}.crossword-options select{font-size:12px;min-height:34px;min-width:135px;border-radius:8px;background:#fffdf7;padding:7px 10px}.crossword-options #new-puzzle{white-space:nowrap;font-size:12px;min-height:34px}body.crossword-playing #crossword>.section-head{flex-basis:53px}#topic-description{flex-shrink:0;font-size:11px;line-height:1.4;color:#778368;margin:-5px 0 0}body.crossword-playing #crossword .clues-card{gap:10px}
@media(max-width:700px){body.crossword-playing #crossword>.section-head{flex-basis:49px}.crossword-options{gap:6px}.crossword-options label{font-size:9px;gap:3px;flex-direction:column;align-items:flex-start}.crossword-options select{min-width:113px;min-height:29px;padding:4px 6px;font-size:11px}.crossword-options #new-puzzle{min-height:30px;font-size:10px;padding:6px 8px;align-self:flex-end}.crossword-playing #crossword .section-head h2{font-size:21px}#topic-description{display:none}}
@media(orientation:landscape) and (max-height:600px){body.crossword-playing #crossword>.section-head{flex-basis:37px}.crossword-options label{flex-direction:row}.crossword-options select,.crossword-options #new-puzzle{min-height:28px;padding:4px 7px;font-size:10px}#topic-description{display:none}}
