:root{--bg:#0c1320;--bg-soft:#16202e;--bg-deep:#060a12;--vignette:rgba(0,0,0,.55);--ink:#0f1620;--ink-soft:#4a5867;--cream:#e8eef5;--cream-soft:#aab6c4;--cream-dim:#6b7888;--paper:#f4f6f9;--paper-warm:#e6ebf1;--paper-shadow:#93a1b1;--accent:#7eb8d8;--accent-soft:#a8d0e4;--accent-deep:#3e7595;--accent-dark:#2d4d63;--accent-tint:rgba(126,184,216,.1);--accent-line:rgba(126,184,216,.28);--celebrate-gold:#e8c46d;--danger:#d96c6c;--danger-soft:#e89393;--success:#6fa872;--toast-bg:#f4f6f9;--toast-bg-deep:#e6ebf1;--toast-fg:#0f1620;--toast-border:#93a1b1;--tile-face:#f3f5f8;--tile-face-2:#d8dee6;--tile-edge:#b8c2cd;--tile-edge-dk:#6e7c8b;--tile-shadow:rgba(0,0,0,.45);--suit-1:#4a8a4a;--suit-2:#b8463f;--suit-3:#8a5db5;--suit-4:#d4a373;--font-display:"Cormorant Garamond","Iowan Old Style","Palatino",serif;--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--tile-radius:12px;--tile-step-x:2.5px;--tile-step-y:4px;--panel-radius:18px}[data-board-theme=ink] body{background:radial-gradient(120% 60% at 50% 105%,rgba(28,24,16,.04) 0,transparent 55%),radial-gradient(ellipse at 50% 18%,rgba(28,24,16,.03) 0,transparent 55%),linear-gradient(180deg,var(--bg) 0,var(--bg-deep) 100%)}[data-board-theme=ink] .overlay{background:radial-gradient(ellipse at center,rgba(40,36,28,.4),rgba(20,18,12,.72))}*,:after,:before{box-sizing:border-box}body,html{background:var(--bg);color:var(--cream);font-family:var(--font-ui);height:100%;margin:0;-webkit-font-smoothing:antialiased;letter-spacing:.005em;overscroll-behavior:none}body{background:radial-gradient(120% 60% at 50% 105%,rgba(126,184,216,.07) 0,transparent 55%),radial-gradient(ellipse at 50% 18%,rgba(168,208,228,.04) 0,transparent 55%),linear-gradient(180deg,var(--bg) 0,var(--bg-deep) 100%);overflow:hidden}#game{display:flex;flex-direction:column;gap:10px;height:100vh;height:100dvh;margin:0 auto;max-width:clamp(360px,95vw,880px);padding:16px 14px max(env(safe-area-inset-bottom,0px),clamp(20px,4vh,40px));position:relative}.action-bar{margin-top:4px}.hud{background:linear-gradient(180deg,hsla(0,0%,100%,.02),rgba(0,0,0,.18)),rgba(0,0,0,.25);border:1px solid var(--accent-line);border-radius:14px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03),0 1px 0 rgba(0,0,0,.4);display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px}.bubble{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease,opacity .14s ease}.bubble svg{display:block}.bubble:active{transform:scale(.96)}.bubble:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.bubble-a{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:var(--accent-tint);border:1px solid var(--accent-line);box-shadow:0 1px 0 rgba(0,0,0,.25),0 8px 24px rgba(0,0,0,.3);color:var(--accent)}.bubble-a:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}#btn-rules{position:fixed;top:var(--rules-bubble-y,90px);transform:translateY(-50%);z-index:80}#btn-rules[data-bubble-pos=left]{left:14px;right:auto}#btn-rules[data-bubble-pos=right]{left:auto;right:14px}#btn-rules:active{transform:translateY(-50%) scale(.96)}#btn-rules[data-bubble-size=s]{height:36px;width:36px}#btn-rules[data-bubble-size=m]{height:44px;width:44px}#btn-rules[data-bubble-size=l]{height:56px;width:56px}#btn-rules.is-revealing{position:fixed}#btn-rules.is-revealing:before{animation:rulesBubblePulse 2.4s ease-out;border:1.5px solid var(--accent);border-radius:999px;content:"";inset:-4px;opacity:0;pointer-events:none;position:absolute}.rule-strip{align-items:center;display:flex;gap:10px;min-height:38px;padding:5px 10px 9px}.rule-strip-left,.rule-strip-right{align-items:center;display:inline-flex;flex:0 0 auto;gap:6px}.rule-strip-center{align-items:baseline;column-gap:8px;display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:center;min-width:0;row-gap:2px;text-align:center}.rule-strip:not(:has(:is(.strict-pill,.goal-pill).active)) .rule-strip-left{display:none}.rule-strip-now{align-self:center;background:rgba(126,184,216,.14);border:1px solid var(--accent-line);border-radius:999px;color:var(--accent);display:inline-block;font-family:var(--font-ui);font-size:.6rem;font-weight:600;letter-spacing:.18em;padding:2px 7px 2px calc(7px + .18em);text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.rule-strip-now[hidden]{display:none}.rule-strip-now.warn{animation:nowWarnPulse 1.4s ease-in-out infinite;background:hsla(0,59%,64%,.14);border-color:hsla(0,59%,64%,.42);color:var(--danger-soft)}.rule-strip-name{color:var(--accent);font-family:var(--font-display);font-size:1.1rem;font-style:italic;font-weight:500;letter-spacing:.01em;line-height:1.1}.rule-strip-desc{color:var(--cream);font-size:.86rem;line-height:1.35;opacity:.8}.rule-strip-progress{background:linear-gradient(90deg,var(--accent),var(--accent-soft));border-radius:999px;bottom:1px;box-shadow:0 0 6px var(--accent);height:2px;left:8%;opacity:0;pointer-events:none;position:absolute;right:8%;transform:scaleX(0);transform-origin:left center;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.rule-strip.is-chaos .rule-strip-progress{opacity:.85}@media (prefers-reduced-motion:reduce){.rule-strip-progress{transition:none}}@media (min-width:720px){.rule-strip-name{font-size:1.3rem}.rule-strip-desc{font-size:.92rem}}.strict-pill{align-self:center;background:rgba(196,69,69,.18);border:1px solid rgba(196,69,69,.5);border-radius:999px;color:var(--danger-soft);display:none;font-family:var(--font-ui);font-size:.62rem;font-weight:600;letter-spacing:.16em;padding:3px 9px;text-transform:uppercase}.strict-pill.active{display:inline-block}.goal-pill{align-self:center;background:var(--accent-tint);border:1px solid var(--accent-line);border-radius:999px;color:var(--accent);display:none;font-family:var(--font-ui);font-size:.62rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.1em;padding:3px 9px;white-space:nowrap}.goal-pill.active{display:inline-block}.time-pill{align-items:center;align-self:center;background:rgba(0,0,0,.22);border:1px solid var(--accent-line);border-radius:999px;color:var(--cream);display:inline-flex;font-family:var(--font-ui);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:500;gap:6px;letter-spacing:.01em;min-width:3.4em;padding:3px 12px 3px 9px}.time-pill #time-value{line-height:1}.time-pill-icon{display:block;flex:none;opacity:.75}.time-pill.warning{border-color:hsla(0,59%,64%,.42);color:var(--danger-soft)}.time-pill.warning .time-pill-icon{opacity:.95}.time-pill.paused{opacity:.35}.moves-pill{align-items:center;align-self:center;background:rgba(0,0,0,.22);border:1px solid var(--accent-line);border-radius:999px;color:var(--cream);display:none;font-family:var(--font-ui);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:500;gap:6px;letter-spacing:.01em;margin-right:6px;min-width:3.4em;padding:3px 12px 3px 9px}.moves-pill.active{display:inline-flex}.moves-pill #moves-value{line-height:1}.moves-pill-icon{display:block;flex:none;opacity:.75}.moves-pill.warning{border-color:hsla(0,59%,64%,.42);color:var(--danger-soft)}.moves-pill.warning .moves-pill-icon{opacity:.95}.score-breakdown{display:flex;flex-direction:column;font-variant-numeric:tabular-nums;gap:6px;margin:18px auto 22px;max-width:22rem}.score-line{align-items:baseline;color:var(--ink-soft);display:flex;font-size:.95rem;justify-content:space-between;overflow:hidden;position:relative}.score-line>span:first-child{padding-right:8px}.score-line>span:first-child,.score-line>strong{background:var(--paper);position:relative;z-index:1}.score-line>strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600;padding-left:8px}.score-line:before{background-image:radial-gradient(circle,var(--paper-shadow) 1px,transparent 1px);background-repeat:repeat-x;background-size:6px 1px;bottom:5px;content:"";height:1px;left:0;opacity:.5;position:absolute;right:0}.score-line-running:before{display:none}.score-line-total{border-top:1px solid var(--paper-shadow);color:var(--ink);font-size:1.05rem;margin-top:6px;padding-top:8px}.score-line-total strong{color:var(--accent-deep)}.score-line-running{color:var(--ink-soft);font-size:.78rem;letter-spacing:.06em;opacity:.85;text-transform:uppercase}.score-line-running strong{color:var(--ink-soft);font-weight:500}.rules-panel .click-modal-eyebrow{margin-bottom:8px;margin-left:40px;margin-right:40px}.rules-panel .click-modal-title{margin-bottom:6px;margin-left:40px;margin-right:40px}.rules-panel .rules-chaos-intro,.rules-panel .rules-rotation,.rules-panel .rules-solo,.rules-panel .rules-strict-note{text-align:left}.rules-solo{background:linear-gradient(180deg,var(--accent-tint),transparent);border:1px solid var(--accent-deep);border-radius:8px;box-shadow:inset 2px 0 0 var(--accent-deep);margin:14px 0 4px;padding:14px 16px}.rules-solo-name{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;line-height:1.1;margin-bottom:6px}.rules-solo-desc{color:var(--ink);font-size:.95rem;line-height:1.5;opacity:.85}.rules-chaos-intro{color:var(--ink);font-size:.88rem;line-height:1.5;margin:10px 0;opacity:.78}.rules-rotation{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.rules-rotation-item{align-items:center;background:rgba(0,0,0,.025);border:1px solid rgba(0,0,0,.1);border-radius:8px;display:grid;gap:4px 12px;grid-template-areas:"mark text  example" "mark meta  example";grid-template-columns:30px 1fr auto;padding:10px 12px;transition:background .2s ease,border-color .2s ease}.rules-rotation-item.active{background:linear-gradient(180deg,var(--accent-tint),transparent);border-color:var(--accent-deep);box-shadow:inset 2px 0 0 var(--accent-deep),0 1px 2px rgba(0,0,0,.06)}.rules-rotation-mark{align-items:center;background:rgba(62,117,149,.14);border:1px solid var(--paper-shadow);border-radius:50%;color:var(--accent-deep);display:inline-flex;font-family:var(--font-ui);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:600;grid-area:mark;height:28px;justify-content:center;line-height:1;text-align:center;width:28px}.rules-rotation-mark svg{display:block}.rules-rotation-item.active .rules-rotation-mark{background:var(--accent-deep);border-color:var(--accent-dark);color:var(--paper)}.rules-rotation-text{display:flex;flex-direction:column;gap:2px;grid-area:text;min-width:0}.rules-rotation-name{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:600;line-height:1.15}.rules-rotation-desc{color:var(--ink);font-size:.85rem;line-height:1.4;opacity:.78}.rules-rotation-meta{color:var(--accent-dark);font-size:.74rem;font-weight:600;grid-area:meta;letter-spacing:.02em;margin-top:2px}.rules-rotation-example{align-items:center;display:flex;grid-area:example}.rules-examples{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:12px}.rules-example-pair{align-items:center;background:rgba(0,0,0,.04);border-radius:8px;display:inline-flex;gap:6px;padding:6px 8px}.rules-example-tile{aspect-ratio:4/5;background:radial-gradient(140% 120% at 50% -20%,hsla(0,0%,100%,.95),transparent 55%),linear-gradient(180deg,var(--tile-face) 0,var(--tile-face-2) 100%);border:1px solid var(--tile-edge);border-radius:5px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.95),inset 0 -1px 0 rgba(110,124,139,.18),0 1px 0 var(--tile-edge),0 1.5px 2px rgba(0,0,0,.18);display:inline-block;flex-shrink:0;position:relative;vertical-align:middle;width:36px}.rules-example-num{color:var(--ink-soft);font-family:Cormorant Garamond,serif;font-size:.64rem;font-weight:600;left:3px;line-height:1;pointer-events:none;position:absolute;text-shadow:0 1px 0 hsla(0,0%,100%,.6);top:2px}.rules-example-face{align-items:center;display:flex;inset:18% 14% 10%;justify-content:center;pointer-events:none;position:absolute}.rules-example-face svg{display:block;height:100%;width:100%}.rules-example-sep{color:var(--ink);font-family:var(--font-ui);font-size:.95rem;line-height:1;opacity:.4;user-select:none}.rules-note{background:rgba(126,184,216,.1);border-left:2px solid var(--accent-deep);border-radius:4px;font-size:.82rem;margin:12px 0 0;opacity:.88;padding:8px 12px}.rules-note,.rules-strict-note{color:var(--ink);line-height:1.5}.rules-strict-note{background:rgba(196,69,69,.08);border:1px solid rgba(196,69,69,.32);border-radius:10px;font-size:.84rem;margin:14px 0 0;opacity:.9;padding:10px 12px;text-align:left}.rules-strict-note strong{color:var(--danger);letter-spacing:.02em}.tray{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15)),rgba(0,0,0,.2);border:1px solid rgba(168,192,216,.14);border-radius:10px;box-shadow:inset 0 1px 0 rgba(0,0,0,.3);display:grid;gap:5px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:240px;padding:6px 10px;width:100%}.tray-slot{aspect-ratio:4/5;background:rgba(0,0,0,.3);border:1px dashed rgba(168,192,216,.18);border-radius:10px;overflow:visible;position:relative;transition:background .14s ease,border-color .14s ease}.tray-slot:empty:after{border:1px dashed rgba(168,192,216,.16);border-radius:4px;content:"";inset:35% 30%;position:absolute}.tray-slot:not(:empty){background:transparent;border-color:transparent}.tray-slot .tile{--z:0!important;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85),inset 0 -1px 0 rgba(110,124,139,.18);inset:0}#board-wrap{align-items:center;container-type:size;display:flex;flex:1;justify-content:center;min-height:0;padding:36px 4px 18px;position:relative}#board-wrap:before{background:radial-gradient(ellipse at center,rgba(0,0,0,.35),transparent 70%);content:"";inset:8% 6%;pointer-events:none;position:absolute;z-index:0}.board{aspect-ratio:calc(var(--cols, 6)*4) /calc(var(--rows, 5)*5);display:grid;gap:4px;grid-template-columns:repeat(var(--cols,6),1fr);grid-template-rows:repeat(var(--rows,5),1fr);margin:0 auto;max-width:min(96vw,720px);position:relative;width:min(100cqw,calc(100cqh*var(--cols, 6)*4/(var(--rows, 5)*5)));z-index:1}.tile-stack{aspect-ratio:4/5;grid-column:calc(var(--cx) + 1);grid-row:calc(var(--cy) + 1);position:relative}.tile{--z:0;--tile-press-scale:1;background:radial-gradient(140% 120% at 50% -20%,hsla(0,0%,100%,.95),transparent 55%),linear-gradient(180deg,var(--tile-face) 0,var(--tile-face-2) 100%);border:1px solid var(--tile-edge);border-radius:var(--tile-radius);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.95),inset 0 -1px 0 rgba(110,124,139,.18),0 1.5px 0 var(--tile-edge),0 3px 0 var(--tile-edge-dk),0 calc(5px + var(--z)*1.2px) calc(10px + var(--z)*2px) var(--tile-shadow);cursor:pointer;inset:0;position:absolute;touch-action:manipulation;transform:translate(calc(var(--z)*var(--tile-step-x)*-1),calc(var(--z)*var(--tile-step-y)*-1)) scale(var(--tile-press-scale));transition:transform .12s cubic-bezier(.2,.7,.3,1.2),box-shadow .16s ease;user-select:none;-webkit-user-select:none;z-index:calc(10 + var(--z))}.tile.pressing:not(.matched):not(.locked-by-stack){--tile-press-scale:0.96;transition:none}.tile.locked-by-stack{filter:brightness(.78) saturate(.7);pointer-events:none}.tile.locked-by-stack:after{background:rgba(20,30,22,.18);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.tile-num{color:var(--ink-soft);font-family:var(--font-ui);font-feature-settings:"tnum" 1,"lnum" 1;font-size:.92rem;font-weight:700;left:7px;letter-spacing:0;text-shadow:0 1px 0 hsla(0,0%,100%,.7);top:4px}.tile-face,.tile-num{pointer-events:none;position:absolute}.tile-face{align-items:center;display:flex;inset:12% 10% 8%;justify-content:center}.tile-svg{display:block;height:100%;width:100%}.tile.selected{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.95),0 1.5px 0 var(--accent-deep),0 3px 0 var(--accent-dark),0 0 0 2px var(--accent),0 8px 22px rgba(126,184,216,.45);transform:translate(calc(var(--z)*var(--tile-step-x)*-1),calc(var(--z)*var(--tile-step-y)*-1 - 4px)) scale(1.04);z-index:calc(60 + var(--z))}.tile:focus-visible{outline:2px dashed var(--accent);outline-offset:3px;z-index:calc(70 + var(--z))}.action-bar{background:rgba(0,0,0,.32);border:1px solid rgba(168,192,216,.12);border-radius:999px;box-shadow:0 6px 24px rgba(0,0,0,.5);display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;margin:8px auto 0;max-width:100%;padding:8px 12px;position:relative;width:fit-content}.action-bar:before{background:linear-gradient(90deg,transparent,var(--accent-line),transparent);content:"";height:1px;left:12%;pointer-events:none;position:absolute;right:12%;top:-10px}.action-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--cream);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.86rem;font-weight:500;gap:6px;justify-content:center;letter-spacing:.01em;min-width:0;padding:11px 14px;position:relative;touch-action:manipulation;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.action-btn:hover:not(:disabled){background:rgba(168,192,216,.06);border-color:rgba(168,192,216,.18)}.action-btn:active:not(:disabled){background:rgba(168,192,216,.1);border-color:var(--accent-line);opacity:.78}.action-btn:disabled{cursor:not-allowed;opacity:.34}.action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.action-btn.primary{background:var(--accent-tint);border-color:var(--accent-line);color:var(--paper)}.action-btn.primary:hover:not(:disabled){background:rgba(126,184,216,.18);border-color:rgba(126,184,216,.55)}.action-btn.danger{border-color:rgba(196,69,69,.45);color:var(--danger-soft)}.action-btn.danger:hover:not(:disabled){background:rgba(196,69,69,.1);border-color:hsla(4,64%,66%,.7)}.action-btn .icon{align-items:center;display:inline-flex;flex:none;height:16px;justify-content:center;width:16px}.action-btn .icon svg{display:block;height:100%;width:100%}.action-btn .count{align-items:center;background:var(--accent-tint);border-radius:999px;color:var(--accent-soft);display:inline-flex;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:600;height:18px;justify-content:center;letter-spacing:.01em;margin-left:2px;min-width:18px;padding:0 5px}@media (max-width:560px){.action-bar{gap:6px;padding:8px 10px}.action-btn{font-size:.78rem;gap:0;min-width:48px;padding:11px 0}.action-btn span:not(.icon):not(.count){display:none}.action-btn .icon{height:18px;width:18px}.action-btn .count{margin-left:0}}@media (min-width:720px){.action-bar{gap:14px;margin-top:12px;padding:12px 22px}.action-btn{font-size:.9rem;letter-spacing:.04em;padding:13px 22px}.action-btn .icon{height:17px;width:17px}}@media (min-width:1024px){.action-bar{gap:18px;padding:14px 28px}.action-btn{font-size:.95rem;padding:14px 26px}.action-btn#btn-restart{margin-left:6px}}.overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(ellipse at center,rgba(13,28,22,.6),rgba(0,0,0,.88));display:none;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.overlay.active{display:flex}.overlay-panel{background:radial-gradient(ellipse at top,var(--paper) 0,var(--paper-warm) 70%,var(--cream-soft) 100%);border-radius:14px;box-shadow:inset 0 0 0 1px var(--paper-shadow),inset 0 0 0 6px transparent,inset 0 0 0 7px rgba(0,0,0,.06),0 14px 36px rgba(0,0,0,.55),0 1px 0 var(--accent-dark);color:var(--ink);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);max-width:460px;overflow-y:auto;padding:22px 22px 24px;position:relative;text-align:center;width:100%}.overlay-eyebrow{align-items:center;background:transparent;border:0;color:var(--accent-deep);display:inline-flex;font-family:var(--font-ui);font-size:.66rem;font-weight:600;gap:10px;letter-spacing:.22em;margin:0 auto 10px;padding:4px 0;text-transform:uppercase}.overlay-eyebrow:after,.overlay-eyebrow:before{background:linear-gradient(90deg,transparent,var(--paper-shadow),transparent);content:"";height:1px;width:28px}.overlay-title{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:2.1rem;font-weight:600;letter-spacing:.005em;line-height:1.1;margin:4px 0 12px;position:relative;z-index:0}.overlay-title .accent{color:var(--celebrate-gold);font-style:italic}.overlay-text{color:var(--ink);font-size:.92rem;line-height:1.55;margin:0 0 14px;opacity:.85}.overlay-text strong{color:var(--ink);font-weight:700}.btn{align-items:center;background:var(--accent-deep);border:1px solid var(--accent-dark);border-radius:999px;color:var(--paper);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.95rem;font-weight:600;gap:6px;justify-content:center;letter-spacing:.01em;margin:6px 4px;padding:13px 26px;touch-action:manipulation;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.btn:hover{background:var(--accent);color:var(--ink)}.btn:active{opacity:.82}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.ghost{background:transparent;border-color:var(--paper-shadow);color:var(--accent-deep)}.btn.ghost:hover{background:rgba(126,184,216,.1)}.accent{color:var(--accent)}.rule-card{background:linear-gradient(180deg,hsla(46,67%,87%,.6),hsla(44,57%,79%,.3));border:1px solid var(--paper-shadow);border-radius:12px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 1px 2px rgba(0,0,0,.08);margin:14px 0;padding:14px 16px;position:relative;text-align:left}.rule-card-label{color:var(--accent-dark);font-family:var(--font-ui);font-size:.65rem;font-weight:600;letter-spacing:.18em;margin-bottom:4px;text-transform:uppercase}.rule-card-rule{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;line-height:1.15;margin:2px 0 4px}.rule-card-desc{color:var(--ink);font-size:.88rem;line-height:1.55;opacity:.85}.rule-card-desc.left{text-align:left}.reward-line,.rule-card-desc strong{color:var(--accent-dark)}.reward-line{font-size:.88rem;font-weight:600;letter-spacing:.02em;margin:8px 0 16px}.mini-tile{align-items:center;background:linear-gradient(180deg,var(--tile-face) 0,var(--tile-face-2) 100%);border:1.2px solid var(--tile-edge);border-radius:7px;box-shadow:0 1.5px 0 var(--tile-edge),0 2.5px 0 var(--tile-edge-dk),inset 0 1px 0 hsla(0,0%,100%,.85);display:flex;height:56px;justify-content:center;margin:0 auto;position:relative;width:44px}.mini-num{color:var(--ink-soft);font-family:Cormorant Garamond,serif;font-size:.6rem;left:4px;position:absolute;top:2px}.mini-content{align-items:center;display:flex;height:78%;justify-content:center;width:78%}.suits-grid{display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin:6px 0 10px;text-align:center}.suit-item{align-items:center;display:flex;flex-direction:column;gap:5px}.suit-label{color:var(--accent-dark);font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.suits-note{color:var(--ink);font-size:.82rem;line-height:1.5;margin-top:6px;opacity:.85}.ready-prompt{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(ellipse at center,rgba(12,19,32,.7),rgba(0,0,0,.88));display:flex;flex-direction:column;gap:16px;inset:0;justify-content:center;position:absolute;z-index:60}.ready-eyebrow{color:var(--accent);font-family:var(--font-display);font-size:1rem;font-style:italic;font-weight:500;letter-spacing:.18em;opacity:.95;text-transform:uppercase}.ready-btn{align-items:center;background:var(--accent-deep);border:1px solid var(--accent-dark);border-radius:999px;color:var(--paper);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:1.05rem;font-weight:600;gap:10px;letter-spacing:.02em;padding:16px 36px;transition:background .12s ease,opacity .12s ease}.ready-btn:hover{background:var(--accent);color:var(--ink)}.ready-btn:active{opacity:.82}.ready-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play-icon{font-size:1rem}.float-text{color:var(--accent-soft);font-family:var(--font-display);font-size:1.4rem;font-style:italic;font-weight:600;letter-spacing:.01em;text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 14px rgba(126,184,216,.4);transform:translateX(-50%)}.float-text,.toast-stack{pointer-events:none;position:fixed;z-index:200}.toast-stack{display:flex;flex-direction:column;gap:8px;left:12px;max-width:min(320px,calc(100vw - 24px));top:12px}.toast{animation:toast-in .2s cubic-bezier(.2,.8,.2,1);background:linear-gradient(180deg,var(--toast-bg),var(--toast-bg-deep));border-left-color:var(--toast-border);border-left-width:1px;border:1px solid var(--toast-border);border-left:3px solid var(--accent);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.35);color:var(--toast-fg);cursor:default;font-size:.85rem;letter-spacing:.01em;line-height:1.35;padding:10px 16px 10px 14px;pointer-events:auto}.toast[data-kind=warn]{border-left-color:var(--danger)}.toast[data-kind=success]{border-left-color:var(--success)}.toast.toast-leaving{animation:toast-out .22s cubic-bezier(.4,0,.6,1) forwards}@keyframes toast-in{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-12px)}}@media (prefers-reduced-motion:reduce){.toast,.toast.toast-leaving{animation-duration:1ms}}.tile[data-suit=s1]{--suit-color:var(--suit-1)}.tile[data-suit=s2]{--suit-color:var(--suit-2)}.tile[data-suit=s3]{--suit-color:var(--suit-3)}.tile[data-suit=s4]{--suit-color:var(--suit-4)}.overlay-panel.perfect .overlay-title{background:repeating-linear-gradient(72deg,transparent 0 6px,hsla(42,73%,67%,.1) 6px 7px,transparent 7px 14px),repeating-linear-gradient(-38deg,transparent 0 9px,hsla(42,73%,67%,.08) 9px 10px,transparent 10px 22px);border-radius:6px;margin-top:2px;padding:8px 4px 14px}.overlay-panel:has(.start-screen){max-width:560px;overflow:hidden;padding:0}.start-screen{display:flex;flex-direction:column;gap:0;text-align:left}.start-mosaic{background:linear-gradient(180deg,var(--paper),var(--paper-warm));overflow:hidden;padding:22px 22px 6px;position:relative}.start-mosaic-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:320px}.start-mosaic-tile{aspect-ratio:4/5;position:relative}.start-mosaic-tile .mini-tile{border-radius:8px;height:100%;width:100%}.start-mosaic-tile:first-child{transform:rotate(-1.5deg)}.start-mosaic-tile:nth-child(2){transform:rotate(.8deg)}.start-mosaic-tile:nth-child(3){transform:rotate(-.4deg)}.start-mosaic-tile:nth-child(n+4){display:none}.start-text{background:linear-gradient(180deg,var(--paper),var(--paper-warm));display:flex;flex-direction:column;gap:14px;padding:18px 24px 26px}.start-eyebrow{align-items:center;color:var(--accent-deep);display:inline-flex;font-family:var(--font-ui);font-size:.62rem;font-weight:600;gap:8px;letter-spacing:.28em;margin:0;text-transform:uppercase}.start-eyebrow:before{background:currentColor;content:"";height:1px;opacity:.6;width:18px}.start-title{color:var(--ink);font-family:var(--font-display);font-size:clamp(2.4rem,8vw,3.6rem);font-weight:600;letter-spacing:-.005em;line-height:.96;margin:0;text-wrap:balance}.start-title .accent{color:var(--accent-deep);font-style:italic}.start-tag{color:var(--ink);font-size:.95rem;line-height:1.55;margin:0;max-width:36ch;opacity:.78;text-wrap:pretty}.start-cta{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:6px}.start-cta .btn{justify-content:center;margin:0;width:100%}.start-meta{align-items:center;border-top:1px solid var(--paper-shadow);color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:.78rem;gap:14px;margin-top:10px;padding-top:12px}.start-meta button{background:none;border:0;border-bottom:1px solid var(--paper-shadow);color:var(--ink-soft);cursor:pointer;font:inherit;font-weight:500;letter-spacing:.01em;padding:1px 0;transition:color .14s ease,border-color .14s ease}.start-meta button:focus-visible,.start-meta button:hover{border-bottom-color:var(--accent-deep);color:var(--accent-deep);outline:none}.start-meta button:focus-visible{border-bottom-width:2px}.click-modal{align-items:center;animation:clickModalIn .22s cubic-bezier(.2,.8,.3,1.1);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.click-modal[hidden]{display:none}@keyframes clickModalIn{0%{opacity:0}to{opacity:1}}.click-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(ellipse at center,rgba(13,28,22,.7),rgba(0,0,0,.86));cursor:pointer;inset:0;position:absolute}.click-modal-panel{animation:clickModalPanelIn .28s cubic-bezier(.2,.8,.3,1.1);background:radial-gradient(ellipse at top,var(--paper) 0,var(--paper-warm) 70%,var(--cream-soft) 100%);border:1px solid var(--paper-shadow);border-radius:14px;box-shadow:inset 0 0 0 1px var(--paper-shadow),inset 0 0 0 6px transparent,inset 0 0 0 7px rgba(0,0,0,.06),0 14px 36px rgba(0,0,0,.55),0 1px 0 var(--accent-dark);color:var(--ink);max-height:calc(100dvh - 40px);max-width:540px;overflow-y:auto;padding:24px;position:relative;text-align:center;width:100%;z-index:1}@keyframes clickModalPanelIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.click-modal-close{align-items:center;background:transparent;border:1px solid var(--paper-shadow);border-radius:6px;color:var(--ink-soft);cursor:pointer;display:inline-flex;font-size:1.15rem;font-weight:400;height:30px;justify-content:center;line-height:.9;position:absolute;right:14px;top:14px;transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease;width:30px;z-index:2}.click-modal-close:hover{background:var(--accent-tint);border-color:var(--accent-deep);color:var(--accent-deep)}.click-modal-close:active{opacity:.78}.click-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.click-modal-eyebrow{align-items:center;background:transparent;border:0;color:var(--accent-deep);display:inline-flex;font-family:var(--font-ui);font-size:.66rem;font-weight:600;gap:10px;letter-spacing:.22em;margin:0 auto 10px;padding:4px 0;text-transform:uppercase}.click-modal-eyebrow:after,.click-modal-eyebrow:before{background:linear-gradient(90deg,transparent,var(--paper-shadow),transparent);content:"";height:1px;width:28px}.click-modal-title{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;line-height:1.05;margin:0 0 14px}.click-modal-title .accent{color:var(--accent-deep);font-style:italic}.click-modal-text{color:var(--ink);font-size:.95rem;line-height:1.55;margin:0 auto 16px;max-width:46ch;opacity:.85}.click-modal-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.click-modal-divider{align-items:center;color:var(--accent-dark);display:flex;font-size:.7rem;font-weight:700;gap:10px;letter-spacing:.2em;margin:18px 0 12px;text-transform:uppercase}.click-modal-divider:after,.click-modal-divider:before{background:linear-gradient(90deg,transparent,var(--paper-shadow),transparent);content:"";flex:1;height:1px}.how-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:6px 0 4px;padding:0;text-align:left}.how-list li{align-items:start;background:linear-gradient(180deg,hsla(46,67%,87%,.6),hsla(44,57%,79%,.3));border:1px solid var(--paper-shadow);border-radius:12px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 1px 2px rgba(0,0,0,.06);display:grid;gap:14px;grid-template-columns:36px 1fr;padding:12px 14px}.how-num{align-items:center;background:linear-gradient(180deg,var(--accent) 0,var(--accent-deep) 100%);border:1.5px solid var(--accent-dark);border-radius:50%;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 1px 2px rgba(0,0,0,.25);display:inline-flex;font-size:1.1rem;font-weight:700;height:32px;justify-content:center;width:32px}.how-h,.how-num{color:var(--ink);font-family:Cormorant Garamond,serif}.how-h{font-size:1.15rem;font-weight:600;line-height:1.15;margin-bottom:2px}.how-d{color:var(--ink);font-size:.88rem;line-height:1.5;opacity:.82}.how-d strong{font-weight:700}.how-d em,.how-d strong{color:var(--accent-dark)}.how-d em{font-style:italic;opacity:.95}.mini-tile-lg{border-radius:10px;border-width:1.5px;height:80px;width:64px}.mini-tile-lg .mini-num{font-size:.72rem;left:5px;top:3px}.suit-cards-grid{display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin:6px 0}.suit-card{align-items:center;background:linear-gradient(180deg,hsla(46,67%,87%,.6),hsla(44,57%,79%,.3));border:1px solid var(--paper-shadow);border-radius:12px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 1px 2px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:8px;padding:12px 8px 10px}.suit-card-name{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:.95rem;font-weight:600;letter-spacing:.01em}.suit-card-swatch{border-radius:999px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4);height:4px;width:36px}.numbers-strip{display:grid;gap:6px;grid-template-columns:repeat(9,1fr);padding:4px 2px 2px}.num-cell{align-items:center;display:flex;flex-direction:column;gap:4px}.num-cell .mini-tile{aspect-ratio:4/5;height:auto;width:100%}.num-cell .mini-num{font-size:.55rem;left:3px;top:2px}.num-label{color:var(--accent-dark);font-family:Cormorant Garamond,serif;font-size:.72rem;font-weight:600}@media (max-width:520px){.suit-cards-grid{grid-template-columns:repeat(2,1fr)}.numbers-strip{gap:3px;grid-template-columns:repeat(9,1fr)}.num-cell .mini-num{display:none}}.theme-picker{border-bottom:1px dashed var(--paper-shadow);border-top:1px dashed var(--paper-shadow);display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:4px 0 2px;padding:12px 0 6px}.theme-picker-field{display:flex;flex-direction:column;gap:4px;min-width:0;position:relative}.theme-picker-field-label{color:var(--ink-soft);font-family:var(--font-display,"Cormorant Garamond",serif);font-size:.78rem;font-style:italic;font-weight:600;letter-spacing:.01em;padding-left:2px}.theme-picker-field-trigger{align-items:center;appearance:none;background:var(--paper);border:1px solid var(--paper-shadow);border-radius:7px;color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-ui,Inter,system-ui,sans-serif);font-size:.82rem;font-weight:600;gap:8px;letter-spacing:.01em;min-width:0;padding:6px 10px 6px 7px;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;width:100%}.theme-picker-field-trigger:hover{background:var(--paper-warm);border-color:var(--accent-deep)}.theme-picker-field-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-picker-field.is-open .theme-picker-field-trigger{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-picker-field-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-picker-field-caret{color:var(--ink-soft);font-size:.72rem;transition:transform .14s ease}.theme-picker-field.is-open .theme-picker-field-caret{color:var(--accent-deep);transform:rotate(180deg)}.theme-picker-field-swatch{align-items:center;display:flex;flex:0 0 auto;justify-content:center}.theme-picker-menu{animation:themePickerMenuIn .14s ease-out;background:var(--paper);border:1px solid var(--paper-shadow);border-radius:9px;bottom:calc(100% + 6px);box-shadow:inset 0 0 0 1px var(--paper),0 14px 28px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.12);left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:4px;position:absolute;right:0;z-index:50}.theme-picker-menu[hidden]{display:none}@keyframes themePickerMenuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.theme-picker-menu li{list-style:none;margin:0;padding:0}.theme-picker-menu-item{align-items:center;appearance:none;background:transparent;border:0;border-radius:6px;color:var(--ink);cursor:pointer;display:grid;font-family:var(--font-ui,Inter,system-ui,sans-serif);gap:9px;grid-template-columns:auto 1fr auto;padding:7px 9px;text-align:left;transition:background .1s ease,color .1s ease;width:100%}.theme-picker-menu-item:hover{background:var(--paper-warm)}.theme-picker-menu-item.is-active{background:var(--accent-tint);color:var(--ink)}.theme-picker-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.theme-picker-menu-text{display:flex;flex-direction:column;min-width:0}.theme-picker-menu-name{font-size:.84rem;font-weight:600;letter-spacing:.01em;line-height:1.2}.theme-picker-menu-sub{color:var(--ink-soft);font-size:.7rem;font-weight:500;line-height:1.3;margin-top:1px}.theme-picker-menu-check{align-self:center;color:var(--accent-deep);font-size:.85rem;font-weight:700}.theme-swatch{border-radius:4px;display:block;flex:0 0 auto;height:20px;overflow:hidden;position:relative;width:26px}.theme-swatch-board{background:var(--bg);border:1px solid var(--accent-line)}.theme-swatch-board .theme-swatch-bg{background:radial-gradient(ellipse at 30% 20%,var(--bg-soft),var(--bg-deep) 90%);inset:0;position:absolute}.theme-swatch-board .theme-swatch-tile{background:linear-gradient(180deg,var(--tile-face),var(--tile-face-2));border:1px solid var(--tile-edge);border-radius:2px;box-shadow:0 1px 0 var(--tile-edge-dk),0 2px 3px var(--tile-shadow);height:13px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-2deg);width:10px}.theme-swatch-board .theme-swatch-chisel{background:var(--accent);border-radius:1px;height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(43deg);width:4px}.theme-swatch-tile-face{align-items:center;background:linear-gradient(180deg,var(--tile-face),var(--tile-face-2));border:1px solid var(--tile-edge);display:flex;justify-content:center;padding:2px}.theme-swatch-tile-face svg{display:block;height:100%;width:100%}@media (max-width:480px){.theme-picker{gap:8px;grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.theme-picker-menu{animation:none}.theme-picker-field-caret,.theme-picker-field-trigger{transition:none}}.tile{animation:tileEnter .5s cubic-bezier(.34,1.3,.64,1) backwards}@keyframes tileEnter{0%{opacity:0;transform:translate(calc(var(--z)*var(--tile-step-x)*-1),calc(var(--z)*var(--tile-step-y)*-1 + 24px)) scale(.82)}to{opacity:1;transform:translate(calc(var(--z)*var(--tile-step-x)*-1),calc(var(--z)*var(--tile-step-y)*-1)) scale(1)}}.tile.matched{animation:tileMatchTransform .55s cubic-bezier(.4,.05,.3,1) forwards;pointer-events:none;z-index:90}@keyframes tileMatchTransform{0%{transform:translate(calc(var(--z)*var(--tile-step-x)*-1),calc(var(--z)*var(--tile-step-y)*-1)) scale(1)}25%{transform:translate(calc(var(--z)*var(--tile-step-x)*-1),calc(var(--z)*var(--tile-step-y)*-1 - 6px)) scale(1.18) rotate(2deg)}to{opacity:0;transform:translate(calc(var(--z)*var(--tile-step-x)*-1),calc(var(--z)*var(--tile-step-y)*-1 - 16px)) scale(.3) rotate(12deg)}}.tile.strict-miss{animation:strictMiss .55s cubic-bezier(.4,.05,.3,1);z-index:85}@keyframes strictMiss{0%{box-shadow:0 2px 0 var(--tile-edge),0 3px 0 var(--tile-edge-dk),0 4px 8px var(--tile-shadow),inset 0 1px 0 hsla(0,0%,100%,.85)}20%,60%{box-shadow:0 0 0 3px var(--danger),0 0 18px rgba(196,69,69,.6),0 0 36px rgba(196,69,69,.3),inset 0 1px 0 hsla(0,0%,100%,.85)}to{box-shadow:0 2px 0 var(--tile-edge),0 3px 0 var(--tile-edge-dk),0 4px 8px var(--tile-shadow),inset 0 1px 0 hsla(0,0%,100%,.85)}}@keyframes rulesBubblePulse{0%{opacity:0;transform:scale(.85)}20%{opacity:.7}to{opacity:0;transform:scale(1.6)}}.time-pill.warning{animation:timePulse .8s ease-in-out infinite}@keyframes timePulse{0%,to{text-shadow:0 0 0 transparent;transform:scale(1)}50%{text-shadow:0 0 12px hsla(0,59%,64%,.55);transform:scale(1.08)}}.rule-strip{animation:ruleStripIn .4s ease-out}@keyframes ruleStripIn{0%{opacity:.4;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes nowWarnPulse{0%,to{background:hsla(0,59%,64%,.14);box-shadow:0 0 0 0 hsla(0,59%,64%,0)}50%{background:hsla(0,59%,64%,.3);box-shadow:0 0 0 3px hsla(0,59%,64%,.2),0 0 12px hsla(0,59%,64%,.4)}}.ready-prompt{animation:readyFadeIn .4s ease-out}@keyframes readyFadeIn{0%{opacity:0}to{opacity:1}}.ready-btn{animation:readyBreathe 2.4s ease-in-out infinite}@keyframes readyBreathe{0%,to{box-shadow:0 0 0 0 rgba(126,184,216,.4)}50%{box-shadow:0 0 0 14px rgba(126,184,216,0)}}.rule-strip,.rule-strip-center{position:relative}.rule-strip:after{background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 8px var(--accent);content:"";height:1px;left:6%;opacity:0;pointer-events:none;position:absolute;right:6%;top:50%;transform:scaleX(0);transform-origin:center;z-index:5}.rule-strip.swapping:after{animation:chaosTearSeam .36s cubic-bezier(.2,.8,.2,1)}@keyframes chaosTearSeam{0%{opacity:0;transform:scaleX(0)}40%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.rule-strip.swapping .rule-strip-desc,.rule-strip.swapping .rule-strip-name{animation:chaosTearText .36s cubic-bezier(.4,.05,.3,1)}@keyframes chaosTearText{0%{filter:blur(0);opacity:1;transform:translateY(0)}40%{filter:blur(2px);opacity:0;transform:translateY(8px)}41%{filter:blur(2px);opacity:0;transform:translateY(-8px)}to{filter:blur(0);opacity:1;transform:translateY(0)}}.rule-strip.swapping .rule-strip-now{animation:chaosTearNow .36s cubic-bezier(.4,.05,.3,1)}@keyframes chaosTearNow{0%{background:rgba(126,184,216,.14);color:var(--accent);transform:scale(1)}40%{background:var(--accent);color:var(--ink);transform:scale(1.08)}to{background:rgba(126,184,216,.14);color:var(--accent);transform:scale(1)}}.float-text{animation:floatUp 1s ease-out forwards}@keyframes floatUp{0%{opacity:0;transform:translate(-50%) scale(.85)}15%{opacity:1;transform:translate(-50%,-6px) scale(1.05)}to{opacity:0;transform:translate(-50%,-56px) scale(1)}}.overlay.active .overlay-panel{animation:panelIn .34s cubic-bezier(.2,.8,.3,1.1)}@keyframes panelIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroPreviewFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){#btn-rules.is-revealing:before,.float-text,.hero-preview,.overlay.active .overlay-panel,.ready-btn,.ready-prompt,.rule-strip,.rule-strip-now.warn,.tile,.tile.matched,.time-pill.warning{animation:none!important}.rule-strip.swapping:after{animation:none;opacity:.5;transform:scaleX(1)}.rule-strip.swapping .rule-strip-desc,.rule-strip.swapping .rule-strip-name,.rule-strip.swapping .rule-strip-now{animation:none}}