:root{--paper:#fbefd9;--ink:#3b301e;--muted:#887455;--line:#d9c7a4;--gold:#edb43c;--green:#4da943;--display:'Fredoka',system-ui,sans-serif;--body:'DM Sans',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 18%,#fffaf0 0%,#fbefd9 53%,#f5dbae 100%) fixed;color:var(--ink);font:500 15px/1.45 var(--body);min-height:100dvh;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8c5b14;outline-offset:5px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}svg{width:22px;height:22px;vertical-align:middle;flex:none}button svg,a svg{pointer-events:none}button,a{text-underline-offset:4px}.access{max-width:410px;margin:20vh auto;padding:24px;text-align:center}.access h1{font:600 34px var(--display)}.access p{color:var(--muted)}
.daily-shell{min-height:100dvh;position:relative;isolation:isolate;overflow:hidden}.topnav{position:relative;z-index:3;max-width:1060px;margin:auto;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font:600 19px var(--display);letter-spacing:.5px}.brand svg{width:18px}.preview-tag{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.preview-tag i{width:6px;height:6px;border-radius:50%;background:#bd943a}.nav-right{display:flex;align-items:center;gap:14px}.iconbutton{width:40px;height:40px;border:1px solid #d4bd95;border-radius:50%;background:#fff9eb;display:grid;place-items:center;box-shadow:0 3px 0 #e4cba2;transition:transform .18s,background .18s}.iconbutton:hover{transform:translateY(-2px);background:#fffdf6}.iconbutton:active{transform:translateY(2px);box-shadow:none}.iconbutton svg{width:19px;height:19px}
.home{max-width:530px;margin:20px auto 0;padding:0 24px 35px;text-align:center;position:relative;z-index:2}.edition{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:1.8px;text-transform:uppercase}.daily-logo{margin:28px 0 26px;position:relative}.daily-logo .eyebrow{display:block;font:600 20px var(--display);letter-spacing:6px;margin:0 0 20px 6px}.hero-tiles{display:flex;justify-content:center;gap:12px;perspective:700px}.hero-tile{width:88px;height:88px;border:0;border-radius:19px;position:relative;background:linear-gradient(150deg,#fffcf0,#ffe7b4 65%,#f1cc81);box-shadow:inset 0 2px 1px #fff,0 7px 0 #d5b271,0 9px 0 #c8a366,0 19px 22px -12px #92774d80;font:600 67px/1 var(--display);transform:rotate(var(--turn));animation:tile-arrive 1.3s cubic-bezier(.18,.8,.2,1.15) both;animation-delay:var(--delay)}.hero-tile:hover{filter:brightness(1.04)}.hero-tile.pop{animation:tile-pop .65s ease both}.hero-tile:after{content:'';position:absolute;inset:5px;border-radius:14px;border-top:1px solid #ffffffb3;pointer-events:none}.tagline{font:500 21px/1.38 var(--display);max-width:360px;margin:30px auto 26px;color:#695634}.primary{width:100%;border:2px solid #6b542b;border-radius:20px;min-height:65px;display:flex;align-items:center;justify-content:center;gap:13px;padding:12px 22px;background:linear-gradient(160deg,#f7cc5c,#eeb033 75%);box-shadow:inset 0 2px 0 #fff0b9,0 5px 0 #b98021,0 13px 24px -14px #8b621fb3;font:600 27px var(--display);color:white;text-shadow:0 2px 0 #916125;-webkit-text-stroke:.6px #916125;transition:transform .2s,filter .2s}.primary:hover{transform:translateY(-2px);filter:brightness(1.04)}.primary:active{transform:translateY(3px);box-shadow:inset 0 2px 0 #fff0b9,0 2px 0 #b98021}.primary svg{width:24px;height:24px;filter:drop-shadow(0 2px 0 #916125)}.primary.green{background:linear-gradient(150deg,#9ede78,#60b94f);border-color:#436d34;box-shadow:inset 0 2px 0 #d6f8bb,0 5px 0 #428634,0 13px 24px -14px #526b26a3;text-shadow:0 2px 0 #3c792d;-webkit-text-stroke:.6px #3c792d}.primary:disabled{filter:saturate(.4);opacity:.6;transform:none}.textbutton{border:0;background:none;padding:10px 5px;min-height:40px;font-size:13px;font-weight:700;color:#74613f;text-decoration:underline;text-decoration-color:#cbb58c;text-underline-offset:4px}.textbutton:hover{color:#302710;text-decoration-color:currentColor}.textbutton svg{width:16px;height:16px;margin-right:4px}.mini-route{display:flex;justify-content:center;align-items:center;margin-top:26px;gap:9px;color:#8e7955;font-size:11px;letter-spacing:.2px}.mini-route i{height:1px;width:25px;background:#cfb991}.mini-route span{display:flex;align-items:center;gap:6px}.mini-route b{font:500 13px var(--display);display:grid;place-items:center;width:20px;height:20px;background:#eee0c4;border-radius:7px}.prototype-note{font-size:11px;color:#948366;margin:22px auto 0}.ghost-tiles{position:absolute;inset:90px 0 0;pointer-events:none;z-index:-1;overflow:hidden}.ghost-cluster{position:absolute;width:188px;height:230px;opacity:.35;transform:rotate(-13deg);left:calc(50% - 540px);top:100px}.ghost-cluster.right{left:auto;right:calc(50% - 530px);top:300px;transform:rotate(15deg)}.ghost-cluster button{pointer-events:auto;position:absolute;width:60px;height:60px;border:1px solid #d4bd91;border-radius:13px;background:linear-gradient(140deg,#fff8e6,#edd6aa);box-shadow:0 4px 0 #d2b786;font:500 30px var(--display);color:#b49a6d;transition:transform .3s}.ghost-cluster button:hover{transform:rotate(-12deg) translateY(-5px)}
.playview{width:min(480px,100%);margin:0 auto;padding:0 16px 24px;position:relative;z-index:2}.playview .session-top{display:flex;align-items:center;gap:12px;margin:0 0 15px}.session-title{font:500 18px var(--display);flex:1}.timebox{display:flex;align-items:center;gap:7px;color:#6d5b3e}.timebox svg{width:17px;height:17px}.timebox time{font:500 24px/1 var(--display);font-variant-numeric:tabular-nums;min-width:57px;text-align:right}.timebox.stopped{color:#8f805f}.steptrack{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.step{display:flex;align-items:center;gap:7px;color:#a18f70;font-size:11px;border-bottom:3px solid #e7d8bc;padding:0 0 9px}.step b{font:500 15px var(--display);border-radius:7px;width:24px;height:24px;display:grid;place-items:center;background:#eddfc6}.step.current{color:#5f4d2e;border-color:#e1ab3c;font-weight:800}.step.current b{background:#eebc51;color:#553914}.step.solved{border-color:#75b85c;color:#567e3f}.step.solved b{background:#86c86b;color:#fff}.step.revealed{border-color:#bdaf96}.step.revealed b{background:#cec1a9;color:#fff}.step svg{width:15px;height:15px}.puzzle-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:57px}.cluegroup{flex:1;min-width:0}.kicker{text-transform:uppercase;font-size:10px;letter-spacing:1.7px;font-weight:800;color:#9a825c;margin-bottom:3px}.clue{font:500 clamp(23px,6vw,30px)/1.1 var(--display);margin:0;overflow-wrap:anywhere}.hintbutton{flex:none;border:1px solid #bb872b;border-radius:14px;background:linear-gradient(135deg,#ffe5a0,#f4c763);box-shadow:inset 0 1px 0 #fff6d8,0 3px 0 #cd9e45;padding:8px 12px;min-height:51px;display:flex;align-items:center;gap:9px;transition:transform .2s}.hintbutton:hover:enabled{transform:translateY(-2px)}.hintbutton svg{width:18px;height:18px}.hintbutton strong{display:block;font-size:14px}.hintbutton.empty{background:#ebe1ce;border-color:#c9b89a;box-shadow:0 3px 0 #d4c2a0;color:#9c8965}.framewrap{position:relative;min-height:380px}.game-frame{display:block;border:0;width:100%;height:clamp(380px,calc(100dvh - 280px),550px);background:transparent;border-radius:20px}.board-loading{position:absolute;inset:0;display:grid;place-content:center;background:#fbefd9;color:var(--muted);font-size:13px;text-align:center;border-radius:20px;z-index:3}.board-loading .tiny-tiles{margin-bottom:20px}.tiny-tiles{display:flex;justify-content:center;gap:5px}.tiny-tiles i{display:grid;place-items:center;font:500 23px var(--display);width:35px;height:35px;background:linear-gradient(#fff9e8,#f4d69a);box-shadow:0 3px 0 #c9a66b;border-radius:8px;font-style:normal;transform:rotate(-5deg)}.tiny-tiles i:nth-child(even){transform:rotate(5deg)}.board-tools{display:flex;justify-content:space-between;align-items:center;padding:4px 5px 0}.toolpair{display:flex;gap:9px}.toolpair button{background:#fff6e3;border:1px solid #d6c1a0;border-radius:13px;width:48px;height:43px;box-shadow:0 3px 0 #dfc59c}.toolpair button:hover{background:#fffaf0;transform:translateY(-1px)}.toolpair svg{width:20px;height:20px}.stuck{font-size:12px;color:#9a7d50}.tutorial-note{padding:12px 15px;border:1px solid #d4b473;background:#fff4cf;border-radius:13px;margin:10px 4px 0;text-align:center;font-size:13px}.rounddone{position:absolute;inset:auto 8px 3px;z-index:4;background:#fff9ecf5;border:1px solid #d5c097;box-shadow:0 10px 30px -12px #785a3055;border-radius:20px;padding:17px 18px;text-align:center;backdrop-filter:blur(12px);animation:card-in .45s both}.rounddone h2{font:500 24px var(--display);margin:0 0 2px}.rounddone p{font-size:12px;color:var(--muted);margin:5px 0 12px}.rounddone .answer{font:500 18px var(--display);color:#5b793d}.rounddone .primary{min-height:49px;font-size:22px;border-radius:14px}.playview.is-done .game-frame{pointer-events:none}.timer-caption{font-size:10px;color:#98876a;text-align:center;margin:8px 0 0;min-height:15px}
.results{max-width:510px;margin:12px auto 30px;padding:0 24px;text-align:center;position:relative;z-index:2;animation:card-in .6s both}.results .edition{margin-bottom:14px}.finish-heading{font:500 39px/1.12 var(--display);margin:0 0 7px}.finish-sub{color:var(--muted);font-size:13px;margin:0 0 22px}.score-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:23px}.scoretile{background:linear-gradient(145deg,#b4e996,#75c15b);border:1px solid #79a45b;border-radius:17px;padding:13px 8px 10px;box-shadow:inset 0 2px 0 #e1ffd3,0 5px 0 #639746;animation:tile-arrive .8s both;animation-delay:var(--delay);color:#294923;transform:rotate(var(--turn))}.scoretile.assisted{background:linear-gradient(145deg,#ffe29b,#efc05c);border-color:#c8a055;box-shadow:inset 0 2px 0 #fff4c8,0 5px 0 #bd913e;color:#715122}.scoretile.revealed,.scoretile.unplayed{background:linear-gradient(145deg,#ede4d1,#d7cab1);border-color:#c2b49a;box-shadow:inset 0 2px 0 #fff7e8,0 5px 0 #b8a98b;color:#8e7e62}.scoretile .round-label{font-size:10px;letter-spacing:1px;text-transform:uppercase}.scoretile .big-mark{height:50px;display:grid;place-items:center}.scoretile .big-mark svg{width:33px;height:33px}.scoretile .small-status{font-size:11px;font-weight:800}.scoretile .round-time{font-size:10px;margin-top:3px;opacity:.7}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:5px 0 19px;margin-bottom:16px;border-bottom:1px solid var(--line)}.result-metrics strong{font:500 26px var(--display);display:block}.result-metrics span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.result-metrics>div+div{border-left:1px solid var(--line)}.share-feedback{min-height:18px;font-size:11px;color:#7b673f;margin:9px 0 0}.leaderboard{margin-top:14px;padding:16px 0 0;text-align:left;border-top:1px solid var(--line)}.leaderhead{display:flex;justify-content:space-between;align-items:center;margin:0 0 11px}.leaderhead h2{font:500 21px var(--display);margin:0}.sample{font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:4px 7px;border:1px solid #d5c3a1;border-radius:5px;color:#998566}.leaderrow{display:grid;grid-template-columns:21px 1fr 49px 48px 49px;gap:6px;align-items:center;padding:8px 11px;font-size:12px;border-radius:10px}.leaderrow.header{color:#9a886c;font-size:9px;text-transform:uppercase;letter-spacing:.6px;padding-top:0;padding-bottom:5px}.leaderrow span:nth-last-child(-n+3){text-align:right;font-variant-numeric:tabular-nums}.leaderrow.you{background:#efe0b7;border:1px solid #dac48d;font-weight:800;margin:3px 0}.leaderrow.you .player:after{content:'YOU';font-size:8px;margin-left:7px;color:#a57b25;letter-spacing:.8px}.leaderrow .rank{color:#ac9670}.rank-rule{font-size:10px;color:#99876a;margin:11px 0 0;text-align:center}.answer-review{margin:18px 0 0;text-align:left;color:#846e49;font-size:12px}.answer-review summary{cursor:pointer;text-align:center;padding:6px}.answer-review ul{list-style:none;padding:8px 12px;margin:5px 0;background:#fff7e7;border-radius:12px}.answer-review li{padding:8px 0;border-bottom:1px solid #e8d9bc}.answer-review li:last-child{border:0}.answer-review b{display:block;color:#665230}.result-actions{display:flex;justify-content:center;gap:20px;margin-top:14px}.reset-note{font-size:10px;color:#9a886a;margin:8px 0}.dialog{border:1px solid #d1b88c;border-radius:24px;padding:26px;width:min(390px,calc(100vw - 32px));color:var(--ink);background:#fff8e9;box-shadow:0 20px 70px #65452055}.dialog::backdrop{background:#43321766;backdrop-filter:blur(4px)}.dialog h2{font:500 29px var(--display);margin:0 0 10px}.dialog p{font-size:14px;color:#86704f;margin:0 0 20px}.dialog .primary{min-height:52px;font-size:23px;border-radius:15px}.dialog .secondary{width:100%;border:1px solid #c9b38d;border-radius:14px;background:#f6ebd5;padding:12px;margin-top:12px;font-weight:700;min-height:48px}.dialog .textbutton{display:block;margin:8px auto 0}.dialog textarea{width:100%;height:145px;padding:12px;border:1px solid #d2bd98;border-radius:12px;background:#fffdf6;color:var(--ink);font:500 13px/1.6 var(--body);resize:none}.dialog .rules-list{padding-left:19px;color:#796343;font-size:13px}.dialog li{margin-bottom:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes tile-arrive{0%{opacity:0;transform:translateY(-55px) rotate(calc(var(--turn) - 22deg)) scale(.8)}55%{opacity:1;transform:translateY(8px) rotate(calc(var(--turn) + 5deg)) scale(1.03)}78%{transform:translateY(-4px) rotate(calc(var(--turn) - 3deg))}100%{transform:translateY(0) rotate(var(--turn)) scale(1)}}@keyframes tile-pop{0%,100%{transform:rotate(var(--turn))}35%{transform:translateY(-15px) rotate(calc(var(--turn) + 10deg))}65%{transform:translateY(3px) rotate(calc(var(--turn) - 5deg))}}@keyframes card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:900px){.home{margin-top:4vh}.playview{margin-top:0}.results{margin-top:2vh}.playview .game-frame{height:clamp(430px,calc(100dvh - 320px),560px)}}
@media(max-width:600px){.topnav{padding:17px 20px 20px}.brand{font-size:17px}.preview-tag{font-size:9px;letter-spacing:1px}.nav-right{gap:10px}.iconbutton{width:35px;height:35px}.home{margin-top:7px;padding:0 28px 24px}.edition{font-size:10px;letter-spacing:1.2px}.hero-tile{width:69px;height:69px;font-size:52px;border-radius:15px}.hero-tiles{gap:10px}.daily-logo{margin:23px 0 22px}.daily-logo .eyebrow{font-size:17px;margin-bottom:18px}.tagline{font-size:20px;margin:26px auto 23px;max-width:290px}.primary{min-height:61px;font-size:25px}.mini-route{margin-top:23px}.prototype-note{margin-top:18px;font-size:10px}.ghost-cluster{left:-130px;top:90px;opacity:.19}.ghost-cluster.right{right:-133px;top:430px;opacity:.18}.playview{padding:0 12px 16px}.playview .session-top{margin-bottom:12px}.session-title{font-size:17px}.timebox time{font-size:23px}.steptrack{margin-bottom:15px}.puzzle-heading{margin-bottom:9px;padding:0 4px}.results{margin-top:9px;padding:0 22px}.finish-heading{font-size:34px}.finish-sub{margin-bottom:20px}.scoretile{padding:11px 5px 9px}.scoretile .big-mark{height:45px}.leaderboard{margin-top:10px}.leaderrow{padding-top:7px;padding-bottom:7px}}
@media(max-height:720px) and (max-width:600px){.topnav{padding-top:10px;padding-bottom:12px}.home{margin-top:0}.daily-logo{margin:16px 0}.daily-logo .eyebrow{margin-bottom:13px}.hero-tile{width:62px;height:62px;font-size:48px}.tagline{margin:20px auto 18px;font-size:18px}.mini-route{margin-top:16px}.prototype-note{margin-top:12px}.game-frame{height:clamp(352px,calc(100dvh - 255px),430px)}.playview .session-top{margin-bottom:9px}.steptrack{margin-bottom:10px}.puzzle-heading{min-height:50px}.clue{font-size:23px}.hintbutton{min-height:46px}.framewrap{min-height:352px}.step{padding-bottom:6px}.board-tools{padding-top:3px}.results{margin-top:0}.finish-heading{font-size:30px}}
@media(max-width:350px){.home{padding-left:20px;padding-right:20px}.hero-tile{width:59px;height:59px;font-size:46px}.hero-tiles{gap:8px}.hintbutton{padding:7px 9px}.hintbutton svg{display:none}.session-title{font-size:16px}.leaderrow{grid-template-columns:16px 1fr 42px 43px 43px;gap:4px;font-size:11px}.clue{font-size:23px}}
/* One compact header while playing: leave, title and clock. */
.daily-shell.is-playing .topnav{display:none}.daily-shell.is-playing .playview{padding-top:18px}
/* Readability pass: rules, budget and results remain clear at phone size. */
.step span,.timer-caption,.kicker{font-size:12px}.timer-caption{color:#796547}.hintbutton.tutorial-ready{outline:3px solid #cf982d;outline-offset:4px}.toolpair button:disabled{opacity:.45;transform:none}.stuck{font-size:14px}.scoretile.unfinished{background:linear-gradient(145deg,#ede4d1,#d7cab1);border-color:#c2b49a;box-shadow:inset 0 2px 0 #fff7e8,0 5px 0 #b8a98b;color:#8e7e62}.scoretile .round-label,.scoretile .small-status,.scoretile .round-time{font-size:12px}.scoretile .round-time{min-height:17px;opacity:.85}.result-metrics span,.share-feedback,.rank-rule,.sample,.leaderrow.header{font-size:12px}.sample{letter-spacing:.4px}.leaderrow{font-size:14px}.leaderrow.you .player:after{content:none}.rank-rule{line-height:1.6;color:#796547}.reset-note,.prototype-note{font-size:12px}.answer-review{font-size:14px}.result-actions{gap:14px}.results .edition{letter-spacing:1px}.dialog p+p{margin-top:-8px}.steptrack{gap:9px}
@media(max-width:350px){.scoretile .small-status{font-size:11px}.leaderrow{font-size:12px}.leaderrow.header{font-size:10px}.sample{font-size:10px}.result-actions{gap:8px}}
/* GPT Daily, editorial refinement. Scope: this standalone prototype only. */
.home{margin-top:0}.home #edition{display:inline-block;font-size:14px;letter-spacing:2px;line-height:1.5;padding:7px 13px;border-top:1px solid #b7a27d;border-bottom:3px double #b7a27d;color:#786345;transform:rotate(-2deg);text-shadow:0 1px 0 #fff9e9;margin-bottom:8px}
.home .daily-logo{margin:29px 0 0}.home .tagline{font-size:23px;margin:30px auto 0}.home .mini-route{margin:10px 0 0;font-size:13px;gap:11px;color:#8b7655}.home .mini-route i{width:3px;height:3px;border-radius:50%;background:#b9a27b}
.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:20px;margin:30px auto 0;max-width:370px}.welcome-actions .primary{font-size:29px;min-height:65px;letter-spacing:.6px}
.guidebutton{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-width:208px;min-height:52px;padding:10px 22px;border:1px solid #b89a67;border-radius:15px;background:linear-gradient(150deg,#fff6e1,#eddbb5);box-shadow:inset 0 1px 0 #fff9e9,0 3px 0 #c8a976;font:500 19px var(--display);color:#67502d;transition:transform .2s,background .2s}.guidebutton svg{width:20px;height:20px}.guidebutton:hover{transform:translateY(-2px);background:#fff3d6}.guidebutton:active{transform:translateY(2px);box-shadow:0 1px 0 #c8a976}
.home .prototype-note{font-size:10px;letter-spacing:.4px;color:#9b8a6e;margin-top:24px}.reset-note{font-size:10px;color:#9b8a6e}
.hint-token{width:32px;height:32px;overflow:visible;flex:none;stroke-linecap:round;stroke-linejoin:round}.token-edge{fill:#c79540;stroke:#946a2b;stroke-width:1.3}.token-face{fill:#fff0c1;stroke:#946a2b;stroke-width:1.3}.token-bolt{fill:#795322;stroke:#795322;stroke-width:.8}
.hintbutton{gap:5px;padding:6px 10px 6px 7px;min-height:53px;border:1.5px solid #9c742f;border-radius:15px;background:linear-gradient(150deg,#ffe49d,#edbf61);box-shadow:inset 0 1px 0 #fff0bd,0 4px 0 #b88b3d;transition:transform .18s,box-shadow .18s,filter .18s}.hintbutton .hint-token{display:block;width:30px;height:30px;transition:transform .2s}.hint-word{font:600 20px var(--display);color:#fffbed;-webkit-text-stroke:.5px #8b6129;text-shadow:0 1px 0 #8b6129}.hintbutton strong{font:600 21px var(--display);min-width:29px;font-variant-numeric:tabular-nums;color:#6b4a22}.hintbutton:hover:enabled{transform:translateY(-2px);filter:brightness(1.035)}.hintbutton:hover:enabled .hint-token{transform:rotate(-9deg) translateY(-2px)}.hintbutton:active:enabled{transform:translateY(3px);box-shadow:inset 0 1px 0 #fff0bd,0 1px 0 #b88b3d}.hintbutton.empty{background:#e0d4bd;border-color:#b8a380;box-shadow:0 3px 0 #bbaa8c;filter:saturate(.25)}.hintbutton.empty .hint-word{color:#948264;-webkit-text-stroke:0;text-shadow:none}.hintbutton.empty strong{color:#948264}
.daily-shell.is-playing{background:radial-gradient(ellipse at 50% 20%,#fbf1dc 0%,#efdfbf 62%,#e5cca0 100%)}
.daily-shell.is-playing .playview{width:min(500px,100%);margin:18px auto;padding:18px 17px 16px;border:1px solid #d1ba91;border-radius:25px;background:linear-gradient(180deg,#fff6e5,#f4e4c7);box-shadow:inset 0 1px 0 #fffcf3,0 18px 55px -28px #98744166}
.session-top .iconbutton{background:linear-gradient(145deg,#f4e1b6,#d9ba81);border-color:#ac8950;box-shadow:inset 0 1px 0 #fff1cf,0 3px 0 #b69760;color:#66502d}.session-top .iconbutton:hover{background:#f5e1b4}.timebox{border:1px solid #d7c29a;background:#f6e8cd;padding:6px 9px;border-radius:11px;gap:6px}.timebox time{min-width:49px;font-size:22px}.timebox.stopped{background:#f3ead9}
.framewrap{min-height:0;height:clamp(380px,calc(100dvh - 280px),550px);overflow:hidden}.game-frame{position:absolute;inset:0 auto auto 0}.board-tools{padding:5px 4px 0}.toolpair button{background:linear-gradient(145deg,#fff3d8,#e7d0a4);border-color:#bea06b;box-shadow:0 3px 0 #c6a878}
.rounddone{inset:auto 5px 3px;padding:15px 17px 17px;border-color:#bda271;background:#fff6e3fa;box-shadow:0 6px 20px -8px #8f6b364d;backdrop-filter:blur(8px)}.rounddone .answer{font:600 clamp(27px,6vw,35px)/1.12 var(--display);color:#4a5f2e;margin:0;text-wrap:balance}.rounddone .answer-plus{font-size:.7em;font-weight:400;color:#8b966c;vertical-align:middle}.rounddone .round-verdict{font-size:13px;margin:6px 0 0;color:#897450}.round-receipt{display:flex;justify-content:center;gap:9px;margin:11px 0 14px}.stat-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;border:1px solid #d7c49d;background:#f2e5ca;font:500 16px var(--display);color:#7d6743}.stat-chip>svg{width:17px;height:17px}.stat-chip .hint-token{width:23px;height:23px}.stat-chip b{font-weight:500}.stat-chip small{font:500 11px var(--body)}.rounddone .round-verdict+.primary{margin-top:14px}
.rules-list .hint-token{width:22px;height:22px;vertical-align:middle;margin:0 2px}.dialog .rules-list{font-size:14px;line-height:1.55;margin:0 0 17px}.dialog .rules-list li{margin-bottom:12px}.dialog .rules-fineprint{font-size:12px;margin-bottom:22px;color:#99825c}
@media(min-width:900px){.home{margin-top:0}.daily-shell.is-playing .playview{margin-top:20px}.framewrap{height:clamp(430px,calc(100dvh - 320px),560px)}}
@media(max-width:600px){.home #edition{font-size:12px;letter-spacing:1.3px;margin-bottom:6px;padding:6px 10px}.home .tagline{font-size:21px;margin-top:26px}.home .daily-logo{margin-top:25px}.welcome-actions{margin-top:26px;gap:19px}.welcome-actions .primary{min-height:62px;font-size:28px}.home .prototype-note{margin-top:23px;font-size:10px}.daily-shell.is-playing .playview{margin:0 auto;padding:13px 10px 14px;border:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,#f9edda,#f1ddba)}.playview .session-top{gap:8px}.timebox{padding:5px 7px}.timebox time{font-size:21px}.hintbutton{padding-right:9px;gap:4px}.hint-word{font-size:19px}.hintbutton strong{font-size:20px}.hintbutton .hint-token{width:28px;height:28px}.puzzle-heading{padding:0 5px}.clue{font-size:25px}.framewrap{min-height:0}.board-tools{padding-top:4px}.rounddone .answer{font-size:30px}.rounddone .round-verdict{font-size:12px}}
@media(max-height:720px) and (max-width:600px){.home #edition{font-size:11px}.home .daily-logo{margin-top:20px}.home .tagline{margin-top:23px}.home .mini-route{margin-top:7px}.welcome-actions{margin-top:21px;gap:17px}.home .prototype-note{margin-top:19px}.framewrap{height:clamp(352px,calc(100dvh - 255px),430px)}}
@media(max-width:350px){.hintbutton{padding:6px;gap:3px}.hintbutton .hint-token{display:block;width:25px;height:25px}.hint-word{font-size:17px}.hintbutton strong{font-size:18px;min-width:25px}.clue{font-size:23px}.timebox svg{width:14px}.session-title{font-size:16px}.timebox time{font-size:19px}.rounddone .answer{font-size:26px}}
.welcome-actions #start{width:250px;max-width:100%}.daily-shell[data-accent="tan"] #start{background:linear-gradient(160deg,#f7cc5c,#eeb033);border-color:#6b542b;box-shadow:inset 0 1px 0 #fff0b9,0 5px 0 #b98021;text-shadow:0 2px 0 #916125;-webkit-text-stroke:.6px #916125}.daily-shell[data-accent="ink"] #start{background:linear-gradient(160deg,#786348,#51412e);border-color:#3a2e20;box-shadow:inset 0 1px 0 #9e8a68,0 5px 0 #32271b;text-shadow:0 2px 0 #32271b;-webkit-text-stroke:.4px #32271b}.daily-shell[data-finish="flat"] :is(#start,.guidebutton,.hintbutton){box-shadow:none;text-shadow:none;-webkit-text-stroke:0}.daily-shell[data-finish="flat"] .hint-word{text-shadow:none;-webkit-text-stroke:0;color:#6b4a22}
.friend-tabs{display:flex;gap:3px;padding:3px;border:1px solid #d2bb93;border-radius:10px;background:#eddfc3}.friend-tabs button{border:0;border-radius:7px;background:transparent;color:#907952;font:600 11px var(--body);min-height:31px;padding:5px 9px}.friend-tabs button[aria-pressed="true"]{background:#fff8e8;box-shadow:0 1px 3px #a1845033;color:#5c492c}.friends-scroll{max-height:354px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9b38c transparent;border:1px solid #ddcbaa;border-radius:14px;background:#fff8e366;text-align:left}.friends-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px;color:#79603b}.friends-table thead{position:sticky;top:0;z-index:1;background:#f6e9d0}.friends-table th{border-bottom:1px solid #ddc8a3;height:42px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#99815b}.friends-table .rank-col{width:25px}.friends-table .score-col{width:49px;text-align:right}.friends-table .follow-col{width:34px}.friends-table th button{border:0;padding:6px 2px;min-height:40px;width:100%;background:none;font:inherit;color:inherit;white-space:nowrap;text-align:right;letter-spacing:inherit}.friends-table th button span{font-size:12px;display:inline-block;width:9px;text-align:center}.friends-table th[aria-sort]:not([aria-sort="none"]) button{color:#4f6537}.friends-table td{padding:7px 3px;border-bottom:1px solid #e6d5b8;height:52px;vertical-align:middle;font-variant-numeric:tabular-nums}.friends-table tr:last-child td{border-bottom:0}.friends-table td:nth-child(n+3){text-align:right}.friends-table td:last-child{text-align:center}.friends-table tr.you td{background:#e4e9c5;font-weight:700}.friend-rank{text-align:center;color:#b29a71;font-size:11px}.friend-person{display:flex;align-items:center;gap:7px;min-width:0}.friend-person>span{min-width:0}.friend-person b{display:block;color:#59462c;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-person small{font:500 10px var(--body);color:#ad9470;letter-spacing:.3px;display:block}.friend-avatar{width:32px;height:32px;flex:none;border-radius:50%;box-shadow:0 0 0 1px #ad967240}.follow-button{border:1px solid #d4bf9a;border-radius:50%;background:#f6ead2;color:#9e8154;width:26px;height:26px;padding:4px;display:grid;place-items:center;margin:auto}.follow-button svg{width:15px;height:15px}.follow-button:hover{background:#fff7e5;border-color:#a89061}.follow-button.followed{color:#6b8550;border-color:#c4d1a4;background:#e9efd7}
.design-dock{position:fixed;left:18px;top:42%;z-index:20;color:#745f3e;text-align:left}.dock-toggle{display:flex;align-items:center;gap:7px;border:1px solid #c6ae83;border-radius:12px;padding:9px 11px;background:#f8ecd5;box-shadow:0 3px 0 #d2b787;font-size:12px}.dock-toggle svg{width:18px;height:18px}.dock-panel{width:236px;padding:0 14px 12px;border:1px solid #bea371;border-radius:15px;background:#fff7e6;box-shadow:0 12px 36px #89683333}.dock-head{display:flex;align-items:center;gap:5px;padding:10px 0;border-bottom:1px solid #e2d1b0;margin-bottom:12px}.dock-head>span{flex:1;cursor:grab;font:500 16px var(--display);touch-action:none;user-select:none}.dock-head>span:active{cursor:grabbing}.dock-head button{border:0;background:none;padding:4px;line-height:1}.dock-head svg{width:17px;height:17px}.dock-panel fieldset{border:0;padding:0;margin:0 0 12px}.dock-panel legend{font-size:11px;margin-bottom:6px;color:#a18a62}.dock-options{display:flex;gap:5px}.dock-options button{flex:1;min-height:33px;border:1px solid #ddcba8;border-radius:8px;background:#f7ecd6;font-size:12px}.dock-options button[aria-pressed="true"]{background:#e2e9c9;border-color:#b5c190;color:#55703c}.dock-mix{min-height:34px;border:0;border-top:1px solid #e3d4b7;padding:9px 0 0;background:none;font-size:12px;width:100%;text-align:left}.dock-mix svg{width:15px;height:15px;margin-right:5px}.dock-panel p{font-size:10px;color:#a18a62;line-height:1.5;margin:9px 0 0}
@media(max-width:760px){.design-dock{left:10px;top:auto;bottom:10px}.dock-toggle{padding:8px 9px;font-size:11px}.daily-shell.is-playing .design-dock{display:none}}
@media(max-width:450px){.friends-table .rank-col{width:20px}.friends-table .score-col{width:43px}.friends-table .follow-col{width:30px}.friend-avatar{width:28px;height:28px}.friend-person{gap:5px}.friends-table{font-size:12px}.friends-table th{font-size:9px;letter-spacing:0}.friends-table th button span{width:7px}.friends-table th button{padding-right:0}.friends-table td{padding-left:2px;padding-right:2px}.friend-person b{font-size:12px}.friend-person small{font-size:9px}.follow-button{width:25px;height:25px}.friend-tabs button{font-size:10px;padding-inline:7px}.friends-scroll{max-height:338px}.welcome-actions #start{width:234px}}
@media(max-width:350px){.friends-table .rank-col{width:17px}.friends-table .score-col{width:38px}.friends-table .follow-col{width:27px}.friend-avatar{width:23px;height:23px}.friend-person{gap:4px}.friend-person b{font-size:11px}.friend-person small{font-size:8px}.friends-table{font-size:11px}.friends-table th{font-size:8px}}
/* Full-content board height arrives from the iframe. No viewport-height squeeze. */
.puzzle-heading{margin-bottom:6px}.playview .session-top{margin-bottom:12px}.steptrack{margin-bottom:13px}.framewrap{overflow:visible}.game-frame{max-height:none}.board-tools{position:relative;z-index:1}
@media(max-width:600px){.puzzle-heading{margin-bottom:5px}.playview .session-top{margin-bottom:10px}.steptrack{margin-bottom:11px}}
/* Live studio choices remain local to this prototype. */
.daily-shell[data-page="cream"]{background:radial-gradient(ellipse at 50% 18%,#fff9ed,#f1e3c8 76%,#e7d1aa)}
.daily-shell[data-page="sand"]{background:radial-gradient(ellipse at 50% 18%,#f6e8cd,#d9bd8d 76%,#c5a270)}
.daily-shell[data-page="sage"]{background:radial-gradient(ellipse at 50% 18%,#edf1e0,#c6d4b8 76%,#afc19e)}
.hint-word,.hintbutton.empty .hint-word{color:#4c3518;-webkit-text-stroke:0;text-shadow:none;font-weight:600}
.hintbutton :is(#hint-label,#test-hints){display:flex;align-items:center;gap:4px;font:700 18px/1 var(--body);color:#4c3518;min-width:0}
.hint-mult{font-weight:500;font-size:19px}.hint-count{display:grid;place-items:center;min-width:29px;height:29px;border-radius:50%;background:#fff6dc;border:1px solid #ac7d39;font-variant-numeric:tabular-nums}
.daily-shell[data-counter="plain"] .hint-count{min-width:14px;height:auto;border:0;background:none;border-radius:0}
.hintbutton.empty :is(#hint-label,#test-hints){color:#655237}.hintbutton.empty .hint-count{background:#eee4d0;border-color:#ad9772}
.daily-shell[data-finish="flat"] .hintbutton{background:#f3cc77;box-shadow:none}
.daily-shell[data-finish="flat"] .hintbutton:active:enabled{box-shadow:none;transform:translateY(1px)}
.design-dock{top:25%}.dock-panel{width:min(278px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;display:flex;flex-direction:column;overflow:hidden}
.dock-panel[hidden]{display:none}.dock-head{flex:none;margin:0;padding:10px 13px;background:#fff7e6}.dock-head>span{font-size:18px}.dock-head button{width:32px;height:32px;display:grid;place-items:center}
.dock-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bea474 transparent;padding:15px 13px 13px;min-height:0}
.dock-panel fieldset{margin-bottom:18px}.dock-panel legend{font-size:14px;color:#745a33;margin-bottom:8px}.dock-options{flex-wrap:wrap;gap:5px}.dock-options button{min-height:36px;font-size:13px;padding:5px 7px;flex:1 0 auto}
.dock-options button:hover{border-color:#8e794e}.dock-options button[aria-pressed="true"]{background:#d7e5bb;border-color:#7c9256;color:#354e26;box-shadow:inset 0 0 0 1px #7c9256}
.dock-panel .dock-help{font-size:12px;color:#927b55;margin:7px 0 0}.dock-scroll>.dock-mix{font-size:13px;padding:11px 0;min-height:38px}.dock-scroll>p{font-size:11px}
.dock-options button[data-setting="board"]:before,.dock-options button[data-setting="page"]:before{content:"";width:10px;height:10px;display:inline-block;border-radius:50%;margin-right:5px;box-shadow:inset 0 0 0 1px #0002;background:var(--swatch)}
[data-setting="board"][data-value="honey"]{--swatch:#bd914e}[data-setting="board"][data-value="felt"]{--swatch:#386c54}[data-setting="board"][data-value="ink"]{--swatch:#344b5f}[data-setting="board"][data-value="paper"]{--swatch:#e2d2b5}
[data-setting="page"][data-value="cream"]{--swatch:#f1e3c8}[data-setting="page"][data-value="sand"]{--swatch:#d9bd8d}[data-setting="page"][data-value="sage"]{--swatch:#c6d4b8}
@media(max-width:760px){.design-dock{top:auto;bottom:10px}.daily-shell.is-playing .design-dock{display:block}.dock-toggle{background:#fff3d9f5}}
@media(max-width:360px){.hintbutton{padding-right:7px;gap:3px}.hint-word{font-size:18px}.hintbutton .hint-token{width:25px;height:25px}.hint-count{min-width:26px;height:26px}}
/* The puzzle shape is the reward. Every completed puzzle is green. */
.results .finish-heading{font-size:30px;font-weight:500;color:#75603e;margin:9px 0 31px;line-height:1.2}.completion-note{margin:-22px 0 29px;color:#8f7956;font-size:13px}
.results .score-triptych{gap:14px;margin:0 0 28px;padding:0 2px}
.results .scoretile{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:192px;padding:17px 7px 13px;font:inherit;text-align:center;cursor:pointer;border-radius:19px;border-color:#639447;background:linear-gradient(145deg,#b0e792,#76bf59);box-shadow:inset 0 2px 0 #ddfbc8,0 5px 0 #58863d;animation-name:result-arrive;animation-duration:.9s;transition:translate .25s cubic-bezier(.2,.8,.3,1.4),rotate .25s,box-shadow .25s}
.results .scoretile:is(.revealed,.unfinished,.unplayed){background:linear-gradient(145deg,#e9e1d0,#d5c7ad);border-color:#b5a387;box-shadow:inset 0 2px 0 #fff6e7,0 5px 0 #ad9c7e;color:#827053}
.scoretile .round-label{font-size:14px;text-transform:none;letter-spacing:.3px;color:#365d2a;font-weight:600}.scoretile:not(.solved) .round-label{color:#77664b}
.scoretile .big-mark{height:91px;width:100%;display:grid;place-items:center;margin:4px 0 5px}.scoretile .big-mark .puzzle-mark{width:83%;height:76px;max-width:88px;overflow:visible}
.puzzle-mark rect{fill:#f8ffe9;stroke:#3d702e66;stroke-width:.65;animation:mark-arrive .45s both;animation-delay:calc(var(--delay) + .2s + var(--cell-delay))}.scoretile:not(.solved) .puzzle-mark rect{fill:#fff8e7;stroke:#8c795666}
.results .scoretile .round-time{display:inline-flex;justify-content:center;align-items:center;gap:4px;margin:0;padding:4px 9px;border-radius:999px;border:1px solid #ffffff88;background:#fffdf0e8;color:#486037;font:600 14px/1.1 var(--body);opacity:1;white-space:nowrap;font-variant-numeric:tabular-nums}.round-time svg{width:13px;height:13px}.scoretile:not(.solved) .round-time{color:#806b4a}.scoretile .small-status{font-size:11px;font-weight:500;margin:-2px 0 6px}
.hint-penalty{position:absolute;right:-6px;top:-10px;display:inline-flex;align-items:center;gap:1px;padding:3px 6px 3px 3px;border:1px solid #ae925d;border-radius:9px;background:#fff3d5;box-shadow:0 2px 0 #ad955a33;color:#795a2b;rotate:7deg;font:700 13px/1 var(--body)}.hint-penalty .hint-token{width:22px;height:22px}.hint-penalty b{font-weight:700}
.card-open{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:auto;padding-top:9px;font:600 11px/1.15 var(--body);color:#365b2a;opacity:0;translate:0 3px;transition:opacity .2s,translate .2s}.card-open svg{width:13px;height:13px}.scoretile:not(.solved) .card-open{color:#715c3b}
@media(hover:hover){.results .scoretile:hover{translate:0 -6px;rotate:var(--hover-turn);box-shadow:inset 0 2px 0 #e7ffd7,0 8px 0 #58863d,0 13px 20px -9px #54703d66}.results .scoretile:not(.solved):hover{box-shadow:inset 0 2px 0 #fff6e7,0 8px 0 #ad9c7e,0 13px 20px -9px #79683d44}.scoretile:hover .card-open{opacity:1;translate:0 0}}
.scoretile:focus-visible{outline:3px solid #74582a;outline-offset:5px}.scoretile:focus-visible .card-open{opacity:1;translate:0 0}.results .scoretile:active{translate:0 1px;rotate:0deg}
.result-metrics{display:flex;justify-content:center;gap:12px;border:0;padding:0;margin:0 0 23px}.result-metrics>div{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #d7c7a5;border-radius:12px;background:#fffbf0aa}.result-metrics>div+div{border-left:1px solid #d7c7a5}.result-metrics span{font:500 12px var(--body);text-transform:none;letter-spacing:0;color:#8c7650}.result-metrics strong{display:inline-flex;align-items:center;gap:5px;font:600 22px/1.15 var(--display);color:#5c4b30}.result-metrics strong>svg{width:17px;height:17px}.result-metrics strong>.hint-token{width:24px;height:24px}.result-metrics strong>b{font-weight:600}.total-time time{font-variant-numeric:tabular-nums}.share-feedback:empty{display:none}
.review-return{font:500 19px var(--display);color:#66502d;padding:5px 0;text-decoration:none}.toolpair #restore-review{background:#c3dfa7;border-color:#809e60;color:#36582a;box-shadow:0 3px 0 #89a468}
@keyframes result-arrive{0%{opacity:0;transform:translateY(20px) rotate(calc(var(--turn) - 8deg)) scale(.9)}65%{opacity:1;transform:translateY(-4px) rotate(calc(var(--turn) + 2deg)) scale(1.02)}100%{opacity:1;transform:translateY(0) rotate(var(--turn)) scale(1)}}
@keyframes mark-arrive{from{opacity:0}to{opacity:1}}
@media(hover:none){.card-open{opacity:1;translate:0 0}}
@media(max-width:450px){.results .finish-heading{font-size:27px;margin-bottom:29px}.results .score-triptych{gap:10px}.results .scoretile{min-height:174px;padding:15px 5px 12px;border-radius:16px}.scoretile .round-label{font-size:13px}.scoretile .big-mark{height:78px;margin:3px 0 5px}.scoretile .big-mark .puzzle-mark{height:64px;max-width:75px}.results .scoretile .round-time{font-size:12px;padding:4px 7px;gap:3px}.hint-penalty{right:-4px;padding-right:4px;font-size:12px}.hint-penalty .hint-token{width:20px;height:20px}.result-metrics{gap:8px}.result-metrics>div{padding:8px 9px;gap:6px}.result-metrics strong{font-size:21px}.result-metrics span{font-size:11px}.card-open{font-size:10px}}
@media(max-width:350px){.result-metrics>div{padding:7px;gap:4px}.result-metrics strong{font-size:19px}.total-time strong>svg{display:none}.results .scoretile{min-height:168px}.scoretile .round-time svg{display:none}.scoretile .round-label{font-size:12px}}
.empty-grid-controls{padding-bottom:17px!important;border-bottom:1px solid #dfcfac!important}.studio-slider{display:block;margin:0 0 12px}.studio-slider>span{display:flex;justify-content:space-between;font-size:13px;color:#79603b;margin-bottom:4px}.studio-slider output{font:600 12px var(--body);color:#5e733f;font-variant-numeric:tabular-nums;min-width:42px;text-align:right}.studio-slider input{display:block;width:100%;height:24px;margin:0;accent-color:#71864c;cursor:ew-resize}.studio-colors{display:flex;gap:12px;margin-top:8px}.studio-colors label{display:flex;align-items:center;gap:6px;font-size:12px;color:#79603b;cursor:pointer}.studio-colors input{appearance:none;width:28px;height:28px;padding:2px;border:1px solid #c5ad80;border-radius:7px;background:#fff8e7;cursor:pointer}.studio-colors input::-webkit-color-swatch-wrapper{padding:1px}.studio-colors input::-webkit-color-swatch{border:0;border-radius:3px}.studio-colors input::-moz-color-swatch{border:0;border-radius:3px}


/* Laptop comfort, calm targets and tactile controls. GPT Daily only. */
.daily-shell.is-playing .playview{margin:0 auto;padding-top:9px;padding-bottom:12px;border-top:0;border-radius:0 0 23px 23px}
.playview .session-top{margin-bottom:8px}.steptrack{margin-bottom:9px}.step{padding-bottom:7px}.puzzle-heading{position:relative;margin-bottom:3px;min-height:53px}
.daily-shell .primary,.daily-shell .primary.green,.daily-shell[data-accent] #start{-webkit-text-stroke:0;text-shadow:0 1px 1px #27411d55}
.daily-shell[data-finish="flat"] #start{text-shadow:none}
.guidebutton{min-width:177px;min-height:44px;padding:8px 19px;border-radius:13px;gap:8px;font-size:16px}.guidebutton svg{width:17px;height:17px}
.hero-tile{transition:translate .3s cubic-bezier(.2,.8,.3,1.3),rotate .3s cubic-bezier(.2,.8,.3,1.3),filter .2s}
@media(hover:hover){.hero-tile:hover{translate:0 -5px;rotate:-5deg}.hero-tile:nth-child(even):hover{rotate:5deg}}
.board-tools{justify-content:center;padding:3px 4px 5px}.toolpair{display:flex;justify-content:center;gap:14px}
.toolpair button{--control-face:#eeddbd;--control-rim:#ae9161;--control-base:#b49a70;--control-ink:#645134;width:50px;height:50px;border:2px solid var(--control-rim);border-radius:50%;background:linear-gradient(155deg,color-mix(in srgb,var(--control-face) 80%,white),var(--control-face));box-shadow:inset 0 1px 0 #fff8,0 4px 0 var(--control-base),0 7px 10px -6px #70563366;color:var(--control-ink);display:grid;place-items:center;padding:11px;transition:translate .18s,box-shadow .18s,filter .18s}
.toolpair #reset{--control-face:#e6bd70;--control-rim:#9c7439;--control-base:#ae8547;--control-ink:#61471f}
.toolpair #shuffle{--control-face:#b9cbd0;--control-rim:#6b8790;--control-base:#7b969d;--control-ink:#385965}
.toolpair #restore-review{--control-face:#cbdcb5;--control-rim:#829966;--control-base:#91a779;--control-ink:#426034;background:var(--control-face);border-color:var(--control-rim);box-shadow:inset 0 1px 0 #fff8,0 4px 0 var(--control-base)}
.toolpair button svg{width:24px;height:24px;transition:rotate .25s,translate .25s}
.toolpair button:disabled{opacity:.4;box-shadow:0 2px 0 var(--control-base)}
@media(hover:hover){.toolpair button:hover:enabled{transform:none;translate:0 -2px;filter:brightness(1.035)}.toolpair #shuffle:hover:enabled svg{rotate:18deg}.toolpair #reset:hover:enabled svg{translate:0 2px}.toolpair #undo:hover:enabled svg{rotate:-12deg}}
.toolpair button:active:enabled{transform:none;translate:0 3px;box-shadow:inset 0 1px 3px #70563322,0 1px 0 var(--control-base)}
/* Native board rail above its own dimmer; the outer HUD shares that same spotlight. */
.tutorial-dim{position:fixed;inset:0;z-index:70;background:rgba(34,23,5,.62)}
.daily-shell.tutorial-focus .playview{z-index:auto}
.tutorial-focus .framewrap{z-index:80;background:#fff3df}
.tutorial-focus #leave,.tutorial-focus #hint.tutorial-ready{position:relative;z-index:81}
.hint-unintroduced{visibility:hidden;pointer-events:none}
.hintbutton.tutorial-ready{outline:none;border:3px solid #455f72;background:#f3cc77!important}
.tutorial-focus .tutorial-note{position:absolute;right:0;top:calc(100% + 6px);z-index:84;padding:10px 15px;border-radius:13px;background:#fff4dc;color:#3b301e;font:700 14px/1.3 var(--body);margin:0;box-shadow:0 10px 30px -10px #0008;white-space:nowrap;pointer-events:none}
/* A small spread of keepsakes; labels make room for the enlarged letter mark. */
.results .score-triptych{gap:0;margin:0 -10px 28px;padding:0}
.results .scoretile{min-height:207px;padding-top:17px}
.scoretile .round-label{transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .25s;will-change:transform}
.scoretile .small-status{transition:opacity .2s,translate .3s}
.scoretile .big-mark{height:103px;margin-top:4px}
.scoretile .big-mark .puzzle-mark{height:88px;max-width:105px;transform-origin:50% 50%;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.puzzle-mark g{animation:mark-arrive .45s both;animation-delay:calc(var(--delay) + .2s + var(--cell-delay))}.puzzle-mark rect{animation:none}
.puzzle-mark text{font:600 7.7px var(--display);fill:#3c5d30;stroke:none;pointer-events:none}.scoretile:not(.solved) .puzzle-mark text{fill:#7b684a}
.scoretile:focus-visible .round-label{transform:translateY(-34px) scale(.45);opacity:0}
.scoretile:focus-visible .puzzle-mark{transform:translateY(-12px) scale(1.35)}
.scoretile:focus-visible .small-status{opacity:0;translate:0 -6px}
@media(hover:hover){.results .scoretile:hover{z-index:2}.scoretile:hover .round-label{transform:translateY(-34px) scale(.45);opacity:0}.scoretile:hover .puzzle-mark{transform:translateY(-12px) scale(1.35)}.scoretile:hover .small-status{opacity:0;translate:0 -6px}}
@media(max-width:600px){.daily-shell.is-playing .playview{padding-top:8px;border-radius:0}.playview .session-top{margin-bottom:7px}.steptrack{margin-bottom:8px}.puzzle-heading{margin-bottom:3px}}
@media(max-width:450px){.results .score-triptych{margin-inline:-14px}.results .scoretile{min-height:191px;padding-inline:6px}.scoretile .big-mark{height:94px}.scoretile .big-mark .puzzle-mark{height:78px;max-width:91px}}
@media(max-width:350px){.toolpair{gap:12px}.results .scoretile{min-height:184px}.scoretile .big-mark .puzzle-mark{max-width:81px;height:74px}}


/* Clues stay on the cards. Difficulty and hint deductions sit above them. */
.results{margin-top:2px}.results .finish-heading{margin-top:0;margin-bottom:25px}
.score-item{position:relative;min-width:0;display:flex;flex-direction:column}
.difficulty-label{display:block;font:500 11px/1.4 var(--body);color:#a28d6b;margin:0 0 10px;text-align:center;letter-spacing:.4px}
.score-item .hint-penalty{top:-22px;z-index:10;pointer-events:none}
.results .scoretile{width:100%;height:207px;min-height:207px;flex:none}
.scoretile .round-label{font:500 17px/1.1 var(--display);letter-spacing:0;text-transform:none;color:var(--ink);min-height:36px;width:100%;display:grid;place-items:center;text-wrap:balance;overflow-wrap:anywhere;transition:none;will-change:auto}
.scoretile:not(.solved) .round-label{color:var(--ink)}
.scoretile .big-mark{flex:1;min-height:0;height:auto;margin:4px 0 5px}
.scoretile .big-mark .puzzle-mark{max-height:100%;transition:transform .25s ease}
.scoretile:focus-visible .round-label{transform:none;opacity:1}.scoretile:focus-visible .small-status{opacity:1;translate:none}
.scoretile:focus-visible .puzzle-mark{transform:scale(1.04)}
@media(hover:hover){.results .scoretile:hover{translate:0 -3px;rotate:1deg}.scoretile:hover .round-label{transform:none;opacity:1}.scoretile:hover .small-status{opacity:1;translate:none}.scoretile:hover .puzzle-mark{transform:scale(1.04)}}
/* Completion uses the tray's space; it never covers green letters. */
.playview .rounddone{position:relative;inset:auto;margin:5px 4px 3px;padding:13px 15px 15px;backdrop-filter:none;-webkit-backdrop-filter:none;animation:card-in .35s both}
.rounddone .answer,.rounddone .answer-plus{color:var(--ink)}
.playview.is-done .framewrap{overflow:hidden}.playview.is-done .game-frame{pointer-events:none}
.playview.is-done .board-tools{display:grid}
.board-tools{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:10px}
.round-nav{width:50px;height:50px;border:1.5px solid #bda888;border-radius:50%;background:#fffdf5;color:#655139;box-shadow:inset 0 1px 0 #fff,0 3px 0 #d3bea0;display:grid;place-items:center;padding:11px;transition:translate .2s,box-shadow .2s}
.round-nav svg{width:24px;height:24px}.round-nav:disabled{opacity:.3;cursor:default}
@media(hover:hover){.round-nav:hover:enabled{translate:0 -2px;box-shadow:0 4px 0 #c3ac88}}
.round-nav:active:enabled{translate:0 2px;box-shadow:0 1px 0 #c3ac88}
.board-tools.is-review{grid-template-columns:1fr}.board-tools .toolpair{min-width:0;gap:10px}
/* Square iframe edges keep the page dimmer continuous through every corner. */
.tutorial-focus .framewrap{border-radius:0;background:#fff3df}
.tutorial-focus .game-frame{border-radius:0;clip-path:none}
.hintbutton.tutorial-ready{border-color:#be5b16;box-shadow:0 0 0 3px #fff5df!important}
@media(max-width:450px){.results .finish-heading{margin-top:0;margin-bottom:25px}.results .scoretile{height:191px;min-height:191px}.scoretile .round-label{font-size:15px;min-height:33px}.difficulty-label{font-size:10px}.score-item .hint-penalty{top:-20px}}
@media(max-width:380px){.board-tools{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.round-nav,.toolpair button{width:44px;height:44px;padding:9px}.board-tools .toolpair{gap:7px}}
@media(max-width:350px){.results .scoretile{height:184px;min-height:184px}.scoretile .round-label{font-size:14px;min-height:31px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* GD compact navigation: location and completion are independent states. */
.playview .session-top{display:flex;align-items:center;gap:9px;margin:0 3px 8px;min-height:48px}
.session-top #leave{flex:none;width:40px;height:44px;padding:9px;border:1.5px solid #b99d75;border-radius:13px;background:#fff8e9;color:#493b29;box-shadow:0 3px 0 #d3bd98}
.session-top #leave svg{width:24px;height:24px;stroke-width:3.7}
.session-top .steptrack{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0}
.session-top .step{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:47px;padding:4px 1px 6px;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 2px 2px;background:transparent;color:#8b795e;transition:background .18s,translate .18s}
.session-top .step span{font:650 12px/1.1 var(--body);white-space:nowrap}
.session-top .step b{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:transparent;color:inherit}
.session-top .step b i{display:block;width:9px;height:9px;border:1.5px solid #aa997e;border-radius:50%}
.session-top .step.visited b i{background:#a49171;border-color:#a49171;width:7px;height:7px}
.session-top .step.solved b{background:#699953;color:#fff}
.session-top .step.solved svg{width:11px;height:11px;stroke-width:3}
.session-top .step.solved{color:#5b7646}
.session-top .step.current{background:#fff9ec;border-bottom-color:#4c3b26;color:#3e3020;box-shadow:0 1px 0 #fff7;opacity:1}
.session-top .step.current span{font-weight:850}
.session-top .step.current:not(.solved) b i{background:#8c5c24;border-color:#8c5c24;width:9px;height:9px}
.session-top .step:disabled{cursor:default}
.session-top .step:focus-visible{outline:2px solid #9c6929;outline-offset:1px}
@media(hover:hover){.session-top .step:hover:enabled{background:#fff8e8;translate:0 -1px}.session-top #leave:hover{background:#fffdf5}}
.session-top .timebox{flex:none;gap:4px;padding:6px 7px;border-radius:10px}
.session-top .timebox time{font-size:19px;min-width:43px;line-height:1.15}
.session-top .timebox svg{width:13px;height:13px}
.session-top .session-title,.session-top .review-return{flex:1}
.puzzle-heading{margin-top:0;min-height:50px}
.board-tools,.playview.is-done .board-tools{display:flex;justify-content:center;position:relative;min-height:58px;padding:3px 4px 5px}
.board-tools .toolpair{gap:14px}
.board-tools #finish-run{position:absolute;right:4px;width:44px;height:44px;padding:11px;border-radius:13px}
.board-tools.is-review .toolpair{gap:12px}
@media(max-width:380px){
 .playview .session-top{gap:5px;margin-inline:1px}
 .session-top #leave{width:35px;height:42px;padding:6px}
 .session-top .steptrack{gap:2px}
 .session-top .step span{font-size:11px}
 .session-top .timebox{padding:5px}
 .session-top .timebox time{font-size:18px;min-width:40px}
 .session-top .timebox svg{display:none}
 .board-tools .toolpair{gap:10px}
 .board-tools #finish-run{width:38px;height:40px;padding:9px;right:2px}
}
/* Studio is grouped by the part of GD being edited; keep every experiment reachable. */
.dock-panel{width:min(304px,calc(100vw - 24px))}
.dock-scroll{padding:10px}
.studio-section{border:1px solid #deceb1;background:#fffaf0;border-radius:11px;margin-bottom:8px;overflow:hidden}
.studio-section>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;cursor:pointer;list-style:none;user-select:none}
.studio-section>summary::-webkit-details-marker{display:none}
.studio-section>summary b{display:block;font-size:14px;color:#57442a}
.studio-section>summary small{display:block;font-size:11px;font-weight:400;color:#917955;margin-top:3px}
.studio-section>summary svg{width:16px;height:16px;flex:none;transition:rotate .18s}
.studio-section[open]>summary{border-bottom:1px solid #e8dac1;background:#f7eddc}
.studio-section[open]>summary svg{rotate:90deg}
.studio-section>summary:hover{background:#f7eddc}
.studio-section-body{padding:13px 11px 2px}
.studio-section-body fieldset{margin-bottom:17px}
.studio-section-body legend{font-size:12px;font-weight:650;color:#755f3e}
.studio-subsection{margin-bottom:15px;border-bottom:1px solid #e9ddc6}
.studio-subsection>summary{font-size:12px;font-weight:700;color:#755f3e;cursor:pointer;margin-bottom:12px}
.studio-subsection .empty-grid-controls>legend{display:none}
.dock-options button{min-height:34px;font-size:12px}
.dock-panel .dock-help{font-size:11px;line-height:1.4}
.studio-utilities{display:flex;gap:12px;padding:0 3px}
.studio-utilities .dock-mix{font-size:12px;text-align:center;padding:9px 2px;border-top:0}
.dock-scroll>p{padding:0 3px}
/* Replay starts a different trio immediately, retaining only the chosen appearance. */
.finish-actions{display:grid;justify-items:center;gap:13px}
.finish-actions .primary{width:100%}
.replaybutton{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 24px;border:1.5px solid #bda888;border-radius:13px;background:#fff9ed;color:var(--ink);box-shadow:0 3px 0 #d7c4a3;font:650 15px var(--body);transition:translate .18s,box-shadow .18s}
.replaybutton svg{width:18px;height:18px}
@media(hover:hover){.replaybutton:hover{translate:0 -2px;box-shadow:0 5px 0 #d7c4a3;background:#fffdf5}}
.replaybutton:active{translate:0 2px;box-shadow:0 1px 0 #d7c4a3}
@media(prefers-reduced-motion:reduce){.session-top .step,.replaybutton,.studio-section>summary svg{transition:none}}

/* A quieter fan: separate the badges and reserve a real footer for each time. */
.results .score-triptych{gap:10px;margin:0 -4px 28px}
.results .scoretile{display:grid;grid-template-rows:minmax(32px,auto) minmax(0,1fr) auto;gap:8px;height:193px;min-height:193px;padding:15px 8px 11px;align-items:stretch}
.scoretile .round-label{min-height:32px}
.scoretile .big-mark{position:relative;display:block;align-self:stretch;justify-self:stretch;width:auto;height:auto;min-height:0;margin:0 4px}
.scoretile .big-mark .puzzle-mark{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none}
.score-card-footer{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:22px}
.results .scoretile .round-time{flex:none;margin:0;font-size:13px;padding:3px 8px}
.scoretile .small-status{margin:0;font-size:10px;line-height:1.2}
.score-item .hint-penalty{right:4px;top:-22px;font-size:12px;padding:3px 5px 3px 3px;rotate:3deg}
.score-item .hint-penalty .hint-token{width:20px;height:20px}
.scoretile:focus-visible .puzzle-mark{transform:scale(1.02)}
@media(hover:hover){.results .scoretile:hover{rotate:0deg;translate:0 -3px}.scoretile:hover .puzzle-mark{transform:scale(1.02)}}
.finish-actions{gap:23px}
.finish-actions #share{width:min(400px,90%);min-height:54px;font-size:23px;padding:10px 17px;border-radius:17px;gap:9px}
.finish-actions #share svg{width:21px;height:21px}
.finish-actions .replaybutton{max-width:100%;font-size:14px;padding:9px 19px}
.daily-shell[data-finish="flat"] :is(.primary,.replaybutton){box-shadow:none;text-shadow:none}
.studio-colors{flex-wrap:wrap;gap:10px}
.studio-section-body>.studio-slider{display:block;margin-bottom:17px}
.target-controls{margin-top:15px}
.target-controls fieldset>legend{display:none}
@media(max-width:450px){
 .results .score-triptych{gap:6px;margin-inline:-8px}
 .results .scoretile{height:178px;min-height:178px;padding:12px 6px 10px;gap:7px;grid-template-rows:minmax(30px,auto) minmax(0,1fr) auto}
 .scoretile .round-label{min-height:30px}
 .results .scoretile .round-time{font-size:11px;padding:3px 6px}
 .score-item .hint-penalty{right:3px;top:-20px;font-size:11px;padding:2px 4px 2px 2px}
 .score-item .hint-penalty .hint-token{width:18px;height:18px}
}
@media(max-width:350px){.results .scoretile{height:171px;min-height:171px}.scoretile .round-label{font-size:13px}.finish-actions #share{font-size:22px}}

/* One 4px inset matches the isolated tray panel on every viewport. */
.playview .session-top{margin-inline:4px}
.playview .puzzle-heading{padding:0;margin:0 4px 11px;min-height:45px}
.playview .hintbutton{min-height:45px;padding:3px 9px 3px 6px}
.playview .hint-word{font-size:17px;line-height:1}
.daily-shell[data-clue-frame="on"] .cluegroup{display:flex;flex-direction:column;justify-content:center;min-height:45px;padding:5px 10px;border:1px solid #d8c8aa;border-radius:12px;background:#fffdf8;box-shadow:none}
@media(max-width:380px){.playview .hint-word{font-size:16px}.playview .hintbutton{padding-right:7px}}
/* Printed action labels sit above the row and work on hover or keyboard focus. */
.board-tools button[data-tip]{position:relative;overflow:visible}
.board-tools button[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 11px);left:50%;translate:-50% 0;z-index:5;padding:7px 10px;border:1px solid #705d42;border-radius:9px;background:#493b28;color:#fff9ec;font:600 12px/1.2 var(--body);white-space:nowrap;box-shadow:0 4px 12px #3c2d1926;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.board-tools button[data-tip]::before{content:"";position:absolute;bottom:calc(100% + 7px);left:50%;translate:-50% 0;rotate:45deg;width:8px;height:8px;background:#493b28;z-index:6;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.board-tools:not(.tips-dismissed) button[data-tip]:focus-visible::after,.board-tools:not(.tips-dismissed) button[data-tip]:focus-visible::before{opacity:1;visibility:visible}
@media(hover:hover){.board-tools:not(.tips-dismissed) button[data-tip]:hover::after,.board-tools:not(.tips-dismissed) button[data-tip]:hover::before{opacity:1;visibility:visible}}
.board-tools #finish-run::after{left:auto;right:0;translate:0 0}
.board-tools #finish-run::before{left:auto;right:16px;translate:0 0}
.board-tools .toolpair,.board-tools.is-review .toolpair{gap:10px}
.board-tools .toolpair button{width:44px;height:44px;min-width:44px;padding:10px}
.board-tools:has(#finish-run:not([hidden])){padding-right:58px}
.daily-rules{max-width:360px;margin:22px auto 8px;color:#6c593f;font:500 12px/1.6 var(--body);text-align:center}
.standings-note{max-width:290px;margin:4px 0 0;color:#715d43;font:500 11px/1.45 var(--body)}
@media(max-width:380px){.daily-rules{font-size:11px}.board-tools .toolpair,.board-tools.is-review .toolpair{gap:7px}.board-tools #finish-run{width:44px;height:44px;right:2px}}
.dialog[data-kind="finish"]{width:min(360px,calc(100vw - 32px));padding:23px;border-radius:20px}
.dialog[data-kind="finish"] h2{font-size:26px;margin-bottom:8px}
.dialog[data-kind="finish"] p{font-size:14px;margin-bottom:21px;line-height:1.4}
.dialog[data-kind="finish"] #dialog-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dialog[data-kind="finish"] :is(.primary,.secondary){margin:0;min-height:44px;padding:10px 8px;border-radius:12px;font:650 14px/1.2 var(--body)}
@media(prefers-reduced-motion:reduce){.board-tools button[data-tip]::before,.board-tools button[data-tip]::after{transition:none}}


/* Quiet route into the separate admin curation shelf. */
.daily-lab-link{font:600 11px 'DM Sans',sans-serif;color:#806b49;text-decoration:none;padding:7px 9px;border:1px solid #c5b28d77;border-radius:9px;white-space:nowrap}.daily-lab-link:hover{background:#f0e1c3;color:#4b3922}.result-actions a.textbutton{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:420px){.nav-right .preview-tag{display:none}.daily-lab-link{font-size:10px}}

/* GD studio pass: one responsive column, independent cell parts, quiet defaults. */
.daily-shell.is-playing .playview{width:min(100%,clamp(360px,calc(70svh - 116px),580px));padding-inline:12px}
.playview .session-top{margin-inline:4px;gap:8px}
.playview .puzzle-heading{margin-inline:4px;gap:10px}
.daily-shell[data-clue-frame="on"] .cluegroup{min-height:45px}
.playview .clue{font-size:clamp(21px,4.8vw,29px)}
.dock-panel{max-height:calc(100dvh - 16px);overflow:hidden}
.dock-scroll{flex:1 1 auto;min-height:0;overflow-y:scroll;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;padding:10px}
.cell-select-label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#59462c}
.cell-select{width:100%;min-height:39px;border:1px solid #bda886;border-radius:8px;padding:8px 10px;background:#fffdf8;color:#493923;font:650 13px var(--body);margin-bottom:9px}
.cell-editor[hidden]{display:none!important}
.cell-editor-caption{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.cell-editor-caption .dock-help{margin:0;flex:1}
.studio-cell-sample{position:relative;display:block;flex:none;width:42px;height:42px;border-radius:9px}
.studio-cell-sample i{position:absolute;inset:39%;border-radius:50%}
.studio-section .cell-editor{margin:0}
.studio-colors{margin-bottom:14px}
.studio-slider{margin-bottom:13px}
.studio-slider input{touch-action:pan-y}

/* The hint is a spent resource tile on completed boards, never an inviting button. */
.playview .hintbutton{position:relative;overflow:hidden;isolation:isolate}
.playview .hintbutton.empty{background:#e9e0ce;border-color:#cbbda5;box-shadow:inset 0 1px 2px #80643d12;transform:none;filter:none;cursor:default}
.playview .hintbutton.empty :is(.hint-word,:is(#hint-label,#test-hints)){color:#8b7a60}
.playview .hintbutton.empty .hint-count{background:#f0e9dc;border-color:#d2c5af}
.playview .hintbutton.empty .hint-token{opacity:.48;transform:none}
.hintbutton::after{content:"";position:absolute;z-index:2;inset:-40% -60%;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 38%,#fff9dfaa 48%,#fffdf2bb 51%,transparent 63%);transform:translateX(-70%)}
.hintbutton.hint-activated::after{animation:hint-sheen .7s ease-out}
.hintbutton.hint-activated .hint-token{animation:hint-token-kick .55s ease-out}
@keyframes hint-sheen{0%{opacity:0;transform:translateX(-70%)}20%{opacity:.8}100%{opacity:0;transform:translateX(70%)}}
@keyframes hint-token-kick{0%,100%{rotate:0deg;scale:1}35%{rotate:-9deg;scale:1.14}65%{rotate:3deg;scale:1.04}}

/* Index-card tabs. Green records completion; the ink base marks current location. */
.session-top .steptrack{gap:6px;align-items:end}
.session-top .step{isolation:isolate;overflow:hidden;min-height:47px;padding:5px 2px 6px;border:1px solid #d4c7b0;border-bottom:3px solid #c8b99e;border-radius:10px 10px 0 0;background:#efe7d8;color:#8b7d67;box-shadow:inset 0 1px 0 #fff9;transition:translate .18s,border-color .18s,color .18s}
.session-top .step::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,#b1e78a,#79bc57);transform:translateY(102%)}
.session-top .step::after{content:"";position:absolute;z-index:-1;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at 22% 85%,#e9ffd0b3 0 4px,transparent 5px),radial-gradient(circle at 72% 65%,#e9ffd080 0 3px,transparent 4px)}
.session-top .step.visited{background:#f7efdf;color:#77664d;border-color:#cbb999}
.session-top .step.current{background:#fffdf6;color:#392d1f;border-color:#9a835f;border-bottom:3px solid #493721;box-shadow:inset 0 1px 0 #fff;translate:0 -1px}
.session-top .step.current span{font-weight:850}
.session-top .step.current:not(.solved) b i{background:#745735;border-color:#745735;width:8px;height:8px}
.session-top .step.solved{color:#2f4b21;border-color:#7eaa5e;border-bottom-color:#679349;background:#b1e78a}
.session-top .step.solved::before{transform:translateY(0)}
.session-top .step.solved.current{border-color:#526b39;border-bottom:3px solid #354a27;box-shadow:inset 0 1px 0 #e3f7ca}
.session-top .step.solved b{background:transparent;color:#345924}
.session-top .step.solved svg{width:14px;height:14px;stroke-width:3.3}
.session-top .step.just-solved{background:#fffdf6;animation:tab-settle .85s ease-out}
.session-top .step.just-solved::before{animation:tab-fill .85s cubic-bezier(.2,.7,.3,1) both}
.session-top .step.just-solved::after{animation:tab-bubbles .95s ease-out both}
@keyframes tab-fill{0%{transform:translateY(102%)}72%{transform:translateY(-3%)}100%{transform:translateY(0)}}
@keyframes tab-settle{0%,100%{rotate:0deg}35%{rotate:-1.5deg}65%{rotate:1deg}}
@keyframes tab-bubbles{0%{opacity:0;transform:translateY(12px)}30%{opacity:.75}100%{opacity:0;transform:translateY(-30px)}}
@media(hover:hover){.session-top .step:hover:enabled{background:#fffaf0;translate:0 -2px;border-color:#a89270}.session-top .step.solved:hover:enabled{background:#b1e78a;border-color:#53723b}}
@media(max-width:380px){.playview .session-top{gap:5px}.session-top .steptrack{gap:4px}.session-top .step span{font-size:10.5px}.daily-shell.is-playing .playview{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.hintbutton.hint-activated::after,.hintbutton.hint-activated .hint-token,.session-top .step.just-solved,.session-top .step.just-solved::before,.session-top .step.just-solved::after{animation:none}.session-top .step{transition:none}}

/* Welcome is a paper fan behind Play; miniatures match the live menu. */
.home #edition{translate:0 -4px}
.home .daily-logo{margin-bottom:0}
.home .daily-logo .eyebrow{translate:0 3px}
.upcoming-triptych{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(390px,100%);gap:0;margin:44px auto 0;padding:0 13px;text-align:center}
.upcoming-item{position:relative;z-index:1;min-width:0}
.upcoming-item:nth-child(2){z-index:2;translate:0 -7px}
.upcoming-item .difficulty-label{display:block;margin-bottom:9px;font-size:10px;color:#a69579}
.upcoming-card{position:relative;display:grid;grid-template-rows:minmax(32px,auto) minmax(0,1fr);gap:6px;width:calc(100% + 20px);height:166px;margin-inline:-10px;padding:11px 11px 39px;border:1px solid #cbb89499;border-radius:16px;background:#faf1df;box-shadow:0 3px 10px #80633d12;rotate:var(--turn);transform-origin:50% 100%;animation:upcoming-arrive .8s ease-out both;animation-delay:var(--delay);transition:translate .3s ease,scale .3s ease}
.upcoming-card h2{margin:0;display:flex;align-items:center;justify-content:center;color:#4e402e;font:500 14px/1.15 var(--display);overflow-wrap:anywhere;text-wrap:balance}
.upcoming-shape{display:grid;place-items:center;min-height:0}
.upcoming-mini{display:grid;grid-template-columns:repeat(5,10px);grid-template-rows:repeat(5,10px);gap:2.5px;transform-origin:50% 50%;transition:transform .3s ease}
.upcoming-mini i{display:block;border:0;border-radius:3px;background:transparent;box-shadow:none}
.upcoming-mini i.on{background:rgba(122,84,26,.22)}
.home:has(.upcoming-triptych) .welcome-actions{position:relative;z-index:5;margin-top:-38px;gap:21px}
.home .welcome-actions #start{width:275px;max-width:100%;min-height:72px;font-size:31px}
.home .copyright{margin:23px 0 0;font:400 10px/1.4 var(--body);letter-spacing:.5px;color:#8d7a5c;opacity:.55}
.admin-preview-tools{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.preview-finish{min-height:29px;padding:4px 10px;border:1px solid #cbbb9d;border-radius:8px;background:#fff8e9;color:#806a49;font:600 11px/1.2 var(--body);transition:background .18s,border-color .18s}
.preview-finish:hover{background:#fffcf5;border-color:#a98c60}
.preview-finish[aria-pressed="true"]{background:#efe5d2;color:#5e472b}
@keyframes upcoming-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.upcoming-item:hover{z-index:3}.upcoming-card:hover{translate:0 -6px;scale:1.025}.upcoming-card:hover .upcoming-mini{transform:scale(1.08)}}
@media(max-width:600px){.home .daily-logo{margin-top:16px;margin-bottom:0}.upcoming-triptych{margin-top:39px;padding-inline:9px}.upcoming-card{height:158px;padding:10px 8px 36px;border-radius:15px}.upcoming-card h2{font-size:13px}.home:has(.upcoming-triptych) .welcome-actions{gap:18px;margin-top:-36px}.admin-preview-tools{gap:4px}.preview-finish{font-size:10px;padding:5px 7px;min-height:30px}}
@media(max-width:380px){.upcoming-triptych{padding-inline:7px}.upcoming-card{width:calc(100% + 16px);margin-inline:-8px;padding-inline:6px}.upcoming-card h2{font-size:12px}.upcoming-item .difficulty-label{font-size:9px}}
@media(max-width:420px){.topnav{align-items:flex-start}.topnav .brand{padding-top:7px}.topnav .nav-right{flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:5px 8px}.admin-preview-tools{order:3;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.upcoming-card{animation:none;transition:none}.upcoming-mini,.preview-finish{transition:none}.upcoming-card:hover{translate:none;scale:1}.upcoming-card:hover .upcoming-mini{transform:none}}

/* Continuation direction reads correctly; action tips sit above the success receipt. */
.rounddone #continue svg{width:27px;height:27px;stroke-width:3.8;filter:none}
.playview .board-tools{z-index:6}
/* Public beta shell: Daily stays primary; Infinite is a quiet secondary path. */
[hidden]{display:none!important}
.infinite-entry{font-size:14px;color:var(--muted,#877352);text-decoration:none;margin-top:12px;padding:10px 16px;border-radius:12px}
.infinite-entry:hover,.infinite-entry:focus-visible{color:#403422;background:#f0e3cb}
.copyright a{color:inherit;font-size:10px;margin-left:8px}
.infinite-shell .playview{padding-top:30px}.infinite-heading{display:grid;gap:4px;margin-right:auto}.infinite-heading span{font-size:10px;letter-spacing:1.4px;color:#89744f}.infinite-heading b{font-size:13px}.infinite-filter select{font:600 12px 'DM Sans',sans-serif;color:#655337;border:1px solid #d3bf9c;border-radius:9px;padding:8px;background:#fff6e5}.infinite-note{font-size:12px;line-height:1.5;text-align:center;color:#89744f}.infinite-shell .session-top{gap:12px}.infinite-navigation{margin-left:auto}.infinite-shell .board-tools{gap:20px}.infinite-shell .board-tools svg{width:21px;height:21px}.infinite-shell .timebox{min-width:40px}
#login-form{display:grid;gap:16px;text-align:left;max-width:300px;margin:30px auto}#login-form input{font:inherit;border:1px solid #ccb78e;background:#fffaf0;border-radius:12px;padding:14px;min-width:0}#login-status{font-size:14px;line-height:1.5}
@media(max-width:420px){.infinite-shell .session-top{gap:8px}.infinite-filter select{max-width:100px}.infinite-shell .board-tools{gap:12px}}
/* The retired top navigation no longer supplies the welcome's upper spacing. */
.daily-shell>.home{margin-top:clamp(24px,5vh,52px)}
.daily-shell>.playview{padding-top:max(24px,env(safe-area-inset-top))}
/* Small beta interaction corrections. */
.infinite-shell .infinite-navigation{margin-left:0}
.session-top .step.current:disabled{opacity:1;cursor:default;filter:none}
.tutorial-focus .puzzle-heading{position:relative;z-index:81}
.tutorial-focus .puzzle-heading .hintbutton:not(.tutorial-ready){filter:brightness(.38)}
.puzzle-rating{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px auto 4px;color:#887455;font-size:12px}
.puzzle-rating button{width:44px;height:44px;display:grid;place-items:center;padding:9px;border:1px solid #cfbd9e;border-radius:50%;background:#fff8e9;box-shadow:0 2px 0 #dfcfb2;color:#8a7658}
.puzzle-rating button svg{width:23px;height:23px}.puzzle-rating button[aria-pressed="true"]{background:#dce8ce;color:#567044;border-color:#91a878}.puzzle-rating button[data-vote="-1"][aria-pressed="true"]{background:#f0d8cb;color:#985e47;border-color:#c79d87}
.puzzle-rating small{max-width:100px;font-size:10px;text-align:left}.puzzle-rating button:disabled{opacity:.6}

/* Refined puzzle controls: a fixed ivory bezel with a separate, pressable face.
   Opt-in through the shared studio; existing actions and tooltip labels stay native. */
.daily-shell[data-puzzle-buttons="refined"] .board-tools{flex-wrap:wrap;row-gap:14px;min-height:68px}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair{gap:10px}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button{
 --refined-face:#efd49b;--refined-edge:#b69b6a;--refined-ink:#59482e;
 position:relative;isolation:isolate;flex:0 0 auto;width:58px;height:58px;min-width:58px;padding:0;border:1.5px solid #baa786;border-radius:50%;
 background:#f6ead2;color:var(--refined-ink);box-shadow:inset 0 1px 0 #fffaf0,0 4px 0 #c0af8e,0 7px 12px -7px #75603d55;
 transform:none;translate:0 0;filter:none;transition:filter .16s;overflow:visible;touch-action:manipulation;
}
.daily-shell[data-puzzle-buttons="refined"] .toolpair :is(#reset,#test-down){--refined-face:#dfb7a5;--refined-edge:#b18a76;--refined-ink:#604538}
.daily-shell[data-puzzle-buttons="refined"] .toolpair :is(#shuffle,#test-shuffle){--refined-face:#c0ceb0;--refined-edge:#91a27f;--refined-ink:#45563b}
.daily-shell[data-puzzle-buttons="refined"] .toolpair :is(#restore-review,#test-reveal){--refined-face:#bacbd2;--refined-edge:#8ca2ad;--refined-ink:#405762}
/* The tooltip keeps ::after; its tiny arrow becomes the button face in this variant. */
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button::before{
 content:"";position:absolute;inset:6px 6px 10px;width:auto;height:auto;z-index:-1;
 border:1.5px solid var(--refined-edge);border-radius:50%;background:linear-gradient(150deg,color-mix(in srgb,var(--refined-face) 90%,white),var(--refined-face));
 box-shadow:inset 0 1px 0 #fff7,0 5px 0 var(--refined-edge),0 6px 2px #80674418;
 opacity:1;visibility:visible;translate:0 0;rotate:0deg;transform:translateY(0);pointer-events:none;
 transition:transform .16s cubic-bezier(.2,.8,.3,1.2),box-shadow .16s;
}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button svg{
 width:20px;height:20px;stroke-width:1.8;position:relative;pointer-events:none;rotate:0deg;translate:0 -2px;transform:translateY(0);
 transition:transform .16s cubic-bezier(.2,.8,.3,1.2);
}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button:disabled{opacity:.45;filter:saturate(.55);cursor:default}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button:focus-visible{outline:3px solid #82704c;outline-offset:5px}
@media(hover:hover){.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button:hover:enabled{filter:brightness(1.035)}}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button:active:enabled{translate:0 0;transform:none}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button:active:enabled::before{
 transform:translateY(5px);box-shadow:inset 0 2px 3px #70563322,0 0 0 var(--refined-edge);transition-duration:.065s;
}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button:active:enabled svg{transform:translateY(5px);transition-duration:.065s}
@media(max-width:450px){
 .daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair{gap:8px}
 .daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button{width:52px;height:52px;min-width:52px}
 .daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button::before{inset:5px 5px 9px}
 .daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button svg{width:19px;height:19px}
}
@media(prefers-reduced-motion:reduce){
 .daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button,
 .daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button::before,
 .daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair button svg{transition:none}
}

/* Shared Daily / Infinite layout. Keep navigation and optional controls out of
   the central action group's measurements. */
.daily-shell{--game-gutter:12px;--game-top:clamp(24px,4svh,48px);--game-gap:10px;--game-width:min(100%,clamp(360px,calc(70svh - 116px),580px))}
.daily-shell.is-playing .playview{width:var(--game-width);margin:0 auto;padding:var(--game-top) var(--game-gutter) 18px}
.daily-shell .playview .session-top{gap:var(--game-gap);margin-bottom:12px;min-height:46px}
.daily-shell .playview .puzzle-heading{margin-bottom:6px}
.daily-shell .game-back,.daily-shell .session-top #leave{display:grid;place-items:center;flex:0 0 40px;width:40px;height:44px;padding:9px;border:1.5px solid #b99d75;border-radius:13px;background:#fff8e9;color:#493b29;box-shadow:0 3px 0 #d3bd98;transition:transform .15s,box-shadow .15s}
.daily-shell .game-back svg,.daily-shell .session-top #leave svg{width:22px;height:22px;stroke-width:3;fill:none}
.daily-shell .game-back:active{transform:translateY(3px);box-shadow:0 0 0 #d3bd98}
.daily-shell .game-back:disabled{opacity:.35;cursor:default}
.daily-shell .board-tools,.daily-shell[data-puzzle-buttons="refined"] .board-tools{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;padding:8px 0 4px;min-height:68px}
.daily-shell .board-tools>.toolpair{grid-column:2;grid-row:1;justify-self:center;margin:0}
.daily-shell .board-tools>#finish-run{grid-column:3;grid-row:1;justify-self:end;position:static;margin:0}
.daily-shell .infinite-navigation{display:contents}
.daily-shell .infinite-navigation #previous{grid-column:1;grid-row:1;justify-self:start}
.daily-shell .infinite-navigation #next{grid-column:3;grid-row:1;justify-self:end}
.daily-shell .board-tools #restore-review{position:relative;right:auto;top:auto}
.daily-shell .board-tools.is-review{margin-bottom:0}
.daily-shell .infinite-heading{margin-right:auto;min-width:0}
.daily-shell .infinite-heading b{display:flex;gap:4px;font:500 clamp(15px,3.4vw,19px)/1.2 var(--display);color:#9b896b;white-space:nowrap}
.daily-shell .infinite-heading b span{font:inherit;letter-spacing:0;color:inherit}
.difficulty-picker{position:relative;flex:none;color:#776345;font-size:12px;z-index:12}
.difficulty-picker summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:40px;padding:7px 10px;border:1px solid #c9b595;border-radius:13px;background:linear-gradient(#fff9eb,#f1e2c5);box-shadow:inset 0 1px #fff,0 2px #d8c4a2;cursor:pointer;white-space:nowrap}
.difficulty-picker summary::-webkit-details-marker{display:none}
.difficulty-picker summary>svg{width:12px;height:12px;rotate:90deg;stroke-width:2}
.difficulty-picker[open] summary{background:#eee0c4;box-shadow:inset 0 1px 3px #8d714321}
.difficulty-options{position:absolute;right:0;top:calc(100% + 9px);width:160px;padding:6px;border:1px solid #cfbc99;border-radius:15px;background:#fff9ed;box-shadow:0 10px 28px #65503022;display:grid;gap:3px}
.difficulty-options button{display:flex;gap:9px;align-items:center;min-height:42px;border:0;border-radius:10px;padding:9px;color:#796549;background:transparent;font:inherit;text-align:left}
.difficulty-options button:hover,.difficulty-options button[aria-pressed="true"]{background:#e5ebd8;color:#586646}
.level-mark{min-width:16px;text-align:center;font-size:17px;line-height:1;color:#9d8760}
.daily-shell :is(button,a,summary,select):focus:not(:focus-visible){outline:none}
.daily-shell :is(button,a,summary,select):focus-visible{outline:2px solid #997d50;outline-offset:4px}
.daily-shell .finish-heading:focus{outline:none}
.daily-shell .results{margin:0 auto;padding-top:clamp(30px,6svh,76px);padding-bottom:40px}
.finish-navigation{display:flex;align-items:center;gap:10px;margin:0 0 clamp(24px,4svh,46px);color:#9a886a;font-size:12px;text-align:left}
.finish-footer{display:grid;justify-items:center;gap:10px;margin:34px auto 0;padding:25px 12px 12px;border-top:1px solid #dac9a966;color:#a18d6e;font-size:11px;line-height:1.5}
.footer-wordmark{font:500 17px var(--display);letter-spacing:4px;color:#8f7a58}
.puzzle-afterword{position:relative;z-index:2;width:var(--game-width);margin:0 auto;padding:30px var(--game-gutter) max(48px,env(safe-area-inset-bottom));text-align:center;color:#a18f74;font-size:11px;line-height:1.6}
.puzzle-afterword>p{margin:0 0 18px;font:inherit;color:inherit}
.puzzle-afterword .puzzle-rating{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:0;color:#9b886b;font-size:11px}
.puzzle-afterword .puzzle-rating>span{flex-basis:100%}
.puzzle-afterword .puzzle-rating small{flex-basis:100%;min-height:17px;max-width:none;text-align:center;font-size:10px}
.puzzle-afterword .puzzle-rating button{position:relative;isolation:isolate;width:48px;height:48px;padding:0;border:1px solid #c6b798;border-radius:50%;background:#f6ead4;color:#8c795c;box-shadow:0 3px #caba9b;display:grid;place-items:center}
.puzzle-afterword .puzzle-rating button::before{content:'';position:absolute;z-index:-1;inset:5px 5px 8px;border:1px solid #c5b391;border-radius:50%;background:#ecdfc3;box-shadow:0 3px #bba787;transition:transform .12s,box-shadow .12s}
.puzzle-afterword .puzzle-rating button svg{width:23px;height:23px;translate:0 -1px;transition:transform .12s}
.puzzle-afterword .puzzle-rating button:active::before{transform:translateY(3px);box-shadow:0 0 #bba787}
.puzzle-afterword .puzzle-rating button:active svg{transform:translateY(3px)}
.puzzle-afterword .puzzle-rating button[aria-pressed="true"]{color:#536448}
.puzzle-afterword .puzzle-rating button[aria-pressed="true"]::before{background:#d2ddc1;border-color:#a0b088}
.puzzle-afterword .puzzle-rating button[data-vote="-1"][aria-pressed="true"]{color:#865c48}
.puzzle-afterword .puzzle-rating button[data-vote="-1"][aria-pressed="true"]::before{background:#e4cbbc;border-color:#ba9880}
@media(max-width:380px){.daily-shell{--game-gutter:8px;--game-gap:6px}.difficulty-picker summary{padding:7px;gap:4px}.daily-shell .infinite-heading b{font-size:15px}.infinite-shell .timebox{padding:5px}.infinite-shell .timebox time{min-width:38px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.daily-shell .game-back,.puzzle-afterword .puzzle-rating button::before,.puzzle-afterword .puzzle-rating button svg{transition:none}}

/* Welcome labels belong to their tilted card, including its hover motion. */
.upcoming-card{overflow:visible}
.upcoming-card .difficulty-label{position:absolute;left:0;top:-26px;width:100%;margin:0;color:#a69579;opacity:.65;pointer-events:none}
.welcome-start-row{display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:center;gap:12px;width:337px;max-width:100%}
.home .welcome-actions .welcome-start-row #start{width:100%;min-width:0}
.home-refresh{position:relative;isolation:isolate;display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid #c8b695;border-radius:50%;background:#f6ead4;color:#947b54;box-shadow:inset 0 1px #fff9,0 3px #caba9b}
.home-refresh::before{content:'';position:absolute;z-index:-1;inset:5px 5px 8px;border:1px solid #c4ac81;border-radius:50%;background:linear-gradient(145deg,#f3e4c4,#ead4a5);box-shadow:0 3px #bca47a;transition:transform .14s,box-shadow .14s}
.home-refresh svg{width:19px;height:19px;stroke-width:1.8;translate:0 -1px;transition:transform .14s}
.home-refresh:active::before{transform:translateY(3px);box-shadow:0 0 #bca47a}
.home-refresh:active svg{transform:translateY(3px)}
@media(hover:hover){.home-refresh:hover{filter:brightness(1.035)}}
@media(prefers-reduced-motion:reduce){.home-refresh::before,.home-refresh svg{transition:none}}

/* Quiet welcome details; the primary action owns the page centre. */
.welcome-start-row{width:375px;grid-template-columns:40px minmax(0,275px) 40px;gap:10px}
.welcome-start-row #start{grid-column:2;grid-row:1}
.welcome-start-row .home-refresh{grid-column:3;grid-row:1;width:40px;height:40px;background:#faf2e2;border-color:#d9c9ac;color:#a48d69;box-shadow:inset 0 1px #fffc,0 2.4px #d8c8aa}
.home-refresh::before{inset:4px 4px 6.4px;border-color:#d5c19c;background:linear-gradient(145deg,#faf0dc,#f3e5c8);box-shadow:0 2.4px #cdb996}
.home-refresh::after{content:'';position:absolute;inset:-2px;border-radius:50%}
.home-refresh svg{width:15.2px;height:15.2px}
.home-refresh:active::before,.home-refresh:active svg{transform:translateY(2.4px)}
.home .infinite-entry{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid #dbc9a540;border-radius:12px;background:#fff9eb66;color:#978262}
.home .infinite-entry svg{width:13px;height:13px}
.home .infinite-entry:hover{background:#fff9eb99;color:#806b4b}
.home .daily-rules{display:flex;align-items:center;gap:12px;max-width:375px;margin:28px auto 0;padding:14px 16px;border:1px solid #d9c7a438;border-radius:13px;background:#f1e5cc55;color:#938064;text-align:left;font-size:12px;line-height:1.6}
.welcome-hint-budget{display:flex;align-items:center;gap:3px;flex:none;color:#8b744e;white-space:nowrap}
.welcome-hint-budget .hint-token{width:30px;height:30px;flex:none}
.welcome-hint-budget b{font:500 19px var(--display)}
.home .copyright{margin-top:44px;padding-bottom:18px}
.puzzle-afterword .puzzle-rating{column-gap:12px;row-gap:7px}
.puzzle-afterword .puzzle-rating button[data-vote="1"]{color:#728164}
.puzzle-afterword .puzzle-rating button[data-vote="1"]::before{background:#dde5ce;border-color:#b0bd9b;box-shadow:0 3px #adbb96}
.puzzle-afterword .puzzle-rating button[data-vote="-1"]{color:#a0806d}
.puzzle-afterword .puzzle-rating button[data-vote="-1"]::before{background:#ecdbcf;border-color:#ccb09a;box-shadow:0 3px #c1a58e}
.puzzle-afterword .puzzle-rating button[aria-pressed="true"]::before{background:#c7d8b1;border-color:#8da775}
.puzzle-afterword .puzzle-rating button[data-vote="-1"][aria-pressed="true"]::before{background:#dfbcaa;border-color:#b48e76}
.puzzle-afterword .puzzle-rating button{transition:filter .15s}
@media(hover:hover){.puzzle-afterword .puzzle-rating button:hover:enabled{filter:brightness(1.045)}.puzzle-afterword .puzzle-rating button:hover:enabled::before{transform:translateY(-1px)}}
.puzzle-afterword .puzzle-rating button:active:enabled::before{transform:translateY(3px);box-shadow:0 0 transparent}
@media(prefers-reduced-motion:reduce){.puzzle-afterword .puzzle-rating button{transition:none}}

/* Small finish spacing adjustments and one scale for every puzzle thumbnail. */
.results .scoretile .big-mark .puzzle-mark{inset:auto;left:50%;top:50%;translate:-50% -50%;width:clamp(52px,18vw,84px);height:clamp(52px,18vw,84px)}
.results .score-triptych{margin-bottom:32px}
.results .result-metrics{padding-bottom:23px;margin-bottom:20px}
.results .finish-actions{gap:19px}
.results .finish-footer{gap:12px}

/* Completed Daily: quiet countdown to the next local-midnight puzzle. */
.next-daily-countdown{margin:28px auto 0;padding:24px 22px 22px;border:1px solid #d9d6d0;border-radius:22px;background:#f3f2f0;text-align:center;color:#454545}
.next-daily-countdown h2{margin:0 0 18px;font:600 12px/1.2 var(--body);letter-spacing:2px;text-transform:uppercase;color:#777}
.countdown-units{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px}
.countdown-units>div{display:grid;place-items:center;min-height:98px;padding:12px 8px;border:1px solid #dedede;border-radius:16px;background:#e9e9e9;box-shadow:inset 0 1px #fff}
.countdown-units strong{font:600 33px/1 var(--display);font-variant-numeric:tabular-nums;color:#222}
.countdown-units span{margin-top:7px;font:600 10px/1 var(--body);letter-spacing:1.4px;text-transform:uppercase;color:#7c7c7c}
.countdown-units>b{font:500 25px/1 var(--display);color:#555;translate:0 -7px}
.next-daily-countdown p{margin:18px 0 0;font-size:12px;line-height:1.55;color:#7a7a7a}
.next-daily-countdown p span{white-space:nowrap}
@media(max-width:450px){.next-daily-countdown{padding:21px 15px 19px}.countdown-units{gap:6px}.countdown-units>div{min-height:88px;padding-inline:5px;border-radius:14px}.countdown-units strong{font-size:29px}.countdown-units span{font-size:9px;letter-spacing:1px}.countdown-units>b{font-size:21px}}

/* Infinite discovery stays outside the crowded board header on small screens. */
.infinite-chooser{position:relative;margin:10px 0 14px;color:#776345;font-size:12px}
.infinite-chooser summary{cursor:pointer;padding:8px 0;min-height:40px;display:flex;align-items:center;gap:8px;list-style:none}
.infinite-chooser summary::-webkit-details-marker{display:none}
.infinite-chooser summary:before{content:'+';font-size:17px}.infinite-chooser[open] summary:before{content:'−'}
.infinite-chooser summary span{margin-left:auto;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.infinite-choices{padding:12px;border:1px solid #d3bf9c;border-radius:13px;background:#fff6e5}
.infinite-sources{display:flex;gap:8px}.infinite-sources button{flex:1;min-height:44px;border:1px solid #c9b595;border-radius:10px;background:#fff9eb;color:inherit;font:inherit}
.infinite-sources button[aria-pressed=true]{background:#dae7c6;border-color:#849963;font-weight:700}
.infinite-choices label{display:grid;gap:6px;margin-top:12px}.infinite-choices label[hidden]{display:none}
.infinite-choices select{min-width:0;width:100%;min-height:44px;font:inherit;color:inherit;border:1px solid #c9b595;border-radius:8px;background:#fff9eb;padding:8px}
.infinite-choices p{line-height:1.5;margin:12px 0 0}.infinite-chooser :focus-visible{outline:2px solid #849963;outline-offset:3px}

/* Review uses the same single-row tools and back-link alignment as play. */
.daily-shell .session-top .review-return{flex:0 1 auto;text-align:left;margin:0;padding:8px 0;font:500 17px var(--display)}
.daily-shell .board-tools .toolpair #restore-review{--control-face:#34833b;--control-rim:#27632d;--control-base:#235e2b;--control-ink:#fff;background:#34833b;border-color:#27632d;color:#fff;box-shadow:inset 0 1px #fff8,0 4px #235e2b}
.daily-shell[data-puzzle-buttons="refined"] .board-tools .toolpair #restore-review{--refined-face:#34833b;--refined-edge:#235e2b;--refined-ink:#fff;background:#f6ead2;border-color:#baa786;color:#fff;box-shadow:inset 0 1px #fffaf0,0 4px #c0af8e,0 7px 12px -7px #75603d55}

/* A quiet gold finish for a fully solved, hint-free Daily. */
.result-metrics .total-hints.no-hints{border:2px solid #bf963e;background:linear-gradient(140deg,#fff7da,#f4d98c);box-shadow:inset 0 2px #fffbed,0 2px #d6b567}

.daily-shell .infinite-heading #puzzle-count{align-self:center;font:500 10px/1.2 "DM Sans",sans-serif;letter-spacing:0;color:inherit;white-space:nowrap}

/* Floating numbered puzzle rail, fitted to the real Daily header. */
.daily-shell .playview .session-top{gap:10px;align-items:center}
.daily-shell .playview .number-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:0;flex:0 1 186px;min-width:0;height:70px;margin:0 auto;padding:0;border:0;isolation:isolate}
.daily-shell .number-rail{position:absolute;inset:0;width:100%;height:70px;overflow:visible;z-index:-1;pointer-events:none}
.number-rail line{stroke:#d4c39e;stroke-width:5;stroke-linecap:round;transition:y1 .16s ease,y2 .16s ease,stroke .16s ease}
.number-rail line.complete{stroke:#86b766}
.daily-shell .number-track .step{position:relative;display:grid;place-items:center;justify-self:center;width:50px;height:50px;min-width:44px;margin:0;padding:0;border:1px solid #d5c4a2;border-radius:50%;background:linear-gradient(145deg,#fffdf3,#eee3c8);box-shadow:inset 0 2px #fffef5,0 3px #cdbd9a;color:#857252;opacity:1;transform:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;overflow:visible}
.daily-shell .number-track .step>span{font:600 24px/1 var(--display);color:inherit;margin:0}
.daily-shell .number-track .step>b{display:none}
.daily-shell .number-track .step.current{transform:translateY(-8px) scale(1.12);border:2.5px solid #6c5330;background:linear-gradient(145deg,#fff0bf,#e7c982);box-shadow:inset 0 2px #fff8dd,0 3px #bea26b,0 6px 9px -4px #6c533050;color:#493b29}
.daily-shell .number-track .step.solved{background:linear-gradient(145deg,#a8d77e,#75ad51);border-color:#8cb569;box-shadow:inset 0 2px 4px #537e3030,0 1px #d4c5a5;color:#fffdf2}
.daily-shell .number-track .step.solved.current{border-color:#6c5330;box-shadow:inset 0 2px 4px #537e3030,0 3px #b6a078}
.daily-shell .number-track .step.solved>b{position:absolute;display:grid;place-items:center;right:-2px;top:-3px;width:18px;height:18px;border:1px solid #85aa66;border-radius:50%;background:#fffbed;color:#6e9e4c;box-shadow:0 1px 2px #63844225}
.daily-shell .number-track .step>b svg{width:12px;height:12px;stroke-width:3}
.daily-shell .number-track .step:disabled{opacity:1;cursor:default}
.daily-shell .number-track .step:focus-visible{outline:2px solid #81643d;outline-offset:5px}
@media(hover:hover){.daily-shell .number-track .step:not(:disabled):hover{transform:translateY(-2px)}}
@media(max-width:360px){.daily-shell .playview .session-top{gap:6px}.daily-shell .number-track .step{width:44px;height:44px}.daily-shell .number-track .step>span{font-size:22px}}
@media(prefers-reduced-motion:reduce){.daily-shell .number-track .step,.number-rail line{transition:none}}
.daily-shell .number-track .step::before,.daily-shell .number-track .step::after{content:none;display:none}

/* Stable layers: groove, rail, then opaque puzzle pieces. */
.daily-shell .number-track::before{content:"";position:absolute;inset:6px -8px 1px;border:1px solid #aa906522;border-radius:999px;background:#70532912;box-shadow:inset 0 2px 3px #70532912,inset 0 -1px #fff9;opacity:1;z-index:0;pointer-events:none}
.daily-shell .number-track .number-rail{z-index:1}
.daily-shell .number-track .step,.daily-shell .number-track .step:hover,.daily-shell .number-track .step.current{z-index:2;isolation:isolate;filter:none;transition:transform .16s ease,box-shadow .16s ease}

@media(max-width:360px){.daily-shell .number-track .step.current{transform:translateY(-8px) scale(1.09)}}

/* Navigation at the edges; tools remain centered with either edge hidden. */
.daily-shell .board-tools:has(#daily-next){padding-inline:0}
.daily-shell .board-tools>#daily-previous{grid-column:1;grid-row:1;justify-self:start}
.daily-shell .board-tools>#daily-next{grid-column:3;grid-row:1;justify-self:end}
.daily-shell .board-tools>#finish-run{width:44px;height:44px;padding:10px;border-radius:13px}
.daily-shell #finish-run svg{fill:#fffdf5}
.daily-shell #finish-run::after{white-space:normal;width:220px;max-width:calc(100vw - 48px);text-align:left}
.daily-shell #daily-previous::after{left:0;translate:0 0}
.daily-shell #daily-next::after{left:auto;right:0;translate:0 0}
.daily-shell #dialog-title:focus{outline:none}
