:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2f3;--surface:#e3e9eb;--surface-strong:#d6e0e2;--surface-elevated:#f7fafb;--play-surface:#dce5e7;--text:#10191b;--muted:#57686c;--line:#bdcacc;--accent:#36bfa1;--accent-strong:#087a67;--accent-rgb:54 191 161;--button-text:#071513;--danger:#b94f3c;--glass:#f7fafbd1;--gomoku-board:#bfcdd0;--gomoku-board-deep:#a9b9bc;--gomoku-line:#354b4f61;--gomoku-line-soft:#354b4f26;--result-bg:#f4f8f8;--result-panel:#e3ebec;--result-border:#9eb0b3;--result-text:#10191b;--shadow:0 26px 80px #2c434826;--font-body:"Aptos", "Segoe UI", system-ui, sans-serif;--font-display:"Bahnschrift", "Arial Narrow", "Aptos Display", sans-serif;--font-mono:"Cascadia Mono", "SFMono-Regular", Consolas, monospace;font-family:var(--font-body)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1113;--surface:#121b1e;--surface-strong:#19262a;--surface-elevated:#172225;--play-surface:#0f181b;--text:#edf5f5;--muted:#91a3a6;--line:#2b3b3f;--accent:#4ed8b9;--accent-strong:#8cebd2;--accent-rgb:78 216 185;--button-text:#071513;--danger:#df725c;--glass:#121b1edb;--gomoku-board:#243438;--gomoku-board-deep:#182629;--gomoku-line:#a2bec145;--gomoku-line-soft:#a2bec11c;--result-bg:#121d20;--result-panel:#1b292d;--result-border:#40565a;--result-text:#edf5f5;--shadow:0 28px 90px #0207097a}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1113;--surface:#121b1e;--surface-strong:#19262a;--surface-elevated:#172225;--play-surface:#0f181b;--text:#edf5f5;--muted:#91a3a6;--line:#2b3b3f;--accent:#4ed8b9;--accent-strong:#8cebd2;--accent-rgb:78 216 185;--button-text:#071513;--danger:#df725c;--glass:#121b1edb;--gomoku-board:#243438;--gomoku-board-deep:#182629;--gomoku-line:#a2bec145;--gomoku-line-soft:#a2bec11c;--result-bg:#121d20;--result-panel:#1b292d;--result-border:#40565a;--result-text:#edf5f5;--shadow:0 28px 90px #0207097a}*{box-sizing:border-box}body{background:radial-gradient(circle at 82% 4%, rgb(var(--accent-rgb) / .13), transparent 34rem), linear-gradient(rgb(var(--accent-rgb) / .035) 1px, transparent 1px), linear-gradient(90deg, rgb(var(--accent-rgb) / .035) 1px, transparent 1px), var(--bg);min-width:320px;min-height:100dvh;color:var(--text);font-family:var(--font-body);text-rendering:optimizelegibility;background-size:auto,48px 48px,48px 48px,auto;background-attachment:fixed;margin:0}button,a,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--accent-strong);outline-offset:3px}.skip-link{z-index:30;color:var(--button-text);background:var(--accent);border-radius:8px;padding:10px 14px;font-weight:800;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(1240px,100% - 32px);min-height:100dvh;margin:0 auto;padding:16px 0 72px}.topbar{z-index:10;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(145%);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;min-height:60px;padding:8px 10px 8px 14px;display:flex;position:sticky;top:12px;box-shadow:0 12px 38px #20363a1a}.brand-link,.topbar nav{align-items:center;gap:4px;display:flex}.brand-link{font-family:var(--font-display);letter-spacing:-.02em;gap:9px;font-weight:800}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.topbar nav a{color:var(--muted);border-radius:8px;padding:8px 10px;font-size:.88rem;font-weight:650;transition:color .16s,background .16s,transform .16s}.topbar nav a:hover{color:var(--text);background:rgb(var(--accent-rgb) / .08)}.topbar nav a[aria-current=page]{color:var(--text);background:rgb(var(--accent-rgb) / .16)}.theme-control{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:repeat(3,32px);gap:3px;padding:3px;display:grid}.theme-control button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;place-items:center;transition:color .16s,background .16s,transform .16s;display:grid}.theme-control button:hover{color:var(--text)}.theme-control button[aria-pressed=true]{color:var(--button-text);background:var(--accent)}.theme-control button:active{transform:scale(.94)}.hub-hero{grid-template-columns:minmax(0,1.5fr) minmax(290px,.5fr);align-items:end;gap:clamp(40px,7vw,96px);min-height:min(620px,100dvh - 92px);padding:76px 12px 48px;display:grid}.hub-copy h1,.game-heading h1{font-family:var(--font-display);letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(4.5rem,12vw,9rem);font-weight:760;line-height:.82}.hub-copy p:last-child,.game-heading p{max-width:58ch;color:var(--muted);text-wrap:pretty;margin:24px 0 0;font-size:1.04rem;line-height:1.6}.eyebrow,.game-card-kicker{letter-spacing:.12em;color:var(--accent-strong);text-transform:uppercase;margin:0 0 14px;font-size:.75rem;font-weight:800}.hub-panel,.game-card,.control-panel,.board-wrap{border:1px solid var(--line);background:var(--surface-elevated)}.hub-panel{box-shadow:var(--shadow);border-radius:20px 20px 8px;gap:26px;padding:28px;display:grid;position:relative;overflow:hidden}.hub-panel:after{content:"";border:28px solid rgb(var(--accent-rgb) / .12);pointer-events:none;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-36px;right:-32px}.panel-stat,.stat,.status-block{gap:6px;display:grid}.panel-stat span,.stat span,.status-block span,.speed-control span,.speed-control output{color:var(--muted);font-size:.84rem}.panel-stat strong{max-width:12ch;font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.55rem,3vw,2.25rem);line-height:.98}.game-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.game-card{isolation:isolate;border-radius:20px 20px 8px;flex-direction:column;grid-column:span 5;justify-content:space-between;min-height:280px;padding:30px;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.game-card:nth-child(3n+1){grid-column:span 7}.game-card:nth-child(3n){grid-column:span 12;min-height:320px}.game-card:after{content:"";z-index:-1;opacity:.75;background:radial-gradient(circle at 70% 32%, rgb(var(--accent-rgb) / .22) 0 6%, transparent 6.5%), linear-gradient(135deg, transparent 35%, rgb(var(--accent-rgb) / .09));pointer-events:none;width:48%;position:absolute;inset:0 0 0 auto}.game-card[data-game="2048"]:after,.game-card[data-game=minesweeper]:after{background:linear-gradient(90deg, rgb(var(--accent-rgb) / .13) 1px, transparent 1px), linear-gradient(rgb(var(--accent-rgb) / .13) 1px, transparent 1px);background-size:34px 34px;transform:rotate(8deg)scale(1.15)}.game-card[data-game=tetris]:after{background:conic-gradient(from 90deg at 50% 50%, rgb(var(--accent-rgb) / .2) 0 25%, transparent 0 50%, rgb(var(--accent-rgb) / .08) 0 75%, transparent 0);background-size:62px 62px}.game-card[data-game=untangle]:after,.game-card[data-game=net]:after{background:radial-gradient(circle, rgb(var(--accent-rgb) / .28) 0 3px, transparent 4px), linear-gradient(28deg, transparent 48%, rgb(var(--accent-rgb) / .11) 49% 51%, transparent 52%);background-size:54px 54px,100% 100%}.game-card:hover{z-index:1;border-color:var(--accent);transform:translateY(-4px);box-shadow:0 22px 60px #1f3c3f24}.game-card h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.9rem,6vw,5.6rem);line-height:.86}.game-card p{max-width:42ch;color:var(--muted);text-wrap:pretty;line-height:1.55}.primary-link,.primary-button,.secondary-button,.ghost-button,.icon-button{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:44px;font-weight:800;transition:transform .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.primary-link,.primary-button{width:fit-content;color:var(--button-text);background:var(--accent);padding:0 18px}.primary-link:hover,.primary-button:hover{background:color-mix(in srgb, var(--accent) 84%, white);transform:translateY(-2px)}.secondary-button,.ghost-button,.icon-button{border:1px solid var(--line);color:var(--text);background:var(--surface)}.secondary-button,.ghost-button{padding:0 16px}.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:var(--accent);background:rgb(var(--accent-rgb) / .12);transform:translateY(-1px)}.primary-link:active,.primary-button:active,.secondary-button:active,.icon-button:active{transform:translateY(1px)scale(.99)}button:disabled{cursor:default;opacity:.45}.game-layout{grid-template-columns:minmax(0,1fr) 310px;gap:34px;padding:54px 8px 0;display:grid}.game-main{min-width:0}.game-heading{gap:10px;display:grid}.game-heading h1{font-size:clamp(4rem,10vw,7.4rem)}.stats-row{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:30px 0 22px;display:grid}.stat{border-right:1px solid var(--line);min-width:0;padding:16px 18px}.stat:last-child{border-right:0}.stat strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:1.42rem;overflow:hidden}.board-wrap{background:var(--play-surface);width:min(100%,560px);box-shadow:var(--shadow), inset 0 1px 0 #ffffff1a;border-radius:20px 20px 8px;padding:14px}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.gomoku-layout,.net-layout{grid-template-columns:minmax(0,1fr) 340px}.tetris-layout,.untangle-layout{grid-template-columns:minmax(0,1fr) 320px}.untangle-board-wrap{background:var(--play-surface);width:min(100%,680px);padding:12px}.untangle-board{aspect-ratio:1;background:radial-gradient(circle at 50% 50%, rgb(var(--accent-rgb) / .08), transparent 44%), linear-gradient(#354b4f14 1px, transparent 1px), linear-gradient(90deg, #354b4f14 1px, transparent 1px), #0c191c0f;touch-action:none;-webkit-user-select:none;user-select:none;background-size:auto,10% 10%,10% 10%,auto;border-radius:12px;width:100%;display:block;overflow:visible}.untangle-edges line{stroke:var(--accent-strong);stroke-width:.85px;stroke-linecap:round;opacity:.72;transition:stroke .14s,opacity .14s}.untangle-edges line[data-crossing=true]{stroke:var(--danger);stroke-width:1.15px;opacity:.95}.untangle-node{color:var(--button-text);cursor:grab;outline:none}.untangle-node:active{cursor:grabbing}.untangle-node circle{fill:var(--accent);stroke:var(--surface-strong);stroke-width:1.1px;filter:drop-shadow(0 1.5px 2px #0c191c52);transition:r .14s,stroke .14s}.untangle-node:hover circle,.untangle-node:focus-visible circle{r:5.4px;stroke:var(--text)}.untangle-node text{fill:currentColor;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:3.8px;font-weight:900}.untangle-keyboard-tip{color:var(--muted);grid-template-columns:auto 1fr;align-items:start;gap:10px;padding-top:4px;display:grid}.untangle-keyboard-tip p{margin:0;font-size:.88rem;line-height:1.45}.gomoku-stats{grid-template-columns:1.2fr .8fr 1fr}.net-stats{grid-template-columns:1.2fr .8fr .8fr}.tetris-stats,.minesweeper-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.untangle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tetris-board-wrap{background:#111c1f;width:min(100%,440px);padding:12px}.tetris-board{grid-template-columns:repeat(var(--tetris-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--tetris-rows), minmax(0, 1fr));aspect-ratio:1/2;touch-action:manipulation;-webkit-user-select:none;user-select:none;background-color:#0a1214;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:10% 5%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:12px;gap:3px;padding:6px;display:grid}.tetris-cell{background:#ffffff0e;border-radius:4px;min-width:0;min-height:0}.tetris-cell[data-piece=I],.next-piece span[data-piece=I]{background:#66d9e8}.tetris-cell[data-piece=T],.next-piece span[data-piece=T]{background:#c084fc}.tetris-cell[data-piece=O],.next-piece span[data-piece=O]{background:#facc15}.tetris-cell[data-piece=J],.next-piece span[data-piece=J]{background:#60a5fa}.tetris-cell[data-piece=L],.next-piece span[data-piece=L]{background:#fb923c}.tetris-cell[data-piece=S],.next-piece span[data-piece=S]{background:#4ade80}.tetris-cell[data-piece=Z],.next-piece span[data-piece=Z]{background:#f87171}.tetris-cell:not([data-piece=empty]){box-shadow:inset 0 1px 0 #ffffff61, inset 0 -6px 12px #00000038, 0 0 14px rgb(var(--accent-rgb) / .1)}.tetris-cell[data-kind=locked]{background:#71868a;box-shadow:inset 0 1px #ffffff47,inset 0 -7px 12px #0c191c3d}.tetris-cell[data-ghost=true]{opacity:.36;box-shadow:inset 0 0 0 2px #ffffffb8,inset 0 -6px 12px #0000001f}.tetris-cell[data-clearing=true]{box-shadow:inset 0 0 0 2px #ffffffe6, 0 0 18px rgb(var(--accent-rgb) / .48);background:#d8f7f0;animation:.26s cubic-bezier(.16,1,.3,1) forwards tetris-line-clear}.next-piece{aspect-ratio:2;border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);gap:5px;padding:8px;display:grid;position:relative}.next-piece span{grid-row:calc(var(--row) + 1);grid-column:calc(var(--column) + 1);border-radius:5px;box-shadow:inset 0 1px #ffffff5c,inset 0 -6px 12px #0003}.tetris-touch-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,440px);margin-top:18px;display:grid}.tetris-action{border:1px solid var(--line);min-width:0;min-height:54px;color:var(--text);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:850;line-height:1.1;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.tetris-action:hover,.tetris-action:focus-visible{border-color:var(--accent);background:rgb(var(--accent-rgb) / .16)}.tetris-action:active{transform:translateY(1px)scale(.99)}.tetris-action.is-rotate,.tetris-action.is-drop{grid-column:1/-1;min-height:58px}.tetris-action.is-rotate{color:var(--button-text);background:var(--accent)}.tetris-action.is-drop{border-color:rgb(var(--accent-rgb) / .42);background:rgb(var(--accent-rgb) / .2)}.net-board-wrap{background:var(--play-surface);width:min(100%,620px);padding:12px}.net-board{aspect-ratio:1;touch-action:manipulation;-webkit-user-select:none;user-select:none;gap:8px;display:grid}.net-cell{min-width:0;min-height:0;color:var(--text);background:color-mix(in srgb, var(--surface) 88%, var(--text));cursor:pointer;border:1px solid #0c191c24;border-radius:10px;place-items:center;transition:background .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);display:grid;position:relative;overflow:hidden}.net-cell:active{transform:scale(.98)}.net-cell[data-lit=true]{border-color:rgb(var(--accent-rgb) / .42);background:rgb(var(--accent-rgb) / .18)}.net-cell[data-locked=true]{border-color:var(--accent)}.net-cell>svg{z-index:3;color:var(--accent-strong);position:absolute;bottom:6px;right:6px}.net-wire{color:#71868a;position:absolute;inset:0}.net-cell[data-lit=true] .net-wire{color:var(--accent-strong)}.net-wire:before,.net-wire:after{content:"";box-sizing:border-box;background:currentColor;display:none;position:absolute}.net-wire.north:before,.net-wire.south:before,.net-wire.east:after,.net-wire.west:after{display:block}.net-wire:before{width:10px;height:100%;top:0;left:calc(50% - 5px)}.net-wire:after{width:100%;height:10px;top:calc(50% - 5px);left:0}.net-wire.north:not(.south):before{height:50%}.net-wire.south:not(.north):before{height:50%;top:50%}.net-wire.east:not(.west):after{width:50%;left:50%}.net-wire.west:not(.east):after{width:50%}.net-wire{border-radius:999px}.net-wire.north.south.east.west{filter:saturate(1.15)}.net-wire.north.east:not(.south):not(.west):before,.net-wire.east.south:not(.north):not(.west):before,.net-wire.south.west:not(.north):not(.east):before,.net-wire.west.north:not(.east):not(.south):before{background:0 0;border:10px solid;width:50%;height:50%;display:block}.net-wire.north.east:not(.south):not(.west):after,.net-wire.east.south:not(.north):not(.west):after,.net-wire.south.west:not(.north):not(.east):after,.net-wire.west.north:not(.east):not(.south):after{display:none}.net-wire.north.east:not(.south):not(.west):before{border-bottom:0;border-left:0;border-radius:0 999px 0 0;top:0;left:50%}.net-wire.east.south:not(.north):not(.west):before{border-top:0;border-left:0;border-radius:0 0 999px;top:50%;left:50%}.net-wire.south.west:not(.north):not(.east):before{border-top:0;border-right:0;border-radius:0 0 0 999px;top:50%;left:0}.net-wire.west.north:not(.east):not(.south):before{border-bottom:0;border-right:0;border-radius:999px 0 0;top:0;left:0}.net-cell:after{content:"";z-index:2;background:0 0;border-radius:50%;width:0;height:0;position:absolute}.net-cell[data-source=true]:after{color:#087a67;width:30px;height:30px;box-shadow:0 0 0 5px rgb(var(--accent-rgb) / .16);background:currentColor}.net-cell[data-source=true][data-lit=true]:after{color:var(--accent-strong);box-shadow:0 0 0 5px rgb(var(--accent-rgb) / .18), 0 0 24px rgb(var(--accent-rgb) / .36)}.net-help{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.net-help h2,.net-help p{margin:0}.net-help h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.2rem}.net-help p{color:var(--muted);margin-top:4px;line-height:1.45}.difficulty-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.difficulty-control button{border:1px solid var(--line);min-width:0;color:var(--text);background:var(--surface);cursor:pointer;border-radius:10px;gap:4px;padding:10px 8px;transition:border-color .16s,background .16s,color .16s,transform .16s;display:grid}.difficulty-control button:hover{border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.difficulty-control button[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:rgb(var(--accent-rgb) / .18)}.difficulty-control button[aria-pressed=true] span{color:var(--text)}.difficulty-control span{color:var(--muted);font-size:.8rem;font-weight:800}.difficulty-control strong{font-size:.92rem}.toggle-row{border:1px solid var(--line);min-height:48px;color:var(--text);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.toggle-row[aria-pressed=true]{border-color:var(--accent);background:rgb(var(--accent-rgb) / .18)}.toggle-row span{color:var(--muted);font-size:.9rem}.net-legend{gap:10px;padding-top:2px;display:grid}.net-legend div{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.net-legend strong{color:var(--text);font-size:.95rem}.net-tile{aspect-ratio:1;min-width:0;color:var(--text);cursor:pointer;background:#0c191c14;border:1px solid #354b4f33;border-radius:14px;place-items:center;transition:transform .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1);display:grid;position:relative;overflow:hidden;box-shadow:0 10px 22px #2c43481f}.net-tile:hover,.net-tile:focus-visible{border-color:var(--accent);transform:translateY(-1px)}.net-tile:disabled{opacity:1;cursor:default}.net-tile[data-solved=true]{border-color:rgb(var(--accent-rgb) / .45);background:rgb(var(--accent-rgb) / .18)}.net-node{z-index:2;width:34%;height:34%;color:var(--button-text);background:var(--accent);box-shadow:inset 0 1px 0 #ffffff59, 0 0 0 4px rgb(var(--accent-rgb) / .18);border-radius:999px;place-items:center;display:grid;position:relative}.net-tile[data-source=true] .net-node{color:#f7fff5;background:#087a67}.net-line{z-index:1;box-shadow:0 0 12px rgb(var(--accent-rgb) / .28);background:#087a67;position:absolute}.net-line.is-up,.net-line.is-down{width:12%;height:50%;left:50%;transform:translate(-50%)}.net-line.is-up{top:0}.net-line.is-down{bottom:0}.net-line.is-left,.net-line.is-right{width:50%;height:12%;top:50%;transform:translateY(-50%)}.net-line.is-left{left:0}.net-line.is-right{right:0}.gomoku-board-wrap{border-color:var(--line);background:var(--play-surface);width:min(100%,680px);padding:10px;box-shadow:0 28px 76px #2c434833}.gomoku-board{aspect-ratio:1;border:1px solid var(--gomoku-line);background:linear-gradient(135deg, var(--gomoku-board), var(--gomoku-board-deep));touch-action:manipulation;border-radius:12px;grid-template-columns:repeat(15,minmax(0,1fr));display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -18px 40px #202a2329}.gomoku-board:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(var(--gomoku-line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--gomoku-line-soft) 1px, transparent 1px);background-size:6.66667% 6.66667%;position:absolute;inset:0}.gomoku-star{z-index:1;left:calc((var(--col) + .5) * 100% / 15);top:calc((var(--row) + .5) * 100% / 15);pointer-events:none;background:#273d4170;border-radius:999px;width:5px;height:5px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px #fff3}.gomoku-cell{z-index:2;aspect-ratio:1;color:#0000;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;min-width:0;display:grid;position:relative}.gomoku-cell:before{content:"";opacity:0;border-radius:999px;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1);position:absolute;inset:14%;transform:scale(.72)}.gomoku-cell:not(:disabled):hover:before,.gomoku-cell:focus-visible:before{opacity:.32;background:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .18);transform:scale(.38)}.gomoku-cell[data-stone=black]:before{opacity:1;background:radial-gradient(circle at 30% 24%,#89999cf2,#0000 0 14%,#374346d1 15%,#0000 38%),radial-gradient(circle at 42% 36%,#39474a,#141d1f 64%,#0a1113 100%);transform:scale(1);box-shadow:inset 0 4px 6px #ffffff14,inset 0 -10px 14px #00000061,0 8px 16px #11161247}.gomoku-cell[data-stone=white]:before{opacity:1;background:radial-gradient(circle at 28% 22%,#fff,#0000 0 20%,#ffffffc7 21%,#0000 46%),radial-gradient(circle at 44% 38%,#f4f8f8,#dbe5e6 68%,#c7d3d5 100%);transform:scale(1);box-shadow:inset 0 4px 8px #ffffffb8,inset 0 -9px 12px #74827033,0 8px 16px #1116122e}.gomoku-cell[data-last=true]:after{content:"";z-index:3;background:rgb(var(--accent-rgb) / .9);width:18%;height:18%;box-shadow:0 0 0 2px #10141133, 0 0 18px rgb(var(--accent-rgb) / .42);border-radius:999px;position:absolute}.gomoku-cell:disabled{opacity:1;cursor:default}.segmented-controls{grid-template-columns:1fr 1fr}.segmented-controls .secondary-button[aria-pressed=true]{border-color:var(--accent);background:rgb(var(--accent-rgb) / .18)}.room-panel{gap:16px;display:grid}.speed-control select,.speed-control input:not([type=range]){border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:var(--surface);border-radius:10px;padding:0 12px}.speed-control select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 23px) 52% / 7px 7px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - 18px) 52% / 7px 7px no-repeat, var(--result-bg);border-color:var(--result-border);color:var(--result-text);cursor:pointer;padding-right:42px;font-weight:700}.speed-control select:hover{border-color:var(--accent-strong)}.speed-control select:focus-visible,.speed-control input:not([type=range]):focus-visible{outline:3px solid rgb(var(--accent-rgb) / .25);outline-offset:2px;border-color:var(--accent-strong)}.speed-control select:disabled{cursor:default;color:var(--muted);background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 23px) 52% / 7px 7px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - 18px) 52% / 7px 7px no-repeat, #0c191c0f}.speed-control select option{color:var(--result-text);background:var(--result-bg);font-weight:700}.result-overlay{z-index:20;background:radial-gradient(circle at 50% 42%, rgb(var(--accent-rgb) / .22), transparent 22rem), #050c0ec2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-dialog{border:1px solid var(--result-border);width:min(100%,500px);color:var(--result-text);background:var(--result-bg);border-radius:20px 20px 8px;padding:30px;animation:.18s cubic-bezier(.16,1,.3,1) result-in;box-shadow:0 0 0 1px #ffffff2e,0 34px 90px #090d0a7a}.result-kicker{border:1px solid rgb(var(--accent-rgb) / .34);width:fit-content;color:var(--accent-strong);background:rgb(var(--accent-rgb) / .12);letter-spacing:.12em;text-transform:uppercase;border-radius:8px;margin:0 0 14px;padding:6px 8px;font-size:.76rem;font-weight:800}.result-dialog h2{font-family:var(--font-display);letter-spacing:-.045em;color:var(--result-text);text-wrap:balance;margin:0;font-size:clamp(2.4rem,10vw,4rem);line-height:.9}.result-dialog p:not(.result-kicker){color:var(--result-text);opacity:.76;margin:16px 0 0;font-weight:600;line-height:1.55}.result-stats{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin:22px 0;display:grid}.result-stat{border:1px solid var(--result-border);background:var(--result-panel);border-radius:12px;gap:6px;min-width:0;padding:12px;display:grid}.result-stat span{color:var(--result-text);opacity:.68;font-size:.78rem;font-weight:700}.result-stat strong{min-width:0;font-family:var(--font-mono);color:var(--result-text);font-size:1.18rem;line-height:1.3}.result-action{width:100%}.tile-slot{background:#0c191c14;border-radius:14px;place-items:center;min-width:0;display:grid}.tile{color:#101411;will-change:transform, opacity;background:#d8e6e5;border-radius:14px;place-items:center;width:100%;height:100%;font-size:clamp(1.4rem,7vw,3.2rem);font-weight:900;animation:.17s cubic-bezier(.16,1,.3,1) tile-in;display:grid}.board[data-move-direction=left] .tile{animation:.17s cubic-bezier(.16,1,.3,1) tile-slide-left,.21s cubic-bezier(.16,1,.3,1) tile-settle}.board[data-move-direction=right] .tile{animation:.17s cubic-bezier(.16,1,.3,1) tile-slide-right,.21s cubic-bezier(.16,1,.3,1) tile-settle}.board[data-move-direction=up] .tile{animation:.17s cubic-bezier(.16,1,.3,1) tile-slide-up,.21s cubic-bezier(.16,1,.3,1) tile-settle}.board[data-move-direction=down] .tile{animation:.17s cubic-bezier(.16,1,.3,1) tile-slide-down,.21s cubic-bezier(.16,1,.3,1) tile-settle}.tile[data-value=mid]{background:#a8ded3}.tile[data-value=high]{background:#72cdb9}.tile[data-value=max]{background:var(--accent)}.direction-pad{grid-template-columns:repeat(4,52px);gap:10px;margin-top:18px;display:grid}.icon-button{width:52px;height:52px}.control-panel{background:var(--surface-elevated);border-radius:20px 20px 8px;flex-direction:column;gap:18px;height:fit-content;padding:22px;display:flex;position:sticky;top:92px;box-shadow:0 20px 56px #21393e21}.status-block strong{font-family:var(--font-display);letter-spacing:-.035em;font-size:2rem;line-height:1}.bot-card{gap:18px;display:grid}.bot-title{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.bot-title h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.2rem}.bot-title p{color:var(--muted);margin:4px 0 0;line-height:1.45}.button-stack{gap:10px;display:grid}.button-stack .primary-button,.button-stack .secondary-button{width:100%}.speed-control{gap:10px;display:grid}.speed-control input{accent-color:var(--accent)}.minesweeper-layout{grid-template-columns:minmax(0,1fr) 310px}.minesweeper-layout .game-heading h1{font-size:clamp(3.2rem,10vw,7.2rem)}.minesweeper-board-wrap{background:var(--play-surface);width:min(100%,720px);padding:10px;overflow:hidden}.minesweeper-board-scroll{scrollbar-color:var(--accent-strong) transparent;max-width:100%;padding-bottom:2px;overflow-x:auto}.minesweeper-board{grid-template-columns:repeat(var(--mine-columns), minmax(var(--mine-cell-size), 1fr));touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#0c191c1a;border-radius:12px;gap:3px;width:max-content;min-width:100%;padding:6px;display:grid}.mine-cell{aspect-ratio:1;min-width:0;color:var(--accent-strong);background:var(--surface);cursor:pointer;border:1px solid #ffffff38;border-radius:6px;place-items:center;font-size:clamp(.72rem,2.8vw,1.05rem);font-weight:900;line-height:1;transition:transform .12s,background .12s,box-shadow .12s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff6b,inset 0 -3px #0c191c1c}.mine-cell:hover[data-visibility=hidden],.mine-cell:focus-visible[data-visibility=hidden]{background:color-mix(in srgb, var(--surface) 78%, var(--accent))}.mine-cell:focus-visible{z-index:1;outline:3px solid var(--accent-strong);outline-offset:1px}.mine-cell:active[data-visibility=hidden]{transform:translateY(1px)scale(.96)}.mine-cell[data-visibility=revealed]{color:var(--text);background:var(--surface);box-shadow:none;cursor:default;border-color:#0c191c14}.mine-cell[data-visibility=flagged]{color:var(--accent-strong);background:color-mix(in srgb, var(--surface) 82%, var(--accent))}.mine-cell[data-adjacent="1"],.mine-cell[data-adjacent="2"]{color:var(--accent-strong)}.mine-cell[data-adjacent="3"],.mine-cell[data-adjacent="4"],.mine-cell[data-adjacent="5"],.mine-cell[data-adjacent="6"],.mine-cell[data-adjacent="7"],.mine-cell[data-adjacent="8"]{color:var(--text)}.mine-cell[data-mine=true]{color:var(--text);background:#0c191c29}.mine-cell[data-exploded=true]{color:#fff4ec;background:var(--danger)}.mine-cell:disabled{opacity:1}.minesweeper-action-control{grid-template-columns:1fr 1fr;gap:8px;display:grid}.minesweeper-action-control button{border:1px solid var(--line);min-height:46px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.minesweeper-action-control button[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:rgb(var(--accent-rgb) / .18)}.not-found{align-content:center;min-height:calc(100dvh - 110px);padding:64px 10%;display:grid}.not-found h1{max-width:8ch;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(4rem,12vw,8rem);line-height:.86}.not-found>p:not(.eyebrow){max-width:42ch;color:var(--muted);margin:24px 0;font-size:1.05rem;line-height:1.6}.minesweeper-action-control button:active{transform:translateY(1px)scale(.99)}.minesweeper-new-game{width:100%}@keyframes tile-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes tile-slide-left{0%{opacity:.78;transform:translate(22%)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes tile-slide-right{0%{opacity:.78;transform:translate(-22%)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes tile-slide-up{0%{opacity:.78;transform:translateY(22%)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tile-slide-down{0%{opacity:.78;transform:translateY(-22%)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tile-settle{0%{filter:saturate()}70%{filter:saturate(1.16)brightness(1.03)}to{filter:saturate()}}@keyframes result-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tetris-line-clear{0%{opacity:1;filter:brightness();transform:scale(1)}45%{opacity:1;filter:brightness(1.45);transform:scale(1.06,.82)}to{opacity:0;filter:brightness(1.8);transform:scale(.18,.72)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (prefers-reduced-transparency:reduce){.topbar{background:var(--surface-elevated);-webkit-backdrop-filter:none}}@media (width<=860px){.site-shell{width:min(100% - 24px,720px)}.topbar{flex-wrap:wrap}.topbar-actions{width:100%}.topbar nav{scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.topbar nav::-webkit-scrollbar{display:none}.hub-hero,.game-layout,.gomoku-layout,.net-layout,.tetris-layout,.game-grid{grid-template-columns:1fr}.game-card,.game-card:nth-child(3n+1),.game-card:nth-child(3n){grid-column:1;min-height:270px}.untangle-layout{grid-template-columns:1fr}.hub-hero{min-height:auto;padding:64px 4px 38px}.control-panel{position:static}.board-wrap{width:100%}}@media (width<=520px){.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid;top:8px}.topbar-actions{display:contents}.topbar nav{scrollbar-width:none;flex-wrap:nowrap;grid-area:2/1/auto/-1;gap:6px;width:100%;padding-bottom:4px;overflow-x:auto}.theme-control{grid-area:1/2}.topbar nav a{flex:none;padding-inline:10px}.topbar nav::-webkit-scrollbar{display:none}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(2n){border-right:0}.direction-pad{grid-template-columns:repeat(4,1fr)}.gomoku-stats,.net-stats{grid-template-columns:1fr}.tetris-stats,.minesweeper-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.gomoku-board-wrap{padding:8px}.icon-button,.tetris-touch-controls{width:100%}.hub-copy h1,.game-heading h1{font-size:3.35rem}.game-layout{padding-inline:0}.game-card{padding:24px}}
