:root{--paper:#f6f6f3;--panel:#fff;--ink:#0c0c0c;--muted:#6b6b66;--rule:#d8d8d2;--blue:#2a7fd8;--ok:#1f8a4c;--warn:#d4572a;--font:"Archivo", "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);overscroll-behavior:none;margin:0;overflow:hidden}body{font-family:var(--font);-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}.app{height:100%;padding:max(12px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));flex-direction:column;gap:10px;display:flex}.bar{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;display:flex}.brand{align-items:center;min-width:0;line-height:0;display:flex}.brand .logo{width:auto;max-width:100%;height:34px;display:block}.brand:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.controls{flex:none;align-items:center;gap:8px;display:flex}.btn,.chip{border:1.5px solid var(--ink);background:var(--panel);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:0;min-height:34px;padding:8px 12px;font-size:11px;font-weight:700;line-height:1}.btn:hover,.chip:hover,.btn[aria-pressed=true]{background:var(--ink);color:#fff}.chip b{font-family:var(--font);letter-spacing:0;font-size:15px;font-weight:900}.chip .of{color:var(--muted)}.chip:hover .of{color:#bbb}.btn:focus-visible,.chip:focus-visible,.cell:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.meta{align-items:flex-end;gap:28px;display:flex}.meta>div{flex-direction:column;gap:3px;min-width:0;display:flex}.meta .grow{flex:1}.k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.v{text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.v.big{letter-spacing:-.02em;font-size:26px;font-weight:900;line-height:1}.v.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.status{align-items:center;gap:8px;display:inline-flex}.status i{background:var(--blue);width:10px;height:10px;display:inline-block}.status[data-state=run] i{background:var(--warn);animation:.8s steps(2,end) infinite blink}.status[data-state=won] i{background:var(--ok)}@keyframes blink{50%{opacity:.2}}.meta.bottom{align-items:flex-start}.meta.bottom .v{text-transform:none;font-size:15px;font-weight:500}.meta.bottom .v.mono{font-size:14px;font-weight:700}.chamber{flex:1;place-items:center;min-height:0;display:grid}.frame{border:1.5px solid var(--ink);background:var(--panel);padding:8px;position:relative}#stage{width:320px;height:180px;position:relative}#game{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;display:block;position:absolute;inset:0}.corner{border:0 solid var(--ink);width:14px;height:14px;position:absolute}.corner.tl{border-top-width:3px;border-left-width:3px;top:-7px;left:-7px}.corner.tr{border-top-width:3px;border-right-width:3px;top:-7px;right:-7px}.corner.bl{border-bottom-width:3px;border-left-width:3px;bottom:-7px;left:-7px}.corner.br{border-bottom-width:3px;border-right-width:3px;bottom:-7px;right:-7px}.strip{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;display:grid}.cell{border:1.5px solid var(--ink);background:var(--panel);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-height:48px;padding:6px 8px 7px;display:flex;position:relative}.cell .n{font-variant-numeric:tabular-nums;font-size:18px;font-weight:900;line-height:1}.cell .r{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.cell .tick{font-family:var(--mono);color:var(--ok);font-size:11px;font-weight:700;position:absolute;top:5px;right:7px}.cell[aria-current=true]{background:var(--ink);color:#fff}.cell[aria-current=true] .r{color:#bdbdb8}.cell[aria-current=true] .tick{color:#7fe0a7}.cell:disabled{cursor:not-allowed;color:#b3b3ad;background:repeating-linear-gradient(135deg,#0000 0 6px,#ecece7 6px 7px);border-style:dashed}.cell:disabled .r{color:#c2c2bc}.cell:not(:disabled):not([aria-current=true]):hover{background:#efefea}.foot{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--rule);justify-content:space-between;gap:12px;padding-top:8px;font-size:10px;display:flex}.popover{z-index:10;padding:max(16px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 16px max(18px, env(safe-area-inset-left));background:#f6f6f3f7;flex-direction:column;gap:14px;display:flex;position:fixed;inset:0}.pop-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.pop-head strong{text-transform:uppercase;font-size:20px;font-weight:900}.strip.pop{grid-template-columns:repeat(5,minmax(0,1fr))}.strip.pop .cell{min-height:64px}.popover[hidden]{display:none}.turn{z-index:15;text-align:center;padding:32px max(28px, env(safe-area-inset-right)) 32px max(28px, env(safe-area-inset-left));background-color:var(--paper);background-image:linear-gradient(#0c0c0c0b 1px,#0000 1px),linear-gradient(90deg,#0c0c0c0b 1px,#0000 1px);background-size:40px 40px;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:none;position:fixed;inset:0}.turn h2{text-transform:uppercase;letter-spacing:-.02em;margin:0;font-size:28px;font-weight:900;line-height:1}.turn p{max-width:30ch;color:var(--muted);margin:0;font-size:15px;line-height:1.45}.turn .btn{min-height:44px;margin-top:8px}.turn-icon{width:96px;height:96px;color:var(--ink);animation:2.4s ease-in-out infinite tilt}@keyframes tilt{0%,30%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (orientation:portrait) and (width<=600px){body:not(.upright-ok) .turn{display:flex}}@media (width<=820px){.foot span:last-child{display:none}.meta{gap:16px}.v.big{font-size:20px}.strip{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=560px){.brand .logo{height:24px}#fullBtn,.chip .label{display:none}}@media (height<=560px){.app{padding-top:max(6px, env(safe-area-inset-top));padding-bottom:max(4px, env(safe-area-inset-bottom));gap:6px}.bar{padding-bottom:6px}.brand .logo{height:24px}.meta,.strip:not(.pop),.foot{display:none}.btn,.chip{min-height:30px;padding:6px 10px}.frame{padding:4px}}.splash{z-index:20;padding:max(22px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));background-color:var(--paper);background-image:linear-gradient(#0c0c0c0b 1px,#0000 1px),linear-gradient(90deg,#0c0c0c0b 1px,#0000 1px);background-position:50%;background-size:40px 40px;grid-template-rows:auto 1fr auto;transition:opacity .45s,transform .55s cubic-bezier(.7,0,.2,1);display:grid;position:fixed;inset:0}.splash.out{opacity:0;pointer-events:none;transform:translateY(-3%)}.splash[hidden]{display:none}.splash>.corner{width:22px;height:22px}.splash>.corner.tl{top:12px;left:12px}.splash>.corner.tr{top:12px;right:12px}.splash>.corner.bl{bottom:12px;left:12px}.splash>.corner.br{bottom:12px;right:12px}.splash-top,.splash-bottom{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:16px;font-size:11px;display:flex}.splash-top{border-bottom:2px solid var(--ink);color:var(--ink);padding-bottom:12px;font-weight:700}.splash-bottom{border-top:1px solid var(--rule);padding-top:12px}.splash-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:26px;min-height:0;display:flex}.splash-logo{width:min(760px,86vw);height:auto;animation:.9s cubic-bezier(.2,.7,.2,1) both rise;display:block}.splash-rule{width:min(760px,86vw);font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);align-items:center;gap:14px;margin-top:-8px;font-size:11px;animation:.9s cubic-bezier(.2,.7,.2,1) .12s both rise;display:flex}.splash-rule:before,.splash-rule:after{content:"";background:var(--ink);flex:1;height:1px}.splash-tag{letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:clamp(26px,4.4vw,52px);font-weight:900;line-height:.98;animation:.9s cubic-bezier(.2,.7,.2,1) .22s both rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.dominoes{border-bottom:2px solid var(--ink);align-items:flex-end;gap:13px;height:46px;padding:0 10px 0 0;display:flex;position:relative}.dominoes i{background:var(--ink);transform-origin:100% 100%;width:9px;height:40px;animation:topple 4.2s calc(var(--i) * 85ms) infinite cubic-bezier(.55, 0, .9, .6)}.dominoes b{background:var(--blue);border-radius:50%;width:14px;height:14px;margin-left:4px;animation:4.2s cubic-bezier(.3,0,.3,1) 1.02s infinite roll}@keyframes topple{0%,12%{transform:rotate(0)}20%,78%{transform:rotate(68deg)}90%,to{transform:rotate(0)}}@keyframes roll{0%,18%{transform:translate(0)rotate(0)}34%,78%{transform:translate(46px)rotate(320deg)}90%,to{transform:translate(0)rotate(0)}}.enter{cursor:pointer;background:var(--ink);color:#fff;border:2px solid var(--ink);font-family:var(--font);letter-spacing:.04em;text-transform:uppercase;border-radius:0;align-items:center;gap:18px;min-height:56px;padding:16px 26px;font-size:18px;font-weight:900;animation:.9s cubic-bezier(.2,.7,.2,1) .34s both rise;display:inline-flex}.enter .arrow{transition:transform .2s}.enter:hover{background:var(--panel);color:var(--ink)}.enter:hover .arrow{transform:translate(5px)}.enter:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.splash-credit{letter-spacing:.22em;text-transform:uppercase;color:var(--ink);align-items:center;gap:10px;margin:-10px 0 0;font-size:13px;font-weight:900;animation:.9s cubic-bezier(.2,.7,.2,1) .44s both rise;display:flex}.splash-credit:before,.splash-credit:after{content:"";background:var(--ink);width:28px;height:2px}.splash-sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:-8px 0 0;font-size:11px}@media (height<=560px){.splash{padding-top:max(12px, env(safe-area-inset-top));padding-bottom:max(10px, env(safe-area-inset-bottom))}.splash-center{gap:12px}.splash-logo,.splash-rule{width:min(560px,70vw)}.splash-tag{font-size:24px}.dominoes{transform:scale(.8)}.splash-sub,.splash-bottom .hint{display:none}.splash-credit{margin-top:-4px;font-size:11px}.enter{min-height:46px;padding:11px 20px;font-size:15px}}@media (width<=560px){.splash-top span:last-child,.splash-bottom .hint{display:none}.dominoes{gap:9px}.splash-rule{letter-spacing:.14em;white-space:nowrap;gap:8px;font-size:9px}.enter{white-space:nowrap;gap:12px;padding:14px 18px;font-size:15px}}@media (prefers-reduced-motion:reduce){.status[data-state=run] i,.dominoes i,.dominoes b,.splash-logo,.splash-rule,.splash-tag,.enter,.splash-credit,.turn-icon{animation:none}.dominoes i{transform:rotate(0)}.splash{transition:none}}
