:root{--cell:clamp(26px, calc((100vw - 24px - 6*var(--gap))/7), 92px)}@keyframes neonPulse{0%,to{box-shadow:0 0 8px #00e5ff33,0 0 20px #00e5ff14}50%{box-shadow:0 0 16px #00e5ff59,0 0 40px #00e5ff26}}@keyframes borderGlow{0%,to{border-color:#00e5ff4d}50%{border-color:#ff2d7566}}@keyframes floatUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes discDrop{0%{opacity:0;filter:drop-shadow(0 0 20px #00e5ffcc);transform:translateY(-800px)}60%{opacity:1;filter:drop-shadow(0 0 10px #00e5ff66);transform:translateY(20px)}80%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes discFlip{0%{filter:brightness();transform:rotateY(0)scale(1)}50%{filter:brightness(1.5)drop-shadow(0 0 15px #00ff8880);transform:rotateY(90deg)scale(1.15)}to{filter:brightness();transform:rotateY(180deg)scale(1)}}@keyframes winPulse{0%,to{transform:scale(1);box-shadow:0 0 20px #ff2d7580}50%{border-color:var(--gold);transform:scale(1.1);box-shadow:0 0 40px #ffd700cc}}@keyframes glitch{0%,to{text-shadow:none;transform:translate(0)}10%{text-shadow:2px 0 var(--cyan), -2px 0 var(--pink);transform:translate(-2px,1px)}20%{text-shadow:-2px 0 var(--cyan), 2px 0 var(--pink);transform:translate(2px,-1px)}30%{text-shadow:none;transform:translate(0)}}.app{cursor:crosshair;width:100%;max-width:min(1120px,100vw);position:relative}.crt-scanlines{z-index:90;pointer-events:none;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,#00000008,#00000008 1px,#0000 1px 2px);position:fixed;inset:0}.app-wide{max-width:min(1220px,100vw)}.win-banner-overlay{z-index:80;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.win-banner-slash{background:linear-gradient(90deg,#0000,#000c 10%,#140028f2 50%,#000c 90%,#0000);justify-content:center;align-items:center;width:120vw;height:200px;animation:1.8s cubic-bezier(.1,.9,.2,1) forwards bannerSlash;display:flex;position:absolute;transform:rotate(-15deg)scaleY(0);box-shadow:0 0 40px #00e5ff66,inset 0 0 20px #ff2d754d}.win-banner-slash:before,.win-banner-slash:after{content:"";background:linear-gradient(90deg, transparent, var(--cyan), var(--pink), transparent);height:2px;position:absolute;left:0;right:0}.win-banner-slash:before{top:0}.win-banner-slash:after{bottom:0}.win-banner-text{font-family:var(--font-heading);letter-spacing:8px;text-transform:uppercase;filter:drop-shadow(0 0 20px)drop-shadow(4px 4px #000c);opacity:0;font-size:6rem;font-style:italic;font-weight:800;animation:1.2s cubic-bezier(.1,.9,.2,1) .2s forwards bannerTextZoom}@keyframes bannerSlash{0%{opacity:0;transform:rotate(-15deg)scaleY(0)translateY(-50px)}15%{opacity:1;filter:brightness(2);transform:rotate(-15deg)scaleY(1.2)translateY(0)}25%{filter:brightness();transform:rotate(-15deg)scaleY(1)}85%{opacity:1;transform:rotate(-15deg)scaleY(1)}to{opacity:0;transform:rotate(-15deg)scaleY(0)translateY(50px)}}@keyframes bannerTextZoom{0%{opacity:0;filter:blur(10px);transform:scale(.5)skew(-15deg)}20%{opacity:1;filter:blur();transform:scale(1.2)skew(-15deg)}to{opacity:1;transform:scale(1)skew(-15deg)}}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;box-shadow:0 0 12px #00e5ff40}.home{justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:16px 0;display:flex}.home-card{text-align:left;width:min(96vw,1120px)}.home-hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:end;gap:18px;margin-bottom:20px;display:grid}.home-title{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 8px}.home-tagline{color:var(--muted);margin:0 0 18px;font-size:1.05rem;line-height:1.5}.home-steps{color:var(--muted);margin:0 0 14px;font-size:.9rem}.home-pick-title{text-align:center;font-size:clamp(1.4rem,3vw,2rem);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;background:linear-gradient(135deg, var(--cyan), var(--pink));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 18px}.game-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.game-pick-card{background:radial-gradient(circle at top right, #ff2d751f, transparent 50%), linear-gradient(160deg, #ff963214, #ff2d751a, var(--bg2));cursor:pointer;text-align:center;color:var(--ink);border:2px solid #00e5ff33;border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:28px 18px;transition:transform .22s,border-color .22s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.game-pick-card:after{content:"";background:linear-gradient(135deg, var(--pink), var(--cyan), var(--gold));z-index:-1;opacity:0;border-radius:18px;transition:opacity .3s;position:absolute;inset:-1px}.game-pick-card:hover{border-color:var(--cyan);transform:translateY(-6px)scale(1.02);box-shadow:0 8px 30px #00e5ff33,0 0 20px #ff2d751a}.game-pick-card:hover:after{opacity:.15}.game-pick-card-reversi{background:radial-gradient(circle at top right, #00ff881f, transparent 50%), linear-gradient(160deg, #00ff8814, #00e5ff0f, var(--bg2));border-color:#0f83}.game-pick-card-reversi:hover{border-color:var(--emerald);box-shadow:0 8px 30px #0f83,0 0 20px #00e5ff1a}.game-pick-icon{filter:drop-shadow(0 0 6px #00e5ff4d);font-size:2.4rem}.game-pick-name{font-size:1.3rem;font-weight:700;font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;color:var(--ink)}.game-pick-desc{color:var(--muted);font-size:.88rem;line-height:1.45}.back-link{color:var(--cyan);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0 0 14px;padding:0;font-size:.92rem;font-weight:600;transition:color .2s,filter .2s;display:inline-flex}.back-link:hover{color:var(--pink);filter:drop-shadow(0 0 4px #ff2d754d);text-decoration:underline}.home-game-title{font-size:clamp(1.4rem,3vw,2rem);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}.play-grid-reversi{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.start-btn-reversi{background:linear-gradient(135deg, var(--emerald), #00cc70, var(--cyan));border-color:#0000;box-shadow:0 4px 20px #00ff8840}.start-btn-reversi:hover{transform:translateY(-2px);box-shadow:0 6px 30px #00ff8859,0 0 20px #00e5ff26}.start-btn-demo{background:var(--bg2);border-color:var(--grid);color:var(--ink)}.start-btn-demo:hover{background:var(--panel)}.section-label{text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);font-size:.82rem;font-weight:700;font-family:var(--font-heading);margin:18px 0 10px}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.mode-btn{border:1px solid var(--grid);background:var(--bg2);color:var(--ink);font-weight:700;font-family:var(--font-body);cursor:pointer;border-radius:12px;padding:12px 8px;transition:border-color .2s,box-shadow .3s,transform .15s}.mode-btn.active{border-color:var(--cyan);background:linear-gradient(135deg,#00e5ff14,#a855f70d);box-shadow:0 0 0 2px #00e5ff33,0 0 12px #00e5ff1a}.mode-btn:hover{border-color:var(--cyan);transform:translateY(-2px)}.section-label-inline{margin-top:0}.home-pill-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.home-pill{border:1px solid var(--panel-border);background:color-mix(in srgb, var(--panel) 85%, transparent);color:var(--muted);border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:700}.game-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.game-card{border:1px solid var(--panel-border);background:radial-gradient(circle at top right, color-mix(in srgb, var(--blue) 12%, transparent), transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--panel) 88%, transparent), color-mix(in srgb, var(--bg2) 92%, transparent));box-shadow:var(--shadow);border-radius:18px;padding:18px}.game-card-reversi{background:radial-gradient(circle at top right, color-mix(in srgb, var(--green) 18%, transparent), transparent 40%), linear-gradient(180deg, color-mix(in srgb, var(--panel) 88%, transparent), color-mix(in srgb, var(--bg2) 92%, transparent))}.game-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.game-card-header h3{margin:0;font-size:1.45rem}.game-badge{background:color-mix(in srgb, var(--blue) 14%, var(--bg2));border:1px solid color-mix(in srgb, var(--blue) 35%, transparent);color:var(--blue);letter-spacing:.4px;white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700}.game-card-reversi .game-badge{background:color-mix(in srgb, var(--green) 14%, var(--bg2));border-color:color-mix(in srgb, var(--green) 35%, transparent);color:var(--green)}.game-copy{color:var(--muted);margin:0 0 14px;line-height:1.55}.home-tip-card{background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--panel-border);border-radius:14px;margin-bottom:14px;padding:14px}.home-tip-card strong{margin-bottom:6px;display:block}.home-tip-card p{color:var(--muted);margin:0;line-height:1.45}.level-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:18px;display:grid}.level-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:8px}.level-btn{border:2px solid var(--grid);background:var(--bg2);color:var(--ink);cursor:pointer;font-family:var(--font-body);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:border-color .2s,transform .15s,box-shadow .3s;display:flex}.level-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00e5ff1f}.level-btn.active{border-color:var(--cyan);background:linear-gradient(135deg,#00e5ff1a,#a855f70f);box-shadow:0 0 0 3px #00e5ff26,0 0 16px #00e5ff14}.level-icon{font-size:1.1rem;font-weight:700}.level-name{font-size:.95rem;font-weight:700;font-family:var(--font-heading);letter-spacing:.5px}.level-desc{color:var(--muted);font-size:.75rem;line-height:1.3}.level-desc.selected{min-height:18px;margin:0 0 12px}.start-btn{background:linear-gradient(135deg, var(--cyan), var(--blue), var(--violet));color:#fff;width:100%;font-size:1rem;font-weight:700;font-family:var(--font-heading);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:12px;margin-bottom:8px;padding:14px;transition:box-shadow .3s,transform .15s;box-shadow:0 4px 20px #00e5ff40}.start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #00e5ff59,0 0 20px #a855f726}.play-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.play-grid-compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.play-btn{border:1px solid var(--grid);background:var(--bg2);color:var(--ink);cursor:pointer;font-size:1rem;font-weight:600;font-family:var(--font-body);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;transition:transform .15s,box-shadow .3s;display:flex}.play-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00e5ff26}.play-btn.primary{background:linear-gradient(135deg, var(--cyan), var(--blue));color:#fff;border-color:#0000;box-shadow:0 4px 16px #00e5ff33}.play-btn.primary:hover{box-shadow:0 6px 24px #00e5ff4d}.play-btn.reversi-primary{background:linear-gradient(135deg, var(--emerald), var(--cyan));border-color:#0000;box-shadow:0 4px 16px #0f83}.play-btn.reversi-primary:hover{box-shadow:0 6px 24px #00ff884d}.play-emoji{letter-spacing:.4px;font-size:1rem}.home-footer{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;margin-top:6px;padding-top:10px;display:flex}.sound-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.sound-toggle input{accent-color:var(--blue)}.modebar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:8px 0 6px;display:flex}.modebar button{border:1px solid var(--grid);background:var(--bg2);color:var(--ink);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-body);border-radius:10px;padding:8px 14px;transition:background .15s,transform .1s,box-shadow .2s}.modebar button:hover{background:var(--panel);transform:translateY(-1px);box-shadow:0 2px 10px #00e5ff1a}.level-badge{color:var(--cyan);border:1px solid var(--cyan);letter-spacing:.8px;font-size:.85rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;background:linear-gradient(135deg,#00e5ff1f,#a855f714);border-radius:10px;padding:6px 14px}.status-bar{text-align:center;color:var(--muted);font-size:.95rem;font-weight:600;font-family:var(--font-heading);letter-spacing:.5px;margin:4px 0 6px}.board-wrap{margin:0 auto;position:relative}.board{grid-template-columns:repeat(7, var(--cell));gap:var(--gap);background:var(--panel);box-shadow:var(--shadow), 0 0 24px #00e5ff0f;width:calc(7 * var(--cell) + 6 * var(--gap));border:2px solid #00e5ff26;border-radius:16px;max-width:100%;padding:8px;display:grid}.spatial-page{gap:var(--gap);width:100%;min-height:calc(100vh - 130px);display:grid}.spatial-grid{gap:var(--gap);grid-template-columns:1fr;width:100%;display:grid}@media (width>=1040px){.spatial-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}.spatial-board{grid-template-columns:repeat(var(--spatial-cols,6), minmax(0, var(--cell)));gap:var(--gap);background:var(--panel);border:2px solid #22d3ee29;border-radius:20px;justify-content:center;width:fit-content;max-width:100%;margin:0 auto;padding:10px;display:grid}.spatial-cell{width:var(--cell);height:var(--cell);background:radial-gradient(circle at 30% 30%, var(--hole), var(--grid));cursor:pointer;border:2px solid #0000;border-radius:16px;justify-content:center;align-items:center;display:flex;position:relative}.spatial-cell:hover{outline:2px dashed var(--cyan);outline-offset:2px}.spatial-target{background:radial-gradient(circle at 25% 25%,#0ea5e91f,#ffffff0a)}.spatial-cell.filled{background:#3b82f62e;border-color:#3b82f640}.spatial-piece-chip{color:#fff;text-shadow:0 0 6px #00000040;border-radius:14px;justify-content:center;align-items:center;width:calc(100% - 10px);height:calc(100% - 10px);font-weight:700;display:flex}.spatial-palette{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}@media (width<=1040px){.spatial-board{width:100%}.spatial-palette{grid-template-columns:1fr}}.spatial-piece-card{background:var(--panel);cursor:pointer;border:2px solid #ffffff14;border-radius:18px;gap:10px;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.spatial-piece-card:hover{transform:translateY(-1px)}.spatial-piece-card.active{border-color:var(--cyan);box-shadow:0 0 0 5px #06b6d414}.spatial-piece-card.placed{opacity:.6}.spatial-piece-preview{aspect-ratio:1;grid-template-columns:repeat(4,1fr);gap:4px;width:100%;display:grid}.spatial-piece-preview>span{background:#ffffff14;border-radius:12px}.spatial-piece-preview .cell-filled{background:currentColor}.spatial-piece-label{font-weight:700}.spatial-piece-status{color:var(--muted);font-size:.92rem}.spatial-controls{gap:12px;margin-top:14px;display:grid}.spatial-selected{background:#ffffff0a;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.col{grid-template-rows:repeat(6, var(--cell));gap:var(--gap);cursor:pointer;display:grid}.cell{width:var(--cell);height:var(--cell);background:radial-gradient(circle at 30% 30%, var(--hole), var(--grid));border-radius:14px;justify-content:center;align-items:center;display:flex;position:relative}.cell:hover{outline:2px dashed var(--cyan);outline-offset:2px}.disc{width:calc(var(--cell) - 8px);height:calc(var(--cell) - 8px);border-radius:999px;transition:transform .2s,box-shadow .2s;box-shadow:inset 0 4px 10px #00000040,0 2px 6px #0003}.disc-new{animation:.4s cubic-bezier(.25,.46,.45,.94) forwards discDrop}.disc-win{z-index:6;animation:1s ease-in-out infinite winPulse}.disc.yellow{background:radial-gradient(circle at 32% 28%,#fff4c2,gold);border:2px solid #b8960a;box-shadow:inset 0 4px 10px #00000026,0 0 14px #ffd70073,0 0 28px #ffd70026}.disc.red{background:radial-gradient(circle at 32% 28%,#ff8aab,#ff2d75);border:2px solid #c4174f;box-shadow:inset 0 4px 10px #00000026,0 0 14px #ff2d7573,0 0 28px #ff2d7526}.win-line{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@keyframes winDraw{0%{stroke-dashoffset:600px}to{stroke-dashoffset:0}}.win-line-anim{stroke-dasharray:600;animation:.6s ease-out forwards winDraw}.stats-bar{color:var(--muted);font-size:.9rem;font-weight:600;font-family:var(--font-heading);letter-spacing:.5px;justify-content:center;gap:16px;margin:10px 0 4px;display:flex}.reversi-page{gap:0;padding:4px 0 16px;display:grid}.rv-topbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;padding:8px 4px;display:flex}.rv-topbar-left,.rv-topbar-right{align-items:center;gap:8px;display:flex}.rv-title{letter-spacing:1px;font-size:1.15rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;margin:0}.rv-badge{letter-spacing:.8px;text-transform:uppercase;font-size:.72rem;font-weight:700;font-family:var(--font-heading);color:var(--emerald);background:linear-gradient(135deg,#00ff881f,#00e5ff14);border:1px solid #00ff884d;border-radius:999px;padding:3px 10px}.rv-icon-btn{border:1px solid var(--grid);background:var(--bg2);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:.88rem;transition:background .15s,transform .12s,border-color .15s,box-shadow .2s;display:inline-flex}.rv-icon-btn:hover{background:var(--panel);transform:translateY(-1px);box-shadow:0 2px 10px #00e5ff1a}.rv-icon-btn.rv-btn-active{border-color:var(--emerald);color:var(--emerald);background:linear-gradient(135deg,#00ff881a,#00e5ff0f);box-shadow:0 0 10px #00ff881f}.rv-scores{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.rv-score{align-items:center;gap:5px;font-size:1.1rem;font-weight:700;display:inline-flex}.rv-score-sep{color:var(--muted);font-weight:400}.rv-score-dot{border-radius:999px;width:12px;height:12px}.rv-dot-black{background:#1e293b;box-shadow:inset 0 1px 3px #ffffff1f}.rv-dot-white{background:#f1f5f9;border:1px solid #0f172a2e}.rv-status{text-align:center;color:var(--muted);letter-spacing:.8px;font-size:.84rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;margin:0 0 6px;padding:5px 14px}.rv-body{grid-template-columns:1fr;justify-items:center;gap:14px;display:grid}.rv-body-with-guide{grid-template-columns:minmax(0,1fr) 260px;place-items:start stretch}.rv-board-area{justify-items:center;gap:8px;min-width:0;display:grid}.rv-coach{background:color-mix(in srgb, var(--panel) 70%, transparent);border:1px solid var(--panel-border);box-sizing:border-box;border-radius:12px;align-items:baseline;gap:8px;width:100%;max-width:100%;padding:8px 14px;display:flex}.rv-coach-label{text-transform:uppercase;letter-spacing:1px;color:var(--emerald);font-size:.72rem;font-weight:700;font-family:var(--font-heading);flex-shrink:0}.rv-coach-text{color:var(--muted);font-size:.86rem;line-height:1.45}.rv-guide{background:var(--panel);box-shadow:var(--shadow), 0 0 16px #00ff880a;border:1px solid #00ff8826;border-radius:14px;gap:12px;padding:16px;font-size:.86rem;display:grid}.rv-guide-title{font-size:.95rem;font-weight:700;font-family:var(--font-heading);letter-spacing:.5px;text-transform:uppercase;margin:0}.rv-guide-text{color:var(--muted);margin:0;line-height:1.5}.rv-guide-section{border-top:1px solid var(--panel-border);padding-top:10px}.rv-guide-section h4{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 8px;font-size:.84rem;font-weight:700}.rv-guide-list{color:var(--muted);gap:5px;margin:0;padding-left:16px;line-height:1.55;display:grid}.rv-guide-list strong{color:var(--ink)}.reversi-board-shell{gap:4px;width:100%;max-width:min(72vh,580px);display:grid}.reversi-grid-wrap{grid-template-columns:20px minmax(0,1fr);align-items:stretch;gap:4px;display:grid}.reversi-axis{color:var(--muted);opacity:.7;font-size:.72rem;font-weight:700}.reversi-axis-top{grid-template-columns:20px repeat(8,minmax(0,1fr));gap:4px;padding:0 10px;display:grid}.reversi-axis-top span,.reversi-axis-side span{place-items:center;display:grid}.reversi-axis-side{grid-template-rows:repeat(8,minmax(0,1fr));gap:4px;display:grid}.reversi-board{background:linear-gradient(170deg,#06321ef7,#042012fc);border:2px solid #0f83;border-radius:16px;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:10px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 12px 32px #00000059,0 0 20px #00ff880f}.reversi-board.is-locked .reversi-square{cursor:default}.reversi-square{aspect-ratio:1;cursor:pointer;background:linear-gradient(#ffffff0f,#ffffff05);border:none;border-radius:10px;place-items:center;transition:transform .1s,box-shadow .1s,background .1s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff12}.reversi-square:hover:not(:disabled){background:linear-gradient(#ffffff24,#ffffff0f);transform:scale(1.04);box-shadow:inset 0 0 0 1px #fff3,0 4px 12px #0003}.reversi-square:disabled{cursor:default}.reversi-square.is-last{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--yellow) 85%, #fff), 0 0 0 2px #fbbf241f}.reversi-disc{border-radius:999px;width:78%;height:78%;transition:transform .15s;box-shadow:inset 0 4px 8px #ffffff1a,inset 0 -4px 8px #00000059,0 4px 10px #00000047}.reversi-disc.black{background:radial-gradient(circle at 34% 28%,#4b5563,#0a0b1e 72%);box-shadow:inset 0 4px 8px #ffffff1a,inset 0 -4px 8px #00000059,0 4px 10px #00000047,0 0 10px #00e5ff1f}.reversi-disc.white{background:radial-gradient(circle at 30% 26%,#fff,#e0d4f5 76%);border:1px solid #a855f726;box-shadow:inset 0 4px 8px #fff3,inset 0 -4px 8px #0003,0 4px 10px #0003,0 0 10px #ff2d751a}.reversi-marker{background:#0f8c;border-radius:999px;width:24%;height:24%;animation:1.6s ease-in-out infinite rv-pulse;box-shadow:0 0 8px #0f86,0 0 0 5px #00ff881a}@keyframes rv-pulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.gomoku-page{flex-direction:column;align-items:center;gap:8px;width:100%;padding:8px 12px 24px;display:flex}.gk-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:720px;display:flex}.gk-topbar-left,.gk-topbar-right{align-items:center;gap:6px;display:flex}.gk-title{background:linear-gradient(135deg, var(--gold), #ff9100);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.15rem;font-weight:800}.gk-badge{color:var(--gold);text-transform:uppercase;letter-spacing:.5px;background:#ffd7001f;border:1px solid #ffd70033;border-radius:8px;padding:2px 8px;font-size:.7rem;font-weight:700}.gk-icon-btn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:#ffffff0f;border:none;border-radius:10px;place-items:center;transition:background .15s,color .15s;display:grid}.gk-icon-btn:hover{color:var(--gold);background:#ffffff24}.gk-icon-btn.gk-btn-active{color:var(--gold);background:#ffd70026;box-shadow:0 0 8px #ffd70026}.gk-scores{align-items:center;gap:8px;font-weight:700;display:flex}.gk-score{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:1rem;display:flex}.gk-score-sep{color:var(--muted)}.gk-score-dot{border-radius:999px;width:10px;height:10px}.gk-dot-black{background:radial-gradient(circle at 34% 28%,#4b5563,#0a0b1e 72%);box-shadow:0 0 6px #00e5ff26}.gk-dot-white{background:radial-gradient(circle at 30% 26%,#fff,#e0d4f5 76%);box-shadow:0 0 6px #ff2d751f}.gk-status{text-align:center;color:var(--muted);letter-spacing:.02em;min-height:1.3em;margin:0;font-size:.85rem;font-weight:600}.gk-body{justify-content:center;align-items:flex-start;gap:20px;width:100%;max-width:720px;display:flex}.gk-body-with-guide{max-width:920px}.gk-board-area{flex-direction:column;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.gk-coach{background:#ffd7000f;border:1px solid #ffd7001a;border-radius:12px;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}.gk-coach-label{text-transform:uppercase;letter-spacing:.06em;color:var(--gold);white-space:nowrap;font-size:.65rem;font-weight:800}.gk-coach-text{color:var(--muted);font-size:.8rem;line-height:1.35}.gk-guide{background:var(--panel);border:1px solid var(--grid);border-radius:16px;flex:0 0 220px;padding:16px}.gk-guide-title{background:linear-gradient(135deg, var(--gold), #ff9100);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 8px;font-size:.85rem;font-weight:800}.gk-guide-text{color:var(--muted);font-size:.78rem;line-height:1.45}.gk-guide-section{margin-top:12px}.gk-guide-section h4{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:.75rem;font-weight:700}.gk-guide-list{color:var(--muted);margin:0;padding:0;font-size:.76rem;line-height:1.6;list-style:none}.gk-guide-list strong{color:var(--ink)}.gomoku-board-shell{gap:2px;width:100%;max-width:min(72vh,620px);display:grid}.gomoku-grid-wrap{grid-template-columns:18px minmax(0,1fr);align-items:stretch;gap:2px;display:grid}.gomoku-axis{color:var(--muted);opacity:.7;font-size:.58rem;font-weight:700}.gomoku-axis-top{grid-template-columns:18px repeat(15,minmax(0,1fr));gap:2px;padding:0 6px;display:grid}.gomoku-axis-top span,.gomoku-axis-side span{place-items:center;display:grid}.gomoku-axis-side{grid-template-rows:repeat(15,minmax(0,1fr));gap:2px;display:grid}.gomoku-board{background:linear-gradient(170deg,#3c2a0cf7,#241806fc);border:2px solid #ffd7002e;border-radius:14px;grid-template-columns:repeat(15,minmax(0,1fr));gap:2px;padding:6px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 12px 32px #00000059,0 0 20px #ffd7000f}.gomoku-board.is-locked .gomoku-cell{cursor:default}.gomoku-cell{aspect-ratio:1;cursor:pointer;background:linear-gradient(#ffffff0d,#ffffff04);border:none;border-radius:4px;place-items:center;transition:transform .1s,box-shadow .1s,background .1s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff0f}.gomoku-cell:hover:not(:disabled){background:linear-gradient(#ffffff24,#ffffff0f);transform:scale(1.08);box-shadow:inset 0 0 0 1px #fff3,0 4px 10px #0003}.gomoku-cell:disabled{cursor:default}.gomoku-cell.is-last{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--gold) 85%, #fff), 0 0 0 2px #ffd70026}.gomoku-cell.is-win{box-shadow:inset 0 0 0 2px var(--gold), 0 0 12px #ffd70059}.gomoku-stone{border-radius:999px;width:80%;height:80%;transition:transform .12s;box-shadow:inset 0 3px 6px #ffffff1a,inset 0 -3px 6px #00000059,0 3px 8px #00000047}.gomoku-stone.black{background:radial-gradient(circle at 34% 28%,#4b5563,#0a0b1e 72%);box-shadow:inset 0 3px 6px #ffffff1a,inset 0 -3px 6px #00000059,0 3px 8px #00000047,0 0 8px #00e5ff1f}.gomoku-stone.white{background:radial-gradient(circle at 30% 26%,#fff,#e0d4f5 76%);border:1px solid #a855f726;box-shadow:inset 0 3px 6px #fff3,inset 0 -3px 6px #0003,0 3px 8px #0003,0 0 8px #ff2d751a}.gomoku-stone.glow{animation:1s ease-in-out infinite alternate gk-glow}@keyframes gk-glow{0%{filter:brightness()}to{filter:brightness(1.3) drop-shadow(0 0 6px var(--gold))}}.game-pick-card-gomoku{--pick-accent:var(--gold)}.start-btn-gomoku{background:linear-gradient(135deg, var(--gold), #ff9100)}.start-btn-gomoku:hover{filter:brightness(1.08)}.modal{z-index:70;background:#00000073;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.dialog{background:var(--panel);border:2px solid var(--panel-border);width:min(92vw,420px);color:var(--ink);box-shadow:0 20px 60px #0006, var(--neon-glow);text-align:center;border-radius:20px;padding:28px 24px 22px;animation:.3s slideUp;position:relative;overflow:hidden}.dialog:before{content:"";background:linear-gradient(135deg, var(--cyan), var(--pink), var(--gold), var(--emerald));z-index:-1;opacity:.25;filter:blur(8px);border-radius:22px;position:absolute;inset:-2px}.dialog-win{border-color:var(--gold);box-shadow:0 20px 60px #0000004d,0 0 30px #ffd70026,0 0 0 3px #ffd70033}.dialog-emoji{filter:drop-shadow(0 0 8px #ffd7004d);margin-bottom:6px;font-size:3rem}.dialog-title{font-size:1.5rem;font-family:var(--font-heading);letter-spacing:2px;text-transform:uppercase;margin:0 0 6px}.dialog-talk{color:var(--muted);margin:0 0 16px;font-size:.95rem;line-height:1.4}.dialog .actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.dialog button{border:1px solid var(--grid);background:var(--bg2);color:var(--ink);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-body);border-radius:10px;padding:10px 16px;transition:background .15s,transform .1s,box-shadow .2s}.dialog button:hover{background:var(--panel);transform:translateY(-1px);box-shadow:0 2px 10px #00e5ff1a}.dialog .btn-primary{background:linear-gradient(135deg, var(--cyan), var(--blue));color:#fff;border-color:#0000;box-shadow:0 4px 16px #00e5ff33}.dialog .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00e5ff4d}.card{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:14px;padding:20px;position:relative;overflow:hidden}.stats{text-align:center;color:var(--muted);margin:10px auto}@keyframes mm4Pulse{0%{box-shadow:0 0 #3b82f673}70%{box-shadow:0 0 0 18px #3b82f600}to{box-shadow:0 0 #3b82f600}}.onboard-pulse{outline-offset:2px;border-radius:12px;outline:3px solid #3b82f6;animation:1.2s ease-out 2 mm4Pulse}@media (width<=900px){.home-hero,.game-showcase,.game-picker,.rv-body-with-guide{grid-template-columns:1fr}.rv-guide{order:1}.gk-body-with-guide{flex-direction:column}.gk-guide{flex:unset;width:100%}.home-pill-row{justify-content:flex-start}.level-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.home-card{padding:16px}.mode-grid,.play-grid-reversi{grid-template-columns:1fr}.game-card{padding:16px}.home-footer{flex-direction:column;align-items:flex-start;gap:8px}.rv-topbar{flex-wrap:wrap;justify-content:center;gap:6px}.rv-topbar-left{order:0}.rv-scores{order:1}.rv-topbar-right{order:2}.reversi-board{border-radius:12px;gap:3px;padding:8px}.reversi-square{border-radius:7px}.reversi-axis-top,.reversi-grid-wrap,.reversi-axis-side{gap:3px}.reversi-board-shell{max-width:100%}.gk-topbar{flex-wrap:wrap;justify-content:center;gap:6px}.gk-topbar-left{order:0}.gk-scores{order:1}.gk-topbar-right{order:2}.gomoku-board{border-radius:10px;gap:1px;padding:4px}.gomoku-cell{border-radius:3px}.gomoku-axis-top,.gomoku-grid-wrap,.gomoku-axis-side{gap:1px}.gomoku-board-shell{max-width:100%}.spatial-page{--cell:clamp(34px, calc((100vw - 24px - 3 * var(--gap)) / 4), 46px);min-height:auto;padding:8px 0 16px}.spatial-grid{gap:10px}.spatial-board{border-radius:16px;justify-content:stretch;width:auto;max-width:100%;padding:8px}.spatial-cell{width:var(--cell);height:var(--cell);border-radius:12px}.spatial-piece-chip{width:calc(100% - 8px);height:calc(100% - 8px)}.spatial-palette{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;width:100%;margin:0;padding:0;display:grid}.spatial-piece-card{gap:6px;width:100%;min-width:0;max-width:100%;padding:8px}.spatial-piece-preview{aspect-ratio:1;gap:2px}.spatial-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:100%;display:flex}.spatial-selected{flex:1;width:min(100%,220px);min-width:0;padding:8px}.spatial-selected span{opacity:.85;font-size:.75rem}.spatial-selected strong{margin-top:2px;font-size:.95rem;display:block}.spatial-piece-label{font-size:.85rem}.spatial-piece-status{font-size:.78rem}.spatial-board,.spatial-piece-card{max-width:100%}.spatial-page{place-items:start center;width:100%;padding:8px 10px 16px}.spatial-grid{justify-items:center;gap:10px;width:100%;max-width:100%}.spatial-page .mem-title{font-size:1.2rem}.spatial-page .mem-stats{font-size:.75rem}.spatial-page .mem-topbar-left{gap:6px}.home-howto{margin:10px 0}}.game-timer{font-variant-numeric:tabular-nums;letter-spacing:.4px;background:color-mix(in srgb, var(--panel) 80%, transparent);border:1px solid var(--panel-border);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.timer-low{color:#d97706;background:color-mix(in srgb, #d97706 10%, var(--bg2));border-color:#d97706}.timer-critical{color:#ef4444;background:color-mix(in srgb, #ef4444 12%, var(--bg2));border-color:#ef4444;animation:1s ease-in-out infinite timer-blink}@keyframes timer-blink{0%,to{opacity:1}50%{opacity:.55}}.bs-page{box-sizing:border-box;gap:0;padding:4px 10px 16px;display:grid;overflow-x:hidden}.bs-topbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;padding:8px 4px;display:flex}.bs-topbar-left,.bs-topbar-right{align-items:center;gap:8px;display:flex}.bs-topbar-center{align-items:center;display:flex}.bs-title{letter-spacing:1px;font-size:1.15rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;margin:0}.bs-badge{letter-spacing:.8px;text-transform:uppercase;font-size:.72rem;font-weight:700;font-family:var(--font-heading);color:var(--cyan);background:linear-gradient(135deg,#00e5ff1f,#a855f714);border:1px solid #00e5ff4d;border-radius:999px;padding:3px 10px}.bs-fleet-status{align-items:center;gap:10px;font-size:.84rem;font-weight:600;display:flex}.bs-fleet-count{white-space:nowrap}.bs-fleet-sep{color:var(--muted);font-weight:400}.bs-status{text-align:center;color:var(--muted);letter-spacing:.8px;font-size:.84rem;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;margin:0 0 6px;padding:5px 14px}.bs-setup{grid-template-columns:minmax(0,1.2fr) 260px;place-items:start center;gap:18px;display:grid}.bs-setup-board{justify-content:center;width:100%;display:flex}.bs-setup-panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:14px;padding:16px}.bs-panel-title{margin:0 0 10px;font-size:.95rem;font-weight:700}.bs-ship-list{gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.bs-ship-item{border:1px solid var(--panel-border);background:var(--bg2);border-radius:10px;align-items:center;gap:8px;padding:7px 10px;font-size:.84rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.bs-ship-item.active{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 10%, var(--bg2))}.bs-ship-item.placed{opacity:.55}.bs-ship-emoji{font-size:1rem}.bs-ship-name{flex:1}.bs-ship-dots{gap:3px;display:flex}.bs-ship-dot{background:var(--muted);border-radius:3px;width:10px;height:10px}.bs-ship-item.placed .bs-ship-dot{background:var(--blue)}.bs-ship-check{color:var(--green);font-weight:700}.bs-setup-controls{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.bs-ctrl-btn{border:1px solid var(--grid);background:var(--bg2);color:var(--ink);cursor:pointer;border-radius:10px;padding:9px 10px;font-size:.82rem;font-weight:600;transition:background .12s,transform .1s}.bs-ctrl-btn:hover{background:var(--panel);transform:translateY(-1px)}.bs-start-btn{background:linear-gradient(135deg, var(--cyan), var(--blue), var(--violet));color:#fff;width:100%;font-size:.95rem;font-weight:700;font-family:var(--font-heading);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:12px;padding:13px;transition:box-shadow .3s,transform .15s;box-shadow:0 4px 20px #00e5ff40}.bs-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #00e5ff59,0 0 20px #a855f726}.bs-start-btn.disabled{opacity:.45;cursor:not-allowed}.bs-battle{justify-items:center;gap:10px;display:grid}.bs-battle-grids{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;width:100%;max-width:980px;display:grid}.bs-board-col{justify-items:center;gap:6px;display:grid}.bs-coach{background:color-mix(in srgb, var(--panel) 70%, transparent);border:1px solid var(--panel-border);box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word;border-radius:12px;align-items:baseline;gap:8px;width:100%;max-width:980px;padding:8px 14px;display:flex}.bs-coach-label{text-transform:uppercase;letter-spacing:1px;color:var(--cyan);font-size:.72rem;font-weight:700;font-family:var(--font-heading);flex-shrink:0}.bs-coach-text{color:var(--muted);font-size:.86rem;line-height:1.45}.bs-col-tag{text-align:center;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding:4px 14px;font-size:.82rem;font-weight:700;transition:color .3s,background .3s;display:flex}.bs-col-tag-active{color:var(--blue);background:color-mix(in srgb, var(--blue) 12%, transparent)}.bs-player-timer{font-variant-numeric:tabular-nums;opacity:.5;border-radius:6px;padding:2px 8px;font-size:.76rem;transition:opacity .3s,color .3s}.bs-timer-active{opacity:1;color:var(--ink)}.bs-timer-warn{animation:1s ease-in-out infinite timer-blink;color:#ef4444!important}.bs-end-reveal{justify-items:center;gap:16px;padding:10px 0 30px;display:grid}.bs-end-header{text-align:center}.bs-end-emoji{font-size:2.6rem}.bs-end-title{margin:4px 0 2px;font-size:1.5rem}.bs-end-sub{color:var(--muted);margin:0;font-size:.88rem}.bs-reveal-grids{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;max-width:980px;display:grid}.bs-reveal-col{justify-items:center;gap:4px;display:grid}.bs-reveal-tag{text-align:center;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-size:.78rem;font-weight:700}.bs-end-actions{justify-content:center;gap:10px;display:flex}.bs-board-shell{gap:4px;width:100%;max-width:min(50vh,440px,100%);display:grid}.bs-board-label{text-align:center;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:2px;font-size:.78rem;font-weight:700}.bs-axis{color:var(--muted);opacity:.7;font-size:.65rem;font-weight:700}.bs-axis-top{grid-template-columns:18px repeat(10,minmax(0,1fr));gap:3px;padding:0 6px;display:grid}.bs-axis-top span,.bs-axis-side span{place-items:center;display:grid}.bs-axis-side{grid-template-rows:repeat(10,minmax(0,1fr));gap:3px;display:grid}.bs-grid-wrap{grid-template-columns:18px minmax(0,1fr);align-items:stretch;gap:3px;display:grid}.bs-board{border-radius:14px;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;padding:8px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 10px 28px #0000003d}.bs-board-setup,.bs-board-fleet{border:1px solid color-mix(in srgb, #1e3a5f 40%, var(--panel-border));background:linear-gradient(170deg,#0f3250f7,#08203afc)}.bs-board-attack{border:1px solid color-mix(in srgb, #14325a 40%, var(--panel-border));background:linear-gradient(170deg,#0a2646f7,#05162efc)}.bs-board.is-locked .bs-cell{cursor:default}.bs-cell{aspect-ratio:1;cursor:pointer;background:linear-gradient(#1e64a02e,#1446821f);border:none;border-radius:6px;place-items:center;font-size:clamp(.6rem,1.6vw,.9rem);transition:transform .1s,box-shadow .1s,background .1s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #50a0dc1a}.bs-cell:hover:not(:disabled){background:linear-gradient(#3c8cc847,#2864aa2e);transform:scale(1.06);box-shadow:inset 0 0 0 1px #78beff40,0 3px 10px #0000002e}.bs-cell:disabled{cursor:default}.bs-ship-fill{background:linear-gradient(135deg,#475569,#334155);border-radius:4px;width:70%;height:70%;box-shadow:inset 0 2px 4px #ffffff14,0 2px 6px #00000040}.bs-marker{place-items:center;width:100%;height:100%;display:grid}.bs-marker-hit{font-size:clamp(.7rem,1.8vw,1.1rem);animation:.35s ease-out bs-hit-pop}.bs-marker-miss{color:#64a0dcb3;font-size:clamp(.8rem,2vw,1.4rem)}.bs-marker-sunk{color:#ef4444;font-size:clamp(.7rem,1.6vw,1rem);font-weight:700}@keyframes bs-hit-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.3)}to{transform:scale(1)}}.bs-ghost-valid{background:color-mix(in srgb, var(--blue) 30%, transparent)!important;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--blue) 55%, transparent)!important}.bs-ghost-invalid{background:#ef444440!important;box-shadow:inset 0 0 0 2px #ef444480!important}.bs-targetable{cursor:crosshair}.bs-last-shot{animation:.5s bs-shot-flash}@keyframes bs-shot-flash{0%{box-shadow:0 0 0 4px #fbbf24b3}to{box-shadow:0 0 #fbbf2400}}.bs-missile{pointer-events:none;z-index:10;position:absolute;inset:0;overflow:hidden}.bs-missile-trail{background:linear-gradient(#0000 0%,#fbbf2440 30%,#ef444480 100%);width:2px;height:140%;animation:.5s ease-out forwards bs-trail-fade;position:absolute;top:-120%;left:50%;transform:translate(-50%)}@keyframes bs-trail-fade{0%{opacity:1;transform:translate(-50%)scaleY(1)}60%{opacity:.6}to{opacity:0;transform:translate(-50%)scaleY(.2)}}.bs-missile-body{filter:drop-shadow(0 0 6px #ef4444b3);background:linear-gradient(#fbbf24,#ef4444,#991b1b);border-radius:4px 4px 2px 2px;width:7px;height:18px;animation:.4s ease-in forwards bs-missile-drop;position:absolute;top:50%;left:50%}@keyframes bs-missile-drop{0%{opacity:1;transform:translate(-50%,-600%)scale(.5)}75%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(0)}}.bs-missile-impact{border-radius:50%;width:130%;height:130%;animation:.65s ease-out .3s forwards bs-impact-burst;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.bs-missile-hit .bs-missile-impact{background:radial-gradient(circle,#ef4444e6,#fb923c80,#0000 70%);box-shadow:0 0 24px #ef444480}.bs-missile-miss .bs-missile-impact{background:radial-gradient(circle,#60a5fab3,#93c5fd59,#0000 70%);box-shadow:0 0 18px #3b82f64d}@keyframes bs-impact-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}25%{opacity:1;transform:translate(-50%,-50%)scale(.8)}to{opacity:0;transform:translate(-50%,-50%)scale(2.5)}}.bs-hit{background:linear-gradient(135deg,#ef444440,#b4323226)!important}.bs-miss{background:linear-gradient(135deg,#3c82c81f,#285aa014)!important}.bs-sunk{background:linear-gradient(135deg,#b41e1e59,#78141433)!important}.bs-ship{background:linear-gradient(135deg,#4755694d,#33415533)!important}.game-pick-card-battleship{background:radial-gradient(circle at top right, #00e5ff1f, transparent 50%), linear-gradient(160deg, #1e3c781f, #00e5ff0f, var(--bg2));border-color:#00e5ff33}.game-pick-card-battleship:hover{border-color:var(--cyan);box-shadow:0 8px 30px #00e5ff33,0 0 20px #a855f71a}[data-theme=light] .disc.yellow{background:radial-gradient(circle at 32% 28%,#fff8d8,#d39a00);border:2px solid #8a6400;box-shadow:inset 0 4px 10px #0000001f,0 0 10px #b0760059,0 0 18px #b076001f}[data-theme=light] .disc.red{background:radial-gradient(circle at 32% 28%,#ffb6c9,#d72f66);border:2px solid #922044;box-shadow:inset 0 4px 10px #0000001f,0 0 10px #d72f6640,0 0 18px #d72f661a}[data-theme=light] .rv-badge{color:#0f7c51;background:linear-gradient(135deg,#0f9f641f,#0b86b814);border:1px solid #0f9f6459}[data-theme=light] .rv-icon-btn.rv-btn-active{color:#0f7c51;background:linear-gradient(135deg,#0f9f6424,#0b86b814);border-color:#0f9f64}[data-theme=light] .rv-guide{border:1px solid #0f9f643d;box-shadow:0 10px 24px #1f293714}[data-theme=light] .reversi-board{background:linear-gradient(170deg,#165c38f2,#0e3f27fa);border:2px solid #0f9f6452;box-shadow:inset 0 1px #ffffff1f,0 10px 24px #1f293729,0 0 12px #0f9f641f}[data-theme=light] .reversi-square{background:linear-gradient(#ffffff14,#ffffff08);box-shadow:inset 0 0 0 1px #ffffff1f}[data-theme=light] .reversi-square.is-last{box-shadow:inset 0 0 0 2px #b88600,0 0 0 2px #b886002e}[data-theme=light] .reversi-disc.white{background:radial-gradient(circle at 30% 26%,#fff,#ddd6f3 72%);border:1px solid #33415557;box-shadow:inset 0 4px 8px #ffffff73,inset 0 -4px 8px #1e293b33,0 4px 10px #0f172a3d,0 0 8px #33415533}[data-theme=light] .reversi-marker{background:#19b36f;box-shadow:0 0 8px #19b36f6b,0 0 0 5px #19b36f24}[data-theme=light] .gk-badge{color:#8a6400;background:#b8860024;border:1px solid #8a64004d}[data-theme=light] .gk-icon-btn.gk-btn-active{color:#8a6400;background:#b8860029;box-shadow:0 0 8px #b8860033}[data-theme=light] .gk-coach{background:#b8860014;border:1px solid #8a640038}[data-theme=light] .gk-coach-label,[data-theme=light] .gk-guide-section h4{color:#8a6400}[data-theme=light] .gk-guide-title{background:linear-gradient(135deg,#9a7100,#c88713);-webkit-text-fill-color:transparent;-webkit-background-clip:text}[data-theme=light] .gomoku-board{background:linear-gradient(170deg,#5f4214f5,#412b0afc);border:2px solid #8a640066;box-shadow:inset 0 1px #ffffff1f,0 10px 24px #1f29372e,0 0 12px #8a64002e}[data-theme=light] .gomoku-cell{background:linear-gradient(#ffffff14,#ffffff08);box-shadow:inset 0 0 0 1px #ffffff1f}[data-theme=light] .gomoku-cell.is-last{box-shadow:inset 0 0 0 2px #b88600,0 0 0 2px #b8860038}[data-theme=light] .gomoku-cell.is-win{box-shadow:inset 0 0 0 2px #b88600,0 0 10px #b8860066}[data-theme=light] .gomoku-stone.white,[data-theme=light] .gk-dot-white{background:radial-gradient(circle at 30% 26%,#fff,#ddd6f3 72%);border:1px solid #33415559;box-shadow:inset 0 3px 6px #ffffff80,inset 0 -3px 6px #1e293b2e,0 3px 8px #0f172a42}[data-theme=light] .bs-board-setup,[data-theme=light] .bs-board-fleet{background:linear-gradient(170deg,#23608aed,#124068f5);border:1px solid #0c508073}[data-theme=light] .bs-board-attack{background:linear-gradient(170deg,#1a5481f0,#0e345cf7);border:1px solid #0a467670}[data-theme=light] .bs-cell{background:linear-gradient(#6cb1de47,#4f8bbe38);box-shadow:inset 0 0 0 1px #d1eafd73}[data-theme=light] .bs-cell:hover:not(:disabled){background:linear-gradient(#8cc5e76b,#66a2d057);box-shadow:inset 0 0 0 1px #eaf8ff9e,0 3px 10px #1e3a5f38}[data-theme=light] .bs-miss{background:linear-gradient(135deg,#579bcc38,#3f7bb629)!important}[data-theme=light] .bs-marker-miss{color:#e1f3fff0}[data-theme=light] .bs-coach-label{color:#0b6fa0}[data-theme=light] .game-pick-card-battleship{background:radial-gradient(circle at top right, #0b86b829, transparent 50%), linear-gradient(160deg, #275e992e, #0b86b81a, var(--bg2));border-color:#0b86b852}@media (width<=900px){.bs-setup{grid-template-columns:1fr}.bs-setup-panel{order:1}.bs-battle-grids{grid-template-columns:1fr;gap:12px}.bs-battle-grids>.bs-board-col .bs-board-shell,.bs-battle-grids>.bs-board-shell{max-width:min(70vh,400px,100%)}.bs-reveal-grids{grid-template-columns:1fr;gap:12px}.bs-reveal-col .bs-board-shell{max-width:min(70vh,400px,100%)}.game-picker{grid-template-columns:1fr}}@media (width<=640px){.bs-topbar{flex-wrap:wrap;justify-content:center;gap:6px}.bs-topbar-left{order:0}.bs-topbar-center{order:1;justify-content:center;width:100%}.bs-topbar-right{order:2}.bs-board{border-radius:10px;gap:2px;padding:4px}.bs-cell{border-radius:3px}.bs-board-shell{max-width:100%}.bs-battle-grids{gap:8px}.bs-battle-grids>.bs-board-col .bs-board-shell,.bs-battle-grids>.bs-board-shell{max-width:100%}.bs-col-tag{letter-spacing:.3px;padding:2px 6px;font-size:.68rem}.bs-player-timer{padding:1px 4px;font-size:.66rem}.bs-reveal-grids{gap:8px}.bs-reveal-col .bs-board-shell{max-width:100%}.bs-reveal-tag{font-size:.68rem}.bs-end-actions{flex-wrap:wrap}.bs-setup-controls{grid-template-columns:1fr}.bs-coach{padding:6px 10px;font-size:.78rem}.bs-coach-label{font-size:.64rem}.bs-coach-text{font-size:.78rem}.bs-axis{font-size:.55rem}}@media (width<=400px){.bs-page{padding:4px 6px 12px}.bs-board{border-radius:8px;gap:1px;padding:3px}.bs-cell{border-radius:2px}.bs-axis-top{grid-template-columns:14px repeat(10,minmax(0,1fr));gap:1px;padding:0 3px}.bs-grid-wrap{grid-template-columns:14px minmax(0,1fr);gap:1px}.bs-topbar{padding:6px 2px}.bs-title{font-size:.95rem}}.brain-bg{pointer-events:none;z-index:0;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.brain-bg .neuron{filter:blur(.5px);opacity:.55;background:radial-gradient(circle,#00e5ffe6,#00e5ff00 70%);border-radius:50%;width:14px;height:14px;animation:14s ease-in-out infinite neuronFloat,3.2s ease-in-out infinite neuronPulse;position:absolute}.brain-bg .neuron.n2{background:radial-gradient(circle,#ff2d75d9,#ff2d7500 70%)}.brain-bg .neuron.n3{background:radial-gradient(circle,#00ff88d9,#0f80 70%)}.brain-bg .neuron.n4{background:radial-gradient(circle,#ffd700cc,#ffd70000 70%)}.brain-bg .synapse{transform-origin:0;opacity:.35;background:linear-gradient(90deg,#0000,#00e5ff73,#0000);height:1px;animation:4s ease-in-out infinite synapseFlicker;position:absolute}.brain-bg .glyph{opacity:.1;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 8px #00e5ff66);font-size:1.6rem;animation:22s linear infinite glyphDrift,18s linear infinite glyphSpin;position:absolute}@keyframes neuronFloat{0%,to{transform:translate(0)}25%{transform:translate(30px,-20px)}50%{transform:translate(-15px,25px)}75%{transform:translate(20px,15px)}}@keyframes neuronPulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.85;transform:scale(1.25)}}@keyframes synapseFlicker{0%,to{opacity:.15}50%{opacity:.55}}@keyframes glyphDrift{0%{transform:translateY(20px)rotate(0)}to{transform:translateY(-40px)rotate(360deg)}}@keyframes glyphSpin{0%{filter:hue-rotate()drop-shadow(0 0 8px #00e5ff66)}to{filter:hue-rotate(360deg)drop-shadow(0 0 8px #ff2d7566)}}.home-pick-title,.game-picker,.home-tagline-brain{z-index:1;position:relative}.home-pick-title{background:linear-gradient(100deg, var(--cyan) 0%, var(--pink) 25%, var(--gold) 50%, var(--pink) 75%, var(--cyan) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:.9s cubic-bezier(.2,.9,.25,1) both titleEntrance,6s linear infinite shimmer}@keyframes titleEntrance{0%{opacity:0;letter-spacing:14px;filter:blur(6px);transform:translateY(-18px)scale(.94)}60%{opacity:1;filter:blur()}to{opacity:1;letter-spacing:2px;filter:blur();transform:translateY(0)scale(1)}}.home-tagline-brain{text-align:center;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin:-10px 0 22px;font-size:.95rem;animation:.9s .25s both fadeUp}.home-tagline-brain .accent{color:var(--cyan);text-shadow:0 0 10px #00e5ff80}.game-pick-card{opacity:0;will-change:transform;animation:.7s cubic-bezier(.2,.9,.25,1) forwards cardEntrance}.game-pick-card:first-child{animation-delay:.15s}.game-pick-card:nth-child(2){animation-delay:.3s}.game-pick-card:nth-child(3){animation-delay:.45s}.game-pick-card:nth-child(4){animation-delay:.6s}@keyframes cardEntrance{0%{opacity:0;filter:blur(6px);transform:translateY(40px)rotateX(-12deg)scale(.92)}to{opacity:1;filter:blur();transform:translateY(0)rotateX(0)scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.game-pick-card{animation:.7s cubic-bezier(.2,.9,.25,1) forwards cardEntrance,6s ease-in-out 1s infinite cardFloat}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.game-pick-card:before{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 0%,#ffffff1a 45%,#ffffff38 50%,#ffffff1a 55%,#0000 100%);width:80%;height:100%;animation:5.5s ease-in-out infinite cardSweep;position:absolute;top:0;left:-150%;transform:skew(-18deg)}.game-pick-card-reversi:before{animation-delay:.7s}.game-pick-card-battleship:before{animation-delay:1.4s}.game-pick-card-gomoku:before{animation-delay:2.1s}@keyframes cardSweep{0%{left:-150%}60%,to{left:150%}}.game-pick-icon{transform-origin:50%;animation:3.2s ease-in-out infinite iconBob,2.4s ease-in-out infinite iconGlow;display:inline-block}@keyframes iconBob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-6px)rotate(3deg)}}@keyframes iconGlow{0%,to{filter:drop-shadow(0 0 6px #00e5ff59)brightness()}50%{filter:drop-shadow(0 0 18px #ff2d7599)brightness(1.25)}}.game-pick-card:hover .game-pick-icon{animation:1.4s ease-in-out infinite iconBob,1s ease-in-out infinite iconGlow;transform:scale(1.15)}.game-pick-card:hover{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.home-pick-title,.home-tagline-brain,.game-pick-card,.game-pick-card:before,.game-pick-icon,.brain-bg .neuron,.brain-bg .synapse,.brain-bg .glyph{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}}.name-inputs{margin:8px 0 4px}.name-row{align-items:center;gap:10px;display:flex}.name-input{border:1px solid var(--panel-border);background:var(--bg2);color:var(--ink);border-radius:10px;outline:none;flex:1;padding:10px 12px;font-size:.92rem;font-weight:500;transition:border-color .2s,box-shadow .2s}.name-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 18%, transparent)}.name-input::placeholder{color:var(--muted);opacity:.7}.name-vs{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;font-size:.78rem;font-weight:700}.bs-shake{animation:.4s ease-out bs-screen-shake}@keyframes bs-screen-shake{0%{transform:translate(0)}15%{transform:translate(-4px,2px)}30%{transform:translate(4px,-2px)}45%{transform:translate(-3px,1px)}60%{transform:translate(3px,-1px)}75%{transform:translate(-1px,1px)}to{transform:translate(0)}}.bs-tension-elevated .bs-board-attack{border-color:#fbbf2466;transition:border-color .5s,box-shadow .5s;box-shadow:inset 0 1px #ffffff0a,0 10px 28px #0000003d,0 0 16px #fbbf241f}.bs-tension-elevated .bs-col-tag-active{color:#fbbf24;background:#fbbf241a}.bs-tension-critical .bs-board-attack{border-color:#ef444480;animation:1.5s ease-in-out infinite bs-critical-pulse;box-shadow:inset 0 1px #ffffff0a,0 10px 28px #0000003d,0 0 20px #ef444426}.bs-tension-critical .bs-col-tag-active{color:#ef4444;background:#ef44441f;animation:1.5s ease-in-out infinite bs-critical-tag-pulse}.bs-tension-critical .bs-fleet-count{animation:1.5s ease-in-out infinite bs-critical-text-pulse}@keyframes bs-critical-pulse{0%,to{box-shadow:inset 0 1px #ffffff0a,0 10px 28px #0000003d,0 0 20px #ef44441f}50%{box-shadow:inset 0 1px #ffffff0a,0 10px 28px #0000003d,0 0 30px #ef444447}}@keyframes bs-critical-tag-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes bs-critical-text-pulse{0%,to{opacity:1}50%{opacity:.6}}.bs-col-tag-active{position:relative}.bs-col-tag-active:after{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite bs-turn-dot-pulse;position:absolute;top:50%;left:4px;transform:translateY(-50%)}@keyframes bs-turn-dot-pulse{0%,to{opacity:1;transform:translateY(-50%)scale(1)}50%{opacity:.4;transform:translateY(-50%)scale(.7)}}.t48-page{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:560px;margin:0 auto;padding:8px;display:flex}.t48-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.t48-topbar-left{align-items:center;gap:8px;display:flex}.t48-title{letter-spacing:.5px;background:linear-gradient(135deg,#edc22e,#f67c5f);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.4rem;font-weight:800}.t48-scores{gap:8px;display:flex}.t48-score-box{text-align:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;min-width:72px;padding:6px 12px;position:relative}.t48-score-label{opacity:.6;letter-spacing:1.5px;font-size:.6rem;font-weight:700}.t48-score-val{color:#fff;font-size:1.05rem;font-weight:800;line-height:1.1}.t48-score-pop{color:#10b981;font-size:.85rem;font-weight:800;animation:.6s ease-out forwards t48-pop;position:absolute;top:-6px;right:8px}@keyframes t48-pop{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.t48-status{text-align:center;opacity:.85;width:100%;margin:0;font-size:.92rem}.t48-board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#bbada0;border-radius:14px;width:100%;max-width:480px;padding:2.5%;position:relative;box-shadow:0 8px 24px #0000004d}.t48-grid-bg{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:2.5%;width:100%;height:100%;display:grid}.t48-cell{background:#eee4da59;border-radius:8px}.t48-tiles{position:absolute;inset:2.5%}.t48-tile{border-radius:8px;justify-content:center;align-items:center;width:22%;height:22%;font-weight:800;transition:transform .12s;display:flex;position:absolute;box-shadow:0 2px 6px #0000002e}.t48-pos-0-0{top:0;left:0}.t48-pos-0-1{top:0;left:26%}.t48-pos-0-2{top:0;left:52%}.t48-pos-0-3{top:0;left:78%}.t48-pos-1-0{top:26%;left:0}.t48-pos-1-1{top:26%;left:26%}.t48-pos-1-2{top:26%;left:52%}.t48-pos-1-3{top:26%;left:78%}.t48-pos-2-0{top:52%;left:0}.t48-pos-2-1{top:52%;left:26%}.t48-pos-2-2{top:52%;left:52%}.t48-pos-2-3{top:52%;left:78%}.t48-pos-3-0{top:78%;left:0}.t48-pos-3-1{top:78%;left:26%}.t48-pos-3-2{top:78%;left:52%}.t48-pos-3-3{top:78%;left:78%}.t48-tile-new{animation:.18s ease-out t48-spawn}@keyframes t48-spawn{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.t48-tile-win{box-shadow:0 0 18px #edc22eb3,0 2px 6px #0003}.t48-pad{flex-direction:column;align-items:center;gap:6px;margin-top:6px;display:flex}.t48-pad-row{gap:6px;display:flex}.t48-pad-btn{color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:54px;height:54px;font-size:1.2rem;transition:transform 80ms,background .15s;display:flex}.t48-pad-btn:active{background:#ffffff24;transform:scale(.92)}.t48-tip{opacity:.6;text-align:center;margin-top:4px;padding:0 8px;font-size:.78rem}@media (width>=800px) and (hover:hover){.t48-pad{display:none}}.mem-page{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:780px;margin:0 auto;padding:8px;display:flex}.mem-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.mem-topbar-left{align-items:center;gap:8px;display:flex}.mem-title{background:linear-gradient(135deg,#a78bfa,#22d3ee);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.35rem;font-weight:800}.mem-stats{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.mem-stat{color:#e5e7eb;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;padding:4px 10px;font-size:.78rem}.mem-best{color:#67e8f9;background:#22d3ee1a;border-color:#22d3ee40}.mem-pscore{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;padding:6px 12px;font-size:.85rem;transition:all .25s}.mem-pscore-active{background:#a78bfa29;border-color:#a78bfa73;box-shadow:0 0 16px #a78bfa40}.mem-status{text-align:center;opacity:.85;width:100%;min-height:1.4em;margin:0;font-size:.92rem}.mem-board{grid-template-columns:repeat(var(--mem-cols,4), 1fr);perspective:900px;gap:8px;width:100%;max-width:560px;display:grid}.mem-card{aspect-ratio:3/4;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:relative}.mem-card-inner{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.4,.2,.3,1);position:absolute;inset:0}.mem-card-face .mem-card-inner{transform:rotateY(180deg)}.mem-card-back,.mem-card-front{backface-visibility:hidden;border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:0 4px 10px #00000040}.mem-card-back{background:linear-gradient(135deg,#7c3aed,#3b82f6);border:2px solid #ffffff14}.mem-card-back-glyph{color:#ffffffb3;font-size:1.6rem;font-weight:800}.mem-card-front{color:#1f2937;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #ffffff80;font-size:clamp(1.4rem,7vw,2.5rem);transform:rotateY(180deg)}.mem-card-matched .mem-card-inner{transform:rotateY(180deg)}.mem-card-matched .mem-card-front{background:linear-gradient(135deg,#86efac,#34d399);animation:.4s ease-out mem-pop}@keyframes mem-pop{0%{transform:rotateY(180deg)scale(1)}50%{transform:rotateY(180deg)scale(1.12)}to{transform:rotateY(180deg)scale(1)}}.mem-card:hover:not(:disabled) .mem-card-inner{transform:translateY(-2px)}.mem-card-face:hover .mem-card-inner{transform:rotateY(180deg)translateY(-2px)}.mem-tip{opacity:.6;text-align:center;margin-top:4px;padding:0 8px;font-size:.78rem}.game-pick-card-twenty48{background:linear-gradient(135deg,#edc22e1f,#f67c5f1a)!important;border-color:#edc22e4d!important}.game-pick-card-memory{background:linear-gradient(135deg,#a78bfa1f,#22d3ee1a)!important;border-color:#a78bfa4d!important}.start-btn-twenty48{color:#1f2937!important;background:linear-gradient(135deg,#edc22e,#f67c5f)!important}.start-btn-memory{color:#0b1220!important;background:linear-gradient(135deg,#a78bfa,#22d3ee)!important}.home-howto{margin:14px 0}.home-howto-list{opacity:.85;margin:6px 0 0;padding-left:20px;font-size:.86rem;line-height:1.5}@media (width<=640px){.game-picker{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.home-card{padding:14px!important}.home-pick-title,.home-game-title{font-size:1.4rem!important}.reversi-board,.bs-board-fleet,.bs-board-attack,.gk-board,.t48-board,.mem-board{touch-action:manipulation}.gk-icon-btn{min-width:38px;min-height:38px}.mem-board{gap:6px}.mem-card-back-glyph{font-size:1.2rem}}@media (width<=400px){.game-picker{grid-template-columns:1fr!important}.t48-pad-btn{width:48px;height:48px}.mem-stats{font-size:.7rem}.mem-stat{padding:3px 8px}}.t48-page,.mem-page{overscroll-behavior:contain}.home-hero{text-align:center;margin-bottom:16px;grid-template-columns:none!important;display:block!important}.home-hero-title{letter-spacing:.5px;text-align:center;margin:0 0 6px;font-size:28px}.home-hero-sub{opacity:.75;text-align:center;margin:0;font-size:14px}.home-toggles{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:12px;display:flex}.home-toggle-pill{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:background .15s;display:inline-flex}.home-toggle-pill:hover{background:#ffffff1f}.home-toggle-pill input{accent-color:#ffd24c;cursor:pointer}.home-search{margin:12px 0 16px;position:relative}.home-search-input{width:100%;color:inherit;box-sizing:border-box;background:#00000040;border:1px solid #ffffff26;border-radius:12px;padding:12px 40px 12px 14px;font-size:15px}.home-search-input:focus{border-color:#ffd24c;outline:none;box-shadow:0 0 0 3px #ffd24c26}.home-search-clear{width:28px;height:28px;color:inherit;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;font-size:18px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.home-section-label{text-transform:uppercase;letter-spacing:1.2px;opacity:.6;margin:14px 0 8px;font-size:12px;font-weight:600}.home-section-result{text-align:center}.home-chips{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.home-chip{color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:2px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;transition:all .15s;display:inline-flex}.home-chip:hover{background:#ffffff1a;border-color:#ffffff40;transform:translateY(-1px)}.home-chip-active{color:#1a1a1a;background:linear-gradient(135deg,#ffd24c,#ff9f1c);border-color:#ffd24c;font-weight:700;box-shadow:0 4px 12px #ffd24c40}.home-chip-sm{padding:6px 12px;font-size:13px}.home-chip-emoji{font-size:18px;line-height:1}.home-chip-label{line-height:1}.home-empty{text-align:center;opacity:.8;padding:32px 16px}.home-empty-emoji{margin-bottom:8px;font-size:48px}.game-pick-tags{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:8px;display:flex}.game-pick-age{letter-spacing:.5px;background:#ffffff1a;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.game-pick-skill{border:1px solid var(--skill-color,#fff3);color:var(--skill-color,inherit);background:#ffffff0f;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500}.game-pick-card-simon{border-color:#ff6b6b66}.game-pick-card-math{border-color:#48dbfb66}.game-pick-kid:before{content:"✨";opacity:.7;font-size:14px;position:absolute;top:6px;right:8px}.home-kids .home-hero-title{font-size:32px}.home-kids .home-chip{min-height:48px;padding:10px 18px;font-size:16px}.home-kids .home-chip-sm{padding:8px 14px;font-size:14px}.home-kids .game-pick-card{border-width:3px;min-height:200px;padding:18px}.home-kids .game-pick-icon{font-size:56px}.home-kids .game-pick-name{font-size:22px}.home-kids .home-toggle-pill{padding:8px 18px;font-size:15px}.home-kids .start-btn{min-height:56px;padding:16px;font-size:18px}.simon-page{max-width:600px;margin:0 auto;padding:16px}.simon-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.simon-topbar-left{align-items:center;gap:10px;display:flex}.simon-topbar-right{align-items:center;gap:8px;display:flex}.simon-title{margin:0;font-size:24px}.simon-stats{gap:16px;display:flex}.simon-score-box{flex-direction:column;align-items:center;gap:2px;display:flex}.simon-score-label{letter-spacing:1.2px;opacity:.55;text-transform:uppercase;font-size:10px;font-weight:700}.simon-score-val{color:#ffd24c;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1}@keyframes simonPop{0%{color:#ffd24c;transform:scale(1)}50%{color:#6bff6b;transform:scale(1.5)}to{color:#ffd24c;transform:scale(1)}}.simon-score-pop{animation:.4s ease-out simonPop}.simon-status{text-align:center;min-height:28px;margin:12px 0;font-size:18px;font-weight:600}.simon-stage{width:min(420px,90vw);height:min(420px,90vw);margin:0 auto;position:relative}.simon-pad{box-sizing:border-box;background:#111;border-radius:50%;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:8px;width:100%;height:100%;padding:10px;display:grid;box-shadow:0 8px 32px #0006}.simon-pad-locked .simon-quad{cursor:default}.simon-quad{cursor:pointer;opacity:.6;border:none;width:100%;height:100%;transition:filter .1s,transform 80ms,opacity .1s}.simon-quad:hover:not(:disabled){opacity:.82}.simon-quad:disabled{cursor:default}.simon-quad-active{filter:brightness(1.7)saturate(1.5);transform:scale(.96);opacity:1!important}.simon-quad-green{background:#2ecc71;border-radius:100% 8px 8px}.simon-quad-red{background:#e74c3c;border-radius:8px 100% 8px 8px}.simon-quad-yellow{background:#f1c40f;border-radius:8px 8px 8px 100%}.simon-quad-blue{background:#3498db;border-radius:8px 8px 100%}.simon-center{color:#fff;pointer-events:none;box-sizing:border-box;background:#1a1a1a;border:4px solid #333;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:36%;height:36%;padding:4px;font-size:14px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 16px #0009}.simon-start{pointer-events:auto;color:#1a1a1a;cursor:pointer;background:linear-gradient(135deg,#ffd24c,#ff9f1c);border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;transition:transform .1s}.simon-start:hover{transform:scale(1.06)}.simon-center-text{text-align:center;font-size:20px;line-height:1.3}.simon-center-progress{box-sizing:border-box;width:100%;padding:0 6px}.simon-progress-track{background:#ffffff26;border-radius:999px;width:100%;height:5px;overflow:hidden}.simon-progress-fill{background:linear-gradient(90deg,#ffd24c,#ff6b6b);height:100%;transition:width .2s}.simon-step-counter{text-align:center;opacity:.6;margin-top:3px;font-size:10px}.simon-tip{text-align:center;opacity:.6;margin-top:16px;font-size:13px}.kids-mode .simon-quad{opacity:.75}.kids-mode .simon-center{font-size:16px}.math-page{max-width:540px;margin:0 auto;padding:16px}.math-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.math-title{margin:0;font-size:24px}.math-score-box{align-items:center;gap:16px;font-size:14px;display:flex}.math-score-box b{color:#ffd24c;font-size:20px}.math-streak-hot{color:#ff6b6b;animation:.5s simonPop}.math-timebar{background:#ffffff14;border-radius:999px;height:24px;margin-bottom:16px;position:relative;overflow:hidden}.math-timebar-fill{background:linear-gradient(90deg,#6bff6b,#ffd24c);height:100%;transition:width .5s linear,background .3s}.math-timebar-warn .math-timebar-fill{background:linear-gradient(90deg,#ff6b6b,#ff4757);animation:.6s infinite alternate pulseWarn}@keyframes pulseWarn{0%{opacity:.7}to{opacity:1}}.math-time-text{color:#1a1a1a;text-shadow:0 1px 2px #fff6;font-size:13px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.math-ready{text-align:center;padding:32px 16px}.math-ready-emoji{margin-bottom:8px;font-size:64px}.math-ready-title{margin:0 0 8px;font-size:26px}.math-ready-text{opacity:.85;margin-bottom:4px}.math-ready-sub{opacity:.6;margin-bottom:24px;font-size:13px}.math-start-btn{color:#1a1a1a;cursor:pointer;background:linear-gradient(135deg,#ffd24c,#ff9f1c);border:none;border-radius:12px;padding:14px 32px;font-size:18px;font-weight:700;box-shadow:0 4px 16px #ff9f1c4d}.math-start-btn:hover{transform:translateY(-2px)}.math-stage{padding:12px 0}.math-problem{text-align:center;background:#ffffff0f;border-radius:16px;margin-bottom:16px;padding:32px 16px}.math-eq{letter-spacing:2px;font-size:42px;font-weight:700}.math-q{color:#ffd24c}.math-feedback{text-align:center;min-height:28px;margin-bottom:12px;font-size:18px;font-weight:700}.math-feedback-ok{color:#6bff6b}.math-feedback-bad{color:#ff6b6b}.math-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.math-choice{color:inherit;cursor:pointer;background:#ffffff0a;border:2px solid #ffffff26;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:64px;padding:18px;font-weight:700;transition:all .12s;display:flex}.math-choice:hover:not(:disabled){background:#ffd24c1f;border-color:#ffd24c;transform:translateY(-2px)}.math-choice:disabled{cursor:not-allowed;opacity:.85}.math-choice-key{opacity:.7;background:#ffffff1a;border-radius:4px;padding:2px 6px;font-size:11px}.math-choice-val{font-size:24px}.math-tip{text-align:center;opacity:.55;margin-top:12px;font-size:12px}.home-kids .math-eq{font-size:50px}.home-kids .math-choice{min-height:80px}.home-kids .math-choice-val{font-size:30px}.start-btn-simon{background:linear-gradient(135deg,#ff6b6b,#e74c3c)}.start-btn-math{background:linear-gradient(135deg,#48dbfb,#0abde3)}@media (width<=480px){.home-chips{gap:6px}.home-chip{padding:6px 12px;font-size:13px}.home-chip-sm{padding:5px 10px;font-size:12px}.home-hero-title{font-size:22px}.math-eq{font-size:32px}.math-choice{min-height:56px;padding:14px}.math-choice-val{font-size:20px}.simon-center{font-size:13px}}.progress-badge{color:inherit;cursor:pointer;background:#ffd24c1a;border:1px solid #ffd24c4d;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.progress-badge:hover{background:#ffd24c33}.pb-streak{color:#ff6b6b}.pb-level{color:#ffd24c}.pb-xpbar{background:#ffffff26;border-radius:999px;width:60px;height:6px;display:inline-block;overflow:hidden}.pb-xpfill{background:linear-gradient(90deg,#ffd24c,#ff9f1c);height:100%;transition:width .4s;display:block}.home-dash-btn{background:#48dbfb1a;border-color:#48dbfb4d}.toast-host{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;max-width:340px;display:flex;position:fixed;top:20px;right:20px}.toast{color:#fff;pointer-events:auto;background:linear-gradient(135deg,#2a2a3e,#1a1a2e);border-left:4px solid #ffd24c;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;animation:.3s ease-out toastIn;display:flex;box-shadow:0 8px 24px #0006}.toast-ach{border-left-color:#6bff6b}.toast-level{border-left-color:#ffd24c}@keyframes toastIn{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.toast-emoji{font-size:28px}.toast-title{font-size:14px;font-weight:700}.toast-text{opacity:.8;font-size:12px}.dash-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.dash-card{background:#1a1a2e;border-radius:18px;width:100%;max-width:720px;max-height:92vh;padding:24px;overflow-y:auto;box-shadow:0 16px 48px #00000080}.dash-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dash-head h2{margin:0;font-size:22px}.dash-close{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;width:36px;height:36px;font-size:22px}.dash-close:hover{background:#ff6b6b4d}.dash-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:20px;display:grid}.dash-stat{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:12px}.dash-stat-num{color:#ffd24c;font-size:22px;font-weight:700;line-height:1.2;display:block}.dash-stat-lbl{opacity:.7;letter-spacing:.5px;margin-top:4px;font-size:11px;display:block}.dash-h3{text-transform:uppercase;letter-spacing:1px;opacity:.7;margin:16px 0 10px;font-size:14px}.dash-empty{opacity:.6;padding:12px 0}.dash-games{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.dash-game-row{background:#ffffff08;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.dash-game-name{font-weight:600}.dash-game-bars{opacity:.85;gap:12px;display:flex}.dash-game-bars b{color:#ffd24c}.dash-achievements{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:16px;display:grid}.dash-ach{text-align:center;opacity:.4;filter:grayscale();background:#ffffff08;border-radius:10px;padding:10px;transition:all .2s}.dash-ach-on{opacity:1;filter:none;background:linear-gradient(135deg,#ffd24c26,#ff9f1c0d);border:1px solid #ffd24c4d}.dash-ach-emoji{margin-bottom:4px;font-size:32px;display:block}.dash-ach-name{font-size:12px;font-weight:700;display:block}.dash-ach-desc{opacity:.7;margin-top:2px;font-size:10px;display:block}.dash-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.dash-reset{color:#ff6b6b;cursor:pointer;background:#ff6b6b26;border:1px solid #ff6b6b66;border-radius:8px;padding:8px 16px;font-size:13px}.dash-reset:hover{background:#ff6b6b4d}.word-stage{padding:12px 0}.word-slots{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.word-slot{color:#ffd24c;background:#ffffff08;border:2px dashed #fff3;border-radius:8px;justify-content:center;align-items:center;width:44px;height:56px;font-size:26px;font-weight:700;display:inline-flex}.word-slot-filled{background:#ffd24c1a;border:2px solid #ffd24c}.word-tray{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:12px;display:flex}.word-tile{color:#48dbfb;cursor:pointer;background:linear-gradient(135deg,#2a2a3e,#1a1a2e);border:2px solid #48dbfb66;border-radius:10px;width:48px;height:56px;font-size:26px;font-weight:700;transition:all .12s}.word-tile:hover:not(:disabled){background:linear-gradient(135deg,#3a3a4e,#2a2a3e);border-color:#48dbfb;transform:translateY(-3px)}.word-tile-used{visibility:hidden}.word-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.word-action-btn{color:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;padding:8px 16px;font-size:13px}.word-action-btn:hover{background:#ffffff1f}.word-action-skip{color:#ff6b6b;border-color:#ff6b6b4d}.stroop-stage{text-align:center;padding:12px 0}.stroop-prompt{opacity:.7;margin-bottom:12px;font-size:14px}.stroop-word{letter-spacing:4px;text-shadow:0 2px 8px #0000004d;-webkit-user-select:none;user-select:none;margin:24px 0;font-size:72px;font-weight:900;line-height:1}.stroop-choices{grid-template-columns:1fr 1fr;gap:12px;max-width:360px;margin:0 auto;display:grid}.stroop-choice{color:#fff;cursor:pointer;text-shadow:0 1px 3px #0006;border:2px solid #fff3;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-height:70px;padding:22px;font-weight:700;transition:transform .1s;display:flex}.stroop-choice:hover{transform:translateY(-2px)scale(1.02)}.stroop-choice:active{transform:scale(.97)}.stroop-key{background:#00000040;border-radius:4px;padding:2px 7px;font-size:11px}.stroop-label{font-size:16px}.start-btn-word{background:linear-gradient(135deg,#f59e0b,#d97706)}.start-btn-stroop{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.game-pick-card-word{border-color:#f59e0b66}.game-pick-card-stroop{border-color:#a78bfa66}@media (width<=480px){.stroop-word{letter-spacing:2px;font-size:52px}.word-slot{width:36px;height:48px;font-size:22px}.word-tile{width:40px;height:48px;font-size:22px}.toast-host{max-width:none;top:10px;left:10px;right:10px}.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-stat-num{font-size:18px}}[data-theme=light] .math-timebar{background:color-mix(in srgb, var(--ink) 14%, transparent)}[data-theme=light] .math-time-text{color:var(--bg);text-shadow:0 1px 2px #ffffffa6}[data-theme=light] .math-problem,[data-theme=light] .math-choice,[data-theme=light] .pb-xpbar,[data-theme=light] .word-slot,[data-theme=light] .word-action-btn,[data-theme=light] .dash-game-row,[data-theme=light] .dash-ach,[data-theme=light] .dash-stat{background:color-mix(in srgb, var(--panel) 82%, var(--bg2));border-color:var(--panel-border)}[data-theme=light] .math-choice-key,[data-theme=light] .stroop-key{background:color-mix(in srgb, var(--ink) 14%, transparent)}[data-theme=light] .math-choice:hover:not(:disabled){border-color:var(--gold)}[data-theme=light] .toast{color:var(--ink);background:linear-gradient(135deg,#fff,#f4ecff);box-shadow:0 8px 24px #4b2a8c2e}[data-theme=light] .toast-text{opacity:.75}[data-theme=light] .dash-card{background:color-mix(in srgb, var(--panel) 94%, #fff);border:1px solid var(--panel-border);color:var(--ink)}[data-theme=light] .dash-close{background:color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink)}[data-theme=light] .dash-stat-num,[data-theme=light] .dash-game-bars b,[data-theme=light] .pb-level,[data-theme=light] .word-slot,[data-theme=light] .math-q{color:var(--gold)}[data-theme=light] .pb-streak,[data-theme=light] .math-feedback-bad,[data-theme=light] .word-action-skip,[data-theme=light] .dash-reset{color:#c13a5c}[data-theme=light] .math-feedback-ok,[data-theme=light] .toast-ach{color:#1f7a4d}[data-theme=light] .word-tile{border-color:color-mix(in srgb, var(--cyan) 48%, transparent);color:var(--cyan);background:linear-gradient(135deg,#fff,#f5eeff)}[data-theme=light] .word-tile:hover:not(:disabled){border-color:var(--cyan);background:linear-gradient(135deg,#f7f0ff,#ece2ff)}[data-theme=light] .stroop-choice{border-color:color-mix(in srgb, var(--ink) 22%, transparent);text-shadow:none}[data-theme=light] .mascot-bubble{color:var(--ink);background:#fff;box-shadow:0 10px 28px #4b2a8c33}[data-theme=light] .mascot-bubble-tail{background:#fff}.mascot{z-index:8500;pointer-events:none;width:86px;height:96px;position:fixed;bottom:22px;right:22px}.mascot>*{pointer-events:auto}.mascot-body{cursor:pointer;transform-origin:50% 95%;background:0 0;border:none;padding:0;animation:2.4s cubic-bezier(.45,0,.55,1) infinite mascotGroove;display:block;position:absolute;inset:0}.mascot-emoji{transform-origin:50% 95%;filter:drop-shadow(0 8px 6px #0006);-webkit-user-select:none;user-select:none;will-change:transform;font-size:60px;line-height:1;animation:1.2s cubic-bezier(.34,1.4,.5,1) infinite mascotDance;position:absolute;bottom:6px;left:50%}.mascot-shadow{pointer-events:none;background:radial-gradient(#0000008c,#0000 70%);border-radius:50%;width:56px;height:10px;animation:1.2s cubic-bezier(.34,1.4,.5,1) infinite mascotShadow;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.mascot-body:hover{animation-duration:1.4s}.mascot-body:hover .mascot-emoji{animation-duration:.55s}@keyframes mascotGroove{0%,to{transform:rotate(-3deg)translate(2px)}50%{transform:rotate(3deg)translate(-2px)}}@keyframes mascotDance{0%{transform:translate(-50%)scale(1)rotate(-4deg)}20%{transform:translate(-50%,1px)scale(1.08,.92)rotate(-2deg)}35%{transform:translate(-50%,-10px)scale(.95,1.06)rotate(2deg)}55%{transform:translate(-50%,-14px)scale(.96,1.05)rotate(5deg)}75%{transform:translate(-50%,-6px)scale(1)rotate(3deg)}90%{transform:translate(-50%,1px)scale(1.06,.94)rotate(-2deg)}to{transform:translate(-50%)scale(1)rotate(-4deg)}}@keyframes mascotShadow{0%{opacity:.55;transform:translate(-50%)scale(1)}20%{opacity:.6;transform:translate(-50%)scaleX(1.15)}55%{opacity:.25;transform:translate(-50%)scaleX(.55)}90%{opacity:.55;transform:translate(-50%)scaleX(1.12)}to{opacity:.55;transform:translate(-50%)scale(1)}}.mascot-bubble{color:#1a1a2e;transform-origin:100% 100%;background:#fff;border-radius:14px;width:max-content;max-width:240px;margin-bottom:6px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.35;animation:.35s cubic-bezier(.34,1.56,.64,1) bubbleIn;position:absolute;bottom:100%;right:0;box-shadow:0 10px 28px #0006}.mascot-bubble-tail{background:#fff;border-radius:0 0 4px;width:14px;height:14px;position:absolute;bottom:-7px;right:22px;transform:rotate(45deg);box-shadow:4px 4px 8px #00000014}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.mascot{width:68px;height:78px;bottom:12px;right:12px}.mascot-emoji{font-size:48px}.mascot-shadow{width:44px}.mascot-bubble{max-width:200px;font-size:12px}}@media (prefers-reduced-motion:reduce){.mascot-body,.mascot-emoji,.mascot-shadow{animation:none}}.mascot-mood-happy .mascot-body{animation-duration:1.2s}.mascot-mood-happy .mascot-emoji{animation-duration:.6s}.mascot-mood-celebrate .mascot-body{animation:1.6s linear infinite mascotSpin}.mascot-mood-celebrate .mascot-emoji{animation:.55s cubic-bezier(.34,1.56,.64,1) infinite mascotJump}.mascot-mood-celebrate .mascot-shadow{animation:.55s ease-in-out infinite mascotShadowFast}@keyframes mascotSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mascotJump{0%,to{transform:translate(-50%)scaleY(.95)}40%{transform:translate(-50%,-22px)scale(.95,1.08)}80%{transform:translate(-50%)scale(1.1,.9)}}@keyframes mascotShadowFast{0%,to{opacity:.55;transform:translate(-50%)scaleX(1.15)}40%{opacity:.2;transform:translate(-50%)scaleX(.4)}}.mascot-confetti{pointer-events:none;position:absolute;inset:0}.mascot-confetti span{opacity:0;filter:drop-shadow(0 1px 2px #0000004d);font-size:18px;animation:1.4s ease-out infinite confettiFly;position:absolute}.mascot-confetti span:first-child{--tx:-32px;--ty:-38px;animation-delay:0s;top:20%;left:10%}.mascot-confetti span:nth-child(2){--tx:34px;--ty:-42px;animation-delay:.2s;top:18%;left:80%}.mascot-confetti span:nth-child(3){--tx:-42px;--ty:-10px;animation-delay:.45s;top:60%;left:18%}.mascot-confetti span:nth-child(4){--tx:38px;--ty:-18px;animation-delay:.7s;top:55%;left:75%}@keyframes confettiFly{0%{opacity:0;transform:translate(0)scale(.5)rotate(0)}20%{opacity:1}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(1.2) rotate(360deg)}}.mascot-mood-sad .mascot-body{animation:3s ease-in-out infinite mascotDroop}.mascot-mood-sad .mascot-emoji{filter:drop-shadow(0 4px 4px #00000073)grayscale(.25);animation:3s ease-in-out infinite mascotSulk}.mascot-mood-sad .mascot-shadow{opacity:.45;animation:none;transform:translate(-50%)scaleX(1.05)}@keyframes mascotDroop{0%,to{transform:rotate(-5deg)translateY(2px)}50%{transform:rotate(5deg)translateY(2px)}}@keyframes mascotSulk{0%,to{transform:translate(-50%,4px)scaleY(.96)rotate(-3deg)}50%{transform:translate(-50%,6px)scaleY(.94)rotate(3deg)}}.mascot-tear{pointer-events:none;font-size:16px;animation:2s ease-in infinite tearDrop;position:absolute;top:35%;left:58%}@keyframes tearDrop{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1;transform:translateY(2px)scale(1)}to{opacity:0;transform:translateY(34px)scale(.8)}}.mascot-bubble-celebrate{color:#3a2a00;background:linear-gradient(135deg,#fff4d6,#ffe18a);border:2px solid #ffd24c}.mascot-bubble-celebrate .mascot-bubble-tail{background:#ffe18a;border-bottom:2px solid #ffd24c;border-right:2px solid #ffd24c}.mascot-bubble-happy{color:#0a3a1f;background:linear-gradient(135deg,#e7fff0,#b8f5cf);border:2px solid #4ade80}.mascot-bubble-happy .mascot-bubble-tail{background:#b8f5cf;border-bottom:2px solid #4ade80;border-right:2px solid #4ade80}.mascot-bubble-sad{color:#1a2a52;background:linear-gradient(135deg,#eaf2ff,#cfdfff);border:2px solid #93b4ff}.mascot-bubble-sad .mascot-bubble-tail{background:#cfdfff;border-bottom:2px solid #93b4ff;border-right:2px solid #93b4ff}@media (prefers-reduced-motion:reduce){.mascot-mood-celebrate .mascot-body,.mascot-mood-celebrate .mascot-emoji,.mascot-mood-celebrate .mascot-shadow,.mascot-mood-sad .mascot-body,.mascot-mood-sad .mascot-emoji,.mascot-confetti span,.mascot-tear{animation:none}}.home{--hero-ink:#102433;--hero-cream:#fff5df;--hero-a:#2dd4bf;--hero-b:#fb923c;--hero-c:#f97316}.home .home-card{border:1px solid color-mix(in srgb, var(--hero-a) 32%, transparent);background:radial-gradient(140% 120% at -10% -20%, #2dd4bf33, transparent 50%), radial-gradient(140% 120% at 120% -20%, #fb923c29, transparent 45%), color-mix(in srgb, var(--panel) 88%, #e7f9ff);box-shadow:0 24px 70px #12334838}.home .home-hero{align-items:stretch;gap:16px;margin-bottom:14px;text-align:left!important;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;display:grid!important}.home-hero-copy{flex-direction:column;justify-content:center;gap:10px;padding:8px 2px;display:flex}.home .home-hero-title{letter-spacing:.02em;color:color-mix(in srgb, var(--hero-cream) 88%, #fff);text-wrap:balance;margin:0;font-size:clamp(1.6rem,2.8vw,2.45rem);line-height:1.05;text-align:left!important}.home .home-hero-sub{max-width:54ch;color:color-mix(in srgb, var(--hero-cream) 76%, #d6f1ff);margin:0;font-size:clamp(.95rem,1.5vw,1.07rem);text-align:left!important}.home-hero-caption{border:1px solid color-mix(in srgb, var(--hero-a) 46%, transparent);background:color-mix(in srgb, var(--hero-a) 10%, transparent);color:#e0fff9;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;width:fit-content;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.home-hero-canvas-wrap{border:1px solid color-mix(in srgb, var(--hero-a) 42%, transparent);border-radius:20px;min-height:210px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,0 16px 34px #00000059}.home-hero-canvas{width:100%;height:100%;min-height:210px;display:block}.home-hero-chip-row{gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.home-hero-chip{letter-spacing:.11em;text-transform:uppercase;color:#f5f4eb;background:#11232fb3;border:1px solid #ffffff73;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.home-hero-canvas-fallback{border:1px solid color-mix(in srgb, var(--hero-a) 42%, transparent);background:radial-gradient(circle at 16% 26%,#2dd4bf80,#0000 28%),radial-gradient(circle at 78% 60%,#fb923c6b,#0000 35%),linear-gradient(135deg,#0f2432,#2e190f);border-radius:20px;min-height:210px;position:relative;overflow:hidden}.home-hero-fallback-glow{filter:blur(28px);background:conic-gradient(#2dd4bf47,#fb923c38,#f9731647,#2dd4bf42);animation:12s linear infinite heroFallbackSpin;position:absolute;inset:-30%}@keyframes heroFallbackSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=900px){.home .home-hero{gap:12px;grid-template-columns:1fr!important}.home-hero-copy,.home .home-hero-title,.home .home-hero-sub{justify-content:center;margin-left:auto;margin-right:auto;text-align:center!important}.home-hero-caption{margin-left:auto;margin-right:auto}}@media (width<=640px){.home-hero-canvas,.home-hero-canvas-fallback{min-height:180px}}.home{position:relative}.home:before,.home:after{content:"";pointer-events:none;z-index:0;filter:blur(42px);opacity:.35;border-radius:999px;position:fixed;inset:auto}.home:before{background:radial-gradient(circle,#2dd4bfe0,#2dd4bf00);width:340px;height:340px;animation:14s ease-in-out infinite homeGlowDriftA;top:110px;left:-120px}.home:after{background:radial-gradient(circle,#fb923cd1,#fb923c00);width:320px;height:320px;animation:16s ease-in-out infinite homeGlowDriftB;top:170px;right:-90px}@keyframes homeGlowDriftA{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,18px)scale(1.09)}}@keyframes homeGlowDriftB{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-36px,-16px)scale(1.08)}}.home .home-card{z-index:1;position:relative}.home-hero-kicker{color:#f7f6ee;text-transform:uppercase;letter-spacing:.12em;background:#0b1c248c;border:1px solid #ffffff80;border-radius:999px;width:fit-content;padding:4px 11px;font-size:10px;font-weight:800}.home-hero-kpis{flex-wrap:wrap;gap:8px;display:flex}.home-hero-kpi{letter-spacing:.08em;text-transform:uppercase;color:#fff7ed;background:linear-gradient(135deg,#0f2e38bd,#3d190ca8);border:1px solid #fff3;border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.home .home-toggles{gap:10px;margin-bottom:15px}.home .home-toggle-pill{color:#fff8e7;background:linear-gradient(135deg,#132f3cb8,#38180ea6);border:1px solid #ffffff38;font-weight:600}.home .home-toggle-pill:hover{transform:translateY(-1px);box-shadow:0 8px 16px #00000040}.home .home-search-input{color:#fff7ec;background:linear-gradient(135deg,#081b24c7,#2e150cb3);border:1px solid #ffffff3d}.home .home-search-input::placeholder{color:#fff6deb8}.home .home-search-input:focus{border-color:#fb923c;box-shadow:0 0 0 3px #fb923c42}.home .home-chip{color:#fff4de;background:linear-gradient(140deg,#102a34b3,#31150c9e);border-width:1px;border-color:#fff3}.home .home-chip:hover{border-color:#ffffff75;box-shadow:0 10px 20px #0000003d}.home .home-chip-active{color:#122634;background:linear-gradient(135deg,#2dd4bf,#fb923c 72%);border-color:#0000;box-shadow:0 8px 18px #fb923c59}.home .game-picker{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:8px}.home .game-pick-card{text-align:left;min-height:192px;transform-style:preserve-3d;background:linear-gradient(145deg,#071e28e6,#31140ce0),radial-gradient(circle at 85% 14%,#2dd4bf33,#0000 33%);border:1px solid #ffffff2b;align-items:flex-start;padding:18px 16px 16px;box-shadow:0 15px 30px #0000004d}.home .game-pick-card:before{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 20%,#ffffff2e 46%,#0000 72%);border-radius:18px;transition:transform .5s;position:absolute;inset:0;transform:translate(-120%)}.home .game-pick-card:hover:before{transform:translate(120%)}.home .game-pick-card:hover{border-color:#ffffff80;transform:translateY(-6px)rotateX(4deg)rotateY(-4deg);box-shadow:0 22px 36px #00000061}.home .game-pick-icon{margin-bottom:2px;font-size:2rem}.home .game-pick-name{color:#fff9eb;letter-spacing:.02em;font-size:1.14rem}.home .game-pick-desc{color:#fbf4e0e0;font-size:.86rem;line-height:1.45}.home .game-pick-tags{justify-content:flex-start;margin-top:auto}.home .game-pick-age,.home .game-pick-skill{color:#fff7e7;background:#ffffff14}@media (width<=900px){.home-hero-kicker,.home-hero-kpis{justify-content:center;margin-left:auto;margin-right:auto}.home .game-pick-card{min-height:174px}}@media (width<=640px){.home .game-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home .game-pick-card{min-height:164px;padding:14px}.home .game-pick-card:hover{transform:translateY(-4px)}}.dash-card-v2{opacity:0;background:radial-gradient(circle at 100% 0,#2dd4bf1f,#0000 30%),radial-gradient(circle at 0 100%,#fb923c1f,#0000 34%),linear-gradient(155deg,#111f2b,#21140f 72%);border:1px solid #ffffff1f;transition:transform .35s,opacity .35s;transform:translateY(16px)scale(.98)}.dash-card-v2.is-entered{opacity:1;transform:translateY(0)scale(1)}.dash-card-v2 .dash-stat{animation:.45s both dashRise;animation-delay:calc(var(--dash-order,0) * 60ms);background:linear-gradient(150deg,#ffffff12,#ffffff08);position:relative;overflow:hidden}.dash-card-v2 .dash-stat:after{content:"";opacity:.85;background:linear-gradient(90deg,#2dd4bf,#fb923c);height:3px;position:absolute;inset:auto 0 0}.dash-game-row-v2{background:linear-gradient(145deg,#ffffff0d,#ffffff05);border:1px solid #ffffff14}.dash-game-meter{background:#ffffff1a;border-radius:999px;align-items:center;width:74px;height:7px;display:inline-flex;overflow:hidden}.dash-game-meter i{border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#fb923c);height:100%;display:block}@keyframes dashRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.boardfx-v2-shell .board,.boardfx-v2-rv .reversi-board,.boardfx-v2-gk .gomoku-board{box-shadow:0 24px 44px #0000004d,0 0 0 1px #ffffff0f,0 0 30px #2dd4bf1f}.boardfx-v2-shell .status-bar,.boardfx-v2-rv .rv-status,.boardfx-v2-gk .gk-status{letter-spacing:.08em;text-transform:uppercase}.boardfx-v2-shell .disc,.boardfx-v2-rv .reversi-disc,.boardfx-v2-gk .gomoku-stone{transition:transform .18s,box-shadow .18s,filter .18s}.boardfx-v2-shell .cell:hover .disc,.boardfx-v2-rv .reversi-square:hover .reversi-disc,.boardfx-v2-gk .gomoku-cell:hover .gomoku-stone{filter:saturate(1.08);transform:scale(1.06)}.boardfx-v2-shell .disc-win,.boardfx-v2-rv .reversi-square.is-last .reversi-disc,.boardfx-v2-gk .gomoku-stone.glow{box-shadow:0 0 20px #fb923c6b,0 0 34px #2dd4bf2e}.toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff24;border-radius:14px;position:relative;overflow:hidden}.toast-dismiss{width:24px;height:24px;color:inherit;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;flex:none;font-size:15px;line-height:1}.toast-dismiss:hover{background:#ffffff38}.toast-progress{transform-origin:0;height:3px;animation:toastDrain var(--toast-ms,4.2s) linear forwards;background:linear-gradient(90deg,#2dd4bf,#f97316);position:absolute;bottom:0;left:0;right:0}@keyframes toastDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.win-banner-slash{flex-direction:column;gap:8px;display:flex}.win-banner-slash.is-win{box-shadow:0 0 50px #ffc3506b,inset 0 0 20px #ffd17840}.win-banner-slash.is-loss{box-shadow:0 0 50px #ff5f8c61,inset 0 0 20px #ff5a7847}.win-banner-slash.is-draw{box-shadow:0 0 50px #7c96b05c,inset 0 0 20px #8695a23d}.win-banner-subtext{opacity:0;color:#efe6d2;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.62rem,1.1vw,.84rem);animation:1s ease-out .45s forwards bannerSubtextIn}@keyframes bannerSubtextIn{0%{opacity:0;transform:translateY(6px)}to{opacity:.85;transform:translateY(0)}}
