:root{--bg:#101214;--ink:#f3f1e8;--muted:#9a9b96;--stroke:#ffffff1b;--accent:#9eeaff;--panel:#191c1e;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;background-image:radial-gradient(ellipse at 70% 0%,#2b3a332c,transparent 50%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}header{max-width:1200px;padding:25px 32px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke)}.brand{font-size:19px;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.7px;display:flex;align-items:center;gap:5px}.brand-thin{font-weight:400;color:#aaafa8}.brand-icon{background:#e8f0b5;color:#101214;width:30px;height:33px;display:inline-flex;align-items:center;justify-content:center;font-style:italic;font-size:30px;margin-right:8px;border-radius:6px;position:relative}.brand-icon span{font:11px Arial;position:absolute;right:3px;top:4px}.header-note{font:9px var(--mono);letter-spacing:1.7px;color:#a9ada4}.header-note i{display:inline-block;width:6px;height:6px;background:#e4edb1;border-radius:50%;margin-right:8px}.quiet{border:0;background:none;color:var(--ink);padding:12px 0;font-size:12px;min-height:44px}.quiet:hover{color:var(--accent)}main{max-width:1120px;margin:auto;padding:0 32px}.hero{padding:53px 0 36px}.eyebrow{font:9px var(--mono);letter-spacing:1.7px;color:#c5c7b9;margin:0 0 19px}h1{font-size:clamp(37px,5.8vw,65px);font-weight:600;line-height:1.03;letter-spacing:-3.5px;margin:0}h1 em{font-weight:500;color:#e4edb1;font-family:Georgia,serif}.hero-copy{font-size:15px;color:#b0b3aa;line-height:1.65;margin:24px 0 15px}.tiny{font-size:10px;color:#7f887e;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.card{color:var(--ink);border:1px solid var(--stroke);border-radius:18px;padding:20px;text-align:left;overflow:hidden;transition:transform .2s,border-color .2s;background:#17272b}.card:hover{transform:translateY(-5px);border-color:#ffffff60}.card-top{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);letter-spacing:1px;color:#b7d1d4}.card-arrow{border:1px solid #ffffff25;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font:15px Arial}.spill-card{background:radial-gradient(ellipse at 60% 45%,#214d58,#142327 80%)}.thread-card{background:radial-gradient(ellipse at 60% 45%,#573e30,#2b211c 80%)}.shadow-card{background:radial-gradient(ellipse at 60% 45%,#40335a,#241f30 80%)}.card-art{height:190px;display:grid;place-items:center}.card-art svg{width:100%;max-height:190px;overflow:visible}.card h2{display:flex;justify-content:space-between;align-items:center;font-size:26px;letter-spacing:-1px;margin:5px 0 9px}.card h2>span{font-weight:400;font-size:19px}.card p{font-size:12px;color:#c0c3bc;margin:0 0 23px}.card-footer{border-top:1px solid #ffffff18;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#a8b4ad;font-size:9px}.play-tag{font:9px var(--mono);letter-spacing:1px;border:1px solid #ffffff35;border-radius:4px;padding:7px;color:var(--ink)}.home-foot{font-size:11px;color:#747c73;margin:25px 0 0;line-height:1.6}.game-bar{display:flex;justify-content:space-between;align-items:center;margin:20px auto 13px;max-width:790px}.round-badge{font:9px var(--mono);letter-spacing:1px;color:var(--accent);border:1px solid #ffffff25;padding:8px 10px;border-radius:5px}.game-title{max-width:790px;margin:0 auto 23px}.game-title h1{font-size:44px;letter-spacing:-2px}.game-title .eyebrow{color:var(--accent);margin-bottom:10px}.game-title>p:last-child{color:#acb0a7;font-size:14px;line-height:1.5;margin:12px 0 0}.stage{max-width:790px;margin:auto;position:relative;border:1px solid #ffffff22;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#164a53,#111e25 75%)}body[data-game=thread] .stage{background:radial-gradient(ellipse at 40% 50%,#463027,#211c1a 75%)}body[data-game=shadow] .stage{background:radial-gradient(ellipse at 65% 50%,#40344f,#201b2a 75%)}.stage-meta{position:absolute;left:21px;right:21px;top:18px;display:flex;justify-content:space-between;color:var(--accent);font:9px var(--mono);letter-spacing:1px;z-index:2}.stage-meta>span:last-child{color:#9ca8a3}#scene{display:block;width:100%;max-height:450px;touch-action:pan-y;user-select:none}.stage-caption{text-align:center;font-size:10px;color:#8ca3a4;position:absolute;left:10px;right:10px;bottom:17px;pointer-events:none}.controls{max-width:790px;margin:18px auto 0;background:#1a1d1e;border:1px solid var(--stroke);border-radius:13px;padding:21px}.control-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:14px}.control-top output{font:22px var(--mono);color:var(--accent)}.range{width:100%;height:7px;accent-color:var(--accent);cursor:pointer;min-height:32px;margin:0 0 13px}.range-labels{display:flex;justify-content:space-between;color:#7f8a81;font:9px var(--mono);margin:-7px 0 18px}.primary{color:#111719;background:var(--accent);border:0;border-radius:7px;padding:15px 18px;font-size:13px;font-weight:700;display:flex;justify-content:space-between;align-items:center;min-height:48px;width:100%}.primary:hover:not(:disabled){filter:brightness(1.1)}.secondary{background:none;border:1px solid #ffffff35;color:var(--ink);border-radius:7px;padding:12px 15px;min-height:44px;font-size:12px}.secondary:hover:not(:disabled){background:#ffffff0d}.result{max-width:790px;margin:16px auto 0;padding:24px;border:1px solid #ffffff25;border-radius:13px;background:#1b201d}.result-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.result h2{margin:0 0 8px;font-size:23px;letter-spacing:-.8px}.result p{font-size:12px;line-height:1.7;color:#b2b9ac;margin:0}.score{font-size:42px;letter-spacing:-2px;color:var(--accent);white-space:nowrap}.score small{font:11px var(--mono);letter-spacing:0;color:#9caa98}.result-actions{display:flex;gap:10px;margin-top:21px;flex-wrap:wrap}.result-actions button{flex:1;white-space:nowrap}.result-actions .primary{width:auto}.feedback-line{border-top:1px solid var(--stroke);margin-top:22px;padding-top:16px}.feedback-line>p{font-size:11px;margin-bottom:10px}.feedback{display:flex;gap:8px;flex-wrap:wrap}.feedback button{font-size:11px;min-height:40px;padding:9px 12px}.feedback .selected{background:var(--accent);color:#141918;border-color:var(--accent)}.feedback-status{font-size:10px!important;margin-top:10px!important}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.control-grid .control-top{font-size:11px}.control-grid .control-top output{font-size:13px}.control-hint{font-size:10px;color:#8a9589;margin:4px 0 17px;line-height:1.6}.notes{max-width:790px;border:1px solid #ffffff25;border-radius:12px;background:#1d2220;padding:24px;margin:24px auto 0}.notes-head{display:flex;justify-content:space-between;align-items:center}.notes h2{font-size:20px;letter-spacing:-.5px;margin:0}.notes p{font-size:12px;color:#acb6a7;line-height:1.7}.notes-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.compare{border:1px solid var(--stroke);border-radius:13px;padding:22px;margin-top:24px}.compare h2{font-size:22px;letter-spacing:-.7px;margin:0 0 10px}.compare p{font-size:12px;color:#a5afa1;line-height:1.7}.comparison-table{width:100%;border-collapse:collapse;font-size:12px;margin:20px 0}.comparison-table th,.comparison-table td{padding:13px 7px;text-align:left;border-bottom:1px solid var(--stroke)}.comparison-table th{font-size:9px;color:#949e8f;font-weight:400;text-transform:uppercase;letter-spacing:1px}.comparison-table th:first-child{width:40%}.favourite{display:flex;gap:8px;flex-wrap:wrap}.favourite button.selected{background:#e4edb1;color:#131811;border-color:#e4edb1}footer{display:flex;justify-content:space-between;padding:35px 0;color:#6e786c;font:9px var(--mono);letter-spacing:.6px}.shape-control{cursor:grab;touch-action:none}.shape-control:active{cursor:grabbing}.confetti{animation:float-away 1.2s ease-out forwards}@keyframes float-away{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}
@media(max-width:700px){header{padding:17px 18px}.brand{font-size:16px}.brand-icon{width:25px;height:28px;font-size:25px}.header-note{display:none}main{padding:0 16px}.hero{padding:35px 0 28px}.eyebrow{font-size:8px;letter-spacing:1px;line-height:1.6}h1{font-size:42px;letter-spacing:-2.4px}.hero-copy{font-size:13px;margin:20px 0 12px}.cards{grid-template-columns:1fr;gap:14px}.card{padding:18px;display:grid;grid-template-columns:1fr 115px;column-gap:6px}.card-top{grid-column:1/-1}.card-art{grid-column:2;grid-row:2/5;height:140px;align-self:center}.card-art svg{height:130px;width:140px;margin-right:-10px}.card h2{grid-column:1;font-size:27px;display:block;margin:19px 0 10px}.card h2>span{display:none}.card p{grid-column:1;line-height:1.6;margin:0 0 18px;max-width:180px}.card-footer{grid-column:1/-1;padding-top:13px;font-size:10px}.card-arrow{width:24px;height:24px}.home-foot{font-size:10px}.game-bar{margin:15px auto 9px}.game-title h1{font-size:36px}.game-title>p:last-child{font-size:12px;margin-top:10px}.game-title{margin-bottom:17px}.stage-meta{left:14px;right:14px;top:14px;font-size:8px;letter-spacing:.4px}.stage-caption{bottom:12px;font-size:8px}#scene{min-height:270px}.controls{padding:16px;margin-top:13px}.control-top{font-size:12px}.control-top output{font-size:21px}.result{padding:18px}.result h2{font-size:20px}.result p{font-size:11px}.score{font-size:34px}.control-grid{gap:13px}.control-grid .control-top{font-size:10px}.control-grid .control-top output{font-size:10px}.result-actions button{font-size:11px}.result-actions .primary{flex-basis:100%}.comparison-table{font-size:10px}.comparison-table th{font-size:8px}.comparison-table th,.comparison-table td{padding:12px 3px}.compare{padding:16px}.notes{padding:18px}footer{font-size:8px;gap:10px;line-height:1.6}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.session-complete{flex-basis:100%;font:10px var(--mono);letter-spacing:1px;color:var(--accent);padding:8px 0}
/* The public edition keeps the original palette and gives each run a clear rhythm. */
a{color:inherit}button,input{font-family:inherit}.hero{padding-bottom:36px}.daily-info{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.daily-info .eyebrow{margin:0}.daily-info strong{font-size:17px}.progress-summary{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:22px 0}.progress-summary>div+div{border-left:1px solid var(--stroke);padding-left:28px}.progress-summary h3{font-size:16px;margin:0 0 14px}.progress-summary strong{font:28px var(--mono);color:var(--accent)}.progress-summary strong small{font-size:12px;color:var(--muted)}.progress-summary p{font-size:11px}.session-tools{max-width:790px;margin:0 auto 17px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.session-tools>.session-heading{display:flex;flex-direction:column;gap:7px}.session-tools strong{font:10px var(--mono);color:var(--accent);letter-spacing:1px}.session-tools span{font-size:11px;color:var(--muted)}.session-tools button{font-size:11px}.round-dots{display:flex;gap:9px;flex-basis:100%}.round-dots span{border:1px solid #ffffff20;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font:10px var(--mono)}.round-dots .current{border-color:var(--accent);color:var(--accent)}.round-dots .done{background:var(--accent);color:#101214;border-color:var(--accent)}.run-summary{border-top:1px solid var(--stroke);padding-top:22px;margin-top:22px}.run-summary .eyebrow{color:var(--accent);margin-bottom:12px}.run-summary h3{font-size:27px;letter-spacing:-1px;margin:0 0 10px}.share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.share-actions button{flex:1}.share-note{font-size:10px!important;margin-top:10px!important}.share-fallback{width:100%;padding:13px;background:#101214;color:var(--ink);border:1px solid var(--stroke);margin-top:10px}.after-result{border-top:1px solid var(--stroke);margin-top:15px}.setting{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:70px;border-bottom:1px solid var(--stroke);font-size:14px}.setting small{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.5}.setting input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.notes-actions{margin-top:22px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}.result{scroll-margin-bottom:15px}.card-art svg{animation:idle-float 6s ease-in-out infinite}.thread-card .card-art svg{animation-delay:-2s}@keyframes idle-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:700px){.progress-summary{gap:16px}.progress-summary>div+div{padding-left:16px}.progress-summary h3{font-size:14px}.progress-summary p{font-size:10px;line-height:1.7}.progress-summary .secondary{font-size:10px;padding:10px 11px}.session-tools span{font-size:10px}.session-tools{gap:10px}.session-tools .secondary{padding:10px;font-size:10px}.session-tools>.session-heading{max-width:57%}.share-actions button{font-size:11px;padding:12px 8px}.run-summary h3{font-size:24px}.daily-info{gap:10px}.daily-info .tiny{flex-basis:100%}.stage-meta{font-size:7px}.header-note{font-size:8px}}
/* Spill Point · a quiet, tactile instrument for your intuition. */
:is(body[data-game=spill],body[data-game=thread]){--accent:#a9f2f5;background-color:#0d171b;background-image:radial-gradient(ellipse at 65% 4%,#1833337a,transparent 60%)}:is(body[data-game=spill],body[data-game=thread]) header{padding-top:18px;padding-bottom:18px}:is(body[data-game=spill],body[data-game=thread]) main{max-width:1180px}:is(body[data-game=spill],body[data-game=thread]) .brand-icon{background:#cfe9ba}:is(body[data-game=spill],body[data-game=thread]) .header-note{color:#839d99}.spill-lobby{padding-bottom:12px}.lobby-top{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.lobby-edition{font:9px var(--mono);letter-spacing:1.7px;color:#6f9394}.lobby-grid{display:grid;grid-template-columns:1fr 1.16fr;gap:48px;align-items:center;padding:42px 0 38px}.lobby-copy .eyebrow{font-size:8px;letter-spacing:1.7px;color:#9cb2a4}.lobby-copy h1{font-size:clamp(72px,8.1vw,108px);line-height:.89;letter-spacing:-6px;position:relative;display:inline-block}.lobby-copy h1 em{font-family:Georgia,serif;color:#b2f2f1;font-weight:400}.drop-mark{position:absolute;top:7px;right:-65px;font-size:39px;color:#d6e7ac;font-weight:400;letter-spacing:0}.lobby-lead{font-size:19px;line-height:1.5;color:#a9beba;margin:28px 0 14px}.lobby-lead strong{font-weight:400;color:#eef4e7}.lobby-description{font-size:13px;color:#879f9d;line-height:1.8;margin:0 0 26px}.lobby-actions{display:grid;gap:10px;max-width:330px}.lobby-actions .primary{background:#cbe9b1;color:#14231e;padding:17px 20px}.lobby-actions .secondary{text-align:left;display:block;border-color:#93c7be25;color:#b4ceca}.lobby-copy>.tiny{color:#7f9f98;margin-top:15px;max-width:335px;font-size:9px}.lobby-art{background:radial-gradient(ellipse at 47% 55%,#214e57,#142e35 70%);border:1px solid #94d9de25;border-radius:25px;overflow:hidden;position:relative;transform:rotate(-2deg);box-shadow:0 30px 70px #0002}.lobby-art svg{display:block;width:100%;padding:18px 0 0;animation:lobby-breathe 7s ease-in-out infinite}.lobby-art-top,.lobby-art-bottom{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1.5px;color:#9dc2c0;margin:24px 26px 0;gap:15px}.lobby-art-bottom{margin:0 26px 25px;padding-top:17px;border-top:1px solid #b9faff16;color:#789fa1}.live-dot:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#d7e9a6;margin-right:6px;vertical-align:middle}.lobby-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #a9e9de19;border-bottom:1px solid #a9e9de19;padding:25px 0;margin-top:25px;gap:25px}.lobby-facts>div{display:flex;gap:15px}.lobby-facts>div>span{font:10px var(--mono);color:#8db8a6;margin-top:3px}.lobby-facts p{margin:0;font-size:13px;color:#d3dfd6}.lobby-facts small{display:block;color:#819a94;font-size:10px;margin-top:9px;line-height:1.7}.lobby-foot{font-size:10px;color:#78958d;margin-top:22px}.spill-control{cursor:grab;touch-action:none}.spill-control:active{cursor:grabbing}@keyframes lobby-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
:is(body[data-game=spill],body[data-game=thread])[data-screen=play] #game{max-width:1056px;margin:auto}:is(body[data-game=spill],body[data-game=thread]) .game-bar{max-width:none;margin-top:16px;margin-bottom:14px}:is(body[data-game=spill],body[data-game=thread]) .game-title{max-width:none;margin-bottom:25px;position:relative;padding-right:35%}:is(body[data-game=spill],body[data-game=thread]) .game-title h1{font-size:45px;letter-spacing:-2.2px}:is(body[data-game=spill],body[data-game=thread]) .game-title .eyebrow{font-size:8px;color:#a3b7a1;letter-spacing:2px;margin-bottom:10px}:is(body[data-game=spill],body[data-game=thread]) .game-title>p:last-child{font-size:12px;margin-top:11px;color:#92aca6}:is(body[data-game=spill],body[data-game=thread]) .session-tools{max-width:none;display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:20px}:is(body[data-game=spill],body[data-game=thread]) .session-tools>.session-heading{max-width:none;flex-direction:row;align-items:center;gap:18px}:is(body[data-game=spill],body[data-game=thread]) .session-tools strong{font-size:9px;letter-spacing:1.5px}:is(body[data-game=spill],body[data-game=thread]) .session-tools span{font-size:10px}:is(body[data-game=spill],body[data-game=thread]) .session-tools button{font-size:10px;min-height:38px;padding:9px 12px;border-color:#a7d9cd26}:is(body[data-game=spill],body[data-game=thread]) .round-dots{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}:is(body[data-game=spill],body[data-game=thread]) .round-dots>span{border:0;border-top:2px solid #9aede31e;border-radius:0;width:auto;height:36px;display:flex;justify-content:space-between;align-items:center;padding:8px 2px;background:none;color:#547a77;font-family:var(--mono)}:is(body[data-game=spill],body[data-game=thread]) .round-dots small{font-size:9px;font-weight:400}:is(body[data-game=spill],body[data-game=thread]) .round-dots b{font-size:9px;font-weight:400}:is(body[data-game=spill],body[data-game=thread]) .round-dots>span.current{border-color:#b5f8f6;color:#b5f8f6}:is(body[data-game=spill],body[data-game=thread]) .round-dots>span.done{border-color:#c2dfa1;color:#c2dfa1}
.play-layout{display:block}:is(body[data-game=spill],body[data-game=thread]) .play-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:stretch}:is(body[data-game=spill],body[data-game=thread]) .stage{width:100%;max-width:none;border-radius:20px;background:radial-gradient(ellipse at 45% 60%,#1c4951,#112c35 80%);border-color:#b5e5e52b;align-self:stretch;display:flex;align-items:center;min-height:420px}:is(body[data-game=spill],body[data-game=thread]) #scene{max-height:none;width:100%;min-height:0}:is(body[data-game=spill],body[data-game=thread]) .stage-meta{top:21px;left:23px;right:23px;font-size:8px;letter-spacing:1px}:is(body[data-game=spill],body[data-game=thread]) .stage-meta>span:last-child{font-size:7px;color:#83a5a6}:is(body[data-game=spill],body[data-game=thread]) .stage-caption{bottom:17px;font-size:8px;letter-spacing:1px;color:#75999b}:is(body[data-game=spill],body[data-game=thread]) .controls{max-width:none;background:#152329;border-color:#a8cfbf20;border-radius:20px;padding:24px;margin:0;display:flex;flex-direction:column;justify-content:center}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.control-heading .eyebrow{font-size:8px;margin:0;letter-spacing:1.3px;color:#97b8ab}.sound-toggle{padding:10px 0 10px 10px;color:#7eaaa4;font:8px var(--mono);letter-spacing:1px;background:none;border:0;min-height:36px;white-space:nowrap}.sound-toggle[aria-pressed=true]{color:#d9e9b5}.angle-readout{display:block}.angle-readout>span{display:block;color:#9ab2ac;font-size:13px;margin-bottom:8px}.angle-readout output{display:block;font:80px var(--mono);line-height:1.15;letter-spacing:-7px;color:#d3fcfa}.angle-stepper{display:flex;justify-content:space-between;align-items:center;margin:12px 0 16px}.angle-stepper span{font:8px var(--mono);letter-spacing:1px;color:#648e89}.angle-stepper button{font-size:22px;line-height:1;width:44px;height:44px;padding:0;border-radius:50%;border-color:#8cbdb633;color:#a8dcd5}:is(body[data-game=spill],body[data-game=thread]) .range{appearance:none;height:36px;margin-bottom:9px;background:transparent;accent-color:#a9f2f5}:is(body[data-game=spill],body[data-game=thread]) .range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,#b2eeee var(--range-progress),#ffffff16 var(--range-progress))}:is(body[data-game=spill],body[data-game=thread]) .range::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border:5px solid #d9fffa;border-radius:50%;background:#398d92;margin-top:-8px;box-shadow:0 0 0 7px #a6e9e710}:is(body[data-game=spill],body[data-game=thread]) .range::-moz-range-track{height:4px;border-radius:4px;background:#ffffff20}:is(body[data-game=spill],body[data-game=thread]) .range::-moz-range-thumb{width:12px;height:12px;border:4px solid #d9fffa;border-radius:50%;background:#398d92}:is(body[data-game=spill],body[data-game=thread]) .range-labels{font-size:7px;letter-spacing:.4px;color:#6c9590;margin-bottom:17px}:is(body[data-game=spill],body[data-game=thread]) .control-hint{font-size:10px;color:#839f98;line-height:1.8;margin:0 0 22px}:is(body[data-game=spill],body[data-game=thread]) .controls .primary{background:#cbe9b1;color:#16261f;font-size:12px;border-radius:10px;min-height:52px;padding:16px}:is(body[data-game=spill],body[data-game=thread]) .lock-note{font-size:8px;line-height:1.7;color:#688b80;text-align:center;margin:13px 0 0}
:is(body[data-game=spill],body[data-game=thread]) .result{max-width:none;padding:30px 34px;margin-top:18px;border-radius:20px;border-color:#afd9b730;background:#172923;animation:result-arrives .35s ease-out}:is(body[data-game=spill],body[data-game=thread]) .result p{color:#a1b5a6}.spill-verdict{display:flex;align-items:center;justify-content:space-between;gap:20px}.spill-verdict .eyebrow{font:8px var(--mono);letter-spacing:1.7px;color:#c8dda4!important;margin-bottom:14px}.spill-verdict h2{font-size:32px;letter-spacing:-1.3px;margin-bottom:10px}.score-orbit{width:112px;height:112px;flex-shrink:0;position:relative}.score-orbit svg{width:100%;height:100%}.score-orbit>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.score-orbit strong{font:38px var(--mono);letter-spacing:-2px;color:#d7ecbb}.score-orbit small{font:8px var(--mono);color:#829f89}.angle-comparison{padding-top:24px;margin-top:22px;border-top:1px solid #ffffff10}.comparison-values{display:flex;justify-content:space-between;margin-bottom:19px}.comparison-values>span{font:8px var(--mono);letter-spacing:1px;color:#90aaa0}.comparison-values strong{display:block;font:24px var(--mono);color:#b3e8e7;margin-top:9px;letter-spacing:-1px}.comparison-values>span:last-child{text-align:right}.comparison-values>span:last-child strong{color:#d6e6aa}.comparison-values i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a9eae9;margin-right:6px}.comparison-values>span:last-child i{background:#d6e6aa}.comparison-track{height:3px;background:#a8c6b21c;position:relative;margin:8px 0 13px}.guess-mark{position:absolute;top:-4px;width:11px;height:11px;background:#b3e8e7;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 4px #b3e8e712}.answer-mark{position:absolute;top:-7px;width:3px;height:17px;background:#d6e6aa;transform:translateX(-50%)}.comparison-extents{display:flex;justify-content:space-between;color:#688b78;font:8px var(--mono)}:is(body[data-game=spill],body[data-game=thread]) .scoring-note{font-size:9px;color:#7f9c8b;margin-top:13px}.spill-run-complete{border-top:1px solid #ffffff14;padding-top:25px;margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.spill-run-complete .eyebrow{color:#cfdfa7!important;font-size:8px;margin-bottom:12px}.spill-run-complete h3{font-size:27px;line-height:1.25;letter-spacing:-1px;margin:0 0 12px}.spill-run-complete h3 em{font-family:Georgia,serif;font-weight:400;color:#d2e5ae}.spill-run-complete .tiny{grid-column:1/-1}.recap-scores{display:flex;gap:6px;align-items:center}.recap-scores>div{flex:1;background:#c8e4bd0d;border:1px solid #c8e4bd1a;border-radius:9px;padding:14px 10px}.recap-scores small{display:block;font:8px var(--mono);color:#88a78e;margin-bottom:12px}.recap-scores strong{font:21px var(--mono);color:#d2e5ae}:is(body[data-game=spill],body[data-game=thread]) .result-actions .primary{background:#cee8af;color:#1b2b1b}:is(body[data-game=spill],body[data-game=thread]) .result-actions,:is(body[data-game=spill],body[data-game=thread]) .share-actions{gap:10px}:is(body[data-game=spill],body[data-game=thread]) .result-actions .primary{flex:2}:is(body[data-game=spill],body[data-game=thread]) .share-actions button{font-size:11px;border-color:#c8e6bb25}.revealing .stage{box-shadow:0 0 0 1px #a5edee22,0 0 65px #a5edee09}:is(body[data-game=spill],body[data-game=thread]).has-result .controls{justify-content:center}:is(body[data-game=spill],body[data-game=thread]).has-result .controls .angle-stepper,:is(body[data-game=spill],body[data-game=thread]).has-result .controls>.range,:is(body[data-game=spill],body[data-game=thread]).has-result .controls>.range-labels,:is(body[data-game=spill],body[data-game=thread]).has-result .controls>.control-hint,:is(body[data-game=spill],body[data-game=thread]).has-result .controls>.primary,:is(body[data-game=spill],body[data-game=thread]).has-result .controls>.lock-note{display:none}:is(body[data-game=spill],body[data-game=thread]).has-result .angle-readout:after{content:'FIRST GUESS LOCKED ✓';display:block;font:8px var(--mono);letter-spacing:1px;color:#89a88f;margin-top:20px}@keyframes result-arrives{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.share-dialog{color:#edf2e8;background:#142328;border:1px solid #b8e5d43b;border-radius:22px;padding:25px;width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 25px 100px #0007}.share-dialog::backdrop{background:#020c12c9;backdrop-filter:blur(7px)}.share-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.share-dialog-head .eyebrow{font-size:7px;letter-spacing:1px;color:#9fb49b;margin-bottom:10px}.share-dialog-head h2{font-size:21px;letter-spacing:-.5px;margin:0}.share-dialog-head button{font-size:25px;padding:6px 9px;min-width:38px}.share-preview-wrap{border-radius:12px;overflow:hidden;margin:20px auto;width:min(100%,245px);border:1px solid #d0f5db1c}.share-preview-wrap img{display:block;width:100%;height:auto}.share-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.share-dialog-actions .primary{grid-column:1/-1;background:#c9e6b3;color:#16261e}.share-dialog-actions .secondary{font-size:10px;padding:11px 8px}.share-dialog>.tiny{color:#89aaa0;font-size:10px;margin:15px 0 0}.share-dialog .share-fallback{font-size:11px}.share-dialog[open]{animation:result-arrives .2s ease-out}
@media(max-width:900px){.lobby-grid{gap:30px}.lobby-copy h1{font-size:84px}.drop-mark{right:-45px;font-size:29px}.lobby-art-top,.lobby-art-bottom{font-size:6px;letter-spacing:1px;margin-left:18px;margin-right:18px}:is(body[data-game=spill],body[data-game=thread]) .play-layout{grid-template-columns:minmax(0,1fr) 265px;gap:14px}:is(body[data-game=spill],body[data-game=thread]) .controls{padding:21px}:is(body[data-game=spill],body[data-game=thread]) .stage{min-height:380px}:is(body[data-game=spill],body[data-game=thread]) .stage-meta{font-size:7px;left:16px;right:16px}.lobby-copy .eyebrow{font-size:7px;letter-spacing:1px}.lobby-lead{font-size:17px}.lobby-description{font-size:12px}}
@media(max-width:700px){:is(body[data-game=spill],body[data-game=thread]) header{padding:14px 18px}:is(body[data-game=spill],body[data-game=thread]) main{padding:0 17px}.lobby-top{margin-top:10px}.lobby-edition{font-size:7px;letter-spacing:1px}.lobby-grid{grid-template-columns:1fr;gap:25px;padding:28px 0 14px}.lobby-copy h1{font-size:90px;letter-spacing:-5px;line-height:.88}.lobby-copy h1 br{display:none}.lobby-copy h1 em{margin-left:9px}.lobby-copy .eyebrow{font-size:7px;letter-spacing:1.1px;margin-bottom:23px}.drop-mark{font-size:26px;right:-26px;top:0}.lobby-lead{font-size:18px;margin:20px 0 10px}.lobby-lead br{display:none}.lobby-lead strong{margin-left:5px}.lobby-description{font-size:12px;margin-bottom:20px;line-height:1.7}.lobby-description br{display:none}.lobby-actions{max-width:none;grid-template-columns:1fr}.lobby-actions .primary{font-size:13px;min-height:52px}.lobby-actions .secondary{min-height:44px;font-size:11px;text-align:center}.lobby-copy>.tiny{font-size:8px;max-width:none;margin-bottom:0}.lobby-art{transform:rotate(-1.4deg);border-radius:20px}.lobby-art svg{padding:0;max-height:270px}.lobby-art-top{margin-top:17px;font-size:7px}.lobby-art-bottom{margin-bottom:16px;font-size:7px}.lobby-facts{grid-template-columns:1fr;padding:20px 0;gap:19px;margin-top:25px}.lobby-facts>div{gap:14px}.lobby-facts p{font-size:12px}.lobby-facts small{margin-top:5px;font-size:10px}.lobby-foot{font-size:9px;line-height:1.7}:is(body[data-game=spill],body[data-game=thread]) .game-bar{margin:10px 0 9px}:is(body[data-game=spill],body[data-game=thread]) .game-bar .quiet{font-size:11px}:is(body[data-game=spill],body[data-game=thread]) .round-badge{font-size:8px;padding:7px 9px}:is(body[data-game=spill],body[data-game=thread]) .game-title{padding-right:0;margin-bottom:17px}:is(body[data-game=spill],body[data-game=thread]) .game-title h1{font-size:34px;letter-spacing:-1.5px}:is(body[data-game=spill],body[data-game=thread]) .game-title .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:8px}:is(body[data-game=spill],body[data-game=thread]) .game-title>p:last-child{font-size:11px;margin-top:8px}:is(body[data-game=spill],body[data-game=thread]) .session-tools{gap:9px;margin-bottom:8px}:is(body[data-game=spill],body[data-game=thread]) .session-tools>.session-heading{flex-direction:column;align-items:flex-start;gap:5px}:is(body[data-game=spill],body[data-game=thread]) .session-tools strong{font-size:8px}:is(body[data-game=spill],body[data-game=thread]) .session-tools span{font-size:8px}:is(body[data-game=spill],body[data-game=thread]) .session-tools button{min-height:38px;font-size:9px;padding:9px 10px}:is(body[data-game=spill],body[data-game=thread]) .round-dots>span{height:30px;padding:6px 2px}:is(body[data-game=spill],body[data-game=thread]) .round-dots b,:is(body[data-game=spill],body[data-game=thread]) .round-dots small{font-size:8px}:is(body[data-game=spill],body[data-game=thread]) .play-layout{display:block}:is(body[data-game=spill],body[data-game=thread]) .stage{min-height:0;border-radius:17px;display:block}:is(body[data-game=spill],body[data-game=thread]) #scene{height:auto;max-height:330px;min-height:0}:is(body[data-game=spill],body[data-game=thread]) .stage-meta{top:14px;left:15px;right:15px;font-size:6px;letter-spacing:.7px}:is(body[data-game=spill],body[data-game=thread]) .stage-meta>span:last-child{font-size:6px;letter-spacing:.5px}:is(body[data-game=spill],body[data-game=thread]) .stage-caption{font-size:6px;bottom:12px;letter-spacing:.7px}:is(body[data-game=spill],body[data-game=thread]) .controls{border-radius:17px;padding:16px 18px;margin-top:11px;display:block}.control-heading{margin-bottom:6px}.control-heading .eyebrow{font-size:7px}.sound-toggle{font-size:7px;min-height:32px;padding:8px 0 8px 10px}.angle-readout{display:flex;justify-content:space-between;align-items:center}.angle-readout>span{font-size:12px;margin-bottom:0}.angle-readout output{font-size:48px;letter-spacing:-3px}.angle-stepper{margin:8px 0 5px}.angle-stepper button{height:38px;min-height:38px;width:38px;font-size:21px}.angle-stepper span{font-size:7px}:is(body[data-game=spill],body[data-game=thread]) .range{height:35px;margin-bottom:8px}:is(body[data-game=spill],body[data-game=thread]) .range-labels{font-size:7px;margin-bottom:14px}:is(body[data-game=spill],body[data-game=thread]) .control-hint{font-size:9px;line-height:1.7;margin-bottom:15px}:is(body[data-game=spill],body[data-game=thread]) .control-hint br{display:none}:is(body[data-game=spill],body[data-game=thread]) .controls .primary{min-height:48px;font-size:12px;padding:14px 16px}:is(body[data-game=spill],body[data-game=thread]) .lock-note{font-size:7px;margin:10px 0 0}:is(body[data-game=spill],body[data-game=thread]) .result{padding:21px 19px;margin-top:12px;border-radius:17px}.spill-verdict{gap:12px}.spill-verdict .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:11px}.spill-verdict h2{font-size:25px;letter-spacing:-.9px}.spill-verdict p{font-size:10px!important}.score-orbit{width:86px;height:86px}.score-orbit strong{font-size:29px}.score-orbit small{font-size:7px}.angle-comparison{padding-top:20px;margin-top:18px}.comparison-values>span{font-size:7px;letter-spacing:.8px}.comparison-values strong{font-size:21px}.comparison-values{margin-bottom:18px}:is(body[data-game=spill],body[data-game=thread]) .scoring-note{font-size:8px;margin-top:12px}.spill-run-complete{grid-template-columns:1fr;gap:15px;margin-top:20px;padding-top:20px}.spill-run-complete h3{font-size:26px}.spill-run-complete .eyebrow{font-size:7px}.recap-scores>div{padding:12px 10px}.recap-scores strong{font-size:21px}.recap-scores small{font-size:7px}.spill-run-complete .tiny{font-size:8px}:is(body[data-game=spill],body[data-game=thread]) .result-actions .primary{flex-basis:100%}:is(body[data-game=spill],body[data-game=thread]) .result-actions .secondary{flex-basis:100%;font-size:10px}:is(body[data-game=spill],body[data-game=thread]) .share-actions{gap:7px}:is(body[data-game=spill],body[data-game=thread]) .share-actions button{font-size:10px;padding:12px 7px}:is(body[data-game=spill],body[data-game=thread]) .share-note{font-size:8px!important}:is(body[data-game=spill],body[data-game=thread]) .after-result .quiet{font-size:10px;text-align:left}:is(body[data-game=spill],body[data-game=thread]).has-result .angle-readout{flex-wrap:wrap}:is(body[data-game=spill],body[data-game=thread]).has-result .angle-readout:after{flex-basis:100%;font-size:7px;margin-top:10px}:is(body[data-game=spill],body[data-game=thread]).has-result .controls{padding-top:12px;padding-bottom:16px}:is(body[data-game=spill],body[data-game=thread]).has-result .control-heading{display:none}.share-dialog{padding:20px;border-radius:19px}.share-dialog-head h2{font-size:18px}.share-dialog-head .eyebrow{font-size:6px}.share-preview-wrap{width:min(100%,210px);margin:17px auto}.share-dialog-actions .primary{font-size:12px}.share-dialog-actions .secondary{font-size:9px}}
@media(max-width:370px){.lobby-copy h1{font-size:76px;letter-spacing:-4px}.drop-mark{right:-24px;font-size:22px}.lobby-lead{font-size:16px}.spill-verdict h2{font-size:22px}.score-orbit{width:75px;height:75px}:is(body[data-game=spill],body[data-game=thread]) .session-tools span{font-size:7px}.recap-scores{gap:4px}.recap-scores>div{padding:11px 7px}.recap-scores strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.lobby-art svg,.result,.share-dialog[open]{animation:none!important}}
.lobby-grid>*{min-width:0}@media(max-width:700px){.lobby-copy h1{font-size:clamp(58px,18vw,78px);letter-spacing:-4px}.lobby-copy h1 em{margin-left:0}.drop-mark{right:-21px;top:1px;font-size:23px}}@media(max-width:370px){.lobby-copy h1{font-size:clamp(56px,18vw,66px);letter-spacing:-3px}.drop-mark{right:-19px;font-size:20px}}

@media(max-width:700px){.lobby-description br{display:revert}}
/* Thread It · warm precision, a narrow escape. */
body[data-game=thread]{--accent:#ffd2a6;background-color:#1a1918;background-image:radial-gradient(ellipse at 65% 4%,#48302580,transparent 60%)}body[data-game=thread] .brand-icon{background:#f3d2aa}body[data-game=thread] .lobby-copy h1 em{color:#ffd3a8}body[data-game=thread] .drop-mark{color:#f0d3a0}body[data-game=thread] .lobby-art{background:radial-gradient(ellipse at 47% 55%,#604335,#2e2722 75%);border-color:#e8bd8d33;transform:rotate(2deg)}body[data-game=thread] .lobby-actions .primary{background:#ffd1a0;color:#322419}body[data-game=thread] .lobby-art-top,body[data-game=thread] .lobby-art-bottom{color:#b9a38e}body[data-game=thread] .lobby-copy>.tiny,body[data-game=thread] .lobby-foot{color:#ac927d}body[data-game=thread] .lobby-facts small,body[data-game=thread] .lobby-description{color:#b39e8c}body[data-game=thread] .lobby-facts>div>span{color:#e3bf96}body[data-game=thread] .lobby-lead{color:#c1b09e}body[data-game=thread] .session-tools strong{color:#ffce9f}body[data-game=thread] .round-dots>span.current{border-color:#ffc18e;color:#ffd9b4}body[data-game=thread] .round-dots>span.done{border-color:#d4b890;color:#e1c5a0}body[data-game=thread] .stage{background:radial-gradient(ellipse at 45% 60%,#52382c,#2c2621 80%);border-color:#f2c99e30}body[data-game=thread] .stage-caption{color:#ad947f}body[data-game=thread] .controls{background:#292721;border-color:#ecc79922}body[data-game=thread] .controls .primary{background:#ffd1a0;color:#322419}body[data-game=thread] .angle-readout output{color:#ffe1bb}body[data-game=thread] .angle-readout>span{color:#baa794}body[data-game=thread] .angle-stepper span{color:#ad9178}body[data-game=thread] .angle-stepper button{border-color:#d6aa7c55;color:#f4cca2}body[data-game=thread] .range::-webkit-slider-runnable-track{background:linear-gradient(to right,#ffc591 var(--range-progress),#ffffff16 var(--range-progress))}body[data-game=thread] .range::-webkit-slider-thumb{border-color:#ffe0b7;background:#a36e43;box-shadow:0 0 0 7px #ffc18e10}body[data-game=thread] .range::-moz-range-thumb{border-color:#ffe0b7;background:#a36e43}body[data-game=thread] .range-labels,body[data-game=thread] .control-hint{color:#b09a85}body[data-game=thread] .control-heading .eyebrow,body[data-game=thread] .sound-toggle{color:#c5aa8c}body[data-game=thread] .sound-toggle[aria-pressed=true]{color:#ffddb0}body[data-game=thread] .result{background:#302b23;border-color:#ecc49235}body[data-game=thread] .result p{color:#c4b39f}body[data-game=thread] .spill-verdict .eyebrow{color:#f5c68f!important}body[data-game=thread] .score-orbit strong{color:#ffdcad}body[data-game=thread] .score-orbit small{color:#af987e}body[data-game=thread] .result-actions .primary{background:#ffd1a0;color:#322419}body[data-game=thread] .comparison-values strong{color:#ffe0b8}body[data-game=thread] .comparison-values>span:last-child strong{font-size:20px;color:#d7e3ad;letter-spacing:-.5px}body[data-game=thread] .comparison-values>span{color:#b49a80}body[data-game=thread] .comparison-values i{background:#ffd1a0}body[data-game=thread] .scoring-note{color:#c1a789}body[data-game=thread] .comparison-extents{color:#aa9178}.precision-track{height:5px;border-radius:3px;background:linear-gradient(90deg,#8b5a4b 0%,#c09278 49%,#d4b28d 50%,#ffdfad 100%);position:relative;margin:10px 0 15px}.precision-track>span{position:absolute;top:-4px;width:4px;height:13px;border-radius:2px;background:#fff2da;box-shadow:0 0 0 4px #ffdfad15;transform:translateX(-50%)}.score-help{font-size:10px;color:#c3a787;line-height:1.8;margin-top:14px}.score-help summary{cursor:pointer;min-height:32px;padding:5px 0;font-size:9px;color:#d3b18c}.score-help p{font-size:10px!important;line-height:1.8!important;color:#bda78f!important;margin:3px 0 7px!important}body[data-game=thread] .spill-run-complete h3 em{color:#ffd1a0}body[data-game=thread] .spill-run-complete .eyebrow{color:#efc394!important}body[data-game=thread] .recap-scores strong{color:#ffd1a0}body[data-game=thread] .recap-scores .caught strong{color:#cd9a84}body[data-game=thread].has-result .angle-readout:after{content:'FIRST TURN LOCKED ✓';color:#c4a78c}.lobby-copy h1{overflow-wrap:normal}body[data-game=thread] .lobby-copy h1{font-size:clamp(76px,8vw,105px)}
@media(max-width:700px){body[data-game=thread] .lobby-copy h1{font-size:clamp(62px,19vw,82px);letter-spacing:-4px}body[data-game=thread] .lobby-copy h1 em{margin-left:0}body[data-game=thread] .lobby-art{transform:rotate(1.4deg)}body[data-game=thread] .stage-meta>span:last-child{font-size:6px}body[data-game=thread] .comparison-values>span:last-child strong{font-size:18px}.score-help{margin-top:9px}.score-help summary{font-size:9px}.score-help p{font-size:9px!important}:is(body[data-game=spill],body[data-game=thread]).has-result .controls>.score-help{display:none}}

body[data-game=thread] .share-dialog{background:#2c2923;border-color:#e6c29344}body[data-game=thread] .share-dialog-actions .primary{background:#ffd1a0;color:#322419}
/* Hunchlet · one signature, two instincts. */
.brand{gap:11px;letter-spacing:-1px}.brand-mark{display:block;width:36px;height:36px;flex-shrink:0}.brand-name{font-size:25px;font-weight:800;letter-spacing:-1.2px;line-height:1}.header-note{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.2px;color:#a9b5a1}.hero h1{line-height:1.06}.hero .eyebrow{color:#dce8ad}.lobby-edition{letter-spacing:1.3px}footer{gap:24px}footer>span:last-child{flex-shrink:0}footer>span:first-child{line-height:1.8}@media(max-width:700px){.brand{gap:8px}.brand-mark{width:30px;height:30px}.brand-name{font-size:22px;letter-spacing:-1px}footer{gap:16px;align-items:flex-start}.lobby-edition{font-size:7px;letter-spacing:.8px}}
.challenge-invite{margin:24px 0;padding:22px;border:1px solid #dce8ad55;border-radius:18px;background:#dce8ad0a}.challenge-invite h2{font-size:clamp(23px,3vw,32px);letter-spacing:-1px;line-height:1.2;margin:10px 0}.challenge-invite h2 em{color:var(--accent);font-style:normal;white-space:nowrap}.challenge-invite p{font-size:13px;line-height:1.7;margin:10px 0}.challenge-invite small{display:block;color:#b6c3b0;font-size:11px;line-height:1.7}.session-tools .challenge-target{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;border:1px solid #dce8ad33;background:#dce8ad08;border-radius:12px;padding:14px 18px;width:100%}.session-tools .challenge-target strong{font-size:22px;letter-spacing:-.6px;color:var(--accent)}.challenge-target small{font-size:12px;font-weight:400}.session-tools .challenge-target>span:last-child{font-size:11px;color:#b7bcae}.challenge-matchup{margin:24px 0;padding:26px;border:1px solid #dce8ad55;border-radius:18px;background:linear-gradient(125deg,#dce8ad12,#ffffff02)}.challenge-matchup h3{font-size:clamp(25px,4vw,38px);line-height:1.15;letter-spacing:-1px;margin:14px 0 24px;color:#e4efbe}.challenge-matchup.loss h3{color:var(--accent)}.matchup-scores{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.matchup-scores>div{display:flex;flex-direction:column;gap:10px;min-width:0}.matchup-scores span{font:9px monospace;letter-spacing:.7px;color:#bbc6b3}.matchup-scores strong{font-size:42px;letter-spacing:-1px;white-space:nowrap;color:var(--accent)}.matchup-scores small{font-size:13px;font-weight:400;letter-spacing:0;color:#b5b9a7}.challenge-matchup .primary{width:100%;margin-top:10px}.challenge-matchup .tiny{font-size:10px!important;margin-bottom:0}.share-actions .primary{font-size:12px;min-height:48px;justify-content:center}.challenge-invite[hidden]{display:none}@media(max-width:600px){.challenge-invite{padding:18px}.challenge-matchup{padding:18px}.matchup-scores{gap:10px}.matchup-scores strong{font-size:34px}.matchup-scores span{font-size:8px;letter-spacing:0}.session-tools .challenge-target{gap:9px 16px;padding:13px}.session-tools .challenge-target>span:last-child{flex-basis:100%}}

.share-link-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.share-link-options>*{flex:1;min-width:0;min-height:44px;padding:13px 10px;font-size:11px;text-align:center;text-decoration:none;border-radius:10px}.share-link-options>[hidden]{display:none}.progress-notice{border:1px solid #dce8ad50;background:#dce8ad0c;border-radius:12px;padding:15px 18px;color:#dce8ad;font-size:12px;line-height:1.7;margin:20px 0}.progress-notice[hidden]{display:none}.share-fallback{font-size:16px!important;min-height:44px}body .share-dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}@media(max-width:600px){.share-link-options{gap:7px}.share-link-options>*{font-size:10px}.share-dialog .share-preview-wrap img{max-height:40dvh;object-fit:contain}.progress-notice{font-size:11px}}
/* Player screens share the existing game palettes and keep saved guesses immutable. */
.run-summary,.player-stats{max-width:960px;margin:0 auto;padding:18px 0 44px}.run-summary[hidden],.player-stats[hidden]{display:none}.screen-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 30px}.summary-hero{text-align:center;max-width:760px;margin:0 auto 28px}.summary-hero h1,.player-stats h1{font-size:clamp(32px,5vw,56px);line-height:1.05;letter-spacing:-2px;margin:15px 0}.summary-hero h1 em,.player-stats h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400}.summary-score{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:24px 0 8px}.summary-score strong{font-size:clamp(90px,13vw,148px);line-height:1;font-weight:800;letter-spacing:-8px;color:var(--accent)}.summary-score span{font:18px var(--mono);color:#a4b3a9}.summary-hero>p{line-height:1.6;color:#c8d1bc}.summary-personal{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 25px;padding:22px 0;font-size:11px;color:#a8b5a8}.summary-personal b{display:block;color:#eef0d7;font-size:17px;margin-top:8px}.summary-share{max-width:610px;margin:0 auto 36px}.summary-share .share-actions{flex-direction:row-reverse}.summary-share .primary{flex:2;min-height:54px}.summary-share .share-note,.summary-share .feedback-status{text-align:center}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-heading h2,.trend-panel h2,.history-panel h2{font-size:22px;letter-spacing:-.6px}.section-heading p{font-size:12px;color:#a7b6a8}.round-review{padding:25px;border:1px solid #ffffff20;border-radius:20px;background:#ffffff04}.recap-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.recap-tile{display:flex;flex-direction:column;gap:8px;align-items:center;border:1px solid #ffffff25;border-radius:12px;background:#ffffff03;color:#dae5cd;padding:15px 5px;min-width:0;cursor:pointer}.recap-tile span{font:9px var(--mono);letter-spacing:.7px}.recap-tile strong{font-size:30px;line-height:1}.recap-tile small{font-size:9px;color:#a7b6a8}.recap-tile[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.recap-caption{display:flex;justify-content:space-between;gap:15px;align-items:center}.recap-caption h3{font-size:14px;font-weight:500}.recap-caption>strong{font:17px var(--mono);color:var(--accent);white-space:nowrap}#recap-scene{width:100%;max-height:400px;display:block;border:1px solid #ffffff12;border-radius:12px}.recap-explanation{font-size:12px;line-height:1.9;color:#b9c7b3}.recap-explanation strong{color:#edf3dd}.summary-next{display:flex;gap:12px;margin:25px 0}.summary-next>*{flex:1;min-height:48px}.learning-note{background:#dce8ad08;border:1px solid #dce8ad33;border-radius:13px;padding:18px;margin-top:18px}.learning-note>p{font-size:12px;line-height:1.8}.learning-note strong{color:#e5efbd}.learning-note .eyebrow{color:#dce8ad!important;font-size:9px;letter-spacing:1px}.learning-note .secondary{min-height:44px;font-size:12px}.learning-note .tiny{font-size:10px!important}.player-stats .stats-intro{color:#b9c5b1;line-height:1.7}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.filter-row button{min-height:44px}.filter-row button[aria-pressed=true]{border-color:#dce8ad;background:#dce8ad18;color:#e6f0bd}.filter-row.compact{margin-top:10px}.filter-row.compact button{font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0}.stat-grid>div{background:#ffffff04;border:1px solid #ffffff1b;border-radius:14px;padding:23px 18px}.stat-grid span{display:block;font:9px var(--mono);letter-spacing:.7px;color:#b1bfaa}.stat-grid strong{display:block;font-size:36px;letter-spacing:-1px;color:#e3edba;margin-top:16px}.stat-grid small{font-size:12px;letter-spacing:0;color:#adbaa4;font-weight:400}.trend-panel,.history-panel{margin:25px 0;padding:24px;border:1px solid #ffffff1b;border-radius:16px}.trend-panel>p{font-size:12px;color:#adbaa4;line-height:1.8}.score-bars{display:flex;gap:10px;align-items:flex-end;min-height:140px;border-bottom:1px solid #ffffff25;padding-top:15px}.score-bars>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0}.score-bars b{font:11px var(--mono);color:#dce8ad}.score-bars span{width:100%;max-width:55px;background:linear-gradient(#dce8ad,#779d89);border-radius:5px 5px 0 0}.history-list button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px;padding:19px 0;text-align:left;border:0;border-top:1px solid #ffffff15;color:#e7eedc;background:transparent;cursor:pointer}.history-list button>span{min-width:0}.history-list button strong{font-size:13px;font-weight:500}.history-list small{display:block;font-size:10px;color:#a4b3a0;line-height:1.8;margin-top:7px}.history-list button>b{font-size:24px;color:#dce8ad;white-space:nowrap}.history-list button>b small{display:inline;font-size:9px}.empty-history{padding:15px 0;color:#aab8a6}.help-dialog{width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#1b2a2c;color:#eef1df;border:1px solid #dce8ad44;border-radius:20px;padding:24px}.help-dialog::backdrop{background:#061014ce;backdrop-filter:blur(7px)}.help-dialog h2{font-size:22px;letter-spacing:-.5px}.help-demo{max-width:380px;margin:auto;border-radius:12px;background:#ffffff04}.help-demo svg{display:block;width:100%;max-height:230px}.help-steps{padding-left:22px;font-size:13px;line-height:1.9;color:#bac8b6}.help-steps li{padding:6px 0}.help-steps strong{color:#edf2d4}.help-dialog>.primary{width:100%;margin-top:16px;min-height:48px}.help-demo.thread path[fill="url(#thread-lobby-piece)"]{animation:demo-turn 4s ease-in-out infinite;transform-origin:190px 220px}@keyframes demo-turn{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
@media(max-width:700px){
 header{gap:8px}#player-stats-open{margin-left:auto;font-size:11px;white-space:nowrap}#notes-toggle{font-size:11px}header .header-note{display:none}
 body[data-screen=home] .hero{padding:28px 0 20px}body[data-screen=home] .hero h1{font-size:38px;letter-spacing:-1.8px;margin:12px 0}body[data-screen=home] .hero .eyebrow{margin-bottom:9px}body[data-screen=home] .hero-copy{font-size:12px;line-height:1.7;margin:14px 0 8px}body[data-screen=home] .cards{gap:12px}body[data-screen=home] .card{min-height:0;padding:18px}body[data-screen=home] .card-art{height:94px;width:135px;right:12px;top:24px;opacity:.9}body[data-screen=home] .card h2{font-size:25px;margin:24px 0 8px;max-width:65%}body[data-screen=home] .card>p{font-size:12px;max-width:65%}body[data-screen=home] .card-footer{margin-top:24px;padding-top:14px}body[data-screen=home] .card-footer>span:first-child{font-size:9px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] header{padding:8px 12px;min-height:48px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] main{padding:0 12px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .game-bar{margin:5px 0;gap:8px;min-height:32px;display:flex}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .game-bar .quiet{font-size:10px;min-height:32px;padding:5px 0}
 #how-to-play{margin-left:auto}:is(body[data-game=spill],body[data-game=thread])[data-screen=play] .round-badge{font-size:8px;padding:5px 6px;white-space:nowrap}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .game-title{margin:3px 0 7px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .game-title h1{font-size:25px;letter-spacing:-1px;line-height:1.1}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .game-title .eyebrow{display:none}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .game-title>p:last-child{font-size:11px;margin-top:5px;line-height:1.4}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .session-tools{gap:5px;margin-bottom:7px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .session-heading>span{display:none}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .session-tools button{min-height:32px;padding:6px 9px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .round-dots>span{height:22px;padding:3px 2px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .stage-meta{top:8px;font-size:8px;left:10px;right:10px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .stage-meta>span:last-child{font-size:7px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] #scene{width:100%;height:min(28svh,260px);max-height:none;min-height:0}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .stage-caption{display:none}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .controls{margin-top:7px;padding:10px 12px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:3px 8px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .control-heading{grid-column:1/-1;margin:0;min-height:24px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .sound-toggle{min-height:24px;padding:4px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-readout{grid-column:2;grid-row:2;justify-content:center;gap:10px;min-height:44px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-readout>span{font-size:11px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-readout output{font-size:36px;letter-spacing:-2px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-stepper{display:contents}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-stepper>span{display:none}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-stepper>button{grid-row:2;width:44px;height:44px;min-height:44px}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-stepper>button:first-child{grid-column:1}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .angle-stepper>button:last-child{grid-column:3}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .range{grid-column:1/-1;grid-row:3;height:32px;margin:0}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] .controls :is(.range-labels,.control-hint,.lock-note,.score-help){display:none}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play] #commit{grid-column:1/-1;grid-row:4;min-height:48px;margin:4px 0 0}
 :is(body[data-game=spill],body[data-game=thread])[data-screen=play].has-result .controls{display:none}
 .run-summary,.player-stats{padding:12px 0 30px}.screen-top{margin-bottom:20px}.summary-hero h1,.player-stats h1{font-size:34px;letter-spacing:-1.4px}.summary-score{margin-top:22px}.summary-score strong{font-size:100px;letter-spacing:-6px}.summary-personal{gap:12px 18px;font-size:9px}.summary-personal b{font-size:15px}.summary-share .share-actions{flex-direction:column-reverse}.summary-share .share-actions>*{width:100%}.round-review{padding:16px;border-radius:16px}.section-heading{gap:4px}.section-heading h2{font-size:20px}.section-heading p{font-size:11px}.recap-tabs{gap:6px;margin:15px 0}.recap-tile{padding:12px 3px;gap:7px}.recap-tile span{font-size:7px;letter-spacing:0}.recap-tile strong{font-size:24px}.recap-caption h3{font-size:12px}.recap-caption>strong{font-size:14px}.recap-explanation{font-size:11px}.summary-next{flex-direction:column}.learning-note{padding:14px}.learning-note>p{font-size:11px}.learning-note .secondary{width:100%}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}.stat-grid>div{padding:18px 13px}.stat-grid span{font-size:8px;letter-spacing:.3px}.stat-grid strong{font-size:30px}.trend-panel,.history-panel{padding:17px}.score-bars{gap:5px}.score-bars b{font-size:9px}.filter-row{gap:7px}.filter-row button{font-size:12px}.filter-row.compact button{font-size:10px;padding:10px}.help-dialog{padding:18px}.help-dialog h2{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.help-demo *{animation:none!important}}

@media(max-width:600px){body[data-screen=play] .session-tools:has(.challenge-target)>.session-heading{display:none}body[data-screen=play] .session-tools .challenge-target{grid-column:1;grid-row:1;padding:6px 9px;gap:3px 8px;min-height:36px}body[data-screen=play] .challenge-target strong{font-size:15px}body[data-screen=play] .challenge-target .eyebrow{font-size:6px;display:block}body[data-screen=play] .session-tools .challenge-target>span:last-child{display:none}body[data-screen=play] .session-tools:has(.challenge-target)>#switch-session{grid-column:2;grid-row:1}}
@media(max-width:700px){body[data-screen=summary] header{padding:8px 12px;min-height:48px}body[data-screen=summary] .run-summary{padding-top:8px}body[data-screen=summary] .screen-top{margin-bottom:12px}body[data-screen=summary] .summary-hero{margin-bottom:12px}body[data-screen=summary] .summary-hero h1{font-size:30px;margin:10px 0}body[data-screen=summary] .summary-score{margin:14px 0 8px}body[data-screen=summary] .summary-score strong{font-size:88px}body[data-screen=summary] .summary-hero>p{margin:10px 0;font-size:12px}body[data-screen=summary] .summary-hero>.eyebrow{font-size:7px}body[data-screen=summary] .summary-personal{padding:10px 0}body[data-screen=summary] .summary-personal b{margin-top:6px}body[data-screen=summary] .summary-share .primary{min-height:48px}}
/* Daily status lives beside the play actions, rather than below the whole home page. */
.daily-hub{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;margin:0 0 20px;border:1px solid #dce8ad35;border-radius:20px;background:linear-gradient(110deg,#dce8ad0c,#ffffff03)}.daily-hub .eyebrow{font-size:9px;letter-spacing:1.5px;margin:0 0 9px}.daily-hub h2{font-size:25px;letter-spacing:-.9px;margin:0 0 9px}.daily-hub p:last-child{font-size:12px;line-height:1.6;color:#b9c5b3;margin:0}.daily-reset{display:flex;flex-direction:column;gap:8px;text-align:right;flex-shrink:0}.daily-reset>span{font:8px var(--mono);letter-spacing:1.4px;color:#b5c3a7}.daily-reset time{font:29px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-1px;color:#e1edb9}.daily-reset small{font-size:9px;color:#a8b8a8}.daily-card-status{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;margin:23px 0 0;padding-top:17px;border-top:1px solid #ffffff20}.daily-card-label{font:10px var(--mono);color:#c3cebc;letter-spacing:.4px}.daily-card-status>strong{font-size:24px;letter-spacing:-1px;color:var(--card-accent,#edf2d3)}.daily-card-status>strong small{font:10px var(--mono);letter-spacing:0;color:#acbaa7}.daily-card-dots{grid-column:1/-1;display:flex;gap:6px}.daily-card-dots i{height:4px;flex:1;border-radius:4px;background:#ffffff18}.daily-card-dots i.done{background:var(--card-accent,#dce8ad)}.spill-card{--card-accent:#90ecfa}.thread-card{--card-accent:#ffc18e}.card .card-footer{margin-top:17px}.daily-card-status:has(.done) .daily-card-label{color:var(--card-accent)}
@media(max-width:700px){body[data-screen=home] .hero{padding:23px 0 17px}body[data-screen=home] .hero h1{font-size:34px;margin:9px 0}body[data-screen=home] .hero-copy{margin:10px 0 5px}.daily-hub{padding:16px;margin-bottom:12px;gap:12px;align-items:flex-start}.daily-hub h2{font-size:18px;letter-spacing:-.6px;line-height:1.15}.daily-hub .eyebrow{font-size:7px;letter-spacing:.7px}.daily-hub p:last-child{font-size:10px;line-height:1.5}.daily-reset{gap:7px;padding-top:1px}.daily-reset>span{font-size:6px;letter-spacing:.6px}.daily-reset time{font-size:20px;letter-spacing:-.6px}.daily-reset small{max-width:112px;font-size:8px;line-height:1.5}body[data-screen=home] .card h2{margin-top:20px}body[data-screen=home] .card-art{height:84px;top:26px}.daily-card-status{margin-top:16px;padding-top:12px;gap:7px}.daily-card-label{font-size:9px}.daily-card-status>strong{font-size:22px}body[data-screen=home] .card-footer{margin-top:13px;padding-top:11px}}
/* Archive and portable sharing keep the existing palette and thumb-sized actions. */
.archive-link{font-size:11px;padding:8px 0;margin-top:4px;color:#e1edb9;min-height:36px}.daily-archive{max-width:960px;margin:auto;padding:18px 0 40px}.daily-archive[hidden]{display:none}.daily-archive h1{font-size:clamp(32px,5vw,54px);line-height:1.08;letter-spacing:-2px;margin:20px 0}.daily-archive h1 em{font:400 1em Georgia,serif;color:#dce8ad}.archive-intro{font-size:13px;color:#b3c3af;line-height:1.8;max-width:600px}.archive-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;flex-wrap:wrap}.archive-month-nav{display:flex;gap:15px;align-items:center}.archive-month-nav h2{font-size:20px;letter-spacing:-.5px;margin:0;min-width:160px;text-align:center}.archive-month-nav button{min-width:44px;min-height:44px;padding:10px}.archive-month-nav button:disabled{opacity:.25;cursor:default}#archive-jump{display:flex;align-items:center;gap:9px;flex-wrap:wrap}#archive-jump label{font-size:11px;color:#b5c5ad}#archive-date{color-scheme:dark;background:#182526;color:#e4edd5;border:1px solid #dce8ad40;border-radius:9px;padding:10px;min-height:44px;max-width:180px;font:16px system-ui}#archive-jump button{min-height:44px}.archive-day{border:1px solid #ffffff20;border-radius:16px;padding:20px;margin-top:14px;background:#ffffff03}.archive-day>h3{font:11px var(--mono);letter-spacing:.4px;color:#c4d2b6;margin:0 0 15px}.archive-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.archive-game{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:18px;border-radius:12px;border:1px solid #ffffff1e;background:#ffffff03;color:#f1f2de;cursor:pointer;min-width:0;min-height:90px}.archive-game>span{display:flex;flex-direction:column;gap:8px;min-width:0}.archive-game>span:last-child{text-align:right;flex-shrink:0}.archive-game strong{font-size:16px;font-weight:500}.archive-game small{font-size:10px;color:#afbeaa;line-height:1.4}.archive-game b{font-size:23px;letter-spacing:-.7px}.archive-game.spill b{color:#90ecfa}.archive-game.thread b{color:#ffc18e}.archive-game:hover,.archive-game:focus-visible{border-color:#dce8ad88;background:#dce8ad09}.archive-highlight{border-color:#dce8ad!important;box-shadow:0 0 0 1px #dce8ad44}.archive-note{line-height:1.9;margin-top:25px}.challenge-context{font:12px var(--mono);color:#dce8ad!important}.challenge-context small{font-size:9px;display:block;overflow-wrap:anywhere;margin-top:6px}.share-dialog #share-set{font:9px var(--mono);line-height:1.7;overflow-wrap:anywhere;max-width:380px}.share-platform-tip{font-size:10px;color:#b1bfa9;line-height:1.7;margin:14px 0}.open-image{display:block;text-align:center;min-height:44px;padding:14px 8px;font-size:11px}.open-image[hidden]{display:none}
@media(max-width:700px){.daily-archive{padding-top:12px}.daily-archive h1{font-size:32px;letter-spacing:-1.3px}.archive-intro{font-size:12px}.archive-tools{gap:15px;margin-top:22px}.archive-month-nav{width:100%;justify-content:space-between;gap:8px}.archive-month-nav h2{font-size:18px;min-width:0}#archive-jump{width:100%;gap:8px}#archive-jump label{font-size:10px}#archive-date{flex:1;min-width:0;max-width:none;width:125px}#archive-jump button{padding:10px 12px}.archive-day{padding:15px}.archive-games{grid-template-columns:1fr;gap:9px}.archive-game{padding:15px;min-height:82px}.archive-game strong{font-size:15px}.archive-game small{font-size:9px}.archive-game b{font-size:22px}.daily-hub .archive-link{font-size:10px;margin-top:3px;padding:6px 0;min-height:32px}.share-dialog .share-preview-wrap{margin:12px auto}.share-dialog #share-set{font-size:8px}.share-platform-tip{font-size:10px}}
@media(max-width:700px){:is(body[data-game=spill],body[data-game=thread])[data-screen=play] .range{height:44px;min-height:44px}:is(body[data-game=spill],body[data-game=thread])[data-screen=play] #scene{height:min(26svh,260px)}}
@media(max-width:700px){body[data-screen=archive] header{padding:8px 12px;min-height:48px}.daily-archive .screen-top{margin-bottom:12px}.daily-archive h1{font-size:30px;margin:16px 0}.daily-archive .filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}.daily-archive .filter-row button{font-size:11px;padding:10px 4px}}
/* A challenge opens with its game and target, so the invitation is the primary task. */
.lobby-copy:has(.challenge-invite:not([hidden]))>.lobby-lead,.lobby-copy:has(.challenge-invite:not([hidden]))>.lobby-description,.lobby-copy:has(.challenge-invite:not([hidden]))>.eyebrow{display:none}.lobby-copy:has(.challenge-invite:not([hidden]))>h1{font-size:clamp(38px,5vw,64px);line-height:1.1;margin:12px 0 20px;letter-spacing:-2px}.lobby-copy:has(.challenge-invite:not([hidden]))>h1 br,.lobby-copy:has(.challenge-invite:not([hidden])) .drop-mark{display:none}.lobby-copy:has(.challenge-invite:not([hidden])) .challenge-invite{margin:14px 0}.lobby-copy:has(.challenge-invite:not([hidden])) .lobby-actions{margin-top:14px}
@media(max-width:700px){.lobby-copy:has(.challenge-invite:not([hidden]))>h1{font-size:34px;letter-spacing:-1.4px;margin:8px 0 12px}.lobby-copy:has(.challenge-invite:not([hidden])) .challenge-invite{padding:16px;margin:10px 0}.lobby-copy:has(.challenge-invite:not([hidden])) .challenge-invite h2{font-size:25px}.lobby-copy:has(.challenge-invite:not([hidden])) .challenge-context{font-size:10px}.lobby-copy:has(.challenge-invite:not([hidden])) .challenge-invite>p{font-size:11px}.lobby-copy:has(.challenge-invite:not([hidden])) .challenge-invite>small{font-size:10px}}
@media(max-width:700px){body[data-screen=lobby]:has(.challenge-invite:not([hidden])) header{padding:8px 12px;min-height:48px}}
@media(max-width:600px){body[data-screen=play] .session-tools .challenge-target{min-height:32px;padding:4px 8px;gap:6px;flex-wrap:nowrap}body[data-screen=play] .challenge-target .eyebrow{margin:0;max-width:58px;font-size:6px;line-height:1.3;letter-spacing:.2px}body[data-screen=play] .challenge-target strong{font-size:14px;white-space:nowrap}body[data-screen=play] .challenge-target small{font-size:9px}}
/* The room is static and cached; only the existing SVG objects animate. */
:is(body[data-game=spill],body[data-game=thread]) .stage:has(.scene-board){background:#1c2926;border-color:#e1d5bb40;box-shadow:0 18px 45px #0003,inset 0 1px #fff1}
svg.scene-board{background-color:var(--scene-tint,#1e302c);background-image:radial-gradient(ellipse at 45% 42%,#09131725 0%,#09131718 45%,#09131780 100%),linear-gradient(#0b151833,#0b151810),var(--scene-image);background-position:center;background-size:cover;background-repeat:no-repeat;isolation:isolate}
svg.scene-board[data-material=thread]{background-image:radial-gradient(ellipse at 43% 42%,#191b1b38 0%,#171b1a28 48%,#10181785 100%),var(--scene-image)}
svg.scene-board text{paint-order:stroke;stroke:#10201ddb;stroke-width:2.5px;stroke-linejoin:round}
.stage:has(.scene-board) .stage-meta{top:13px;left:15px;right:15px;font-size:8px;letter-spacing:.8px;align-items:center;gap:10px;color:#eff1d9;text-shadow:0 1px 4px #000}
.stage:has(.scene-board) .stage-meta>span{background:#101b19a6;border:1px solid #ffffff19;border-radius:7px;padding:7px 9px;backdrop-filter:blur(8px)}
.stage:has(.scene-board) .stage-meta>span:last-child{color:#d7dec5;font-size:7px;white-space:nowrap}
.stage:has(.scene-board) .stage-caption{background:#101b19a3;color:#e0e3ce;border:1px solid #ffffff15;border-radius:20px;padding:6px 12px;width:max-content;max-width:90%;left:50%;right:auto;transform:translateX(-50%);bottom:12px;text-shadow:0 1px 2px #000;font-size:9px;pointer-events:none}
#recap-scene.scene-board{max-height:430px;border-color:#e1d5bb35}
@media(max-width:700px){.stage:has(.scene-board) .stage-meta{top:6px;left:7px;right:7px;font-size:6px;letter-spacing:.3px;gap:5px}.stage:has(.scene-board) .stage-meta>span{padding:4px 6px;backdrop-filter:none}.stage:has(.scene-board) .stage-meta>span:last-child{font-size:5.5px}.stage:has(.scene-board) .stage-caption{display:none}}
@media(prefers-reduced-motion:reduce){svg.scene-board{scroll-behavior:auto}}

/* Discoverable game links and a short guide below the play area. */
a.card{text-decoration:none;font-family:inherit}.game-guide{max-width:790px;margin:36px auto;padding:24px 0;border-top:1px solid var(--stroke);color:var(--muted);font-size:13px;line-height:1.8}.game-guide h2{font-size:19px;color:var(--ink);letter-spacing:-.4px}.game-guide nav{font-size:12px}.game-guide a{text-underline-offset:4px}
/* Information pages share the game's typography and compact mobile layout. */
#site-footer{align-items:center;gap:20px}#site-footer nav{display:flex;flex-wrap:wrap;gap:14px 20px}#site-footer a{white-space:nowrap}.info-page{max-width:800px;margin:auto;line-height:1.8}.info-page h1{font-size:clamp(34px,6vw,60px);letter-spacing:-1.8px;line-height:1.1;margin:16px 0 26px}.info-page h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.info-page h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:34px 0 14px}.info-page h3{font-size:23px;margin:10px 0}.info-page p{color:var(--muted)}.info-page .info-lead{font-size:17px;line-height:1.7;color:var(--ink)}.info-page a{text-underline-offset:4px}.info-game-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-game-grid>a{padding:22px;border:1px solid var(--stroke);border-radius:16px;text-decoration:none;background:#ffffff04}.info-game-grid>a:hover{border-color:var(--accent)}.info-game-grid>a>span:last-child{font-size:13px;color:var(--accent)}.info-callout{padding:20px 24px;margin:28px 0;border:1px solid var(--stroke);border-radius:14px;background:#ffffff04}.info-callout h2{margin-top:0}.faq-item{border-bottom:1px solid var(--stroke);padding:16px 0}.faq-item summary{cursor:pointer;font-size:16px;color:var(--ink);line-height:1.6}.faq-item>div{padding:0 6px}.faq-item[open] summary{color:var(--accent)}#contact-form label{display:block;margin:20px 0 0;font-size:14px;color:var(--ink)}#contact-form input:not([type=hidden]),#contact-form select,#contact-form textarea{display:block;width:100%;box-sizing:border-box;margin:8px 0;padding:13px 14px;border:1px solid var(--stroke);border-radius:10px;background:#101b1e;color:var(--ink);font-family:inherit;font-size:16px;line-height:1.5}#contact-form textarea{resize:vertical;min-height:160px}#contact-form small{display:block;font-size:12px;color:var(--muted)}#contact-form .primary{margin-top:18px;min-height:48px}#contact-form .primary:disabled{opacity:.6;cursor:wait}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}#contact-form .form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.feedback-message{border:1px solid var(--stroke);border-radius:12px;margin:20px 0;padding:20px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}#site-footer a:focus-visible,.info-page a:focus-visible,.faq-item summary:focus-visible,#contact-form input:focus-visible,#contact-form select:focus-visible,#contact-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:600px){#site-footer{align-items:flex-start;flex-direction:column}#site-footer nav{gap:12px 18px;font-size:11px}.info-page{font-size:14px}.info-page .info-lead{font-size:16px}.info-game-grid,.contact-fields{grid-template-columns:1fr}.contact-fields{gap:0}.info-callout{padding:18px}.info-page h1{letter-spacing:-1px}}
/* Shared navigation: full links on desktop, native accessible menu on compact screens. */
.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}.site-header{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px;max-width:1200px;padding:18px 28px;min-height:86px;z-index:20}.site-header .brand{gap:10px;min-width:0}.site-header .brand-mark{width:34px;height:34px;flex:0 0 34px;margin:0}.brand-lockup{display:flex;flex-direction:column;gap:4px}.site-header .brand-name{font-size:23px;line-height:1;letter-spacing:-1px}.brand-tagline{font-size:9px;letter-spacing:.1px;font-weight:400;color:var(--muted);white-space:nowrap}.primary-nav{display:flex;align-items:center;justify-content:center;gap:3px}.primary-nav>a,.header-tool,.mobile-nav summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 12px;border-radius:11px;text-decoration:none;color:#aeb7b0;font-size:12px;white-space:nowrap}.primary-nav>a:hover,.header-tool:hover,.mobile-nav summary:hover{background:#ffffff09;color:var(--ink)}.primary-nav>a[aria-current=page],.header-tool[aria-current=page]{color:#e5efb7;background:#e5efb710}.header-tools{display:flex;gap:4px;align-items:center}.header-tool{border:1px solid var(--stroke);padding:10px;min-width:44px;color:var(--ink)}.nav-icon{width:19px;height:19px;flex:0 0 19px}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;list-style:none;color:var(--ink);border:1px solid var(--stroke);padding:10px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav-panel{position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:18px;background:#182020;border:1px solid #ffffff25;border-radius:17px;box-shadow:0 24px 65px #0009;max-height:calc(100dvh - 110px);overflow:auto}.mobile-nav-caption{display:block;font:9px var(--mono);letter-spacing:1px;line-height:1.8;color:#8d9d94;padding:2px 10px 14px}.mobile-nav-panel>a{display:flex;align-items:center;min-height:48px;padding:12px;border-radius:9px;font-size:16px;text-decoration:none;color:var(--ink)}.mobile-nav-panel>a:hover,.mobile-nav-panel>a[aria-current=page]{background:#e5efb710;color:#e5efb7}.mobile-nav-secondary{border-top:1px solid var(--stroke);padding:12px 10px 0;margin-top:10px;display:flex;gap:18px;flex-wrap:wrap}.mobile-nav-secondary a{font-size:12px;color:var(--muted);padding:8px 0;text-decoration:none}.site-header a:focus-visible,.site-header summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1000px){.site-header{gap:12px;padding-inline:22px}.brand-tagline{display:none}.primary-nav>a{padding-inline:9px}}
@media(max-width:900px){.site-header{grid-template-columns:minmax(0,1fr) auto;padding:14px 20px;min-height:76px}.primary-nav{display:none}.mobile-nav{display:block}.brand-tagline{display:block}.site-header .brand-name{font-size:23px}}
@media(max-width:480px){.site-header{padding:12px 16px;gap:8px;min-height:70px}.site-header .brand-name{font-size:21px}.site-header .brand{gap:8px}.site-header .brand-mark{width:30px;height:30px;flex-basis:30px}.brand-tagline{display:none}.header-tools{gap:4px}.tool-label,.menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.header-tool,.mobile-nav summary{width:44px;min-width:44px;height:44px;padding:10px}.mobile-nav-panel{left:12px;right:12px}}
/* Guides keep the explanation readable and the examples usable without scripts. */
.learn-cards{display:grid;gap:18px;margin-top:32px}.learn-card{display:block;padding:24px;border:1px solid var(--stroke);border-radius:17px;text-decoration:none;background:linear-gradient(120deg,#a5e6dd09,#e5efb704)}.learn-card:hover{border-color:#b8e7d666}.learn-card h2{margin:8px 0 12px}.learn-arrow{display:inline-block;color:#e5efb7;font-size:13px;margin-top:8px}.learning-article h1{font-size:clamp(32px,5vw,54px);line-height:1.12;overflow-wrap:break-word}.article-back{display:inline-block;margin-bottom:30px;font-size:13px;color:var(--muted)}.article-byline{padding-bottom:24px;border-bottom:1px solid var(--stroke)}.guide-formula{padding:18px;border-left:3px solid #cde7b4;background:#cde7b408;font:13px/1.8 var(--mono);color:var(--ink)!important}.guide-table-wrap{overflow-x:auto;margin:26px 0}.score-explorer{padding:24px;border:1px solid #a5e6dd44;border-radius:17px;margin:32px 0;background:#a5e6dd06}.score-explorer h2{margin-top:0}.score-explorer label{display:block;font-size:13px;color:var(--muted)}.score-explorer input{display:block;width:100%;margin:28px 0;accent-color:#cde7b4;min-height:28px}.explorer-result{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px}.explorer-result output{font:700 30px Arial;color:#e5efb7;white-space:nowrap}.explorer-track{height:6px;border-radius:6px;background:#ffffff15;overflow:hidden;margin:22px 0}.explorer-track>span{display:block;height:100%;background:#cde7b4}.score-bands{display:grid;grid-template-columns:1fr 1fr;gap:16px}.score-bands>div{padding:20px;border:1px solid var(--stroke);border-radius:13px}.score-bands strong{display:block;font:700 32px Arial;color:#ffcf9f}.score-bands span{display:block;font-size:12px;color:var(--muted);margin-top:10px}.score-bands>div+div strong{color:#cde7b4}.guide-figure{margin:30px 0;padding:16px;border:1px solid var(--stroke);border-radius:17px;background:#112125}.guide-figure svg{display:block;width:100%;max-height:380px}.guide-figure figcaption{font-size:11px;color:var(--muted);line-height:1.7}.guide-sources{font-size:12px}.guide-play{display:inline-block;text-decoration:none;margin:20px 0}.related-guides{display:grid;gap:14px;font-size:14px}.update-entry{border-left:2px solid #cde7b466;padding:4px 0 8px 25px;margin-top:35px}.update-entry time{font:10px var(--mono);letter-spacing:1px;color:#cde7b4}.update-entry h2{margin-top:15px}.update-entry li{margin-bottom:14px;color:var(--muted)}.update-entry strong{color:var(--ink)}a.archive-game{text-decoration:none;color:var(--ink)}
@media(max-width:480px){.score-explorer,.learn-card{padding:18px}.score-bands{gap:10px}.score-bands>div{padding:16px}.explorer-result{align-items:flex-start;flex-direction:column;gap:9px}.guide-formula{font-size:11px;overflow-wrap:anywhere}.update-entry{padding-left:18px}}
