:root{color-scheme:dark;--cream:#f5eed7;--muted:#c2c4b0;--gold:#ebc875;--ink:#172b25;--line:#ffffff20;--wood:#5b3524;--red:#eaa99a;--green:#b3d6a2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#63473655,transparent 65%),repeating-linear-gradient(93deg,#201811 0,#201811 3px,#251c15 5px,#201811 10px);color:var(--cream);font:16px/1.5 Georgia,serif;min-height:100vh}.room-glow{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 180px #0008;z-index:-1}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid #d2b87855;border-radius:7px;padding:11px 18px;background:linear-gradient(#554331,#36291f);color:var(--cream);min-height:44px;box-shadow:0 3px 0 #100b0780;transition:transform .15s,background .15s}button:hover:not(:disabled){filter:brightness(1.18);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(2px);box-shadow:none}button:disabled{cursor:default;opacity:.48}.primary{background:linear-gradient(#f2d793,#cfab5c);color:#302316;border-color:#f5d991;font-weight:bold}.quiet{background:transparent;box-shadow:none;border-color:#ffffff30}a{color:var(--gold)}:focus-visible{outline:3px solid #f7d986;outline-offset:4px}.mast{max-width:1220px;margin:auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:12px/1.3 system-ui,sans-serif;letter-spacing:2px}.brand{text-decoration:none;color:var(--cream);font-weight:800;letter-spacing:3px}.brand span{color:var(--gold)}.edition{color:var(--muted);font-size:10px}.mast button{font-size:13px;letter-spacing:0}main{max-width:1140px;margin:10px auto 40px;padding:0 24px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;padding:28px 0 36px}.eyebrow{font:11px system-ui,sans-serif;letter-spacing:3px;color:var(--gold);text-transform:uppercase}h1{font-weight:400;font-size:clamp(48px,7vw,84px);line-height:1.05;margin:15px 0 20px;letter-spacing:-3px}h1 em{color:var(--gold);font-weight:400}h2{font-size:28px;font-weight:400;margin:0 0 16px}h3{margin:0 0 12px;font-weight:400;font-size:22px}p{color:var(--muted)}.intro{font-size:18px;max-width:460px}.tiny{font:12px/1.5 system-ui,sans-serif;color:var(--muted)}.frame{padding:14px;border:1px solid #9c704b;border-radius:10px;background:repeating-linear-gradient(2deg,#593724,#5c3826 3px,#67432d 5px,#4c2d20 8px);box-shadow:0 18px 40px #0007,inset 0 2px 2px #d6a96d55,inset 0 -4px 6px #0008}.board{background:radial-gradient(ellipse at 20% 30%,#65827517,transparent 55%),repeating-linear-gradient(1deg,#253d321f 0,#253d321f 1px,transparent 1px,transparent 4px),#172c25;box-shadow:inset 0 0 50px #0005;border:2px solid #110f0b;border-radius:2px;padding:25px}.hero-board{text-align:center;transform:rotate(1deg);position:relative}.hero-board .eyebrow{color:#ced4bd}.hero-board svg{height:190px;width:220px;margin:12px auto}.sample{display:flex;gap:8px;justify-content:center}.sample span{font:24px Georgia;padding:0 6px 4px;border-bottom:2px solid #f5eed7}.chalkline{height:1px;background:var(--line);margin:22px 0}.panel{border:1px solid #a47f4c55;border-radius:10px;background:linear-gradient(130deg,#34291fef,#211d18f0);padding:24px}.config{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font:13px/1.5 system-ui,sans-serif}input,select{min-width:0;width:100%;border:1px solid #b6a17c66;border-radius:5px;background:#171d18;color:var(--cream);padding:12px;min-height:46px}label.check{flex-direction:row;align-items:center;gap:9px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--gold)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.settings{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.settings select{padding:7px;min-height:38px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}.stat{padding:15px;border:1px solid var(--line);border-radius:6px;text-align:center}.stat b{display:block;font-size:25px;color:var(--gold)}.stat span{font:10px system-ui,sans-serif;text-transform:uppercase;letter-spacing:1px}.game-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.game-head h2{margin:5px 0 0}.game-board{padding:22px 28px}.status-row{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:13px;font:12px system-ui,sans-serif;text-transform:uppercase;letter-spacing:1px}.status-row b{color:var(--gold);font-size:18px;margin-left:5px}.puzzle-area{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center;min-height:230px}.drawing{width:190px;height:205px;filter:drop-shadow(0 0 1px #fff6)}svg{fill:none;stroke:var(--cream);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.ghost{opacity:.11}.stage{animation:draw .45s ease}.puzzle{display:flex;justify-content:center;gap:15px 24px;flex-wrap:wrap;padding:20px 0}.word{display:inline-flex;gap:5px;white-space:nowrap;max-width:100%}.letter{font-size:clamp(21px,3.1vw,35px);width:27px;display:inline-flex;justify-content:center;height:48px;border-bottom:2px solid #ced7beaa}.letter.punct{border:0;width:15px}.letter.revealed{animation:reveal .3s ease}.hint{text-align:center;color:#ead196;min-height:26px;margin:0 0 14px;font-style:italic}.keyboard{max-width:790px;margin:auto;display:flex;flex-direction:column;gap:9px}.key-row{display:flex;justify-content:center;gap:8px}.key{font:19px/1.1 Georgia;width:58px;min-width:0;padding:10px 4px;background:linear-gradient(#f0e4bc,#d4c299);color:#312c22;border:1px solid #ffffd099;border-bottom:4px solid #a18c62;box-shadow:0 3px 7px #0004;position:relative}.key small{display:block;font:bold 10px system-ui;min-height:12px}.key:disabled{opacity:1;box-shadow:none;transform:translateY(2px)}.key.correct{background:#547650;color:#f2ffdd;border-color:#8aab70}.key.wrong{background:#63463c;color:#f5d0c4;border-color:#927162}.key.locked{opacity:.5}.used{font:11px system-ui;text-align:center;color:var(--muted);margin:15px 0 0;min-height:17px;letter-spacing:1px}.game-actions{justify-content:center}.result{text-align:center;padding:18px;border:1px solid #e3c77f66;border-radius:7px;background:#e9cb7c0b;margin:10px 0 15px;animation:reveal .5s}.result h2{color:var(--gold);margin-bottom:7px}.result p{margin:5px}.celebrate{animation:glow 1.8s ease}.handoff{max-width:700px;margin:55px auto;text-align:center}.handoff .symbol{font-size:60px;color:var(--gold)}.handoff label{text-align:left}.scores{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0}.score-chip{padding:9px 16px;border:1px solid var(--line);border-radius:5px;font:13px system-ui}.score-chip b{color:var(--gold);margin-left:8px}.connection{font:12px system-ui;color:var(--gold)}.lobby-list{list-style:none;padding:0}.lobby-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}dialog{background:#25382e;color:var(--cream);border:1px solid #b79b5f;border-radius:12px;padding:28px;max-width:680px;width:calc(100% - 32px);max-height:85vh;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;gap:20px}.dialog-head button{align-self:start}dialog p{font:15px/1.65 system-ui;color:#dadbcb}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#f0db9d;color:#292119;border-radius:7px;box-shadow:0 4px 20px #0005;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;max-width:90vw;text-align:center;font:14px system-ui}#toast.show{opacity:1}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.no-motion *{animation:none!important;transition:none!important}.footer-note{text-align:center;margin:22px;font:11px system-ui;color:#c5b79f}.error{color:#f3bcac}.paused{max-width:600px;margin:50px auto;text-align:center}@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes draw{from{opacity:0}to{opacity:1}}@keyframes glow{50%{box-shadow:0 0 40px #dbbc6940}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:760px){.mast{padding:16px}.edition{display:none}main{padding:0 12px;margin-top:0}.hero{grid-template-columns:1fr;gap:25px;padding:15px 8px 26px}.hero h1{font-size:58px;margin-top:10px}.hero-board{display:none}.intro{font-size:16px}.config{grid-template-columns:1fr 1fr}.panel{padding:18px}.stats{gap:4px}.stat{padding:10px 3px}.stat b{font-size:20px}.stat span{font-size:8px}.game-head{margin:8px 3px 12px}.game-head h2{font-size:21px}.game-head .eyebrow{font-size:9px}.frame{padding:8px}.game-board{padding:14px 10px}.status-row{font-size:9px;gap:6px;letter-spacing:0}.status-row b{font-size:17px}.puzzle-area{grid-template-columns:100px 1fr;gap:8px;min-height:165px}.drawing{width:100px;height:140px}.puzzle{gap:12px;padding:17px 0}.word{gap:3px}.letter{width:20px;height:34px;font-size:23px}.letter.punct{width:9px}.key-row{gap:4px}.key{width:calc((100vw - 84px)/10);font-size:18px;padding:7px 1px;min-height:46px;border-bottom-width:3px}.key small{font-size:9px}.keyboard{gap:6px}.hint{font-size:13px;margin-bottom:10px}.game-actions{gap:7px;margin-top:15px}.game-actions button{font-size:12px;padding:10px}.used{font-size:10px;margin-top:12px}.handoff{margin:25px auto}.settings{gap:12px}.status-row .long-label{display:none}.letter.long{width:14px;font-size:17px}.game-head button{font-size:12px;padding:9px}.result{padding:12px}.result h2{font-size:24px}.result p{font-size:13px}}
@media(max-width:390px){.puzzle-area{grid-template-columns:1fr}.drawing{position:absolute;width:60px;height:80px;opacity:.55;pointer-events:none}.puzzle{padding-left:45px;min-height:105px}.config{grid-template-columns:1fr}.key{width:calc((100vw - 76px)/10)}.letter{width:18px;font-size:21px}.status-row{font-size:8px}}
[hidden]{display:none!important}
@media(max-width:760px){.puzzle-area.long-puzzle{grid-template-columns:1fr;gap:0}.long-puzzle .drawing{width:75px;height:80px;margin:auto}.long-puzzle .puzzle{padding:10px 0 18px}.letter.long{width:18px;font-size:21px}.lobby-list li{font-size:14px}.lobby-list button{padding:4px 7px;font-size:11px;min-height:32px}}
@media(max-width:390px){.long-puzzle .drawing{position:static;opacity:1}.long-puzzle .puzzle{padding-left:0}.letter.long{width:15px;font-size:19px}}
.word{overflow-x:auto;scrollbar-width:thin}.letter{flex-shrink:0}

/* Games navigation uses normal header/menu flow, never the playfield overlay. */
a.return-games{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;box-sizing:border-box;color:inherit;font:600 13px/1.25 system-ui,sans-serif;letter-spacing:normal;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;border-radius:5px}
a.return-games:hover{background:#ffffff14}a.return-games:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.mast{flex-wrap:wrap}.hm-phone .mast{flex-wrap:nowrap}.hm-phone .mast .return-games{padding:4px;font-size:12px;white-space:normal;text-align:center;max-width:100px;flex-shrink:1}
