.doodle-board{--db-face: #c0c0c0;--db-hilight: #ffffff;--db-shadow: #808080;--db-dkshadow: #000000;--db-workspace: #808080;--db-text: #000000;display:flex;flex-direction:column;flex:1;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--db-face);font-family:Segoe UI,Tahoma,Arial,sans-serif;font-size:12px;color:var(--db-text);user-select:none;-webkit-user-select:none}.doodle-topbar{display:flex;flex-direction:column;flex-shrink:0;gap:0;border-bottom:1px solid var(--db-shadow);background:var(--db-face);box-shadow:inset 0 -1px var(--db-hilight);position:relative;z-index:20}.doodle-topbar-row{display:flex;align-items:center;gap:6px;padding:2px 6px}.doodle-topbar-row--menu{flex-shrink:0;overflow:visible;padding-top:3px;padding-bottom:1px;border-bottom:1px solid var(--db-hilight)}.doodle-topbar-row--tools{flex-shrink:0;min-height:62px;overflow:hidden}.doodle-brand{display:flex;flex-shrink:0;align-items:center;text-decoration:none}.doodle-brand:hover{opacity:.85}.doodle-logo{display:block;height:1.5rem;width:auto}.doodle-menus{display:flex;flex-shrink:0;flex-wrap:nowrap;gap:0}.doodle-menu{position:relative;z-index:30}.doodle-menu-trigger{margin:0;padding:2px 6px;border:1px solid transparent;background:transparent;font:inherit;cursor:default;white-space:nowrap}.doodle-menu-trigger:hover,.doodle-menu.is-open .doodle-menu-trigger{border-color:var(--db-shadow) var(--db-hilight) var(--db-hilight) var(--db-shadow);background:var(--db-face)}.doodle-menu-panel{position:absolute;top:100%;left:0;z-index:1000;min-width:160px;margin-top:1px;padding:2px;border:1px solid var(--db-dkshadow);background:var(--db-face);box-shadow:2px 2px #00000040,inset -1px -1px var(--db-hilight),inset 1px 1px var(--db-shadow),inset -2px -2px var(--db-face),inset 2px 2px var(--db-dkshadow)}.doodle-menu-panel:not([hidden]){display:block}.doodle-menu-panel[hidden]{display:none}.doodle-menu-item{display:block;width:100%;padding:3px 20px;border:none;background:transparent;font:inherit;text-align:left;text-decoration:none;color:inherit;cursor:default;white-space:nowrap}.doodle-menu-item:hover,.doodle-menu-item:focus{background:navy;color:#fff;outline:none}.doodle-topbar-sep{flex-shrink:0;align-self:stretch;width:2px;margin:2px 0;background:var(--db-shadow);box-shadow:1px 0 var(--db-hilight)}.doodle-toolbar{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border:1px solid var(--db-shadow);border-top-color:var(--db-dkshadow);border-left-color:var(--db-dkshadow);background:var(--db-face);box-shadow:inset 1px 1px var(--db-hilight),inset -1px -1px var(--db-shadow)}.doodle-toolbar::-webkit-scrollbar{display:none}.doodle-toolbar-row{display:flex;flex-shrink:0;align-items:center}.doodle-tool{position:relative;flex-shrink:0;box-sizing:border-box;width:28px;height:28px;margin:0;padding:0;border:0;border-right:1px solid var(--db-dkshadow);background:transparent;cursor:default;outline:0}.doodle-tool:last-child{border-right:0}.doodle-tool:before{content:"";position:absolute;z-index:1;inset:0;border-top:1px solid var(--db-hilight);border-left:1px solid var(--db-hilight);border-right:1px solid var(--db-shadow);border-bottom:1px solid var(--db-shadow);pointer-events:none}.doodle-tool:hover:active,.doodle-tool.is-active{padding:1px 1px 1px 2px;border-top:1px solid var(--db-dkshadow);border-left:1px solid var(--db-dkshadow);border-right:1px solid var(--db-hilight);background:transparent}.doodle-tool:hover:active:before,.doodle-tool.is-active:before{inset:0;border-top:1px solid var(--db-shadow);border-left:1px solid var(--db-shadow);border-right:1px solid var(--db-face);border-bottom:1px solid var(--db-face)}.doodle-tool.is-active{background:repeating-conic-gradient(gray 0% 25%,silver 0% 50%) 50% / 8px 8px}.doodle-tool-icon{position:absolute;left:6px;top:6px;z-index:2;display:flex;width:16px;height:16px;pointer-events:none}.doodle-tool-icon svg{display:block;width:16px;height:16px}.doodle-tool-options{display:flex;flex-shrink:0;align-items:center;gap:2px;padding:2px;border:1px solid var(--db-hilight);border-top-color:var(--db-shadow);border-left-color:var(--db-shadow);box-sizing:border-box}.doodle-opt-stroke{display:grid;grid-template-columns:repeat(2,22px);grid-template-rows:repeat(2,14px);gap:1px}.doodle-opt-shape{display:flex;flex-direction:column;gap:1px}.doodle-opt-shape[hidden]{display:none}.doodle-stroke-opt,.doodle-shape-opt{display:flex;align-items:center;justify-content:center;margin:0;padding:1px;border:1px solid transparent;background:transparent;cursor:default}.doodle-stroke-opt svg{width:20px;height:6px}.doodle-stroke-opt.is-active,.doodle-shape-opt.is-active,.doodle-stroke-opt[aria-pressed=true],.doodle-shape-opt[aria-pressed=true]{border-color:var(--db-shadow) var(--db-hilight) var(--db-hilight) var(--db-shadow);background:var(--db-face)}.doodle-shape-opt span{display:flex;width:16px;height:16px}.doodle-toolbar-colors{display:flex;flex-shrink:0;align-items:center;gap:4px}.doodle-current-colors{position:relative;flex-shrink:0;width:30px;height:31px;margin:0;padding:0;border:0;background:transparent;cursor:default}.doodle-color-swatch{position:absolute;box-sizing:border-box;width:15px;height:15px;border-top:1px solid var(--db-shadow);border-left:1px solid var(--db-shadow);border-right:1px solid var(--db-face);border-bottom:1px solid var(--db-face)}.doodle-color-swatch:after{content:"";position:absolute;inset:-1px -2px -2px -1px;border-right:1px solid var(--db-hilight);border-bottom:1px solid var(--db-hilight);pointer-events:none}.doodle-fg-swatch{left:2px;top:4px;border-top-color:var(--db-hilight);border-left-color:var(--db-hilight);border-right-color:var(--db-shadow);border-bottom-color:var(--db-shadow)}.doodle-bg-swatch{right:3px;bottom:3px}.doodle-palette{display:grid;grid-template-columns:repeat(10,15px);grid-template-rows:repeat(2,15px);gap:1px}.doodle-palette-swatch{width:15px;height:15px;margin:0;padding:0;border:0;border-top:1px solid var(--db-shadow);border-left:1px solid var(--db-shadow);border-right:1px solid var(--db-face);border-bottom:1px solid var(--db-face);cursor:default;box-sizing:border-box}.doodle-palette-swatch.is-active{outline:1px solid #000;outline-offset:-1px}.doodle-edit-colors-btn{display:flex;align-items:center;margin:0;padding:2px 6px;min-height:23px;border:none;background:var(--db-face);box-shadow:inset -1px -1px var(--db-dkshadow),inset 1px 1px var(--db-hilight),inset -2px -2px var(--db-shadow),inset 2px 2px var(--db-face);font:inherit;font-size:11px;cursor:default;white-space:nowrap}.doodle-edit-colors-btn:active{box-shadow:inset -1px -1px var(--db-hilight),inset 1px 1px var(--db-dkshadow),inset -2px -2px var(--db-face),inset 2px 2px var(--db-shadow)}.doodle-canvas-area{flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--db-workspace)}.doodle-stage{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--db-workspace)}.doodle-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;background:#fff}.doodle-board.is-eraser .doodle-canvas{cursor:cell}.doodle-board.is-fill .doodle-canvas{cursor:copy}.doodle-board.is-eyedropper .doodle-canvas{cursor:crosshair}.doodle-board.is-text .doodle-canvas{cursor:text}.doodle-board.is-magnifier .doodle-canvas{cursor:zoom-in}.doodle-board.is-select .doodle-canvas{cursor:default}.doodle-selection{position:absolute;pointer-events:none;border:1px dashed #000;background:transparent;animation:doodle-march .4s steps(2) infinite}@keyframes doodle-march{to{border-color:#fff}}.doodle-text-input{position:absolute;z-index:2;min-width:4rem;padding:0;border:1px dotted #000;background:transparent;font-family:Arial,sans-serif;outline:none}.doodle-loupe{position:absolute;z-index:3;pointer-events:none;border:2px solid #000;border-radius:50%;box-shadow:2px 2px #0006}.doodle-status{display:flex;flex-shrink:0;gap:2px;padding:0 2px 2px;overflow:hidden;white-space:nowrap;cursor:default}.doodle-status-text,.doodle-status-coords{display:flex;align-items:center;min-height:21px;padding:2px 3px;box-shadow:inset -1px -1px var(--db-face),inset 1px 1px var(--db-shadow)}.doodle-status-text{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.doodle-status-coords{flex:0 0 114px;min-width:0;padding-left:3px}@media(max-width:900px){.doodle-topbar-row--tools{flex-wrap:wrap}.doodle-toolbar{flex:1 1 100%}.doodle-toolbar-colors{flex:1 1 auto}}@media(max-width:640px){.doodle-palette{grid-template-columns:repeat(10,13px);grid-template-rows:repeat(2,13px)}.doodle-palette-swatch{width:13px;height:13px}.doodle-tool-options{display:none}.doodle-status-text{font-size:11px}}@media(prefers-reduced-motion:reduce){.doodle-selection{animation:none}}.doodle-about{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000059}.doodle-about[hidden]{display:none}.doodle-about-win{width:min(100%,380px);border:1px solid var(--db-dkshadow);background:var(--db-face);box-shadow:inset -1px -1px var(--db-hilight),inset 1px 1px var(--db-shadow),inset -2px -2px var(--db-face),inset 2px 2px var(--db-dkshadow),4px 4px 12px #00000059}.doodle-about-titlebar{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 2px 4px;background:linear-gradient(90deg,navy,#1084d0);color:#fff;font-size:11px;font-weight:600}.doodle-about-close{display:flex;align-items:center;justify-content:center;width:16px;height:14px;margin:0;padding:0;border:none;background:var(--db-face);box-shadow:inset -1px -1px var(--db-dkshadow),inset 1px 1px var(--db-hilight);font-size:12px;line-height:1;cursor:default}.doodle-about-body{padding:12px 14px;font-size:12px;line-height:1.45;color:var(--db-text)}.doodle-about-body p{margin:0 0 10px}.doodle-about-body ul{margin:0 0 10px;padding-left:18px}.doodle-about-body li{margin-bottom:4px}.doodle-about-body a{color:#00f}.doodle-about-footer{margin-bottom:0!important;font-size:11px;color:#444}.doodle-about-actions{display:flex;justify-content:center;padding:0 14px 12px}.doodle-about-ok{min-width:75px;min-height:23px;padding:0 16px;border:none;background:var(--db-face);box-shadow:inset -1px -1px var(--db-dkshadow),inset 1px 1px var(--db-hilight),inset -2px -2px var(--db-shadow),inset 2px 2px var(--db-face);font:inherit;font-size:11px;cursor:default}.doodle-about-ok:active{box-shadow:inset -1px -1px var(--db-hilight),inset 1px 1px var(--db-dkshadow),inset -2px -2px var(--db-face),inset 2px 2px var(--db-shadow)}.constellation-draw{position:relative;flex:1;width:100%;height:100%;min-height:0;overflow:hidden;background:#000;color:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.constellation-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none}.constellation-viewport:active{cursor:grabbing}.constellation-viewport canvas{display:block;position:absolute;inset:0;z-index:1;width:100%!important;height:100%!important}.constellation-header{position:absolute;top:14px;left:14px;z-index:10;display:flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;border-radius:999px;background:#ffffff14;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);pointer-events:auto}.constellation-brand{display:flex;flex-shrink:0;text-decoration:none}.constellation-logo{display:block;height:1.25rem;width:auto;filter:brightness(0) invert(1);opacity:.92}.constellation-title{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.02em;color:#ffffffeb;white-space:nowrap}.constellation-hint{position:absolute;bottom:28px;left:50%;z-index:6;transform:translate(-50%);margin:0;padding:0;font-size:.95rem;font-weight:400;color:#ffffff8c;text-align:center;white-space:nowrap;pointer-events:none}.constellation-star-info{position:absolute;bottom:52px;left:50%;z-index:6;transform:translate(-50%);margin:0;min-height:0;font-size:.9rem;font-weight:600;color:#ffffffeb;text-align:center;pointer-events:none;text-shadow:0 0 12px rgba(0,0,0,.9)}.constellation-star-info:empty{display:none}.constellation-star-tooltip{position:absolute;z-index:8;pointer-events:none;padding:5px 10px;border-radius:6px;background:#000000b8;border:1px solid rgba(255,255,255,.15);font-size:13px;font-weight:500;color:#fff;white-space:nowrap;box-shadow:0 2px 12px #00000080}.constellation-star-tooltip[hidden]{display:none}.constellation-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.constellation-label{position:absolute;pointer-events:none;padding:0;font-size:13px;font-weight:400;letter-spacing:.01em;color:#ffffffb8;white-space:nowrap;transform:translate(-50%,-50%);text-shadow:0 0 8px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.8)}.constellation-label[hidden]{display:none}.constellation-toolbar{position:absolute;right:16px;bottom:16px;z-index:10;display:flex;align-items:center;gap:2px;padding:6px 8px;border-radius:999px;background:#ffffff1a;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12)}.constellation-tool{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;border-radius:50%;background:transparent;color:#ffffffd9;cursor:pointer;transition:background .15s}.constellation-tool svg{width:20px;height:20px}.constellation-tool:hover{background:#ffffff1f}.constellation-tool[aria-pressed=true]{background:#ffffff2e}.constellation-tool--color{width:34px;height:34px}.constellation-color-swatch{display:block;width:22px;height:22px;border-radius:50%;background:#b388ff;box-shadow:0 0 0 1px #ffffff40}.constellation-dialog{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000b3}.constellation-dialog[hidden]{display:none}.constellation-dialog-panel{width:min(100%,320px);padding:24px;border-radius:14px;background:#111;border:1px solid rgba(255,255,255,.1)}.constellation-dialog-panel--wide{width:min(100%,480px)}.constellation-dialog-text{margin:0 0 16px;font-size:1rem;text-align:center;color:#ffffffe6}.constellation-name-input{display:block;width:100%;box-sizing:border-box;margin-bottom:16px;padding:10px 12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#000;color:#fff;font:inherit;font-size:1rem}.constellation-name-input:focus{outline:2px solid rgba(255,255,255,.3);outline-offset:0}.constellation-dialog-actions{display:flex;justify-content:center;gap:10px}.constellation-dialog-btn{min-width:88px;padding:8px 16px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;color:#fff;font:inherit;cursor:pointer}.constellation-dialog-btn--primary{border-color:transparent;background:#fff;color:#000;font-weight:600}.constellation-share-preview{display:block;width:100%;max-height:280px;object-fit:contain;margin-bottom:16px;border-radius:8px;background:#000}@media(max-width:640px){.constellation-header{top:10px;left:10px;gap:8px;padding:5px 10px 5px 7px}.constellation-logo{height:1.1rem}.constellation-title{font-size:.75rem;line-height:1.2;max-width:52vw;white-space:normal}.constellation-toolbar{right:8px;bottom:8px;padding:4px 6px}.constellation-tool{width:34px;height:34px}.constellation-hint{bottom:60px;font-size:.85rem;white-space:normal;max-width:80vw}}.reaction-test-page{flex:1;display:flex;flex-direction:column;min-height:0;background:#000}.reaction-test{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:1.5rem;font-family:Courier New,Courier,Lucida Console,monospace;color:#3f3;background:radial-gradient(ellipse at center,#0e180e,#000 85%),repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0px,rgba(0,0,0,.25) 1px,transparent 1px,transparent 3px);cursor:pointer;user-select:none;touch-action:manipulation;overflow:hidden;outline:none}.reaction-test:focus-visible{box-shadow:inset 0 0 0 2px #33ff3373}.reaction-test__rotate{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;font-family:Courier New,Courier,Lucida Console,monospace;color:#3f3;background:radial-gradient(ellipse at center,#0e180e,#000 88%),repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0px,rgba(0,0,0,.25) 1px,transparent 1px,transparent 3px);border:2px solid #33ff33;box-shadow:inset 0 0 40px #33ff3314}.reaction-test__rotate[hidden]{display:none}.reaction-test__rotate-icon{font-size:3.25rem;line-height:1;animation:reaction-rotate-hint 2s ease-in-out infinite}@keyframes reaction-rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.reaction-test__rotate-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 10px rgba(51,255,51,.35)}.reaction-test__rotate-text{margin:0;max-width:18rem;font-size:.72rem;line-height:1.55;letter-spacing:.06em;text-transform:uppercase;color:#33ff33b8}.reaction-test.is-portrait-lock .reaction-test__shell{visibility:hidden;pointer-events:none}.reaction-test__crt{position:absolute;inset:0;pointer-events:none;opacity:.08;z-index:10;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 4px)}.reaction-test__shell{position:relative;z-index:2;width:100%;max-width:76rem;display:flex;flex-direction:column;gap:1.5rem}.reaction-test__header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px double #33ff33;padding-bottom:.75rem}.reaction-test__brand{display:flex;align-items:center;text-decoration:none;pointer-events:auto}.reaction-test__logo{display:block;height:1.25rem;width:auto;filter:brightness(0) saturate(100%) invert(78%) sepia(52%) saturate(500%) hue-rotate(65deg)}.reaction-test__hud-title{text-align:center}.reaction-test__glow{display:block;font-size:.55rem;letter-spacing:.25em;color:#33ff33b3;margin-bottom:.25rem}.reaction-test__title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 8px rgba(51,255,51,.4)}.reaction-test__ver{margin:0;font-size:.65rem;letter-spacing:.08em;color:#3f39;text-transform:uppercase}.reaction-test__dashboard{display:grid;grid-template-columns:240px 1fr 240px;gap:1.25rem;width:100%}.reaction-test__panel{border:4px double #33ff33;background:#000a00f2;box-shadow:0 0 16px #33ff330d,inset 0 0 10px #002000cc;display:flex;flex-direction:column}.reaction-test__panel-head{margin:0;padding:.5rem;border-bottom:2px solid #33ff33;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-align:center;background:#002000d9;color:#3f3}.reaction-test__panel-body{padding:1rem;display:flex;flex-direction:column;gap:.85rem;flex:1}.reaction-test__stat{border:1px solid rgba(51,255,51,.35);padding:.65rem .85rem;background:#00140073;display:flex;flex-direction:column;gap:.25rem}.reaction-test__stat-label{font-size:.58rem;letter-spacing:.12em;color:#33ff33b3;text-transform:uppercase}.reaction-test__stat-value{font-size:1.45rem;font-weight:700;letter-spacing:.05em;line-height:1;font-variant-numeric:tabular-nums}.reaction-test__stat-value--status{font-size:1.15rem;color:#3f3}.reaction-test__stat-value--rating{font-size:1.15rem;letter-spacing:.08em}.reaction-test__stat-value--live{color:#6f6;text-shadow:0 0 10px rgba(102,255,102,.6)}.reaction-test__stat-value--highlight{color:#ff4;text-shadow:0 0 8px rgba(255,255,68,.55)}.reaction-test__history-box{margin-top:auto;border-top:1px dashed rgba(51,255,51,.3);padding-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.reaction-test__history-list{display:flex;flex-direction:column;gap:.25rem;font-size:.65rem;line-height:1.4}.reaction-test__history-item{display:flex;justify-content:space-between;border-bottom:1px dotted rgba(51,255,51,.2);padding:.2rem 0;color:#33ff33e6}.reaction-test__history-ms{font-weight:700;color:#ff4}.reaction-test__history-item--empty{text-align:center;color:#33ff3373;font-style:italic;padding:.5rem 0}.reaction-test__panel--center{flex:1}.reaction-test__panel-body--center{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;min-height:24rem}.reaction-test__gantry-wrap{width:100%;max-width:32rem;display:flex;flex-direction:column;align-items:center;margin-top:.5rem}.reaction-test__gantry-truss{width:102%;height:12px;background:repeating-linear-gradient(45deg,#111,#111 10px,#3f3 10px 20px);border:2px solid #33ff33;border-bottom:none;box-shadow:0 0 10px #33ff3340}.reaction-test__lights-box{width:100%;padding:1.25rem 2rem;background:#050505;border:3px solid #33ff33;box-shadow:inset 0 0 15px #000000e6;display:flex;justify-content:center}.reaction-test__lights{display:flex;justify-content:space-between;width:100%;max-width:24rem;gap:.75rem}.reaction-test__light{width:clamp(2.5rem,5.5vw,3.25rem);height:clamp(2.5rem,5.5vw,3.25rem);border-radius:50%;border:4px solid #222;background:radial-gradient(circle at 38% 32%,#1a1a1a,#050505 70%);box-shadow:inset 0 -4px 10px #000000e6;position:relative;transition:background .02s,box-shadow .02s,border-color .02s}.reaction-test__light:after{content:"";position:absolute;top:15%;left:15%;width:30%;height:30%;border-radius:50%;background:#ffffff26}.reaction-test__light--red.reaction-test__light--on{border-color:#500;background:radial-gradient(circle at 38% 32%,#f33,#b80000 60%,#3a0000);box-shadow:0 0 18px #ff1e1ef2,0 0 32px #ff000080,inset 0 -2px 6px #0006}.reaction-test__light--red.reaction-test__light--on:after{background:#fff9}.reaction-test__light--green.reaction-test__light--on{border-color:#040;background:radial-gradient(circle at 38% 32%,#3f3,#00a300 60%,#030);box-shadow:0 0 20px #1eff1ef2,0 0 36px #00ff008c,inset 0 -2px 6px #0006}.reaction-test__light--green.reaction-test__light--on:after{background:#fff9}.reaction-test__big-timer{width:100%;max-width:22rem;border:2px solid #33ff33;background:#00190099;padding:.85rem 1.25rem;text-align:center;box-shadow:inset 0 0 10px #00000080;display:flex;flex-direction:column;gap:.35rem}.reaction-test__big-timer .reaction-test__stat-value{font-size:2.75rem;min-height:2.75rem;color:#3f3;text-shadow:0 0 10px rgba(51,255,51,.3)}.reaction-test__control-pad{display:flex;flex-direction:column;gap:.65rem;align-items:center;width:100%}.reaction-test__message{margin:0;min-height:2.25rem;font-size:1rem;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase;color:#3f3;text-shadow:0 0 6px rgba(51,255,51,.3)}.reaction-test__message--go{color:#5f5;font-size:1.5rem;text-shadow:0 0 15px rgba(85,255,85,.8)}.reaction-test__message--false{color:#f33;text-shadow:0 0 10px rgba(255,51,51,.7)}.reaction-test__message--result{color:#ff3;text-shadow:0 0 8px rgba(255,255,51,.5)}.reaction-test__hint{margin:0;font-size:.58rem;letter-spacing:.08em;text-align:center;opacity:.55;text-transform:uppercase;line-height:1.4}.reaction-test__diag-box{margin-top:auto;border-top:1px dashed rgba(51,255,51,.3);padding-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.reaction-test__diag-lines{font-size:.58rem;line-height:1.6;color:#33ff33a6;font-family:monospace}.reaction-test__footer{margin:0;padding:.6rem;border-top:2px solid #33ff33;font-size:.55rem;letter-spacing:.06em;text-align:center;background:#002000d9;color:#33ff33bf;text-transform:uppercase;line-height:1.4}.reaction-test--arming .reaction-test__panel,.reaction-test--hold .reaction-test__panel{box-shadow:0 0 16px #ff00000d,inset 0 0 10px #001000cc}.reaction-test--waiting .reaction-test__panel{box-shadow:0 0 12px #33ff3308,inset 0 0 10px #001000cc}.reaction-test--go .reaction-test__panel{border-color:#5f5;box-shadow:0 0 20px #55ff551a,inset 0 0 10px #002000cc}.reaction-test--false .reaction-test__panel{border-color:#f33;animation:reaction-shake .32s ease}@keyframes reaction-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media(max-width:1024px)and (orientation:portrait){.reaction-test__dashboard{grid-template-columns:1fr 1fr}.reaction-test__panel--center{grid-column:1 / -1;order:-1}}@media(max-width:580px)and (orientation:portrait){.reaction-test{padding:.75rem}.reaction-test__dashboard{grid-template-columns:1fr;gap:.85rem}.reaction-test__panel--left{order:1}.reaction-test__panel--right{order:2}.reaction-test__panel-body--center{min-height:20rem;padding:1rem;gap:1.25rem}.reaction-test__lights-box{padding:1rem}.reaction-test__light{width:2.5rem;height:2.5rem}.reaction-test__big-timer .reaction-test__stat-value{font-size:2.25rem;min-height:2.25rem}.reaction-test__title{font-size:.95rem;letter-spacing:.12em}.reaction-test__ver{display:none}}@media(pointer:coarse)and (orientation:landscape){.reaction-test{height:100%;max-height:100%;padding:max(.25rem,env(safe-area-inset-top)) max(.4rem,env(safe-area-inset-right)) max(.25rem,env(safe-area-inset-bottom)) max(.4rem,env(safe-area-inset-left));justify-content:stretch}.reaction-test__shell{flex:1;width:100%;height:100%;min-height:0;max-width:none;gap:.3rem}.reaction-test__header{flex-shrink:0;padding-bottom:.2rem;border-bottom-width:2px}.reaction-test__glow{display:none}.reaction-test__logo{height:.95rem}.reaction-test__title{font-size:.72rem;letter-spacing:.1em}.reaction-test__ver{display:none}.reaction-test__dashboard{flex:1;min-height:0;grid-template-columns:minmax(0,7.25rem) minmax(0,1fr) minmax(0,7.25rem);gap:.4rem;align-items:stretch}.reaction-test__panel--center{grid-column:auto;order:0;min-height:0}.reaction-test__panel--left,.reaction-test__panel--right{order:0;min-height:0}.reaction-test__panel{border-width:2px;min-height:0;overflow:hidden}.reaction-test__panel-head{padding:.2rem .25rem;font-size:.48rem;letter-spacing:.1em}.reaction-test__panel-body{padding:.35rem;gap:.3rem;min-height:0;overflow:hidden}.reaction-test__panel-body--center{min-height:0;height:100%;padding:.35rem .5rem;gap:.3rem;justify-content:center}.reaction-test__stat{padding:.25rem .35rem;gap:.1rem}.reaction-test__stat-label{font-size:.45rem;letter-spacing:.08em}.reaction-test__stat-value{font-size:.9rem}.reaction-test__stat-value--status,.reaction-test__stat-value--rating{font-size:.78rem}.reaction-test__history-box,.reaction-test__diag-box,.reaction-test__footer,.reaction-test__hint{display:none}.reaction-test__gantry-wrap{margin-top:0;max-width:min(22rem,100%)}.reaction-test__gantry-truss{height:6px}.reaction-test__lights-box{padding:.4rem .65rem;border-width:2px}.reaction-test__lights{max-width:18rem;gap:.4rem}.reaction-test__light{width:clamp(1.6rem,9vh,2.35rem);height:clamp(1.6rem,9vh,2.35rem);border-width:2px}.reaction-test__big-timer{max-width:14rem;padding:.3rem .5rem;gap:.15rem}.reaction-test__big-timer .reaction-test__stat-value{font-size:clamp(1.25rem,8vh,1.75rem);min-height:1.25rem}.reaction-test__control-pad{gap:.2rem}.reaction-test__message{min-height:1.15rem;font-size:.68rem;letter-spacing:.08em}.reaction-test__message--go{font-size:1.05rem}}@media(pointer:coarse)and (orientation:landscape)and (max-height:380px){.reaction-test__panel--left,.reaction-test__panel--right{display:none}.reaction-test__dashboard{grid-template-columns:1fr}.reaction-test__header{padding-bottom:.1rem}.reaction-test__title{font-size:.65rem}.reaction-test__panel-head{display:none}.reaction-test__panel-body--center{padding:.25rem .4rem;gap:.2rem}.reaction-test__gantry-truss{height:4px}.reaction-test__lights-box{padding:.3rem .5rem}.reaction-test__light{width:clamp(1.4rem,12vh,2rem);height:clamp(1.4rem,12vh,2rem)}.reaction-test__big-timer{padding:.2rem .4rem}.reaction-test__big-timer .reaction-test__stat-value{font-size:1.2rem;min-height:1.1rem}.reaction-test__message{font-size:.62rem;min-height:1rem}}@media(pointer:coarse)and (max-height:420px){.reaction-test__rotate{gap:.5rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem max(.75rem,env(safe-area-inset-bottom))}.reaction-test__rotate-icon{font-size:2rem}.reaction-test__rotate-title{font-size:1rem}.reaction-test__rotate-text{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.reaction-test--false .reaction-test__panel,.reaction-test__rotate-icon{animation:none}}.nhie{--color-accent-blue: #4a90e2;--color-accent-green: #2ecc71;--color-accent-orange: #e67e22;--color-accent-purple: #9b59b6;--color-accent-yellow: #f1c40f;position:relative;width:100%;min-height:auto;padding:1.5rem 1rem;background-color:var(--color-linen);font-family:var(--font-body);color:var(--color-coffee-bean);display:flex;flex-direction:column;align-items:center}.nhie__bg-pattern{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(119,51,68,.04) 1px,transparent 1px);background-size:24px 24px;z-index:0}.nhie__shell{position:relative;z-index:1;width:100%;max-width:76rem;margin:0 auto}.nhie__header{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;text-align:center;border-bottom:3px solid var(--color-wine-plum);padding-bottom:1.5rem}@media(min-width:768px){.nhie__header{flex-direction:row;justify-content:space-between;align-items:center;text-align:center}.nhie__hud-title{flex:1;align-items:center}}.nhie__hud-title{display:flex;flex-direction:column;align-items:center}.nhie__accent-label{font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--color-lobster-strong);text-transform:uppercase}.nhie__title{margin:.25rem 0 0;font-family:var(--font-heading);font-size:clamp(2rem,5vw,2.5rem);font-weight:700;color:var(--color-wine-plum);line-height:1.1}.nhie__ver-badge{background-color:var(--color-wine-plum);color:var(--color-linen);padding:.35rem .85rem;border-radius:9999px;font-family:var(--font-ui);font-size:.8rem;font-weight:600;box-shadow:2px 2px 0 var(--color-coffee-bean);border:1px solid var(--color-coffee-bean)}.nhie__dashboard{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}@media(min-width:1024px){.nhie__dashboard{grid-template-columns:310px 1fr 310px;align-items:stretch}}.nhie__panel{background-color:var(--color-almond-silk);border:3px solid var(--color-wine-plum);border-radius:12px;padding:1.5rem;box-shadow:4px 4px 0 var(--color-wine-plum);transition:transform .2s var(--ease-out);display:flex;flex-direction:column;height:100%}.nhie__panel-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-wine-plum);margin-top:0;margin-bottom:1.25rem;border-bottom:2px dashed rgba(119,51,68,.25);padding-bottom:.5rem;display:flex;align-items:center;gap:.5rem;flex-shrink:0}.nhie__icon{font-size:1.2rem}.nhie__sub-title{font-family:var(--font-ui);font-size:.95rem;font-weight:600;color:var(--color-coffee-bean);margin-top:1.5rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.nhie__stats-box{display:flex;flex-direction:column;gap:.85rem;flex-shrink:0}.nhie__stat-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-linen);padding:.6rem .85rem;border-radius:8px;border:2px solid var(--color-wine-plum)}.nhie__stat-label{font-family:var(--font-ui);font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.nhie__stat-val{font-family:var(--font-ui);font-size:1rem;font-weight:700;color:var(--color-coffee-bean)}.nhie__progress-bar-wrap{margin-top:.25rem}.nhie__progress-bar-label{font-family:var(--font-ui);font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.35rem}.nhie__progress-track{height:12px;background-color:var(--color-linen);border:2px solid var(--color-wine-plum);border-radius:9999px;overflow:hidden}.nhie__progress-fill{height:100%;background-color:var(--color-lobster-strong);border-radius:9999px;transition:width .4s var(--ease-out)}.nhie__rating-badge{background-color:var(--color-wine-plum);color:var(--color-linen);border:2px solid var(--color-coffee-bean);border-radius:8px;padding:.75rem;text-align:center;display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;box-shadow:2px 2px 0 var(--color-coffee-bean)}.nhie__rating-title{font-family:var(--font-ui);font-size:.65rem;font-weight:700;letter-spacing:.1em;color:var(--color-almond-silk)}.nhie__rating-value{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;letter-spacing:.02em}.nhie__history-wrap{margin-top:1.5rem;display:flex;flex-direction:column;flex-grow:1;min-height:180px}.nhie__history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;flex-grow:1;height:0;overflow-y:auto;padding-right:.25rem}.nhie__history-list::-webkit-scrollbar{width:6px}.nhie__history-list::-webkit-scrollbar-track{background:#7733440d;border-radius:3px}.nhie__history-list::-webkit-scrollbar-thumb{background:var(--color-wine-plum);border-radius:3px}.nhie__history-empty{font-size:.85rem;color:var(--color-text-muted);text-align:center;padding:1.5rem .5rem;border:2px dashed rgba(119,51,68,.2);border-radius:8px;margin:auto 0}.nhie__history-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-linen);padding:.5rem .75rem;border-radius:6px;font-size:.825rem;border:1px solid rgba(119,51,68,.15);animation:slide-in .25s var(--ease-out) both;flex-shrink:0}.nhie__history-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-weight:500}.nhie__history-badge{font-family:var(--font-ui);font-size:.65rem;font-weight:700;padding:.15rem .45rem;border-radius:9999px;white-space:nowrap}.nhie__history-badge--have{background-color:var(--color-wine-plum);color:var(--color-linen)}.nhie__history-badge--never{background-color:var(--color-almond-silk);color:var(--color-coffee-bean);border:1px solid var(--color-wine-plum)}.nhie__history-pct{font-family:var(--font-ui);font-weight:700;color:var(--color-lobster-strong);margin-left:auto;padding-left:.5rem}.nhie__panel--center{background-color:var(--color-linen);box-shadow:none;border:none;padding:0;position:relative;display:flex;flex-direction:column;gap:1.5rem;width:100%;height:100%}.nhie__decor-stars{position:absolute;z-index:10;pointer-events:none;opacity:.35;width:32px;height:32px}.nhie__decor-stars--top-left{top:-12px;left:-12px}.nhie__decor-stars--bottom-right{bottom:80px;right:-12px}.nhie__game-card{position:relative;background-color:#fdfaf6;border:3px solid var(--color-wine-plum);border-radius:12px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:5px 5px 0 var(--color-wine-plum);transition:transform .25s var(--ease-spring),box-shadow .25s;flex-grow:1;min-height:380px}.nhie__game-card:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--color-wine-plum)}.nhie__card-grid-bg{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(#fdfdfb,#fdfdfb 27px,#7733440d 27px 28px);z-index:0}.nhie__card-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.nhie__category-badge{font-family:var(--font-ui);font-size:.75rem;font-weight:700;color:var(--color-linen);background-color:var(--color-wine-plum);padding:.25rem .75rem;border-radius:9999px;border:1px solid var(--color-coffee-bean);box-shadow:1px 1px 0 var(--color-coffee-bean);letter-spacing:.05em;transition:background-color .25s}.nhie__question-counter{font-family:var(--font-ui);font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.nhie__card-content{position:relative;z-index:1;flex-grow:1;display:flex;align-items:center;justify-content:center;padding:1.5rem 0;text-align:center}.nhie__question-text{font-family:var(--font-heading);font-size:clamp(1.4rem,4vw,1.85rem);font-weight:700;color:var(--color-coffee-bean);line-height:1.35;margin:0;word-wrap:break-word;max-width:92%;animation:pop-in .35s var(--ease-spring) both}.nhie__card-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1rem}@media(min-width:480px){.nhie__card-actions{grid-template-columns:1fr 1fr;gap:1rem}}.nhie__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.75rem 1.25rem;border-radius:8px;font-family:var(--font-ui);font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:3px 3px 0 var(--color-coffee-bean);transition:transform .15s var(--ease-out),box-shadow .15s}.nhie__btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-coffee-bean)}.nhie__btn--have{background-color:var(--color-lobster-strong);color:#fff;border:2px solid var(--color-coffee-bean)}.nhie__btn--have:hover{background-color:#cb3d4d}.nhie__btn--never{background-color:var(--color-almond-silk);color:var(--color-coffee-bean);border:2px solid var(--color-wine-plum);box-shadow:3px 3px 0 var(--color-wine-plum)}.nhie__btn--never:hover{background-color:#ebd4cc}.nhie__btn--never:active{box-shadow:1px 1px 0 var(--color-wine-plum)}.nhie__card-stats{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem;animation:fade-in .3s var(--ease-out) both}.nhie__choice-feedback{font-family:var(--font-ui);font-size:.9rem;font-weight:700;text-align:center;color:var(--color-lobster-strong);text-transform:uppercase;letter-spacing:.05em;background-color:#b838480f;padding:.35rem;border-radius:6px;border:1px dashed rgba(184,56,72,.2)}.nhie__bar-stats{display:flex;flex-direction:column;gap:.85rem}.nhie__bar-row{display:flex;flex-direction:column;gap:.25rem}.nhie__bar-labels{display:flex;justify-content:space-between;font-family:var(--font-ui);font-size:.85rem;font-weight:700}.nhie__bar-percent{color:var(--color-coffee-bean)}.nhie__bar-track{height:18px;background-color:var(--color-linen);border:2px solid var(--color-wine-plum);border-radius:6px;overflow:hidden;position:relative}.nhie__bar-fill{height:100%;border-radius:4px;width:0%;transition:width .8s cubic-bezier(.25,1,.5,1)}.nhie__bar-fill--have{background-color:var(--color-lobster-strong)}.nhie__bar-fill--never{background-color:var(--color-wine-plum)}.nhie__bar-vote-count{font-size:.75rem;color:var(--color-text-muted);text-align:right;font-weight:500}.nhie__total-votes{font-family:var(--font-ui);font-size:.75rem;text-align:center;color:var(--color-text-muted);margin-top:-.25rem}.nhie__btn-next{width:100%;min-height:3rem;background-color:var(--color-wine-plum);color:var(--color-linen);font-family:var(--font-ui);font-size:1rem;font-weight:700;border:2px solid var(--color-coffee-bean);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:3px 3px 0 var(--color-coffee-bean);transition:transform .15s var(--ease-spring),box-shadow .15s}.nhie__btn-next:hover{transform:translateY(-2px);box-shadow:5px 5px 0 var(--color-coffee-bean);background-color:#632938}.nhie__btn-next:active{transform:translateY(1px);box-shadow:2px 2px 0 var(--color-coffee-bean)}.nhie__controls{display:flex;justify-content:space-between;gap:.75rem}.nhie__ctrl-btn{flex:1;min-height:2.75rem;background-color:var(--color-almond-silk);border:2px solid var(--color-wine-plum);color:var(--color-coffee-bean);border-radius:8px;font-family:var(--font-ui);font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:2px 2px 0 var(--color-wine-plum);transition:all .15s var(--ease-out);display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.nhie__ctrl-btn:hover:not(:disabled){background-color:#ebd4cc;transform:translateY(-1px);box-shadow:3px 3px 0 var(--color-wine-plum)}.nhie__ctrl-btn:active:not(:disabled){transform:translateY(1px);box-shadow:1px 1px 0 var(--color-wine-plum)}.nhie__ctrl-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.nhie__ctrl-btn--share{background-color:var(--color-linen)}.nhie__categories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1.5rem;flex-shrink:0}.nhie__cat-btn{border:2px solid var(--color-wine-plum);background-color:var(--color-linen);padding:.5rem;border-radius:8px;font-family:var(--font-ui);font-size:.75rem;font-weight:700;cursor:pointer;text-align:center;transition:all .15s var(--ease-out);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;box-shadow:2px 2px 0 var(--color-wine-plum)}.nhie__cat-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-wine-plum)}.nhie__cat-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--color-wine-plum)}.nhie__cat-btn--active{background-color:var(--color-wine-plum);color:var(--color-linen)}.nhie__cat-count{font-size:.65rem;opacity:.8;font-weight:500}.nhie__insights-box{background-color:var(--color-linen);border:2px solid var(--color-wine-plum);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:200px;position:relative;overflow:hidden;flex-grow:1}.nhie__insights-content{font-size:.85rem;line-height:1.5;color:var(--color-text-muted);font-weight:500;z-index:1}.nhie__mascot-peek-container{position:absolute;bottom:-15px;right:-10px;pointer-events:none;opacity:.45;transition:transform .3s var(--ease-spring);z-index:0}.nhie__insights-box:hover .nhie__mascot-peek-container{transform:translate(-5px,-5px) scale(1.05)}@keyframes pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:1023px){.nhie{padding:.85rem .65rem 1.5rem;overflow-x:clip;max-width:100%}.nhie__shell{max-width:100%;overflow-x:clip}.nhie__header{gap:.65rem;margin-bottom:1.1rem;padding-bottom:1rem;border-bottom-width:2px}.nhie__title{font-size:clamp(1.55rem,7.5vw,2rem)}.nhie__accent-label{font-size:.65rem;letter-spacing:.1em}.nhie__ver-badge{font-size:.72rem;padding:.3rem .7rem}.nhie__dashboard{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.nhie__panel--center{order:-1;height:auto;width:100%;max-width:100%;gap:.85rem}.nhie__panel{height:auto;padding:1rem;box-shadow:3px 3px 0 var(--color-wine-plum);max-width:100%;min-width:0}.nhie__panel--center{padding:0;box-shadow:none;border:none;background:transparent}.nhie__panel-title{font-size:1.1rem;margin-bottom:.85rem}.nhie__decor-stars{display:none}.nhie__game-card{min-height:0;padding:1.1rem .9rem 1.15rem;box-shadow:3px 3px 0 var(--color-wine-plum);border-width:2px;width:100%;max-width:100%;box-sizing:border-box}.nhie__game-card:hover{transform:none;box-shadow:3px 3px 0 var(--color-wine-plum)}.nhie__card-header{margin-bottom:.75rem;gap:.5rem;flex-wrap:wrap}.nhie__category-badge{font-size:.7rem;max-width:100%;white-space:normal;text-align:left;line-height:1.3}.nhie__card-content{padding:.75rem 0;min-height:5.5rem}.nhie__question-text{font-size:clamp(1.15rem,4.6vw,1.45rem);max-width:100%;line-height:1.3}.nhie__card-actions{grid-template-columns:1fr;gap:.65rem;margin-top:.65rem}.nhie__btn{width:100%;min-height:3rem;padding:.7rem .85rem;font-size:.88rem;box-shadow:2px 2px 0 var(--color-coffee-bean)}.nhie__btn--never{box-shadow:2px 2px 0 var(--color-wine-plum)}.nhie__btn-text{text-wrap:balance}.nhie__controls{gap:.5rem}.nhie__ctrl-btn{min-height:2.6rem;font-size:.78rem;padding:.4rem .35rem;box-shadow:2px 2px 0 var(--color-wine-plum)}.nhie__history-wrap{margin-top:.75rem}.nhie__history-list{max-height:9.5rem}.nhie__history-txt{max-width:none;flex:1;min-width:0}.nhie__history-item{gap:.35rem}.nhie__categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:1rem}.nhie__cat-btn{font-size:.7rem;padding:.45rem .35rem;min-height:2.75rem;word-break:break-word}.nhie__insights-box{min-height:0;padding:.85rem}.nhie__insights-box .nhie__sub-title{margin-top:0}.nhie__mascot-peek-container{opacity:.28;right:-6px;bottom:-12px}.nhie__mascot-peek{width:64px;height:64px}.nhie__rating-value{font-size:.95rem;word-break:break-word}}@media(max-width:1023px)and (min-width:480px){.nhie__card-actions{grid-template-columns:1fr 1fr}}.whack-a-mole-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.whack-a-mole{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(119,51,68,.25),transparent 55%),linear-gradient(180deg,#5c3d28,#3d2818 40%,#2a1c12);color:#f5e9e2}.whack-a-mole__hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 14px;padding:10px clamp(12px,3vw,20px);padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid rgba(227,181,164,.15);background:#2a1c12d1;backdrop-filter:blur(10px)}.whack-a-mole__brand{display:flex;align-items:center;text-decoration:none;opacity:.9}.whack-a-mole__brand:hover{opacity:1}.whack-a-mole__logo{display:block;height:clamp(20px,4vw,28px);width:auto;filter:brightness(0) invert(1)}.whack-a-mole__stats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px}.whack-a-mole__stat{min-width:3.25rem;padding:4px 10px;border-radius:8px;text-align:center;background:#77334459;border:1px solid rgba(227,181,164,.12)}.whack-a-mole__stat--accent{background:#b8384873}.whack-a-mole__stat-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.58rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#e8d7d2b3}.whack-a-mole__stat-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(.95rem,2.8vw,1.2rem);font-weight:700;font-variant-numeric:tabular-nums;color:#f5e9e2;line-height:1.2}.whack-a-mole__actions{display:flex;justify-content:flex-end}.whack-a-mole__end{min-height:40px;padding:0 14px;border:1px solid rgba(227,181,164,.35);border-radius:8px;background:#b8384880;color:#f5e9e2;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .12s ease}.whack-a-mole__end:hover{background:#b83848bf}.whack-a-mole__end:active{transform:scale(.97)}.whack-a-mole__end[hidden]{display:none}.whack-a-mole__stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:clamp(12px,3vw,24px);padding-bottom:max(16px,env(safe-area-inset-bottom));min-height:0;position:relative}.whack-a-mole__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,2.5vw,18px);width:min(calc(100vw - 32px),calc(100dvh - 200px),36rem);max-width:100%}.whack-a-mole__hole{position:relative;aspect-ratio:1;border:2px solid rgba(119,51,68,.45);border-radius:14px;background:linear-gradient(180deg,#c9a090,#8b6b58 55%,#6b4f3e);cursor:pointer;overflow:hidden;padding:0;box-shadow:inset 0 4px 12px #00000026,0 4px 12px #0003;transition:transform .1s ease}.whack-a-mole__hole:active{transform:scale(.96)}.whack-a-mole__hole-pit{position:absolute;bottom:8%;left:50%;width:78%;height:30%;transform:translate(-50%);border-radius:50%;background:#2a1c128c;box-shadow:inset 0 4px 8px #00000059}.whack-a-mole__mole{position:absolute;inset-inline:10%;bottom:8%;display:flex;align-items:center;justify-content:center;font-size:clamp(2.25rem,9vw,4rem);transform:translateY(110%);transition:transform .28s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.whack-a-mole__hole.is-up .whack-a-mole__mole{transform:translateY(0)}.whack-a-mole__hole.is-hit .whack-a-mole__mole{transform:translateY(25%) rotate(-15deg) scale(.9);opacity:.5}.whack-a-mole__hint{margin:0;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.88rem;color:#f5e9e2b3;text-align:center}.whack-a-mole__hint[hidden]{display:none}.whack-a-mole__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b00148c;backdrop-filter:blur(4px)}.whack-a-mole__overlay[hidden]{display:none}.whack-a-mole__panel{width:100%;max-width:22rem;padding:1.75rem 1.5rem;text-align:center;background:#f5e9e2;border:2px solid #773344;border-radius:12px;box-shadow:4px 4px #734}.whack-a-mole__panel-emoji{margin:0 0 .5rem;font-size:2.75rem;line-height:1}.whack-a-mole__panel-title{margin:0 0 .5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.75rem;font-weight:700;color:#734}.whack-a-mole__panel-text{margin:0 0 1.25rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:1rem;line-height:1.55;color:#463a48}.whack-a-mole__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:9rem;padding:.65rem 1.75rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734}.whack-a-mole__btn:active{transform:translateY(2px);box-shadow:0 2px #734}@media(max-width:560px){.whack-a-mole__hud{grid-template-columns:auto 1fr}.whack-a-mole__actions{grid-column:1 / -1;justify-content:center}.whack-a-mole__stats{grid-column:1 / -1;justify-content:space-between}.whack-a-mole__stat{flex:1;min-width:0}}@media(prefers-reduced-motion:reduce){.whack-a-mole__mole{transition:none}}.tic-tac-toe-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.tic-tac-toe{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;background:linear-gradient(180deg,#faf6f3,#f5e9e2,#ede0d8);color:#0b0014}.tic-tac-toe__hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 14px;padding:10px clamp(12px,3vw,20px);padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid rgba(119,51,68,.12);background:#f5e9e2eb;backdrop-filter:blur(8px)}.tic-tac-toe__brand{display:flex;align-items:center;text-decoration:none;opacity:.92}.tic-tac-toe__brand:hover{opacity:1}.tic-tac-toe__logo{display:block;height:clamp(20px,4vw,28px);width:auto}.tic-tac-toe__title-wrap{text-align:center;min-width:0}.tic-tac-toe__title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.1rem,3.5vw,1.45rem);font-weight:700;color:#734;line-height:1.1}.tic-tac-toe__subtitle{margin:3px 0 0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.72rem;font-weight:600;color:#463a48}.tic-tac-toe__scores{display:flex;gap:6px}.tic-tac-toe__score{min-width:2.75rem;padding:4px 8px;border-radius:8px;text-align:center;background:#7733441a}.tic-tac-toe__score--you{background:#7733442e}.tic-tac-toe__score--ai{background:#b8384826}.tic-tac-toe__score-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.55rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#463a48}.tic-tac-toe__score-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums;color:#734;line-height:1.2}.tic-tac-toe__stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,3vw,20px);padding:clamp(12px,3vw,24px);min-height:0}.tic-tac-toe__diff{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tic-tac-toe__diff-btn{min-height:40px;padding:0 16px;border-radius:999px;border:2px solid #773344;background:transparent;color:#734;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,transform .12s ease}.tic-tac-toe__diff-btn:hover:not(:disabled){background:#77334414}.tic-tac-toe__diff-btn.is-active{background:#734;color:#f5e9e2;box-shadow:0 3px #77334459}.tic-tac-toe__diff-btn:disabled{opacity:.55;cursor:not-allowed}.tic-tac-toe__status-wrap{text-align:center;min-height:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.tic-tac-toe__status{margin:0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:clamp(.9rem,2.5vw,1rem);font-weight:600;color:#734}.tic-tac-toe__ai-msg{margin:0;padding:6px 14px;border-radius:999px;background:#b838481f;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.88rem;font-weight:500;color:#463a48;opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease}.tic-tac-toe__ai-msg.is-visible{opacity:1;transform:translateY(0)}.tic-tac-toe__board{display:grid;grid-template-columns:repeat(3,1fr);width:min(calc(100vw - 48px),calc(100dvh - 280px),22rem);border:3px solid #773344;border-radius:14px;overflow:hidden;background:#e3b5a4;box-shadow:4px 4px #7343,0 16px 40px #0b001414;transition:opacity .2s ease,transform .2s ease}.tic-tac-toe.is-thinking .tic-tac-toe__board{opacity:.88;transform:scale(.99)}.tic-tac-toe__cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid rgba(119,51,68,.15);background:#f5e9e2;cursor:pointer;padding:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(2.5rem,12vw,4rem);font-weight:700;line-height:1;transition:background .15s ease,transform .1s ease}.tic-tac-toe__cell:hover:not(:disabled){background:#ede0d8}.tic-tac-toe__cell:active:not(:disabled){transform:scale(.96)}.tic-tac-toe__cell--x{color:#734}.tic-tac-toe__cell--o{color:#b83848}.tic-tac-toe__cell--win{background:#b838482e;animation:ttt-win-pulse .6s ease}.tic-tac-toe__cell--thinking{cursor:wait}@keyframes ttt-win-pulse{50%{background:#b8384847}}.tic-tac-toe__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.tic-tac-toe__btn{min-height:44px;padding:.65rem 1.5rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734;transition:transform .12s ease}.tic-tac-toe__btn:hover{transform:translateY(-1px)}.tic-tac-toe__btn:active{transform:translateY(2px);box-shadow:0 2px #734}.tic-tac-toe__btn--ghost{background:transparent;color:#734;border:2px solid #773344;box-shadow:none}.tic-tac-toe__btn[hidden],.tic-tac-toe__hint[hidden]{display:none}.tic-tac-toe__hint{margin:0;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.85rem;color:#463a48;text-align:center}@media(max-width:520px){.tic-tac-toe__hud{grid-template-columns:auto 1fr}.tic-tac-toe__scores{grid-column:1 / -1;justify-content:center}.tic-tac-toe__title-wrap{text-align:left}}@media(prefers-reduced-motion:reduce){.tic-tac-toe__board,.tic-tac-toe__ai-msg,.tic-tac-toe__cell--win{transition:none;animation:none}}.stack-game-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden;background:#2a9d8f}.stack-game{flex:1;display:flex;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none}.stack-game__stage{position:relative;flex:1;width:100%;height:100%;min-height:0;overflow:hidden}.stack-game__canvas{display:block;width:100%;height:100%;cursor:pointer;touch-action:manipulation}.stack-game__brand{position:absolute;top:0;left:0;z-index:10;display:flex;align-items:center;padding:clamp(.65rem,2.5vw,1rem) clamp(.75rem,3vw,1.25rem);text-decoration:none;opacity:.88;transition:opacity .15s ease}.stack-game__brand:hover{opacity:1}.stack-game__logo{display:block;height:clamp(1.25rem,3.5vw,1.6rem);width:auto;filter:brightness(0) invert(1)}.stack-game__best{position:absolute;top:clamp(.65rem,2.5vw,1rem);right:clamp(.75rem,3vw,1.25rem);z-index:10;margin:0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffffbf;pointer-events:none}.stack-game__best-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;line-height:1.2}.stack-game__score{position:absolute;top:clamp(2.5rem,8vw,3.5rem);left:50%;z-index:10;transform:translate(-50%);margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(3.5rem,14vw,5.5rem);font-weight:300;font-variant-numeric:tabular-nums;color:#ffffffeb;line-height:1;pointer-events:none;text-shadow:0 2px 24px rgba(0,0,0,.15)}.stack-game__hint{position:absolute;bottom:clamp(1.25rem,5vw,2rem);left:50%;z-index:10;transform:translate(-50%);margin:0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.9rem;font-weight:500;color:#ffffffd9;pointer-events:none;letter-spacing:.02em}.stack-game__perfect{position:absolute;top:clamp(6.5rem,18vw,8rem);left:50%;z-index:11;transform:translate(-50%);margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.1rem,4vw,1.5rem);font-weight:700;color:#fff9c4;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.25);animation:stack-perfect-pop .8s ease forwards}@keyframes stack-perfect-pop{0%{opacity:0;transform:translate(-50%) scale(.85)}20%{opacity:1;transform:translate(-50%) scale(1.05)}to{opacity:0;transform:translate(-50%) scale(1)}}.stack-game__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0f3c468c;backdrop-filter:blur(4px);transition:opacity .25s ease,visibility .25s ease}.stack-game__overlay[hidden]{display:none}.stack-game__panel{text-align:center;padding:2rem 1.5rem;max-width:20rem}.stack-game__panel-emoji{margin:0 0 .5rem;font-size:2.5rem;line-height:1}.stack-game__panel-title{margin:0 0 .5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.75rem;font-weight:700;color:#fff}.stack-game__panel-text{margin:0 0 1.25rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:1rem;line-height:1.5;color:#ffffffe0}.stack-game__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.75rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #0003;transition:transform .15s ease,box-shadow .15s ease}.stack-game__btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.stack-game__btn:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.stack-game__perfect{animation:none;opacity:1}}.snake-game-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden;background:#050a08}.snake-game{position:relative;flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:none;user-select:none;background:#050a08}.snake-game__rotate{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:max(1rem,env(safe-area-inset-top)) 1.25rem max(1rem,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;text-align:center;background:linear-gradient(160deg,#0f2416,#050a08,#030604)}.snake-game__rotate[hidden]{display:none}.snake-game__rotate-icon{font-size:2.5rem;line-height:1;animation:snake-rotate-hint 2s ease-in-out infinite}@keyframes snake-rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.snake-game__rotate-title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.2rem;font-weight:700;color:#e8f5e9}.snake-game__rotate-text{margin:0;max-width:16rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.85rem;line-height:1.45;color:#e8f5e9c7}.snake-game.is-portrait-lock .snake-game__hud,.snake-game.is-portrait-lock .snake-game__body{visibility:hidden;pointer-events:none}.snake-game__hud{flex-shrink:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;padding:8px clamp(10px,2.5vw,16px);padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid rgba(102,187,106,.15);background:#08120cf2}.snake-game__brand{display:flex;align-items:center;text-decoration:none;opacity:.9}.snake-game__logo{display:block;height:clamp(16px,3.5vw,26px);width:auto;filter:brightness(0) invert(1);opacity:.88}.snake-game__score-block{text-align:center}.snake-game__score-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.55rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a5d6a7bf}.snake-game__score{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.35rem,4vw,2rem);font-weight:700;font-variant-numeric:tabular-nums;color:#e8f5e9;line-height:1}.snake-game__hud-end{display:flex;gap:6px}.snake-game__pill{min-width:2.75rem;padding:4px 8px;border-radius:8px;text-align:center;background:#2e7d3238;border:1px solid rgba(102,187,106,.2)}.snake-game__pill-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.5rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#c8e6c9b3}.snake-game__pill-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:#c8e6c9;line-height:1.2}.snake-game__body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.snake-game__play{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none}.snake-game__canvas{display:block;width:100%;height:100%}.snake-game__pause-fab{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));z-index:12;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(129,199,132,.35);border-radius:50%;background:#0c1c10d9;color:#a5d6a7;font-size:.95rem;cursor:pointer;backdrop-filter:blur(8px)}.snake-game__pause-fab[hidden]{display:none}.snake-game__overlay{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:flex-start;padding:max(.35rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#040a06c7;backdrop-filter:blur(8px)}.snake-game__overlay[hidden]{display:none}.snake-game__overlay>.snake-game__panel[hidden]{display:none}.snake-game__panel{width:100%;max-width:20rem;max-height:calc(100dvh - 1.5rem);margin:auto;padding:1.25rem 1rem;text-align:center;border-radius:14px;border:1px solid rgba(102,187,106,.3);background:linear-gradient(160deg,#122a18f2,#08140cfa);overflow-y:auto;flex-shrink:0}.snake-game__panel-emoji{margin:0 0 .35rem;font-size:2rem;line-height:1}.snake-game__panel-title{margin:0 0 .35rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.25rem;font-weight:700;color:#e8f5e9}.snake-game__panel-text{margin:0 0 .75rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.82rem;line-height:1.45;color:#e8f5e9cc}.snake-game__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:9rem;padding:.65rem 1.5rem;border:none;border-radius:10px;background:linear-gradient(180deg,#66bb6a,#43a047 55%,#2e7d32);color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px #1b5e20}.snake-game__btn:active{transform:translateY(2px);box-shadow:0 2px #1b5e20}.snake-game__panel--mode{max-width:20rem}.snake-game__mode-pick{display:flex;flex-direction:column;gap:.5rem}.snake-game__mode-opt{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;min-height:44px;padding:.6rem .85rem;border:1px solid rgba(102,187,106,.35);border-radius:12px;background:#0c2012d9;color:#e8f5e9;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease}.snake-game__mode-opt:hover{background:#14301cf2;border-color:#81c7848c}.snake-game__mode-opt:active{transform:translateY(1px)}.snake-game__mode-opt-title{font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.95rem;font-weight:600}.snake-game__mode-opt-desc{font-family:var(--font-body, "Oxygen", sans-serif);font-size:.78rem;line-height:1.4;color:#e8f5e9b8}.snake-game__countdown{position:absolute;inset:0;z-index:18;display:flex;align-items:center;justify-content:center;background:#040a0673;pointer-events:none}.snake-game__countdown[hidden]{display:none}.snake-game__count-num{font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(4rem,22vw,7rem);font-weight:700;font-variant-numeric:tabular-nums;color:#e8f5e9;text-shadow:0 0 40px rgba(76,175,80,.65);line-height:1}.snake-game__countdown.is-pop .snake-game__count-num{animation:snake-count-pop .55s cubic-bezier(.34,1.56,.64,1)}@keyframes snake-count-pop{0%{transform:scale(.35);opacity:.2}70%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.snake-game__controls{display:none;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px clamp(10px,2vw,14px);padding-bottom:max(8px,env(safe-area-inset-bottom));border-top:1px solid rgba(102,187,106,.12);background:#060e0af2}.snake-game__controls.is-visible{display:flex}.snake-game__dpad{display:grid;grid-template-columns:repeat(3,clamp(2.55rem,10vw,3rem));grid-template-rows:repeat(3,clamp(2.55rem,10vw,3rem));grid-template-areas:". up ." "left . right" ". down .";gap:.35rem;touch-action:manipulation;user-select:none}.snake-game__dir{display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:2px solid rgba(102,187,106,.4);border-radius:10px;background:linear-gradient(160deg,#4caf5059,#142818f2 70%);color:#c8e6c9;font-size:clamp(.95rem,3.5vw,1.15rem);line-height:1;cursor:pointer;box-shadow:inset 0 1px #ffffff1f,0 3px #00000059;-webkit-tap-highlight-color:transparent}.snake-game__dir:active,.snake-game__dir.is-pressed{transform:translateY(2px);box-shadow:inset 0 2px 6px #00000059;background:linear-gradient(160deg,#81c78473,#2e7d32f2 70%)}.snake-game__dir--up{grid-area:up}.snake-game__dir--left{grid-area:left}.snake-game__dir--right{grid-area:right}.snake-game__dir--down{grid-area:down}.snake-game__controls-hint{margin:0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.68rem;color:#c8e6c98c;text-align:center}@media(pointer:coarse)and (orientation:landscape){.snake-game__overlay{padding:max(.35rem,env(safe-area-inset-top)) .5rem max(.35rem,env(safe-area-inset-bottom))}.snake-game__panel,.snake-game__panel--mode{max-width:min(16rem,88vw);padding:.65rem .75rem}.snake-game__panel-emoji{margin-bottom:.15rem;font-size:1.35rem}.snake-game__panel-title{margin-bottom:.15rem;font-size:.95rem}.snake-game__panel-text{margin-bottom:.5rem;font-size:.68rem;line-height:1.3}.snake-game__mode-pick{gap:.35rem}.snake-game__mode-opt{min-height:42px;padding:.4rem .65rem}.snake-game__mode-opt-title{font-size:.8rem}.snake-game__mode-opt-desc{font-size:.62rem;line-height:1.25}.snake-game__btn{min-height:38px;min-width:7.5rem;padding:.4rem .85rem;font-size:.8rem}.snake-game__body{flex-direction:row}.snake-game__play{flex:1;min-width:0}.snake-game__controls{display:flex;flex-direction:column;justify-content:center;align-items:center;width:clamp(8.5rem,28vw,11rem);border-top:none;border-left:1px solid rgba(102,187,106,.12);padding-bottom:max(8px,env(safe-area-inset-right))}.snake-game__dpad{grid-template-columns:repeat(3,clamp(2.35rem,8vh,2.75rem));grid-template-rows:repeat(3,clamp(2.35rem,8vh,2.75rem));gap:.3rem}.snake-game__hud{padding:6px 12px;padding-top:max(6px,env(safe-area-inset-top))}.snake-game__score{font-size:1.35rem}}@media(pointer:coarse)and (orientation:landscape)and (max-height:380px){.snake-game__panel-emoji,.snake-game__panel-text,.snake-game__mode-opt-desc{display:none}.snake-game__mode-opt{min-height:36px;padding:.35rem .6rem}}@media(pointer:coarse)and (orientation:portrait){.snake-game__controls.is-visible{display:flex}}@media(max-width:520px)and (orientation:landscape){.snake-game__hud{grid-template-columns:auto 1fr auto}}@media(pointer:coarse)and (max-height:420px){.snake-game__rotate{gap:.5rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem max(.75rem,env(safe-area-inset-bottom))}.snake-game__rotate-icon{font-size:2rem}.snake-game__rotate-title{font-size:1rem}.snake-game__rotate-text{font-size:.75rem;line-height:1.35}}@media(prefers-reduced-motion:reduce){.snake-game__rotate-icon,.snake-game__countdown.is-pop .snake-game__count-num{animation:none}}.speed-type-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.speed-type{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;background:linear-gradient(180deg,#faf6f3,#f5e9e2,#ede0d8);color:#0b0014}.speed-type__hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 14px;padding:10px clamp(12px,3vw,20px);padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid rgba(119,51,68,.12);background:#f5e9e2eb;backdrop-filter:blur(8px)}.speed-type__brand{display:flex;align-items:center;text-decoration:none;opacity:.92}.speed-type__brand:hover{opacity:1}.speed-type__logo{display:block;height:clamp(20px,4vw,28px);width:auto}.speed-type__title-wrap{text-align:center;min-width:0}.speed-type__title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.1rem,3.5vw,1.45rem);font-weight:700;color:#734;line-height:1.1}.speed-type__subtitle{margin:3px 0 0;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.78rem;color:#463a48}.speed-type__subtitle[hidden]{display:none}.speed-type__stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.speed-type__stat{min-width:2.75rem;padding:4px 8px;border-radius:8px;text-align:center;background:#7733441a}.speed-type__stat--best{background:#b8384826}.speed-type__stat-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.55rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#463a48}.speed-type__stat-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;color:#734;line-height:1.2}.speed-type__stage{position:relative;flex:1;display:flex;flex-direction:column;gap:clamp(10px,2.5vw,14px);padding:clamp(12px,3vw,20px);min-height:0;overflow:hidden}.speed-type__tag{display:inline-flex;align-self:flex-start;margin:0;padding:.3rem .65rem;border-radius:999px;background:#7733441a;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#734}.speed-type__progress{height:6px;border-radius:999px;background:#7733441f;overflow:hidden;flex-shrink:0}.speed-type__progress-fill{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#734,#b83848);transition:width .15s ease}.speed-type__passage{flex:1;min-height:0;overflow-y:auto;font-family:Oxygen,ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:clamp(.95rem,2.2vw,1.08rem);line-height:1.85;padding:1rem 1.1rem;background:linear-gradient(180deg,#fff,#faf6f3);border:2px solid rgba(119,51,68,.18);border-radius:12px;box-shadow:inset 0 1px #fffc;-webkit-overflow-scrolling:touch}.type-char{color:#8a7f90;transition:color .1s ease,background .1s ease}.type-char.is-correct{color:#0b0014}.type-char.is-wrong{color:#b83848;background:#b8384824;border-radius:2px}.type-char.is-current{background:#b838482e;border-radius:2px;box-shadow:inset 0 -2px #b83848}.speed-type__input-wrap{position:relative;flex-shrink:0}.speed-type__input-wrap:before{content:"▌";position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1rem;color:#b83848;opacity:0;pointer-events:none;animation:speed-type-caret 1s step-end infinite}.speed-type__input-wrap.is-focused:not(.has-text):before{opacity:1}@keyframes speed-type-caret{50%{opacity:0}}.speed-type__input{width:100%;padding:.9rem 1rem;border:2px solid #773344;border-radius:10px;font-family:Oxygen,ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:clamp(.95rem,2.2vw,1.05rem);line-height:1.5;background:#fff;color:#0b0014;box-shadow:0 2px #77334414;transition:border-color .15s ease,box-shadow .15s ease}.speed-type__input::placeholder{color:#8a7f90;font-family:var(--font-body, "Oxygen", sans-serif)}.speed-type__input:focus{outline:none;border-color:#b83848;box-shadow:0 0 0 3px #b8384826}.speed-type__input:disabled{opacity:.65;cursor:not-allowed}.speed-type__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;flex-shrink:0}.speed-type__btn{min-height:44px;padding:.65rem 1.25rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734;transition:transform .12s ease}.speed-type__btn:hover{transform:translateY(-1px)}.speed-type__btn:active{transform:translateY(2px);box-shadow:0 2px #734}.speed-type__btn--ghost{background:transparent;color:#734;border:2px solid #773344;box-shadow:none}.speed-type__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b00148c;backdrop-filter:blur(4px)}.speed-type__overlay[hidden]{display:none}.speed-type__panel{width:100%;max-width:22rem;padding:2rem 1.5rem;text-align:center;background:#f5e9e2;border:2px solid #773344;border-radius:12px;box-shadow:4px 4px #734}.speed-type__panel-emoji{margin:0 0 .5rem;font-size:2.5rem;line-height:1}.speed-type__panel-title{margin:0 0 .5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.75rem;font-weight:700;color:#734}.speed-type__panel-text{margin:0 0 1.25rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:1rem;line-height:1.55;color:#463a48}@media(max-width:640px){.speed-type__hud{grid-template-columns:auto 1fr}.speed-type__stats{grid-column:1 / -1;justify-content:center}.speed-type__title-wrap{text-align:left}}@media(prefers-reduced-motion:reduce){.speed-type__progress-fill,.type-char{transition:none}.speed-type__input-wrap:before{animation:none;opacity:0}}@media(pointer:coarse){.type-char.is-current{scroll-margin:.35rem 0}.speed-type--keyboard-open{position:fixed;top:var(--vv-top, 0);left:0;right:0;width:100%;height:var(--vvh, 100dvh);max-height:var(--vvh, 100dvh);z-index:50}.speed-type--keyboard-open .speed-type__subtitle,.speed-type--keyboard-open .speed-type__actions{display:none}.speed-type--keyboard-open .speed-type__hud{padding-top:max(6px,env(safe-area-inset-top));padding-bottom:6px}.speed-type--keyboard-open .speed-type__stage{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));gap:8px}.speed-type--keyboard-open .speed-type__passage{flex:1 1 auto;min-height:4.5rem;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}}.quick-math-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.quick-math{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;background:radial-gradient(ellipse 100% 80% at 50% 0%,#3d2448,#1a1020 45%,#120a14)}.quick-math__hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem 1rem;padding:clamp(.5rem,2vw,.75rem) clamp(.75rem,3vw,1.25rem);border-bottom:1px solid rgba(227,181,164,.12);background:#0b00148c;backdrop-filter:blur(8px)}.quick-math__brand{display:flex;align-items:center;text-decoration:none;opacity:.9}.quick-math__brand:hover{opacity:1}.quick-math__logo{display:block;height:clamp(1.2rem,3.5vw,1.5rem);width:auto;filter:brightness(0) invert(1);opacity:.9}.quick-math__stats{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 1.25rem}.quick-math__stat{text-align:center;min-width:3.25rem}.quick-math__stat-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#e8d7d2a6}.quick-math__stat-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.1rem,3.5vw,1.4rem);font-weight:700;font-variant-numeric:tabular-nums;color:#f5e9e2;line-height:1.2}.quick-math__stat-value--accent{color:#e3b5a4}.quick-math__best{text-align:right;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.7rem;font-weight:600;color:#e8d7d2a6}.quick-math__best-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.25rem;font-weight:700;color:#e3b5a4}.quick-math__stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1rem,3vw,1.75rem);padding:clamp(1rem,4vw,2rem);min-height:0;position:relative}.quick-math__timer-ring{position:relative;width:clamp(5.5rem,18vw,7.5rem);height:clamp(5.5rem,18vw,7.5rem)}.quick-math__timer-svg{width:100%;height:100%;transform:rotate(-90deg)}.quick-math__timer-track{fill:none;stroke:#e3b5a433;stroke-width:6}.quick-math__timer-progress{fill:none;stroke:#b83848;stroke-width:6;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:0;transition:none}.quick-math__timer-progress.is-bonus{stroke:#66bb6a}.quick-math__timer-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.5rem,5vw,2rem);font-weight:700;font-variant-numeric:tabular-nums;color:#f5e9e2}.quick-math__timer-text.is-low{color:#ff8a80;animation:math-timer-pulse .8s ease-in-out infinite}@keyframes math-timer-pulse{50%{opacity:.65}}.quick-math__problem{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(2.25rem,9vw,3.75rem);font-weight:700;text-align:center;color:#f5e9e2;text-shadow:0 4px 24px rgba(0,0,0,.35);letter-spacing:.02em}.quick-math__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.65rem,2.5vw,.85rem);width:min(100%,22rem)}.quick-math__choice{min-height:56px;padding:.75rem 1rem;border:2px solid rgba(227,181,164,.4);border-radius:12px;background:#f5e9e21a;color:#f5e9e2;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.35rem,5vw,1.85rem);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:0 4px #77334459;transition:transform .12s ease,background .15s ease,border-color .15s ease}.quick-math__choice:hover:not(:disabled){transform:translateY(-1px);border-color:#e3b5a4b3;background:#f5e9e229}.quick-math__choice:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #77334459}.quick-math__choice:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.quick-math__choice.is-correct{border-color:#66bb6a;background:#66bb6a47;color:#e8f5e9}.quick-math__choice.is-wrong{border-color:#b83848;background:#b8384847;color:#ffebee}.quick-math__hint{margin:0;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.9rem;color:#e8d7d28c;text-align:center}.quick-math__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b0014b8;backdrop-filter:blur(6px)}.quick-math__overlay[hidden]{display:none}.quick-math__panel{width:100%;max-width:22rem;padding:2rem 1.5rem;text-align:center;background:#f5e9e2;border:2px solid #773344;border-radius:12px;box-shadow:4px 4px #734}.quick-math__panel-emoji{margin:0 0 .5rem;font-size:2.75rem;line-height:1}.quick-math__panel-title{margin:0 0 .5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.75rem;font-weight:700;color:#734}.quick-math__panel-text{margin:0 0 1.25rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:1rem;line-height:1.55;color:#463a48}.quick-math__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:9rem;padding:.65rem 1.75rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734;transition:transform .12s ease}.quick-math__btn:hover{transform:translateY(-1px)}.quick-math__btn:active{transform:translateY(2px);box-shadow:0 2px #734}.quick-math.is-correct .quick-math__stage{animation:math-flash-ok .28s ease}.quick-math.is-wrong .quick-math__stage{animation:math-flash-bad .28s ease}@keyframes math-flash-ok{0%{background:#66bb6a33}to{background:transparent}}@keyframes math-flash-bad{0%{background:#b8384840}to{background:transparent}}@media(prefers-reduced-motion:reduce){.quick-math__timer-text.is-low,.quick-math.is-correct .quick-math__stage,.quick-math.is-wrong .quick-math__stage{animation:none}}.matrix-rain-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.matrix-rain{position:relative;flex:1;width:100%;height:100%;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(0,255,112,.14),transparent 34%),linear-gradient(180deg,#03110d,#020807 55%,#010403);color:#eaffef;touch-action:none;user-select:none}.matrix-rain.is-neo{background:radial-gradient(circle at 50% 18%,rgba(185,255,205,.16),transparent 32%),radial-gradient(circle at 50% 75%,rgba(0,255,112,.12),transparent 42%),linear-gradient(180deg,#02160e,#010705)}.matrix-rain__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;background:#020807}.matrix-rain__hud{position:absolute;top:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:12px clamp(12px,3vw,24px);background:linear-gradient(180deg,#020807db,#02080752);backdrop-filter:blur(10px);pointer-events:none}.matrix-rain__brand,.matrix-rain__chip,.matrix-rain__field select,.matrix-rain__field input{pointer-events:auto}.matrix-rain__brand{display:flex;align-items:center;text-decoration:none;opacity:.9;transition:opacity .15s ease,transform .15s ease}.matrix-rain__brand:hover{opacity:1;transform:translateY(-1px)}.matrix-rain__logo{display:block;height:clamp(20px,4vw,28px);width:auto;filter:brightness(0) invert(1)}.matrix-rain__title-wrap{min-width:0;text-align:center}.matrix-rain__title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.1rem,3vw,1.45rem);font-weight:700;line-height:1;color:#eaffef;text-shadow:0 0 18px rgba(0,255,112,.55)}.matrix-rain__subtitle{margin:4px 0 0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#bcffcfad}.matrix-rain__actions{display:flex;justify-content:flex-end;gap:8px}.matrix-rain__chip{min-height:44px;padding:0 14px;border:1px solid rgba(147,255,178,.3);border-radius:999px;background:#061c12bf;color:#eaffefe0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.78rem;font-weight:700;letter-spacing:.03em;cursor:pointer;box-shadow:inset 0 1px #ffffff14,0 0 #00ff7000;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.matrix-rain__chip:hover{border-color:#93ffb294;background:#082817e6}.matrix-rain__chip:active{transform:scale(.97)}.matrix-rain__chip:focus-visible,.matrix-rain__field select:focus-visible,.matrix-rain__field input:focus-visible{outline:2px solid #b83848;outline-offset:3px}.matrix-rain__chip.is-active{border-color:#b9ffcdcc;background:#006930eb;color:#fff;box-shadow:0 0 18px #00ff7047}.matrix-rain__controls{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:10;display:flex;align-items:end;gap:12px;width:min(calc(100% - 32px),680px);padding:12px;border:1px solid rgba(147,255,178,.18);border-radius:16px;background:#020807b8;box-shadow:0 16px 42px #0000005c;backdrop-filter:blur(12px);transform:translate(-50%)}.matrix-rain__field{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#bcffcfb8}.matrix-rain__field select,.matrix-rain__field input[type=range]{min-height:44px}.matrix-rain__field select{width:100%;border:1px solid rgba(147,255,178,.26);border-radius:10px;background:#081a11eb;color:#eaffef;font:inherit;letter-spacing:0;text-transform:none;padding:0 10px}.matrix-rain__field input[type=range]{width:100%;accent-color:#22e66f}.matrix-rain__field--speed{flex:1.4}.matrix-rain__mobile-help{position:absolute;left:50%;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 84px);z-index:9;transform:translate(-50%);padding:8px 12px;border-radius:999px;background:#02080794;color:#eaffefb8;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.78rem;font-weight:600;pointer-events:none;backdrop-filter:blur(8px)}@media(max-width:720px){.matrix-rain__hud{grid-template-columns:auto 1fr;gap:10px}.matrix-rain__title-wrap{text-align:left}.matrix-rain__actions{grid-column:1 / -1;justify-content:stretch}.matrix-rain__chip{flex:1}.matrix-rain__controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:calc(100% - 24px);padding:10px}.matrix-rain__field--speed{grid-column:1 / -1}.matrix-rain__mobile-help{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 154px)}}@media(max-width:430px){.matrix-rain__subtitle{font-size:.68rem}.matrix-rain__chip{padding-inline:10px;font-size:.72rem}.matrix-rain__mobile-help{display:none}}@media(prefers-reduced-motion:reduce){.matrix-rain__brand,.matrix-rain__chip{transition:none}}.game-2048-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden;background:#faf6f1}.game-2048{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;background:linear-gradient(180deg,#faf6f1,#f5e9e2);color:#0b0014}.game-2048__hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 16px;padding:12px clamp(12px,3vw,24px);border-bottom:1px solid rgba(119,51,68,.12);background:#f5e9e2eb;backdrop-filter:blur(8px)}.game-2048__brand{display:flex;align-items:center;text-decoration:none;opacity:.92}.game-2048__brand:hover{opacity:1}.game-2048__logo{display:block;height:clamp(20px,4vw,28px);width:auto}.game-2048__title-wrap{text-align:center;min-width:0}.game-2048__title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:700;color:#734;line-height:1}.game-2048__subtitle{margin:4px 0 0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.75rem;font-weight:600;color:#463a48}.game-2048__scores{display:flex;gap:8px}.game-2048__score-box{min-width:4.5rem;padding:6px 12px;border-radius:8px;background:#734;text-align:center}.game-2048__score-box--best{background:#b83848}.game-2048__score-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#f5e9e2d9}.game-2048__score-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums;color:#f5e9e2;line-height:1.2}.game-2048__stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:clamp(12px,3vw,24px);min-height:0}.game-2048__board{position:relative;width:min(calc(100vw - 32px),calc(100dvh - 220px),28rem);aspect-ratio:1;padding:10px;border-radius:14px;background:#734;box-shadow:4px 4px #77334440,0 16px 40px #0b00141f;touch-action:none;outline:none}.game-2048__board:focus-visible{box-shadow:4px 4px #77334440,0 0 0 3px #b8384859}.game-2048__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g2048-gap, 10px);width:100%;height:100%}.game-2048__cell{background:#f5e9e238;border-radius:8px}.game-2048__tiles{position:absolute;inset:10px;pointer-events:none}.game-2048__tile{position:absolute;top:0;left:0;z-index:1;transition:transform .13s cubic-bezier(.22,1,.36,1);will-change:transform}.game-2048__tile-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:8px;font-family:var(--font-heading, "Catamaran", sans-serif);font-weight:700;line-height:1}.game-2048__tile.is-new .game-2048__tile-inner{animation:g2048-pop .18s ease-out}.game-2048__tile.is-merged .game-2048__tile-inner{animation:g2048-merge .18s ease-out}@keyframes g2048-pop{0%{transform:scale(.5);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes g2048-merge{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.game-2048__tile--2 .game-2048__tile-inner{background:#f5e9e2;color:#0b0014}.game-2048__tile--4 .game-2048__tile-inner{background:#e3b5a4;color:#0b0014}.game-2048__tile--8 .game-2048__tile-inner{background:#d44d5c;color:#fff}.game-2048__tile--16 .game-2048__tile-inner{background:#b83848;color:#fff}.game-2048__tile--32 .game-2048__tile-inner{background:#9e2d3a;color:#fff}.game-2048__tile--64 .game-2048__tile-inner{background:#734;color:#fff}.game-2048__tile--128 .game-2048__tile-inner{background:#5c2840;color:#fff}.game-2048__tile--256 .game-2048__tile-inner{background:#4a2238;color:#fff}.game-2048__tile--512 .game-2048__tile-inner{background:#3a1c30;color:#fff}.game-2048__tile--1024 .game-2048__tile-inner{background:#2d1728;color:#fff}.game-2048__tile--2048 .game-2048__tile-inner{background:#b83848;color:#fff;box-shadow:0 0 20px #b8384873}.game-2048__hint{margin:0;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.9rem;color:#463a48;text-align:center}.game-2048__btn{min-height:44px;padding:.65rem 1.5rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734;transition:transform .12s ease}.game-2048__btn:hover{transform:translateY(-1px)}.game-2048__btn:active{transform:translateY(2px);box-shadow:0 2px #734}.game-2048__btn--ghost{background:transparent;color:#734;border:2px solid #773344;box-shadow:none}.game-2048__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;border-radius:14px;background:#0b00149e;backdrop-filter:blur(4px)}.game-2048__overlay[hidden]{display:none}.game-2048__panel{width:100%;max-width:16rem;padding:1.5rem;text-align:center;background:#f5e9e2;border:2px solid #773344;border-radius:12px;box-shadow:4px 4px #734}.game-2048__panel-emoji{margin:0 0 .5rem;font-size:2.5rem;line-height:1}.game-2048__panel-title{margin:0 0 .5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.5rem;font-weight:700;color:#734}.game-2048__panel-text{margin:0 0 1rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.95rem;color:#463a48}.game-2048__panel-actions{display:flex;flex-direction:column;gap:8px}@media(max-width:520px){.game-2048__hud{grid-template-columns:auto 1fr}.game-2048__scores{grid-column:1 / -1;justify-content:center}.game-2048__title-wrap{text-align:left}}@media(prefers-reduced-motion:reduce){.game-2048__tile{transition:none}.game-2048__tile.is-new .game-2048__tile-inner,.game-2048__tile.is-merged .game-2048__tile-inner{animation:none}}.flappy-bird-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.flappy-bird{position:relative;flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-tap-highlight-color:transparent}.flappy-bird__rotate{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:max(1rem,env(safe-area-inset-top)) 1.25rem max(1rem,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;text-align:center;background:linear-gradient(160deg,#4a9ec4,#2d7a9e 45%,#1a5f7a)}.flappy-bird__rotate[hidden]{display:none}.flappy-bird__rotate-icon{font-size:2.5rem;line-height:1;animation:flappy-rotate-hint 2s ease-in-out infinite}@keyframes flappy-rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.flappy-bird__rotate-title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.2rem;font-weight:700;color:#fff}.flappy-bird__rotate-text{margin:0;max-width:16rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.85rem;line-height:1.45;color:#ffffffe0}.flappy-bird.is-portrait-lock .flappy-bird__hud,.flappy-bird.is-portrait-lock .flappy-bird__stage,.flappy-bird.is-portrait-lock .flappy-bird__hint{visibility:hidden;pointer-events:none}.flappy-bird__hud{position:absolute;top:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px clamp(12px,3vw,20px);padding-top:max(12px,env(safe-area-inset-top));pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent)}.flappy-bird__brand{display:flex;align-items:center;pointer-events:auto;text-decoration:none;opacity:.92}.flappy-bird__brand:hover{opacity:1}.flappy-bird__logo{display:block;height:clamp(20px,4vw,28px);width:auto;filter:brightness(0) invert(1)}.flappy-bird__score-live{margin:0;text-align:center;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(2.5rem,10vw,4rem);font-weight:700;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.2),0 0 24px rgba(255,255,255,.2);line-height:1;opacity:0;transition:opacity .2s ease}.flappy-bird.is-playing .flappy-bird__score-live{opacity:1}.flappy-bird__best{margin:0;text-align:right;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffffbf}.flappy-bird__best-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.25rem;font-weight:700;color:#fff}.flappy-bird__stage{flex:1;position:relative;min-height:0;touch-action:none}.flappy-bird__canvas{display:block;width:100%;height:100%;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.flappy-bird__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0000006b;touch-action:manipulation}.flappy-bird__overlay[hidden]{display:none}.flappy-bird__panel{width:100%;max-width:20rem;padding:1.75rem 1.5rem;text-align:center;background:#f5e9e2;border:2px solid #773344;border-radius:12px;box-shadow:4px 4px #734}.flappy-bird__panel-emoji{margin:0 0 .5rem;font-size:2.75rem;line-height:1}.flappy-bird__panel-title{margin:0 0 .5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.75rem;font-weight:700;color:#734}.flappy-bird__panel-text{margin:0 0 1.25rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:1rem;line-height:1.5;color:#463a48}.flappy-bird__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:9rem;padding:.65rem 1.75rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734;transition:transform .12s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.flappy-bird__btn:hover{transform:translateY(-1px)}.flappy-bird__btn:active{transform:translateY(2px);box-shadow:0 2px #734}.flappy-bird__countdown{position:absolute;inset:0;z-index:18;display:flex;align-items:center;justify-content:center;background:#0003;pointer-events:none}.flappy-bird__countdown[hidden]{display:none}.flappy-bird__count-num{font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(4rem,22vw,7rem);font-weight:700;font-variant-numeric:tabular-nums;color:#fff;line-height:1;text-shadow:0 4px 0 rgba(119,51,68,.35),0 0 36px rgba(255,255,255,.35)}.flappy-bird__countdown.is-pop .flappy-bird__count-num{animation:flappy-count-pop .55s cubic-bezier(.34,1.56,.64,1)}@keyframes flappy-count-pop{0%{transform:scale(.35);opacity:.2}70%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.flappy-bird__hint{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;z-index:10;transform:translate(-50%);margin:0;padding:8px 14px;border-radius:999px;background:#00000047;color:#ffffffe6;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.8rem;font-weight:600;pointer-events:none;backdrop-filter:blur(6px)}.flappy-bird.is-playing .flappy-bird__hint{opacity:0}@media(max-width:480px){.flappy-bird__hud{grid-template-columns:auto 1fr}.flappy-bird__best{text-align:right}}@media(pointer:coarse){.flappy-bird__hint{backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.flappy-bird__score-live,.flappy-bird__countdown.is-pop .flappy-bird__count-num{transition:none;animation:none}.flappy-bird__rotate-icon{animation:none}}@media(pointer:coarse)and (max-height:420px){.flappy-bird__rotate{gap:.5rem;padding:max(.75rem,env(safe-area-inset-top)) 1rem max(.75rem,env(safe-area-inset-bottom))}.flappy-bird__rotate-icon{font-size:2rem}.flappy-bird__rotate-title{font-size:1rem}.flappy-bird__rotate-text{font-size:.75rem}}.click-speed-page{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.click-speed{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;background:radial-gradient(ellipse 90% 60% at 50% 0%,rgba(212,77,92,.22),transparent 55%),radial-gradient(ellipse 70% 50% at 80% 100%,rgba(119,51,68,.18),transparent 50%),linear-gradient(180deg,#2a1420,#1a0a12,#120810);color:#f5e9e2}.click-speed__hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 16px;padding:12px clamp(12px,3vw,24px);padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid rgba(227,181,164,.12);background:#1a0a12bf;backdrop-filter:blur(10px)}.click-speed__brand{display:flex;align-items:center;text-decoration:none;opacity:.9}.click-speed__brand:hover{opacity:1}.click-speed__logo{display:block;height:clamp(20px,4vw,28px);width:auto;filter:brightness(0) invert(1);opacity:.9}.click-speed__title-wrap{text-align:center;min-width:0}.click-speed__title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.1rem,3.5vw,1.45rem);font-weight:700;color:#f5e9e2;line-height:1.1}.click-speed__subtitle{margin:4px 0 0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#e8d7d2a6}.click-speed__best{text-align:right;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#e8d7d2a6}.click-speed__best-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;color:#e3b5a4}.click-speed__stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,4vw,28px);padding:clamp(16px,4vw,32px);min-height:0;position:relative}.click-speed__stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px;width:100%;max-width:28rem}.click-speed__stat{flex:1;min-width:5.5rem;padding:10px 14px;border-radius:12px;text-align:center;background:#77334459;border:1px solid rgba(227,181,164,.15);box-shadow:inset 0 1px #ffffff0f}.click-speed__stat--accent{background:#b8384873;border-color:#e3b5a440}.click-speed__stat-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#e8d7d2b3}.click-speed__stat-value{display:block;margin-top:2px;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:700;font-variant-numeric:tabular-nums;color:#f5e9e2;line-height:1.1}.click-speed__target-wrap{position:relative;display:flex;align-items:center;justify-content:center}.click-speed__ring{position:absolute;width:clamp(11rem,42vw,16rem);height:clamp(11rem,42vw,16rem);transform:rotate(-90deg);pointer-events:none}.click-speed__ring-track{fill:none;stroke:#e3b5a426;stroke-width:6}.click-speed__ring-progress{fill:none;stroke:#b83848;stroke-width:6;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:0;transition:none;filter:drop-shadow(0 0 8px rgba(184,56,72,.5))}.click-speed.is-playing .click-speed__ring-progress{stroke:#e3b5a4}.click-speed__target{position:relative;z-index:1;width:clamp(9.5rem,36vw,14rem);height:clamp(9.5rem,36vw,14rem);border:none;border-radius:50%;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:radial-gradient(circle at 32% 28%,#e3b5a4,#d44d5c 45%,#b83848);box-shadow:0 8px 32px #b8384873,inset 0 2px 12px #ffffff40,inset 0 -4px 12px #00000026;transition:transform 80ms ease,box-shadow 80ms ease;-webkit-tap-highlight-color:transparent}.click-speed__target:hover{box-shadow:0 12px 40px #b838488c,inset 0 2px 12px #ffffff4d,inset 0 -4px 12px #00000026}.click-speed__target:active,.click-speed__target.is-pulse{transform:scale(.94)}.click-speed__target-count{font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(2.5rem,10vw,3.75rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.2)}.click-speed__target-label{margin-top:6px;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:clamp(.75rem,2.5vw,.9rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.92}.click-speed__ripple{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,255,255,.6);pointer-events:none;animation:cps-ripple .4s ease-out forwards}@keyframes cps-ripple{0%{transform:scale(1);opacity:.8}to{transform:scale(1.35);opacity:0}}.click-speed__bars-wrap{width:100%;max-width:22rem;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}.click-speed.is-playing .click-speed__bars-wrap,.click-speed.is-results .click-speed__bars-wrap{opacity:1;transform:translateY(0)}.click-speed__bars-label{margin:0 0 8px;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#e8d7d28c;text-align:center}.click-speed__bars{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:4rem;padding:0 8px}.click-speed__bar{flex:1;max-width:2.5rem;min-height:4px;border-radius:6px 6px 0 0;background:#e3b5a459;transition:height .2s ease,background .2s ease}.click-speed__bar.is-peak{background:linear-gradient(180deg,#e3b5a4,#b83848);box-shadow:0 0 12px #b8384866}.click-speed__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b0014b8;backdrop-filter:blur(6px)}.click-speed__overlay[hidden]{display:none}.click-speed__panel{width:100%;max-width:22rem;padding:2rem 1.5rem;text-align:center;background:#f5e9e2;border:2px solid #773344;border-radius:12px;box-shadow:4px 4px #734}.click-speed__panel-emoji{margin:0 0 .5rem;font-size:3rem;line-height:1}.click-speed__panel-title{margin:0 0 .35rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.75rem;font-weight:700;color:#734}.click-speed__panel-rating{display:inline-block;margin:0 0 .75rem;padding:4px 12px;border-radius:999px;background:#7733441f;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#734}.click-speed__panel-text{margin:0 0 1.25rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:1rem;line-height:1.55;color:#463a48}.click-speed__panel-cps{display:block;margin-bottom:.5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:2.5rem;font-weight:700;color:#b83848;line-height:1}.click-speed__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:9rem;padding:.65rem 1.75rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734;transition:transform .12s ease}.click-speed__btn:hover{transform:translateY(-1px)}.click-speed__btn:active{transform:translateY(2px);box-shadow:0 2px #734}@media(max-width:520px){.click-speed__hud{grid-template-columns:auto 1fr}.click-speed__title-wrap{text-align:left}.click-speed__best{text-align:right}.click-speed__stats{gap:8px}.click-speed__stat{min-width:calc(50% - 8px)}}@media(prefers-reduced-motion:reduce){.click-speed__target,.click-speed__bars-wrap,.click-speed__ripple{transition:none;animation:none}}.sudoku-page{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;container-type:size;container-name:sudoku-frame}.game-frame:has(.sudoku-page) .game-stage{height:min(40rem,82dvh,125cqw);min-height:max(22rem,56cqw)}@media(max-width:640px){.game-frame:has(.sudoku-page) .game-stage{height:min(78dvh,36rem);min-height:28rem}}.sudoku{flex:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none;background:linear-gradient(180deg,#faf6f3,#f5e9e2 45%,#ede0d8);color:#0b0014}.sudoku__hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;flex-shrink:0;padding:8px clamp(10px,3vw,16px);padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid rgba(119,51,68,.12);background:#f5e9e2eb;backdrop-filter:blur(8px)}.sudoku__brand{display:flex;align-items:center;text-decoration:none;opacity:.92}.sudoku__logo{display:block;height:clamp(18px,4vw,26px);width:auto}.sudoku__title-wrap{text-align:center;min-width:0}.sudoku__title{margin:0;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(1rem,3.5vw,1.35rem);font-weight:700;color:#734;line-height:1.1}.sudoku__subtitle{margin:2px 0 0;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.7rem;font-weight:600;color:#463a48;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sudoku__stats{display:flex;gap:6px}.sudoku__stat{min-width:3rem;padding:3px 8px;border-radius:8px;text-align:center;background:#7733441a}.sudoku__stat-label{display:block;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.5rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#463a48}.sudoku__stat-value{display:block;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;color:#734;line-height:1.2}.sudoku__stage{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:8px clamp(8px,2vw,14px);padding-bottom:max(8px,env(safe-area-inset-bottom));min-height:0;overflow:hidden}.sudoku__board-wrap{flex:0 1 auto;width:min(100%,26rem,calc(100cqh - 11.5rem));height:min(100%,26rem,calc(100cqh - 11.5rem));max-width:100%;aspect-ratio:1}.sudoku__grid{display:grid;grid-template-columns:repeat(9,1fr);width:100%;height:100%;border:3px solid #773344;border-radius:10px;overflow:hidden;background:#fff;box-shadow:4px 4px #7343,0 12px 32px #0b00141a}.sudoku__cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:0;border:none;border-right:1px solid rgba(119,51,68,.18);border-bottom:1px solid rgba(119,51,68,.18);background:#fff;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:clamp(.85rem,3.8cqw,1.45rem);font-weight:700;font-variant-numeric:tabular-nums;color:#734;cursor:pointer;transition:background .12s ease;-webkit-tap-highlight-color:transparent}.sudoku__cell:nth-child(9n){border-right:none}.sudoku__cell:nth-child(n+73){border-bottom:none}.sudoku__cell:nth-child(9n+3),.sudoku__cell:nth-child(9n+6){border-right-width:2px;border-right-color:#734}.sudoku__cell:nth-child(n+19):nth-child(-n+27),.sudoku__cell:nth-child(n+46):nth-child(-n+54){border-bottom-width:2px;border-bottom-color:#734}.sudoku__cell.is-given{background:#f5e9e2;color:#0b0014;cursor:default}.sudoku__cell.is-selected{background:#b8384824}.sudoku__cell.is-peer{background:#77334412}.sudoku__cell.is-same{background:#b8384833}.sudoku__cell.is-error{background:#b8384838;color:#b83848}.sudoku__cell.is-hint{animation:sudoku-hint .6s ease}@keyframes sudoku-hint{50%{background:#66bb6a59}}.sudoku__cell-value{line-height:1}.sudoku__cell-notes{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:88%;height:88%;font-size:.42em;font-weight:600;color:#463a48;pointer-events:none}.sudoku__cell-notes span{display:flex;align-items:center;justify-content:center;line-height:1}.sudoku__tools{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;flex-shrink:0}.sudoku__tool{min-height:40px;padding:0 12px;border-radius:8px;border:2px solid #773344;background:#fff;color:#734;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.8rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.sudoku__tool.is-active{background:#734;color:#f5e9e2}.sudoku__tool:disabled{opacity:.5;cursor:not-allowed}.sudoku__numpad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;width:min(100%,26rem);flex-shrink:0}.sudoku__num{min-height:42px;border:2px solid rgba(119,51,68,.35);border-radius:8px;background:#fff;color:#734;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 2px #7343;-webkit-tap-highlight-color:transparent}.sudoku__num:active{transform:translateY(1px);box-shadow:none}.sudoku__num:disabled{opacity:.5;cursor:not-allowed}.sudoku__num.is-done{opacity:.35}.sudoku__actions{display:flex;gap:8px;flex-shrink:0}.sudoku__btn{min-height:40px;padding:.55rem 1.25rem;border:none;border-radius:8px;background:#b83848;color:#fff;font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px #734;-webkit-tap-highlight-color:transparent}.sudoku__btn:active{transform:translateY(2px);box-shadow:0 2px #734}.sudoku__overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0b00148c;backdrop-filter:blur(4px);overflow-y:auto}.sudoku__overlay[hidden]{display:none}.sudoku__panel{width:100%;max-width:20rem;padding:1.5rem 1.25rem;text-align:center;background:#f5e9e2;border:2px solid #773344;border-radius:12px;box-shadow:4px 4px #734}.sudoku__panel-emoji{margin:0 0 .5rem;font-size:2.25rem;line-height:1}.sudoku__panel-title{margin:0 0 .5rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:1.5rem;font-weight:700;color:#734}.sudoku__panel-text{margin:0 0 1rem;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.9rem;line-height:1.55;color:#463a48}.sudoku__panel-text--compact{margin-bottom:.85rem;font-size:.85rem}.sudoku__panel--diff{max-width:22rem;padding:1.25rem 1rem}.sudoku__diff-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem;text-align:left}.sudoku__diff-opt{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-height:48px;padding:.55rem .65rem;border:2px solid rgba(119,51,68,.35);border-radius:10px;background:#fff;color:#0b0014;cursor:pointer;transition:background .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}.sudoku__diff-opt:hover{border-color:#734;background:#faf6f3}.sudoku__diff-opt.is-active{border-color:#734;background:#7733441f;box-shadow:inset 0 0 0 1px #77334426}.sudoku__diff-opt-title{font-family:var(--font-ui, "Noto Sans", sans-serif);font-size:.85rem;font-weight:600;color:#734}.sudoku__diff-opt-desc{font-family:var(--font-body, "Oxygen", sans-serif);font-size:.7rem;line-height:1.35;color:#463a48}.sudoku__diff-detail{margin-bottom:.85rem;padding:.65rem .75rem;border-radius:10px;background:#77334414;border:1px solid rgba(119,51,68,.15);text-align:left}.sudoku__diff-detail-label{margin:0 0 .3rem;font-family:var(--font-heading, "Catamaran", sans-serif);font-size:.95rem;font-weight:700;color:#734}.sudoku__diff-detail-text{margin:0;font-family:var(--font-body, "Oxygen", sans-serif);font-size:.78rem;line-height:1.45;color:#463a48}@media(max-width:520px){.sudoku__hud{grid-template-columns:auto 1fr;gap:6px 10px;padding:6px 10px}.sudoku__stats{grid-column:1 / -1;justify-content:stretch}.sudoku__stat{flex:1}.sudoku__title-wrap{text-align:left}.sudoku__subtitle{font-size:.65rem}.sudoku__stage{gap:6px;padding:6px 8px 8px}.sudoku__board-wrap{width:min(100%,calc(100cqh - 10.5rem));height:min(100%,calc(100cqh - 10.5rem))}.sudoku__tools{width:100%}.sudoku__tool{flex:1;min-height:38px;padding:0 8px;font-size:.75rem}.sudoku__numpad{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;width:100%}.sudoku__num{min-height:40px;font-size:.95rem}.sudoku__actions{width:100%}.sudoku__btn{width:100%;min-height:38px}.sudoku__diff-pick{grid-template-columns:1fr}.sudoku__panel--diff{max-height:min(90dvh,100%)}}@media(max-height:700px){.sudoku__board-wrap{width:min(100%,calc(100cqh - 9.5rem));height:min(100%,calc(100cqh - 9.5rem))}.sudoku__tool,.sudoku__num,.sudoku__btn{min-height:36px}.sudoku__stage{gap:5px}}@media(prefers-reduced-motion:reduce){.sudoku__cell.is-hint{animation:none}}
