@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque.woff2) format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{color-scheme:light;--paper: #f7f5ee;--ink: #213c39;--muted: #4c625e;--rule: #23463e26;--focus: #217461;--display: "Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;font-family:Instrument Sans,system-ui,sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 18% 9%,#fefaf0,transparent 66%),var(--paper)}#studio{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;pointer-events:none}main{position:relative;width:min(100% - 32px,438px,max(214px,calc((100svh - 193px) * 380 / 614)));margin:0 auto;padding:clamp(12px,3svh,26px) 0 max(10px,env(safe-area-inset-bottom))}.game-header{padding:0 3px}.heading-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 10px}#test-revive{padding-inline:9px;font-size:.75rem}h1{display:flex;align-items:center;gap:.22em;margin:0;font:770 clamp(2.25rem,8vw,3.35rem)/.96 var(--display);letter-spacing:-.055em}.brand-mark{width:.69em;height:auto;flex:none}.hud{display:flex;align-items:start;justify-content:space-between;gap:8px;margin:12px 0 0;padding:8px 0 0;border-top:1px solid var(--rule)}.scores,.queue,.result-scores{display:flex;align-items:center;margin:0}.score-group{display:flex;align-items:center;gap:clamp(8px,2.5vw,14px);min-width:0}.score-group .scores{min-width:0}.queue{gap:clamp(2px,1.5vw,10px)}dt,.best-label{color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}dd{margin:0}.scores dd,.result-scores dd,#best{font:700 clamp(1.22rem,5vw,1.63rem)/1.07 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.035em;overflow-wrap:anywhere}.queue>div{display:flex;flex-direction:column;align-items:center}.queue dd{position:relative}.queue-leaving{position:absolute;inset:0;pointer-events:none}.queue canvas{display:block;width:clamp(26px,8vw,39px);height:auto}button{min-height:44px;border:1px solid transparent;border-radius:12px;color:inherit;background:transparent;font:650 .92rem Instrument Sans,system-ui,sans-serif;cursor:pointer}button[hidden]{display:none}button:focus-visible,#board:focus-visible{outline:2px solid var(--focus);outline-offset:3px}#board[data-input=pointer]:focus{outline:none}#board{display:block;width:100%;height:auto;border-radius:8px;touch-action:none;cursor:crosshair}.playfield{position:relative}.tip-strip{display:grid;place-items:center;min-height:44px;margin:4px 10px 0;color:var(--muted)}.tip-strip p{margin:0;font-size:.84rem;line-height:1.25;text-align:center;text-wrap:balance}dialog{width:min(360px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:clamp(20px,6vw,30px);border:1px solid #ffffffe0;border-radius:29px;background:radial-gradient(ellipse at 50% 0%,#eaf2e9 0%,transparent 55%),#fbfaf4;color:var(--ink);box-shadow:0 26px 70px #132e2952,inset 0 0 0 1px #ffffff90;text-align:center}dialog[open]{animation:result-enter .19s ease-out both}dialog::backdrop{background:#233e39a3}@keyframes result-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.result-mark{display:block;width:38px;height:38px;margin:0 auto 10px;filter:drop-shadow(0 3px 6px #23463e30)}dialog h2{margin:0;font:750 clamp(2rem,8vw,2.5rem)/1 var(--display);letter-spacing:-.055em}.result-scores{display:grid;grid-template-columns:1fr 1fr;margin:19px 0 13px;padding:13px 2px;border:1px solid var(--rule);border-radius:17px;background:#ffffff8c}.result-scores>div{min-width:0;padding:2px 9px}.result-scores>div+div{border-left:1px solid var(--rule)}.result-scores dd{margin-top:3px;font-size:clamp(1.6rem,7vw,2.25rem)}.result-note{margin:12px 0 16px;color:var(--muted);font-size:.86rem;line-height:1.35;text-wrap:balance}#test-ad .result-note{min-height:2.7em;margin-bottom:8px}.ad-progress{height:5px;margin:0 0 20px;overflow:hidden;border-radius:999px;background:#23463e1a}.ad-progress span{display:block;height:100%;border-radius:inherit;background:#3c806d;transform:scaleX(0);transform-origin:left}#test-ad:not([hidden]) .ad-progress span{animation:ad-progress var(--ad-duration) linear forwards}#test-ad[data-ready] .ad-progress span{transform:scaleX(1);animation:none}@keyframes ad-progress{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){dialog[open],#test-ad:not([hidden]) .ad-progress span{animation:none}}.result-buttons{display:grid;gap:8px;margin-top:14px}.result-buttons button{display:block;min-height:48px;width:100%}.result-buttons button[hidden]{display:none}.result-buttons button:disabled{opacity:.48;cursor:default}.primary{color:#fffdf3;background:#265e50}.primary:hover{background:#194a3e}.secondary{border-color:var(--rule)}.secondary:hover{background:#285b4d0d}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.preview-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.preview-actions:has(button:not([hidden])){padding-top:3px}#test-merges{padding-inline:9px;font-size:.75rem}.queue #current,.queue .queue-leaving{width:clamp(34px,10vw,48px)}.queue>div:last-child{align-self:flex-start}.tip-stack{display:grid;width:100%}.tip-stack p{grid-area:1 / 1;align-self:center;opacity:0;transition:opacity .55s ease-in-out}.tip-stack .tip-visible{opacity:1}@media(prefers-reduced-motion:reduce){.tip-stack p{transition:none}}#merge-demo{display:block;width:100%;height:auto;margin:12px 0;border-radius:15px;background:linear-gradient(135deg,#f6f4ec,#e2ece8)}.merge-options{display:grid;gap:6px;text-align:left}.merge-options>div{display:grid;grid-template-columns:5em 1fr;align-items:center;gap:8px;color:var(--muted);font-size:.86rem}.merge-options select{min-width:0;min-height:36px;padding:4px 8px;border:1px solid var(--rule);border-radius:8px;background:#fffdf6;color:var(--ink);font:inherit}#open-leaderboard{display:flex;align-items:center;gap:5px;min-height:44px;min-width:0;padding:3px clamp(4px,1.5vw,8px);border:1px solid #265e5040;border-radius:10px;background:#dfece4a6;text-align:left}#open-leaderboard svg{flex:none;width:clamp(15px,4.8vw,20px);color:#265e50}#open-leaderboard .best-value{display:grid;min-width:0}.progress-label{color:#265e50;font-size:.68rem;font-weight:700;white-space:nowrap}.achievement-toast{position:absolute;z-index:1;inset:8px 8px auto;display:flex;align-items:center;gap:9px;width:fit-content;max-width:calc(100% - 16px);margin-inline:auto;padding:8px 13px;border:1px solid #265e5059;border-radius:15px;background:#f7fcf3;box-shadow:0 5px 20px #213c3926;pointer-events:none}#results .achievement-toast{position:static;margin-block-end:12px;text-align:left}.achievement-toast[hidden]{display:none}.achievement-toast img{flex:none}.achievement-toast span,.achievement-toast strong{display:block}.achievement-toast span{color:#345f51;font-size:.72rem}.achievement-toast strong{font-size:.88rem;line-height:1.25}@media(prefers-reduced-motion:no-preference){.achievement-toast{animation:achievement-arrive .23s ease-out}@keyframes achievement-arrive{0%{opacity:0;transform:translateY(-6px)}}}#open-leaderboard:hover{background:#d7e8dd}#open-leaderboard:active{background:#cde2d5}.leaderboard-best{margin:16px 0 10px;padding:12px;border:1px solid var(--rule);border-radius:14px;background:#ffffff8c}.leaderboard-best dd{margin-top:2px;font:750 1.9rem/1 var(--display);font-variant-numeric:tabular-nums}.leaderboard-scores{max-height:min(33svh,300px);margin:0;padding:0 4px 0 2.1em;overflow-y:auto;text-align:left;font-variant-numeric:tabular-nums}.leaderboard-scores li{padding:8px 1px 8px 4px;border-bottom:1px solid var(--rule);font-weight:650}.leaderboard-scores time{float:right;color:var(--muted);font-size:.8rem;font-weight:450}#merge-preview{width:min(420px,calc(100% - 24px))}#merge-demo{max-height:28svh;object-fit:contain}.merge-tuning{display:grid;gap:4px;margin-top:12px}.merge-tuning label{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.86rem}.merge-tuning output{font-variant-numeric:tabular-nums}.merge-tuning input{width:100%;min-height:24px;accent-color:var(--focus)}#board[data-settling]{cursor:wait}.progress-switch{display:flex;padding:3px;margin-top:14px;border:1px solid var(--rule);border-radius:12px}.progress-switch button{flex:1;min-height:42px;padding:4px;border:0;border-radius:9px;color:var(--ink);background:transparent;font:inherit;cursor:pointer}.progress-switch button[aria-pressed=true]{background:#dfece4;font-weight:700}.achievement-list{max-height:min(38svh,325px);margin:0;padding:0 4px;overflow-y:auto;text-align:left}.achievement-list li{list-style:none}.achievement-list>li{padding:9px 0;border-bottom:1px solid var(--rule)}.achievement-list p{margin:3px 0 7px;color:var(--muted);font-size:.83rem}.achievement-list ul{display:flex;flex-wrap:wrap;gap:5px;padding:0}.achievement-list ul li{padding:3px 7px;border:1px solid var(--rule);border-radius:8px;color:var(--muted);font-size:.77rem;font-variant-numeric:tabular-nums}.achievement-list [data-earned=true]{color:#154b3b;background:#dfece4;font-weight:750}
