:root{--bg:#3b2214;--card:#fff8ee;--ink:#4a2a14;--ink-soft:#4a2a14a6;--thin:#fff3;--shadow:#190a0273;--gold:#ffc24a;--gold-dark:#c98a12;--clay:#e4743a;--clay-dark:#9c4419;color-scheme:dark}@media (prefers-color-scheme:dark){:root{--bg:#3b2214;--card:#fff8ee;--ink:#4a2a14;--ink-soft:#4a2a14a6;--thin:#fff3;--shadow:#190a0273}}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{color:#fff;background:radial-gradient(120% 80% at 50% 35%,#8a5530,#4a2a16 60%,#24120a);min-height:100dvh}.screen{color:#fff;background:radial-gradient(120% 80% at 50% 30%,#9a6038,#4a2a16 65%,#24120a)}.home-card{gap:14px;padding-bottom:20px}.logo-tiles{width:190px;height:110px;position:relative}.logo-tiles span{top:18px;left:calc(var(--n) * 54px + 8px);width:62px;height:80px;box-shadow:3px 3px 0 #dccfb0, 7px 7px 0 var(--clay-dark), 9px 12px 14px #00000059;transform:rotate(calc((var(--n) - 1) * 9deg)) translateY(calc((var(--n) - 1) * (var(--n) - 1) * 8px));animation:2.6s ease-in-out infinite bob;animation-delay:calc(var(--n) * .3s);background:linear-gradient(160deg,#fff,#efe7d3);border-radius:12px;place-items:center;display:grid;position:absolute}.logo-tiles svg{width:48px;height:48px}.wordmark{color:#fff;text-shadow:0 4px #00000040;margin:0;font-size:clamp(2.5rem,12vw,3.2rem);font-weight:700;line-height:1}.wordmark span{color:var(--gold);font-size:.8em;display:block}.btn-play{background:linear-gradient(#ffd877, var(--gold));color:#4a2a00;width:100%;box-shadow:0 6px 0 var(--gold-dark), inset 0 2px 0 #ffffff80;flex-direction:column;align-items:center;padding:14px;font-size:1.45rem;line-height:1.1;display:flex}.btn-play small{opacity:.85;font-size:.85rem;font-weight:500}.btn-play:active{box-shadow:0 2px 0 var(--gold-dark)}.screen .btn-ghost{color:#fff}.btn-alt{background:var(--clay);box-shadow:0 5px 0 var(--clay-dark)}.btn-alt:active{box-shadow:0 1px 0 var(--clay-dark)}.hub{color:#fff9;letter-spacing:.06em;font-size:.85rem;text-decoration:none}#app{padding:calc(6px + env(safe-area-inset-top)) 4px calc(12px + env(safe-area-inset-bottom));--board:min(calc(100vw - 24px), 420px);gap:4px;max-width:600px;min-height:100dvh}.hudbar{grid-template-columns:1fr auto 1fr;align-items:center;padding:0 8px;display:grid}.hudbar .icon-btn{color:#fff;background:#ffffff24;box-shadow:0 4px #0000004d}.hudbar #restart{justify-self:end}.scorebox{flex-direction:column;align-items:center;line-height:1;display:flex;position:relative}.scorebox small{color:#ffffffb3;letter-spacing:.05em;font-size:.8rem;font-weight:600}.scorebox small #label{font-size:inherit;display:inline}#score{color:var(--gold);text-shadow:0 3px #00000059;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.pop{color:#fff;-webkit-text-stroke:4px #5a2a08;paint-order:stroke fill;opacity:0;pointer-events:none;white-space:nowrap;margin-left:6px;font-size:1.2rem;font-weight:700;position:absolute;top:40%;left:100%}.pop.show{animation:.9s ease-out scorePop}@keyframes scorePop{0%{opacity:0;transform:translateY(14px)scale(.6)}25%{opacity:1;transform:translateY(0)scale(1.15)}70%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.board-wrap{flex:1;place-items:start center;display:grid;position:relative}#board{touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:block}.toast{color:#ffe08a;-webkit-text-stroke:6px #4a1e04;top:22%}.tools{grid-template-columns:repeat(3,74px);justify-content:center;gap:22px;width:auto;margin-top:4px}.tool{width:74px;height:74px;color:var(--ink);box-shadow:0 5px 0 #24120a, inset 0 0 0 3px var(--gold);background:radial-gradient(circle at 40% 30%,#fff,#f3e3cf 70%);border-radius:50%;justify-content:center;gap:2px;padding:8px 0 4px;font-size:.64rem}.tool svg{width:28px;height:28px;color:var(--clay-dark)}.tool:active{box-shadow:0 1px 0 #24120a, inset 0 0 0 3px var(--gold)}#hint{background:radial-gradient(circle at 40% 30%, #fff1b8, var(--gold) 75%);color:#4a2a00;box-shadow:0 5px 0 var(--gold-dark)}#hint svg{color:#7a4a00}#hint:active{box-shadow:0 1px 0 var(--gold-dark)}.badge{background:#e8384f;top:-4px;right:-4px;box-shadow:0 2px #9a1a2c}dialog{background:var(--card);color:var(--ink);box-shadow:0 10px 0 var(--shadow), inset 0 0 0 3px var(--gold)}dialog .big{color:var(--clay-dark);font-size:2rem}.rule-list li{background:#f7ebdd}.rule-list li>b:first-child{background:var(--clay)}dialog .btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 2px #4a2a1429}
