:root{color-scheme:dark;--color-primary: #46d4f8;--color-primary-hover: #54d9fa;--color-primary-active: #3a8fa4;--color-secondary: #728394;--color-success: #27a87f;--color-warning: #ca9a52;--color-danger: #bb3535;--bg-base: #090d12;--bg-elevated: #10161d;--bg-elevated-2: #131b24;--bg-soft: #182330;--bg-overlay: #02060d33;--text-primary: #d9e6ea;--text-secondary: #94a7b1;--text-muted: #6d818b;--border-subtle: #273645;--border-strong: #388994;--radius-sm: 6px;--radius-md: 9px;--radius-lg: 12px;--shadow-soft: 0 8px 24px #01050c52;--shadow-panel: 0 18px 40px #01050c7d;--focus-ring: 0 0 0 2px #02060d, 0 0 0 3px #4ba7bd66}*{box-sizing:border-box}*:before,*:after{box-sizing:inherit}html,body{margin:0;min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;font-size:1.2rem;font-family:Manrope,Segoe UI,Inter,sans-serif;line-height:1.4;letter-spacing:.01em;color:var(--text-primary);background:radial-gradient(circle at 12% 12%,#0f314200 0,#0f314255 28%,transparent 62%),radial-gradient(circle at 88% 85%,#0a2a3800 0,#0a2a3888 30%,transparent 68%),linear-gradient(165deg,#060a10,#0a1118 55%,#0c141d)}body.app-mode-scroll{overflow-x:hidden;overflow-y:auto}body.app-mode-game{height:100vh;min-height:100vh;overflow:hidden;--fb-test-banner-height: 0px;--fb-banner-ad-height: 0px}body.has-fb-test-banner{--fb-test-banner-height: 56px}body.has-fb-banner-ad{--fb-banner-ad-height: 50px}@supports (height: 100dvh){body.app-mode-game{height:100dvh;min-height:100dvh}}h1,h2,h3,h4,h5,h6,p{margin-top:0}a{color:var(--color-primary);text-decoration-color:#06b6d466;transition:color .14s ease,text-decoration-color .14s ease}a:hover{color:var(--color-primary-hover);text-decoration-color:#22d3eeaa}button,input,select,textarea{font:inherit;color:inherit}:where(button,.button,input,select,textarea,a):focus-visible{outline:none;box-shadow:var(--focus-ring)}:where(input,select,textarea){width:100%;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-elevated-2);color:var(--text-primary);padding:.55rem .65rem;transition:border-color .14s ease,background .14s ease}:where(input,select,textarea)::placeholder{color:var(--text-muted)}:where(input,select,textarea):hover{border-color:var(--border-strong)}:where(input,select,textarea):focus{border-color:var(--color-primary)}:where(button,.button,.modal-button){border:1px solid var(--border-strong);background:var(--bg-soft);color:var(--text-primary);border-radius:var(--radius-sm);padding:.45rem .75rem;font-weight:500;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform 80ms ease}:where(button,.button,.modal-button).has-icon{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}:where(button,.button,.modal-button).has-icon:before{content:"";width:.95rem;height:.95rem;flex:0 0 .95rem;background-color:currentColor;opacity:.92;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain}:where(button,.button,.modal-button).icon-play:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-pause:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h4v14H7zm6 0h4v14h-4z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h4v14H7zm6 0h4v14h-4z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-resume:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-stop:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6h12v12H6z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6h12v12H6z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-reset:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5a7 7 0 1 1-6.6 9.3h2.2A5 5 0 1 0 12 7h-1.8l2.8 2.8-1.4 1.4L6.4 6l5.2-5.2L13 2.2 10.2 5H12z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5a7 7 0 1 1-6.6 9.3h2.2A5 5 0 1 0 12 7h-1.8l2.8 2.8-1.4 1.4L6.4 6l5.2-5.2L13 2.2 10.2 5H12z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-settings:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.6 2h2.8l.5 2.2a7.8 7.8 0 0 1 1.9.8l1.9-1.2 2 2-1.2 2a7.8 7.8 0 0 1 .8 1.8L22 10.6v2.8l-2.2.5a7.8 7.8 0 0 1-.8 1.9l1.2 1.9-2 2-2-1.2a7.8 7.8 0 0 1-1.8.8L13.4 22h-2.8l-.5-2.2a7.8 7.8 0 0 1-1.9-.8l-1.9 1.2-2-2 1.2-2a7.8 7.8 0 0 1-.8-1.8L2 13.4v-2.8l2.2-.5a7.8 7.8 0 0 1 .8-1.9L3.8 6.3l2-2 2 1.2a7.8 7.8 0 0 1 1.8-.8zM12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.6 2h2.8l.5 2.2a7.8 7.8 0 0 1 1.9.8l1.9-1.2 2 2-1.2 2a7.8 7.8 0 0 1 .8 1.8L22 10.6v2.8l-2.2.5a7.8 7.8 0 0 1-.8 1.9l1.2 1.9-2 2-2-1.2a7.8 7.8 0 0 1-1.8.8L13.4 22h-2.8l-.5-2.2a7.8 7.8 0 0 1-1.9-.8l-1.9 1.2-2-2 1.2-2a7.8 7.8 0 0 1-.8-1.8L2 13.4v-2.8l2.2-.5a7.8 7.8 0 0 1 .8-1.9L3.8 6.3l2-2 2 1.2a7.8 7.8 0 0 1 1.8-.8zM12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-help:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 17a1.25 1.25 0 1 1 1.25-1.25A1.25 1.25 0 0 1 12 19zm1.8-7.8-.8.6a2.2 2.2 0 0 0-.9 1.9V14h-2v-.6a4 4 0 0 1 1.6-3.2l1-.8a1.8 1.8 0 1 0-2.9-1.4H7.8a4.2 4.2 0 1 1 6 3.2z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 17a1.25 1.25 0 1 1 1.25-1.25A1.25 1.25 0 0 1 12 19zm1.8-7.8-.8.6a2.2 2.2 0 0 0-.9 1.9V14h-2v-.6a4 4 0 0 1 1.6-3.2l1-.8a1.8 1.8 0 1 0-2.9-1.4H7.8a4.2 4.2 0 1 1 6 3.2z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-poke:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h11l-3.8-3.8L12.6 6 20 13.4 12.6 21l-1.4-1.4L15 15.8H4z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h11l-3.8-3.8L12.6 6 20 13.4 12.6 21l-1.4-1.4L15 15.8H4z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-pop:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 12H9l3.8 3.8L11.4 18 4 10.6 11.4 3l1.4 1.4L9 8.2h11z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 12H9l3.8 3.8L11.4 18 4 10.6 11.4 3l1.4 1.4L9 8.2h11z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-rewind:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.2 6 5 12l6.2 6V6zm7.8 0L12.8 12l6.2 6V6z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.2 6 5 12l6.2 6V6zm7.8 0L12.8 12l6.2 6V6z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button).icon-shuffle:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 3h4v4h-2V6h-2.2l-2.8 3.2-1.5-1.3L15.8 4H19V3zM3 7h4.5l3.2 3.8-1.5 1.3L6.8 9H3zm18 10v4h-4v-1h-1.2l-3.3-3.8 1.5-1.3 2.8 3.1H19v-1zM3 17h3.8l8.8-10h2.4v2h-1.5L7.7 19H3z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 3h4v4h-2V6h-2.2l-2.8 3.2-1.5-1.3L15.8 4H19V3zM3 7h4.5l3.2 3.8-1.5 1.3L6.8 9H3zm18 10v4h-4v-1h-1.2l-3.3-3.8 1.5-1.3 2.8 3.1H19v-1zM3 17h3.8l8.8-10h2.4v2h-1.5L7.7 19H3z' fill='black'/%3E%3C/svg%3E")}:where(button,.button,.modal-button):hover{border-color:color-mix(in srgb,var(--color-primary) 20%,var(--border-strong));background:color-mix(in srgb,var(--color-primary) 10%,var(--bg-soft))}:where(button,.button,.modal-button):active{transform:translateY(1px)}:where(button,.button,.modal-button):disabled{opacity:.56;cursor:not-allowed;transform:none}.button.primary,.modal-button.primary{border-color:var(--color-primary-active);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 75%,#0a0f18),color-mix(in srgb,var(--color-primary) 55%,#0a0f18))}.button.primary:hover,.modal-button.primary:hover{border-color:var(--color-primary-hover);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 85%,#0a0f18),color-mix(in srgb,var(--color-primary) 65%,#0a0f18))}.button.secondary,.modal-button.secondary{border-color:color-mix(in srgb,var(--color-secondary) 52%,#0a0f18);background:linear-gradient(180deg,color-mix(in srgb,var(--color-secondary) 28%,#0a0f18),color-mix(in srgb,var(--color-secondary) 20%,#0a0f18))}.button.secondary:hover,.modal-button.secondary:hover{border-color:color-mix(in srgb,var(--color-secondary) 82%,#d9e6ea);background:linear-gradient(180deg,color-mix(in srgb,var(--color-secondary) 34%,#0a0f18),color-mix(in srgb,var(--color-secondary) 26%,#0a0f18))}.button.success,.modal-button.success{border-color:color-mix(in srgb,var(--color-success) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-success) 72%,#0a0f18),color-mix(in srgb,var(--color-success) 62%,#0a0f18))}.button.success:hover,.modal-button.success:hover{border-color:var(--color-success);background:linear-gradient(180deg,color-mix(in srgb,var(--color-success) 82%,#0a0f18),color-mix(in srgb,var(--color-success) 72%,#0a0f18))}.button.warning,.modal-button.warning{border-color:color-mix(in srgb,var(--color-warning) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-warning) 72%,#0a0f18),color-mix(in srgb,var(--color-warning) 62%,#0a0f18))}.button.warning:hover,.modal-button.warning:hover{border-color:var(--color-warning);background:linear-gradient(180deg,color-mix(in srgb,var(--color-warning) 82%,#0a0f18),color-mix(in srgb,var(--color-warning) 72%,#0a0f18))}.button.danger,.modal-button.danger{border-color:color-mix(in srgb,var(--color-danger) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-danger) 78%,#0a0f18),color-mix(in srgb,var(--color-danger) 58%,#0a0f18))}.button.danger:hover,.modal-button.danger:hover{border-color:var(--color-danger);background:linear-gradient(180deg,color-mix(in srgb,var(--color-danger) 88%,#0a0f18),color-mix(in srgb,var(--color-danger) 68%,#0a0f18))}.app-shell{position:relative;width:min(1100px,96vw);margin:2rem auto;padding:1rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:linear-gradient(180deg,#0b121b,#0a1017);box-shadow:var(--shadow-panel)}body.app-mode-game .app-shell{--game-shell-padding-x: clamp(.55rem, 1.8vw, 1rem);width:min(1100px,100vw);height:100vh;margin:0 auto;border-top:0;border-bottom:0;border-radius:0;padding:var(--game-shell-padding-x);padding-top:calc(var(--game-shell-padding-x) + env(safe-area-inset-top) + var(--fb-banner-ad-height));padding-bottom:calc(var(--game-shell-padding-x) + env(safe-area-inset-bottom) + var(--fb-test-banner-height));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(.45rem,1.6vw,.8rem)}.fb-test-banner{position:fixed;left:0;right:0;bottom:0;z-index:22;min-height:var(--fb-test-banner-height);border-top:1px solid color-mix(in srgb,var(--color-primary) 35%,#0a0f18);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 26%,#060b11),color-mix(in srgb,var(--color-primary) 14%,#060b11));box-shadow:0 -8px 22px #00000070;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:.45rem clamp(.6rem,2.2vw,1rem)}.fb-test-banner-content{width:min(1100px,100%);margin:0 auto;display:flex;align-items:center;gap:.55rem}.fb-test-banner-label{display:inline-flex;align-items:center;justify-content:center;min-height:1.35rem;padding:0 .45rem;border-radius:999px;font-size:.73rem;font-weight:700;letter-spacing:.02em;color:#d4edf3;border:1px solid color-mix(in srgb,var(--color-primary) 60%,#d9e6ea);background:color-mix(in srgb,var(--color-primary) 24%,#0a0f18)}.fb-test-banner-body{font-size:.92rem;font-weight:700;color:#f2fbff;white-space:nowrap}.fb-test-banner-meta{margin-left:auto;color:var(--text-secondary);font-size:.78rem}.fb-banner-ad-placeholder{position:fixed;top:0;left:0;right:0;z-index:25;height:var(--fb-banner-ad-height, 50px);display:flex;align-items:center;justify-content:center;gap:.75rem;border-bottom:1px solid color-mix(in srgb,var(--color-primary) 35%,#0a0f18);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 26%,#060b11),color-mix(in srgb,var(--color-primary) 14%,#060b11));box-shadow:0 4px 18px #00000060;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}.fb-banner-ad-placeholder-label{font-size:.78rem;font-weight:700;color:var(--color-primary);letter-spacing:.07em;text-transform:uppercase;opacity:.85}.fb-banner-ad-placeholder-meta{color:var(--text-secondary);font-size:.73rem}@supports (height: 100dvh){body.app-mode-game .app-shell{height:100dvh}}body.app-mode-game canvas{width:100%;height:100%;max-width:100%;max-height:100%;min-height:0;justify-self:center}body.ios-no-long-press,body.ios-no-long-press canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hud{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:0}.hud-copy{display:grid;gap:.2rem;min-width:0}.title{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:.01em}.subtitle{margin:0;font-size:.8rem;color:var(--text-secondary)}.pause-button{min-width:2.35rem;flex:0 0 auto;white-space:nowrap;align-self:center;min-height:2.35rem}.status-bar{margin-bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.metric{margin:0;padding:.45rem .55rem;min-height:2.2rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(180deg,#121b26,#101923);display:flex;align-items:center;justify-content:space-between;gap:.45rem}.metric[hidden]{display:none!important}.metric-label{font-size:.9rem;color:var(--text-secondary)}.metric-value{font-weight:600;color:var(--text-primary)}.metric.primary .metric-label,.metric.primary .metric-value{color:var(--color-primary)}.metric.secondary-value .metric-value{color:var(--color-secondary)}canvas{display:block;width:100%;height:auto;aspect-ratio:16 / 9;border:2px solid #38bdf877;border-radius:var(--radius-md);background:#04070d;box-shadow:inset 0 0 0 1px #0f172a;touch-action:none}.move-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.5rem,1.8vw,.75rem);margin-top:.1rem}.move-button{min-height:2.65rem;border-color:color-mix(in srgb,var(--color-primary) 18%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 25%,#0a0f18),color-mix(in srgb,var(--color-primary) 17%,#0a0f18));letter-spacing:.04em;font-weight:650}.move-button:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 32%,#0a0f18),color-mix(in srgb,var(--color-primary) 24%,#0a0f18))}.move-button:disabled{opacity:.6;cursor:not-allowed}.rewind-button{text-transform:none;letter-spacing:.02em}.three-overlay-canvas{position:absolute;pointer-events:none;z-index:8;display:none}#modal-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(.75rem,2.8vw,1.2rem);pointer-events:auto;background:var(--bg-overlay);z-index:31}.modal-card{width:min(94vw,460px);max-height:min(90dvh,640px);overflow:auto;border-radius:var(--radius-lg);border:2px solid var(--border-strong);background:linear-gradient(170deg,#152235e0,#0c1116e0);box-shadow:var(--shadow-soft);padding:1rem;animation:modal-card-in .16s ease-out}.modal-card.is-swapping{animation:modal-card-swap .14s ease-out}.modal-card.is-closing{animation:modal-card-out .2s ease-in forwards}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-primary)}.modal-body{margin:.65rem 0 0;padding:0;list-style:none;color:var(--text-secondary)}.modal-card:has(.settings-list){padding:.8rem}.modal-body.settings-list{margin-top:.42rem}.modal-body.settings-list~.modal-actions{margin-top:.62rem;gap:.38rem}.settings-body{margin:.35rem 0 0;display:grid;gap:.34rem}.settings-list{display:grid;gap:.42rem}.settings-row-header{display:flex;align-items:baseline;justify-content:space-between;gap:.45rem}.settings-label{margin:0;color:var(--text-primary);font-weight:600}.settings-body p{margin:0}.settings-value{color:var(--text-secondary)}.settings-slider{width:100%;accent-color:var(--color-primary);padding-bottom:0;padding-top:0}.settings-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.2rem;height:1.2rem;border-radius:999px;border:1px solid var(--border-strong);background:linear-gradient(180deg,#1a2531,#16202b);position:relative;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.settings-toggle:before{content:"";position:absolute;top:1px;left:1px;width:calc(1.2rem - 4px);height:calc(1.2rem - 4px);border-radius:50%;background:#0f1722;border:1px solid var(--border-strong);transition:transform .14s ease}.settings-toggle:checked{border-color:var(--color-primary-active);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 65%,#0a0f18),color-mix(in srgb,var(--color-primary) 55%,#0a0f18))}.settings-toggle:checked:before{transform:translate(calc(2.2rem - 1.2rem))}.settings-toggle-row{display:flex;justify-content:flex-end;align-items:center;gap:.35rem}.settings-select{min-width:8.5rem;height:2rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:linear-gradient(180deg,#1a2531,#16202b);color:var(--text-primary);font-size:.84rem;font-weight:600;padding:0 .55rem}.settings-select:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 60%,transparent);outline-offset:1px}.settings-slider-row{list-style:none;margin-top:0;padding:.3rem .6rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(180deg,#121b26,#0f1822)}.settings-warning-row{list-style:none;margin:0;padding:.55rem .7rem;border:1px solid color-mix(in srgb,var(--color-warning) 55%,#0a0f18);border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--color-warning) 22%,#0a0f18),color-mix(in srgb,var(--color-warning) 16%,#0a0f18))}.settings-warning-text{margin:0;font-size:.86rem;color:color-mix(in srgb,var(--color-warning) 80%,white)}.modal-body li+li{margin-top:1rem}.modal-body li+li.settings-slider-row{margin-top:.5rem}.modal-keyword{font-weight:700;letter-spacing:.01em}.modal-keyword-primary{color:color-mix(in srgb,var(--color-primary) 88%,white)}.modal-keyword-success{color:color-mix(in srgb,var(--color-success) 90%,white)}.modal-keyword-warning{color:color-mix(in srgb,var(--color-warning) 86%,white)}.modal-keyword-danger{color:color-mix(in srgb,var(--color-danger) 90%,white)}.modal-actions{margin-top:.9rem;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:.5rem}.modal-actions .modal-button{flex:0 0 8.5rem;width:8.5rem;min-width:8.5rem;max-width:8.5rem}.modal-actions.modal-actions-centered{justify-content:center}.modal-actions.modal-actions-two-row-centered{justify-content:center;display:grid;grid-template-columns:repeat(2,8.5rem);row-gap:.8rem;column-gap:.5rem;justify-items:center}.modal-actions.modal-actions-two-row-centered .modal-button.action-span-two-columns{grid-column:1 / -1}.modal-notice{margin:.55rem 0 0;text-align:center;color:var(--text-muted);font-size:.6em;line-height:1.25;opacity:.78}.modal-notice.modal-notice-share-status{margin-top:.7rem;padding:.42rem .55rem;border:1px solid color-mix(in srgb,var(--color-primary) 52%,#0a0f18);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 18%,#0a0f18);color:color-mix(in srgb,var(--color-primary) 82%,white);font-size:.92rem;font-weight:600;line-height:1.35;letter-spacing:.01em;opacity:1}.startup-splash-status{margin-top:.7rem;font-size:.85rem;color:var(--text-secondary);opacity:.95}.startup-splash-diagnostics{margin-top:.4rem;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text-muted);opacity:.92}.card,.panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(180deg,#101925,#0e1621);padding:.85rem}@media(orientation:portrait){.move-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.move-controls .shuffle-button{grid-column:1 / -1}}@media(orientation:portrait)and (max-width:900px){body.app-mode-game canvas{width:calc(100% + (var(--game-shell-padding-x) * 2));max-width:none;margin-inline:calc(var(--game-shell-padding-x) * -1)}}@media(max-width:900px){.app-shell{width:min(100%,100vw)}.modal-card{max-height:min(84dvh,640px)}}@media(max-width:760px){.metric{min-height:2.05rem;padding:.38rem .45rem}.fb-test-banner-label{font-size:.82rem}.fb-test-banner-meta{font-size:.86rem}}@media(max-width:620px){body.app-mode-scroll .app-shell{margin:1rem auto;padding:.75rem}.hud{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.hud-copy{flex:1 1 auto}.pause-button{align-self:auto;min-width:2.5rem;min-height:2.5rem}.move-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.move-button{min-height:2.8rem}.modal-card{max-width:calc(100% - .4rem)}.modal-actions{gap:.45rem}.fb-test-banner-content{flex-wrap:wrap;gap:.3rem .5rem}.fb-test-banner-meta{margin-left:0;width:100%;font-size:.74rem}}@media(max-width:420px){.status-bar{gap:.35rem}.metric{min-height:1.95rem;padding:.34rem .4rem}.pause-button{min-width:2.5rem;padding-inline:.55rem}}@media(orientation:landscape)and (max-height:540px){body.has-fb-test-banner{--fb-test-banner-height: 50px}body.has-fb-banner-ad{--fb-banner-ad-height: 44px}body.app-mode-game .app-shell{padding:.4rem .5rem;padding-top:calc(.4rem + env(safe-area-inset-top) + var(--fb-banner-ad-height));padding-bottom:calc(.35rem + env(safe-area-inset-bottom) + var(--fb-test-banner-height));grid-template-rows:auto minmax(0,1fr) auto;gap:.35rem}.hud-copy{display:none}#hud-root{grid-row:1}body.app-mode-game canvas{grid-row:2;max-width:100%;max-height:100%}.move-controls{grid-row:3}.move-controls{gap:.4rem}.move-button{min-height:2.15rem;padding:.35rem .6rem}.hud{position:absolute;top:calc(env(safe-area-inset-top) + 3.15rem);right:.8rem;width:auto;margin:0;z-index:12;pointer-events:none}.title{font-size:1rem}.subtitle{display:none}.pause-button{min-width:2.5rem;min-height:2.5rem;padding:.35rem .6rem;pointer-events:auto}.status-bar{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(100px,1fr);gap:.35rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.15rem;scrollbar-width:thin}.metric{min-height:1.9rem;padding:.32rem .4rem;gap:.3rem}.modal-overlay{padding:.55rem}.modal-card{width:min(94vw,520px);max-width:calc(100% - .3rem);max-height:min(88dvh,420px);padding:.75rem}.modal-body{margin-top:.5rem}.modal-actions{margin-top:.7rem;gap:.4rem}.modal-actions .modal-button{min-height:2.05rem}.fb-test-banner{padding-block:.3rem}.fb-test-banner-meta,.fb-banner-ad-placeholder-meta{display:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-card-swap{0%{opacity:.85;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-card-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(4px) scale(.99)}}
