:root{--topbar-h:56px;--play-gap:clamp(9px, 1vw, 14px);--font-ui:"Avenir Next", "Segoe UI", ui-rounded, system-ui, sans-serif;--font-display:"Trebuchet MS", "Avenir Next", "Segoe UI", ui-rounded, system-ui, sans-serif;--cream:#fff8eb;--cream-soft:#faf1e0;--cream-panel:#fdfaf3;--cream-panel-strong:#fffcf6;--line:#dbc3a6b8;--line-soft:#e4d5c3a8;--board-grid-line:#cfbea8b8;--ink:#331a0d;--ink-muted:#624a3c;--coral:#ef614b;--coral-deep:#a52110;--coral-soft:#ffe2dc;--sky:#2c90e8;--sky-deep:#00529c;--sky-soft:#d5ebff;--gold:#e4ad3c;--leaf:#58a760;--panel-shadow:0 4px 12px #54310d1c, 0 1px 3px #54310d14;--cell-size:clamp(34px, min(3vw, calc((100svh - var(--topbar-h) - 230px) / 11)), 52px);--coord-size:clamp(21px, 2.9svh, 28px);--board-pad:clamp(9px, 1.55svh, 12px);--wall-thickness:clamp(4px, .42vw, 6px);--playable-size:calc(var(--cell-size) * 11);--board-width:calc(var(--coord-size) + var(--playable-size) + (var(--board-pad) * 2) + 2px);--mini-cell:clamp(7px, 1.25svh, 10px)}@supports (color:lab(0% 0 0)){:root{--cream:lab(97.7375% .876248 6.85518);--cream-soft:lab(95.434% 1.2143 9.17349);--line:lab(80.294% 5.61249 18.0011/.72);--line-soft:lab(86.0992% 3.31548 11.0851/.66);--board-grid-line:lab(78.0105% 3.27033 13.6501/.72);--ink:lab(12.7278% 11.3654 13.5616);--ink-muted:lab(33.6999% 8.93918 12.7007);--coral:lab(60.0687% 54.9693 41.6097);--coral-deep:lab(36.8977% 52.6178 44.7619);--coral-soft:lab(92.6094% 15.2097 10.5425);--sky:lab(57.4569% -4.80682 -53.7667);--sky-deep:lab(33.7341% 4.97918 -54.1913);--sky-soft:lab(91.8181% -4.32515 -15.476);--gold:lab(74.5854% 12.7379 62.8735);--leaf:lab(62.1659% -36.9951 29.0109);--panel-shadow:0 4px 12px lab(24.3444% 13.9634 28.4934/.11), 0 1px 3px lab(24.3444% 13.9634 28.4934/.08)}}*{box-sizing:border-box;scrollbar-color:oklch(73% .13 42/.72) oklch(97% .018 82/.5);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#fbf4e87a;background:lab(96.5774% .877291 6.85587/.48);border-radius:999px}::-webkit-scrollbar-thumb{background:linear-gradient(#f5a06f,#e57157);background:linear-gradient(lab(73.8246% 28.9821 38.8684),lab(61.5969% 44.5025 36.4426));border:2px solid #fbf4e8a3;border:2px solid lab(96.5774% .877291 6.85587/.64);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, #ed845b, var(--coral-deep))}@supports (color:lab(0% 0 0)){::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, lab(66.5153% 38.3268 40.6218), var(--coral-deep))}}html,body{height:100%;min-height:100%;margin:0}body{color:var(--ink);font-family:var(--font-ui);letter-spacing:0}button{color:inherit;font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #e48e00c2;outline:3px solid lab(67.083% 28.0764 73.6299/.76)}.noku-shell{height:100vh;min-height:100vh;color:var(--ink);background-image:var(--room-bg);background-position:50%;background-size:cover;position:relative;overflow:visible}:root[data-theme=dark] .noku-shell{--cream:#080d17;--cream-soft:#131b27;--cream-panel:#1f222f;--cream-panel-strong:#191c28;--line:#48607aa3;--line-soft:#35475aa3;--board-grid-line:#60533f66;--ink:#e7e0d5;--ink-muted:#bab0a0;--coral-soft:#511d16d1;--sky-soft:#103252c7;--panel-shadow:0 5px 14px #00000157, 0 1px 4px #00000057;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){:root[data-theme=dark] .noku-shell{--cream:lab(3.62838% -.144415 -5.90517);--cream-soft:lab(9.40665% -.913069 -9.26692);--line:lab(39.5423% -3.81595 -18.0509/.64);--line-soft:lab(29.1276% -2.77777 -13.9855/.64);--board-grid-line:lab(36.2472% 3.09783 13.6916/.4);--ink:lab(89.6142% .829101 6.47543);--ink-muted:lab(72.2225% 1.61368 9.5489);--coral-soft:lab(19.2191% 24.5312 17.6956/.82);--sky-soft:lab(19.6491% -2.71988 -23.5982/.78);--panel-shadow:0 5px 14px lab(.0486927% .0802428 -.503418/.34), 0 1px 4px lab(.00608635% .0100285 -.0629306/.34)}}:root[data-theme=dark] .noku-shell *{scrollbar-color:oklch(64% .13 42/.8) oklch(20% .025 257/.75)}.room-wash{pointer-events:none;background:radial-gradient(circle at 50% 46%,#fffbf261,#0000 42%),linear-gradient(90deg,#ffffff0d,#fff8ea85 28%,#fff8ea7a 72%,#ffffff0d);background:radial-gradient(circle at 50% 46%,lab(98.8975% .875294 6.8545/.38),#0000 42%),linear-gradient(90deg,lab(100.04% .561833 4.55488/.05),lab(97.7432% .985444 7.62526/.52) 28%,lab(97.7432% .985444 7.62526/.48) 72%,lab(100.04% .561833 4.55488/.05));position:fixed;inset:0}:root[data-theme=dark] .noku-shell .room-wash{background:radial-gradient(circle at 50% 45%,#03060d1a,#0000 38%),linear-gradient(90deg,#00000233,#0307119e 31%,#03071194 69%,#00000233);background:radial-gradient(circle at 50% 45%,lab(1.52576% -.122152 -3.09697/.1),#0000 38%),linear-gradient(90deg,lab(.101305% .078626 -.7061/.2),lab(1.92827% -.0918806 -4.68847/.62) 31%,lab(1.92827% -.0918806 -4.68847/.58) 69%,lab(.101305% .078626 -.7061/.2))}.topbar{z-index:20;height:var(--topbar-h);min-height:var(--topbar-h);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf6;border-top:0;border-radius:0;grid-template-columns:minmax(132px,1fr) auto minmax(132px,1fr);align-items:center;gap:16px;padding:5px 28px;display:grid;position:sticky;top:0;box-shadow:0 2px 8px #57381d1a;box-shadow:0 2px 8px lab(26.7027% 12.086 22.4812/.1)}:root[data-theme=dark] .noku-shell .topbar{background:#191c28;border-color:#2e3f51bd;border-color:lab(25.6513% -2.60183 -13.2754/.74);box-shadow:0 2px 10px #00000057;box-shadow:0 2px 10px lab(.00608635% .0100285 -.0629306/.34)}.brand{cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;width:136px;height:44px;padding:0;display:inline-flex;overflow:hidden}.brand-logo{object-fit:contain;object-position:left center;width:70%;height:70%}.nav-tabs{justify-content:center;gap:clamp(20px,4.2vw,64px);display:flex}.nav-tab{min-width:94px;min-height:38px;color:var(--ink);cursor:pointer;font-family:var(--font-display);background:0 0;border:0;padding:0 8px;font-size:14px;font-weight:700;position:relative}.nav-tab:after{content:"";background:0 0;border-radius:999px;height:3px;transition:background .18s ease-out,transform .18s ease-out;position:absolute;bottom:0;left:22px;right:22px;transform:scaleX(.72)}.nav-tab:hover:after,.nav-tab[aria-current=page]:after{background:var(--coral);transform:scaleX(1)}.room-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.theme-toggle,.profile-button,.action-button,.primary-cta{cursor:pointer;background:#fffbf4c7;background:lab(98.8795% .56228 4.55513/.78);border:1px solid #e8c2a9d1;border:1px solid lab(81.2426% 11.2773 17.8436/.82);border-radius:8px;min-height:40px;transition:transform .18s ease-out,border-color .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.theme-toggle:hover,.profile-button:hover,.action-button:hover,.primary-cta:hover{background:#fffffff2;background:lab(100.04% .561833 4.55488/.95);border-color:#e99a84;border-color:lab(71.3983% 28.2054 24.6358);transform:translateY(-1px);box-shadow:0 3px 9px #78472a1a;box-shadow:0 3px 9px lab(35.7461% 19.6042 26.5781/.1)}:root[data-theme=dark] .noku-shell .theme-toggle,:root[data-theme=dark] .noku-shell .profile-button,:root[data-theme=dark] .noku-shell .action-button,:root[data-theme=dark] .noku-shell .primary-cta{background:#141d2ab8;background:lab(10.5561% -.949942 -9.97092/.72);border-color:#3c526bbd;border-color:lab(33.7278% -3.24737 -17.4186/.74)}:root[data-theme=dark] .noku-shell .theme-toggle:hover,:root[data-theme=dark] .noku-shell .profile-button:hover,:root[data-theme=dark] .noku-shell .action-button:hover,:root[data-theme=dark] .noku-shell .primary-cta:hover{background:#1f2939e0;background:lab(16.3427% -1.16543 -11.4167/.88);border-color:#ca7056d1;border-color:lab(57.2881% 34.4417 30.7545/.82);box-shadow:0 3px 10px #00000052;box-shadow:0 3px 10px lab(.00608635% .0100285 -.0629306/.32)}.theme-toggle{width:40px;color:var(--ink);place-items:center;padding:0;display:inline-grid}.theme-icon{line-height:0;display:none}:root[data-theme=light] .theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{place-items:center;display:grid}.profile-button{background:0 0;border-color:#0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:40px;padding:0 10px 0 12px;font-weight:700;display:inline-flex}:root[data-theme=dark] .noku-shell .profile-button{background:0 0;border-color:#0000}.profile-menu-wrap{position:relative}.profile-menu{z-index:30;border:1px solid var(--line);min-width:132px;box-shadow:var(--panel-shadow);background:#fffcf6;border-radius:8px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}:root[data-theme=dark] .noku-shell .profile-menu{background:#191c28}.profile-menu button{width:100%;min-height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 9px;font-size:13px;font-weight:800;display:flex}.profile-menu button:hover{background:var(--cream-soft)}:root[data-theme=dark] .noku-shell .profile-menu button:hover{background:#233242b8;background:lab(19.8555% -2.31211 -12.2036/.72)}.scene{z-index:1;height:calc(100svh - var(--topbar-h));padding:12px clamp(18px,3vw,46px) 10px;position:relative;overflow:visible}.landing-stage{grid-template-columns:minmax(360px, 500px) minmax(390px, var(--board-width));grid-template-rows:minmax(0,1fr) auto;place-content:center;align-items:center;gap:clamp(16px,2.3svh,24px) clamp(26px,4vw,46px);width:min(1180px,100%);height:100%;margin:0 auto;padding:clamp(4px,1svh,10px) 0;display:grid}.landing-hero{align-content:center;gap:clamp(12px,2svh,18px);min-width:0;display:grid}.landing-copy{text-align:center;justify-items:center;gap:8px;display:grid}.landing-logo{object-fit:contain;filter:drop-shadow(0 3px 5px #6235131f);filter:drop-shadow(0 3px 5px lab(27.6597% 18.7844 29.7188/.12));width:clamp(174px,16vw,232px);height:auto}.landing-tagline{color:#2c1811;text-shadow:0 2px 5px #532d1047;text-shadow:0 2px 5px lab(23.0753% 16.3869 25.7974/.28);text-wrap:balance;max-width:33ch;margin:0;font-size:19px;font-weight:650;line-height:1.35}:root[data-theme=dark] .noku-shell .landing-tagline{color:#fff6e5;text-shadow:0 2px 4px #0000006b;text-shadow:0 2px 4px lab(.00608635% .0100285 -.0629306/.42)}.landing-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.landing-mode{--mode-color:var(--coral);--mode-color-deep:var(--coral-deep);--mode-bg:#fff8e8;border:1px solid color-mix(in oklch, var(--mode-color), var(--line) 34%);min-height:82px;color:var(--ink);background:var(--mode-bg);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:13px 12px;transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out;display:grid;box-shadow:0 3px 10px #57381d1a;box-shadow:0 3px 10px lab(26.7027% 12.086 22.4812/.1)}.landing-mode:hover{border-color:var(--mode-color);transform:translateY(-1px);box-shadow:0 4px 12px #57381d24;box-shadow:0 4px 12px lab(26.7027% 12.086 22.4812/.14)}.landing-mode:active{transform:translateY(0)}.landing-mode.casual{--mode-color:var(--gold);--mode-color-deep:#955f00;--mode-bg:#fff9e8}@supports (color:lab(0% 0 0)){.landing-mode.casual{--mode-color-deep:lab(45.1951% 21.4657 81.284)}}.landing-mode.ranked{--mode-color:var(--coral);--mode-color-deep:var(--coral-deep);--mode-bg:#fff3ed}.landing-mode.computer{--mode-color:var(--sky);--mode-color-deep:var(--sky-deep);--mode-bg:#eff8ff}.landing-mode.friend{--mode-color:var(--leaf);--mode-color-deep:#136022;--mode-bg:#f1f9eb}@supports (color:lab(0% 0 0)){.landing-mode.friend{--mode-color-deep:lab(35.3166% -34.3458 27.9349)}}:root[data-theme=dark] .noku-shell .landing-mode{--mode-bg:#1f222f;background:var(--mode-bg);box-shadow:0 3px 10px #00000042;box-shadow:0 3px 10px lab(.00608635% .0100285 -.0629306/.26)}:root[data-theme=dark] .noku-shell .landing-mode.casual{--mode-bg:#302a1f}:root[data-theme=dark] .noku-shell .landing-mode.ranked{--mode-bg:#302323}:root[data-theme=dark] .noku-shell .landing-mode.computer{--mode-bg:#1d2734}:root[data-theme=dark] .noku-shell .landing-mode.friend{--mode-bg:#202b23}.landing-mode-icon{color:#fffcf6;background:var(--mode-color);border-radius:999px;place-items:center;width:46px;height:46px;display:grid}.landing-mode-copy{gap:5px;min-width:0;display:grid}.landing-mode-copy strong{font-family:var(--font-display);font-size:18px;font-weight:900;line-height:1.05}.landing-mode-copy span{color:var(--ink-muted);align-items:center;gap:4px;font-size:13px;font-weight:750;line-height:1.25;display:inline-flex}.landing-mode-copy svg{color:var(--mode-color-deep);flex:none}.landing-mode-arrow{color:var(--mode-color-deep)}.landing-visual{--cell-size:clamp(30px, min(3.35vw, calc((100svh - var(--topbar-h) - 180px) / 11)), 44px);--coord-size:clamp(20px, 2.5svh, 26px);--board-pad:10px;--wall-thickness:clamp(4px, .34vw, 5px);--playable-size:calc(var(--cell-size) * 11);--board-width:calc(var(--coord-size) + var(--playable-size) + (var(--board-pad) * 2) + 2px);place-items:center;min-width:0;display:grid}.landing-visual .board-shell{justify-self:center}.landing-feature-strip{border:1px solid var(--line);width:min(920px,100%);box-shadow:var(--panel-shadow);background:#fffcf6;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));justify-self:center;align-items:center;padding:10px 14px;display:grid}:root[data-theme=dark] .noku-shell .landing-feature-strip{background:#191c28}.landing-feature{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:52px;padding:4px 14px;display:grid}.landing-feature:not(:last-child){border-right:1px solid var(--line-soft)}.landing-feature>span{color:#ad6800;color:lab(50.7774% 28.0567 81.3125);place-items:center;display:grid}.landing-feature h2{color:var(--ink);margin:0 0 3px;font-size:14px;font-weight:900;line-height:1.1}.landing-feature p{color:var(--ink-muted);margin:0;font-size:12px;font-weight:750;line-height:1.25}.setup-stage{place-items:center;width:min(760px,100%);height:100%;margin:0 auto;display:grid}.setup-panel{border:1px solid var(--line);width:min(650px,100%);box-shadow:var(--panel-shadow);background:#fffcf6;border-radius:8px;gap:clamp(14px,2.2svh,20px);padding:clamp(18px,3svh,26px);display:grid}:root[data-theme=dark] .noku-shell .setup-panel{background:#191c28}.setup-heading{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.setup-heading h1{font-family:var(--font-display);margin:8px 0 6px;font-size:clamp(25px,4svh,34px);line-height:1.06}.setup-heading p{max-width:58ch;color:var(--ink-muted);margin:0;font-size:14px;font-weight:650;line-height:1.45}.setup-back{border:1px solid var(--line-soft);min-width:150px;min-height:42px;color:var(--ink-muted);background:var(--cream-panel);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:850;display:inline-flex}.setup-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.setup-player{border:1px solid var(--line-soft);background:#fff8ebc2;background:lab(97.7375% .876248 6.85518/.76);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.setup-player .avatar-large{width:46px;height:46px;position:static}:root[data-theme=dark] .noku-shell .setup-player{background:#151d2ab8;background:lab(10.5627% -.955328 -9.62524/.72)}.setup-player span{color:var(--ink-muted);font-size:12px;font-weight:800;display:block}.setup-player strong{color:var(--ink);font-family:var(--font-display);margin-top:2px;font-size:18px;font-weight:900;display:block}.setup-control{gap:10px;display:grid}.setup-control-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.setup-control-heading h2{font-family:var(--font-display);margin:0;font-size:17px}.setup-control-heading strong,.setup-note{color:var(--coral-deep);font-size:14px;font-weight:900}.setup-control input[type=range]{width:100%;accent-color:var(--coral)}.elo-scale{color:var(--ink-muted);justify-content:space-between;font-size:12px;font-weight:750;display:flex}.color-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.color-choice{border:1px solid var(--line-soft);background:var(--cream-panel);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:30px minmax(0,max-content);justify-content:center;align-items:center;gap:10px;min-height:64px;padding:10px;display:grid}.color-choice .color-swatch{border-radius:999px;width:28px;height:28px}.color-choice.blue .color-swatch{background:var(--sky-deep)}.color-choice.red .color-swatch{background:var(--coral)}.color-choice-copy{align-content:center;gap:3px;display:grid}.color-choice strong{font-size:16px;line-height:1}.color-choice small{color:var(--ink-muted);font-size:12px;font-weight:750}.color-choice.selected{border-color:currentColor;box-shadow:0 0 0 2px #fffbf4b8;box-shadow:0 0 0 2px lab(98.8795% .56228 4.55513/.72)}.color-choice.blue.selected{color:var(--sky-deep)}.color-choice.red.selected{color:var(--coral-deep)}.setup-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.start-match-button{border:1px solid var(--coral-deep);color:#fffbf4;color:lab(98.8795% .56228 4.55513);background:var(--coral);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:150px;min-height:42px;padding:0 18px;font-weight:900;display:inline-flex}.game-table{grid-template-columns:minmax(0,1fr);place-items:center;width:100%;height:100%;margin:0 auto;display:grid;position:relative}.board-column{--activity-panel-width:clamp(178px, 13.8vw, 216px);--player-panel-width:clamp(152px, 10.7vw, 178px);--layout-row-gap:clamp(8px, 1svh, 10px);--layout-column-gap:clamp(14px, 1.7vw, 22px);grid-template-columns:var(--activity-panel-width) var(--player-panel-width) var(--board-width) var(--player-panel-width) var(--activity-panel-width);place-content:start center;align-items:stretch;gap:var(--layout-row-gap) var(--layout-column-gap);grid-template-rows:auto minmax(0,auto);width:100%;max-width:100%;height:auto;min-height:0;max-height:100%;display:grid;position:relative}.play-grid{display:contents}.turn-banner{width:var(--board-width);grid-area:1/3;justify-self:stretch}.play-grid .player-panel.seat-left{grid-area:1/2/3}.play-grid .board-shell{grid-area:2/3;justify-self:center}.play-grid .player-panel.seat-right{grid-area:1/4/3}.activity-rail{grid-template-columns:var(--activity-panel-width) var(--player-panel-width) var(--board-width) var(--player-panel-width) var(--activity-panel-width);place-content:start center;gap:var(--layout-row-gap) var(--layout-column-gap);pointer-events:none;grid-template-rows:auto minmax(0,auto);display:grid;position:absolute;inset:0}.moves-panel{height:clamp(300px, calc(var(--playable-size) * .72), 368px);grid-area:1/1/3;align-self:start}.chat-panel{height:clamp(300px, calc(var(--playable-size) * .72), 368px);grid-area:1/5/3;align-self:start}.activity-rail .activity-panel{pointer-events:auto}.player-panel,.turn-banner,.board-shell,.activity-panel,.content-panel{border:1px solid var(--line);background:var(--cream-panel);box-shadow:var(--panel-shadow);border-radius:8px}:root[data-theme=dark] .noku-shell .player-panel,:root[data-theme=dark] .noku-shell .turn-banner,:root[data-theme=dark] .noku-shell .board-shell,:root[data-theme=dark] .noku-shell .activity-panel,:root[data-theme=dark] .noku-shell .content-panel{border-color:var(--line);background:var(--cream-panel)}.player-panel{grid-template-rows:auto auto auto auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid;overflow:visible}.player-banner{color:#fffbf4;color:lab(98.8795% .56228 4.55513);border-radius:7px 7px 0 0;align-items:center;gap:10px;min-height:clamp(50px,7svh,58px);padding:8px 12px 8px 66px;display:flex;position:relative}.player-panel.red .player-banner{background:#912420}.player-panel.blue .player-banner{background:#004384}.player-banner h2{font-family:var(--font-display);-webkit-text-stroke:.25px currentColor;margin:0;font-size:22px;font-weight:900;line-height:1}.avatar{color:#462312;color:lab(18.3967% 15.9086 18.6457);background:radial-gradient(circle at 50% 30%,#fff8eb,#ecd3b4);background:radial-gradient(circle at 50% 30%,lab(97.7375% .876248 6.85518),lab(86.1066% 5.55575 18.8406));border:3px solid #fffbf4;border:3px solid lab(98.8795% .56228 4.55513);border-radius:999px;flex:none;place-items:center;display:inline-grid;overflow:hidden;box-shadow:0 2px 8px #5c2b1333;box-shadow:0 2px 8px lab(24.0454% 21.4719 25.8351/.2)}:root[data-theme=dark] .noku-shell .avatar{color:#e1d6c6;color:lab(86.1213% 2.15864 9.38915);background:radial-gradient(circle at 50% 30%,#223144,#040b18);background:radial-gradient(circle at 50% 30%,lab(19.819% -2.19421 -13.965),lab(2.95643% -.104547 -7.5609))}.avatar-large{width:clamp(42px,6svh,50px);height:clamp(42px,6svh,50px)}.player-banner .avatar-large{position:absolute;bottom:-13px;left:12px}.avatar-small{width:36px;height:36px}.avatar-red{outline:3px solid var(--coral)}.avatar-blue{outline:3px solid var(--sky)}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.player-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:clamp(14px,2.1svh,18px) 12px clamp(7px,1.2svh,11px);display:grid;position:relative}.stat-tile{place-items:center;gap:3px;min-height:clamp(48px,6.5svh,58px);padding:7px 4px;display:grid}.stat-tile:nth-child(odd){border-right:1px solid var(--line-soft)}.stat-tile:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.stat-tile span{color:var(--ink-muted);text-transform:uppercase;font-size:11px;font-weight:850}.stat-tile strong{font-size:clamp(15px,2.25svh,19px);line-height:1}.country-flag{font-family:Twemoji Mozilla,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:clamp(18px,2.6svh,23px)}.player-panel.red .stat-tile strong{color:var(--coral-deep)}.player-panel.blue .stat-tile strong{color:var(--sky-deep)}.panel-divider{background:var(--line-soft);height:1px;margin:0 14px clamp(7px,1.25svh,11px)}.tray-heading{text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px;padding:0 18px clamp(5px,1svh,9px);display:flex}.tray-heading h3,.tray-heading span{font-family:var(--font-display);margin:0;font-size:13px;font-weight:800}.piece-tray{grid-template-columns:repeat(2,minmax(0,1fr));place-items:center;gap:clamp(5px,.9svh,8px);padding:0 10px 10px;display:grid}.wall-piece-button,.mini-piece-button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;min-height:clamp(28px,4.7svh,38px);display:grid}.wall-piece-button{min-height:clamp(34px,5.25svh,42px);color:var(--coral);background:#fffbf45c;background:lab(98.8857% .664294 5.31991/.36);border:1px solid #0000}.wall-piece-button.blue{color:var(--sky-deep)}.wall-piece-button:hover,.mini-piece-button:hover{background:#feefe0c7;background:lab(95.3673% 3.1116 9.45687/.78)}.wall-piece-button:disabled{cursor:default}.wall-piece-button:disabled:not(.used){opacity:.74}:root[data-theme=dark] .noku-shell .wall-piece-button:hover,:root[data-theme=dark] .noku-shell .mini-piece-button:hover{background:#263444c2;background:lab(21.0176% -2.35267 -12.2149/.76)}.wall-piece-button.selected{border-color:var(--coral);background:var(--coral-soft);box-shadow:0 0 0 2px #fffbf4b8;box-shadow:0 0 0 2px lab(98.8795% .56228 4.55513/.72)}.wall-piece-button.blue.selected{border-color:var(--sky-deep);background:var(--sky-soft)}.wall-piece-button.used{color:#938779;color:lab(57.0939% 2.80121 9.26808);opacity:.48;filter:saturate(.4)}.wall-piece-icon{width:clamp(42px,5.6svh,50px);height:clamp(34px,5svh,44px);overflow:visible}.wall-piece-icon line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:9px;filter:drop-shadow(0 2px #35180e1f);filter:drop-shadow(0 2px lab(12.6233% 14.0036 13.1213/.12))}.mini-piece{gap:1px;display:grid}.mini-cell{width:var(--mini-cell);height:var(--mini-cell)}.mini-cell.filled{border-radius:3px;box-shadow:inset 0 -2px #35180e29,inset 0 1px #ffffff80;box-shadow:inset 0 -2px lab(12.6233% 14.0036 13.1213/.16),inset 0 1px lab(100.029% .579178 3.77209/.5)}.mini-red .filled{background:linear-gradient(180deg, #ff725c, var(--coral))}@supports (color:lab(0% 0 0)){.mini-red .filled{background:linear-gradient(180deg, lab(65.8823% 54.8033 40.8916), var(--coral))}}.mini-blue .filled{background:linear-gradient(180deg, #3b9cf6, var(--sky-deep))}@supports (color:lab(0% 0 0)){.mini-blue .filled{background:linear-gradient(180deg, lab(62.1411% -5.66679 -53.8683), var(--sky-deep))}}.turn-banner{background:var(--cream-panel-strong);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title""hint actions";align-items:center;gap:5px 12px;width:100%;min-height:clamp(64px,7.6svh,72px);padding:clamp(7px,.9svh,9px) 10px clamp(7px,.9svh,9px) 16px;display:grid}.turn-copy{grid-area:title;align-items:center;gap:10px;min-width:0;display:flex}.turn-dot{background:var(--coral);width:11px;height:11px;box-shadow:0 0 0 4px var(--coral-soft);border-radius:999px;flex:none}.turn-dot.blue{background:var(--sky-deep);box-shadow:0 0 0 4px var(--sky-soft)}.turn-copy h1{font-family:var(--font-display);white-space:nowrap;margin:0;font-size:clamp(18px,2.25svh,21px);line-height:1}.turn-hint{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;grid-area:hint;min-width:0;max-width:none;min-height:1.25em;margin:0;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.turn-actions{grid-area:actions;justify-content:flex-end;gap:8px;display:flex}.action-button{min-height:clamp(32px,4.3svh,36px);color:var(--coral-deep);justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:14px;font-weight:800;display:inline-flex}.key-hint{border:1px solid color-mix(in oklch, currentColor, var(--line) 42%);color:currentColor;min-width:19px;height:20px;font-family:var(--font-ui);background:#fffbf4ad;background:lab(98.8795% .56228 4.55513/.68);border-radius:6px;place-items:center;padding:0 6px;font-size:11px;font-weight:900;line-height:1;display:inline-grid;box-shadow:inset 0 -1px #4b35271f;box-shadow:inset 0 -1px lab(24.4116% 9.08858 12.9006/.12)}:root[data-theme=dark] .noku-shell .key-hint{background:#16202db8;background:lab(11.7055% -.984892 -10.6746/.72)}.action-button:disabled{border-color:var(--line-soft);color:var(--ink-muted);background:var(--cream-panel);box-shadow:none;cursor:default;opacity:.52;transform:none}.action-button.held-action:not(:disabled){border-color:var(--coral);background:var(--coral-soft);color:var(--coral-deep);box-shadow:inset 0 0 0 1px #fffbf4b3;box-shadow:inset 0 0 0 1px lab(98.8795% .56228 4.55513/.7)}.action-button.held-action:not(:disabled):hover{background:#ffe8e2;background:lab(93.7011% 17.5843 12.202);transform:translateY(-1px)}.action-button.forfeit{min-width:102px}.board-shell{width:var(--board-width);max-width:100%;padding:var(--board-pad);background:#fffcf6;overflow:visible}:root[data-theme=dark] .noku-shell .board-shell{background:#1a1d2b}.board-grid{grid-template-columns:var(--coord-size) var(--playable-size);grid-template-rows:var(--coord-size) var(--playable-size);justify-content:center;display:grid;overflow:visible}.coord-track{display:grid}.coord-track.top{grid-area:1/2;grid-template-columns:repeat(11, var(--cell-size))}.coord-track.side{grid-area:2/1;grid-template-rows:repeat(11, var(--cell-size))}.coord{color:var(--ink);place-items:center;font-size:14px;font-weight:700;display:grid}.quoridor-board{width:var(--playable-size);height:var(--playable-size);box-shadow:none;background:0 0;border:0;border-radius:7px;grid-area:2/2;grid-template-rows:repeat(11,minmax(0,1fr));grid-template-columns:repeat(11,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.quoridor-board:before{z-index:4;border:1px solid var(--board-grid-line);border-radius:inherit;pointer-events:none;content:"";position:absolute;inset:0}.quoridor-board.placing-wall{cursor:crosshair}.quoridor-board.invalid-wall{cursor:not-allowed}:root[data-theme=dark] .noku-shell .quoridor-board{background:0 0}.quoridor-cell{width:var(--cell-size);height:var(--cell-size);border-right:1px solid var(--board-grid-line);border-top:0;border-left:0;border-bottom:1px solid var(--board-grid-line);cursor:default;background:#fdf8ee47 padding-box padding-box;background:lab(97.7256% .66486 5.32031/.28) padding-box padding-box;padding:0;display:block;position:relative}.quoridor-cell.goal-blue{background:color-mix(in oklch, var(--sky-soft), transparent 20%)}.quoridor-cell.goal-red{background:color-mix(in oklch, var(--coral-soft), transparent 17%)}.quoridor-cell:nth-child(11n){border-right:0}.quoridor-cell:nth-last-child(-n+11){border-bottom:0}.quoridor-cell.valid-move{cursor:pointer}.quoridor-cell.valid-move:before{z-index:1;background:var(--leaf);content:"";border-radius:999px;position:absolute;inset:31%;box-shadow:0 0 0 4px #d5ffd79e,0 2px 6px #1a451f38;box-shadow:0 0 0 4px lab(96.2685% -19.8191 14.9698/.62),0 2px 6px lab(25.5763% -22.811 18.1136/.22)}.quoridor-cell[aria-disabled=true]{color:inherit}:root[data-theme=dark] .noku-shell .quoridor-cell{border-color:var(--board-grid-line);background:#28201738;background:lab(12.9994% 2.45437 7.62166/.22)}:root[data-theme=dark] .noku-shell .quoridor-cell.goal-blue{background:color-mix(in oklch, var(--sky), transparent 66%)}:root[data-theme=dark] .noku-shell .quoridor-cell.goal-red{background:color-mix(in oklch, var(--coral), transparent 66%)}.wall-layer,.pawn-layer{pointer-events:none;position:absolute;inset:0}.wall-layer{z-index:2;clip-path:inset(1px round 6px);overflow:hidden}.pawn-layer{z-index:3}.wall-shape{filter:drop-shadow(0 3px 6px #4c28172e);filter:drop-shadow(0 3px 6px lab(20.7223% 15.8197 18.3988/.18));width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wall-shape path{fill:none;stroke-linecap:round;stroke-linejoin:round}.wall-shape .wall-rim{stroke-width:calc(var(--wall-thickness) + 1px)}.wall-shape .wall-clearance{stroke:#f8f1e5;stroke:lab(95.4091% 1.08859 6.82089);stroke-width:calc(var(--wall-thickness) + 2px)}:root[data-theme=dark] .noku-shell .wall-shape .wall-clearance{stroke:#131b26;stroke:lab(9.41931% -.915542 -8.57408)}.wall-shape .wall-core{stroke-width:var(--wall-thickness)}.wall-shape.wall-red .wall-rim{stroke:#c44a37;stroke:lab(48.6444% 48.954 37.444)}.wall-shape.wall-red .wall-core{stroke:var(--coral)}.wall-shape.wall-blue .wall-rim{stroke:#0062ac;stroke:lab(39.9422% -1.35978 -50.1158)}.wall-shape.wall-blue .wall-core{stroke:var(--sky-deep)}.wall-shape.preview{filter:drop-shadow(0 0 8px #e7a13c70);filter:drop-shadow(0 0 8px lab(71.9578% 20.6362 60.5891/.44))}.wall-shape.preview .wall-clearance{opacity:.34;stroke-dasharray:none}.wall-shape.preview .wall-rim,.wall-shape.preview .wall-core{opacity:.58;stroke-dasharray:1 1.65}.wall-shape.preview.valid .wall-clearance{stroke:#bef5c1;stroke:lab(91.8763% -25.4998 19.3841)}.wall-shape.preview.valid .wall-rim,.wall-shape.preview.valid .wall-core{opacity:.78;stroke-dasharray:none}.wall-shape.preview.invalid{filter:drop-shadow(0 0 10px #d33d2994);filter:drop-shadow(0 0 10px lab(49.4923% 58.5366 47.1461/.58))}.wall-shape.preview.invalid .wall-clearance{opacity:.62;stroke:#ffccc0;stroke:lab(87.548% 29.6414 20.7663)}.wall-shape.preview.invalid .wall-rim,.wall-shape.preview.invalid .wall-core{opacity:.88;stroke:#cc2a1b;stroke:lab(45.8683% 62.2002 50.529);stroke-dasharray:1 1.35}.wall-ghost{z-index:80;pointer-events:none;width:74px;height:58px;color:var(--coral);opacity:0;will-change:transform;contain:layout paint style;filter:drop-shadow(0 5px 8px #3c140140);filter:drop-shadow(0 5px 8px lab(12.4887% 19.1673 18.8138/.25));place-items:center;display:grid;position:fixed;top:0;left:0;transform:translate(-120px,-120px)translate(-50%,-50%)}.wall-ghost[data-ready=true]{opacity:1}.wall-ghost.blue{color:var(--sky-deep)}.wall-ghost .wall-piece-icon{width:68px;height:54px}.pawn-token{left:var(--pawn-left);top:var(--pawn-top);color:#0000;width:clamp(20px,3.1svh,28px);height:clamp(20px,3.1svh,28px);box-shadow:none;border:0;border-radius:999px;position:absolute;transform:translate(-50%,-50%)}.pawn-red{background:var(--coral)}.pawn-blue{background:var(--sky-deep)}.pawn-token span{display:none}.board-cell{width:var(--cell-size);height:var(--cell-size);background:#fffbf44d;background:lab(98.8795% .56228 4.55513/.3);border-bottom:1px solid #d8c8b3c7;border-bottom:1px solid lab(81.4898% 3.0511 12.8602/.78);border-right:1px solid #d8c8b3c7;border-right:1px solid lab(81.4898% 3.0511 12.8602/.78);display:block;position:relative}:root[data-theme=dark] .noku-shell .board-cell{background:#2820173d;background:lab(12.9994% 2.45437 7.62166/.24);border-color:#60533f6b;border-color:lab(36.2472% 3.09783 13.6916/.42)}.board-row:nth-of-type(2) .board-cell{border-top:1px solid #d8c8b3c7;border-top:1px solid lab(81.4898% 3.0511 12.8602/.78)}.board-cell:nth-child(2){border-left:1px solid #d8c8b3c7;border-left:1px solid lab(81.4898% 3.0511 12.8602/.78)}:root[data-theme=dark] .noku-shell .board-row:nth-of-type(2) .board-cell{border-top-color:#60533f6b;border-top-color:lab(36.2472% 3.09783 13.6916/.42)}:root[data-theme=dark] .noku-shell .board-cell:nth-child(2){border-left-color:#60533f6b;border-left-color:lab(36.2472% 3.09783 13.6916/.42)}.cell-red,.cell-blue{border:1px solid #673b263d;border:1px solid lab(29.9427% 18.3501 21.1916/.24);border-radius:5px;transform:scale(.96);box-shadow:inset 0 2px #ffffff73,inset 0 -3px #35180e24,0 2px 6px #56250d29;box-shadow:inset 0 2px lab(100.029% .579178 3.77209/.45),inset 0 -3px lab(12.6233% 14.0036 13.1213/.14),0 2px 6px lab(21.7173% 21.593 26.2306/.16)}.cell-red{background:linear-gradient(180deg, #ff725c, var(--coral))}@supports (color:lab(0% 0 0)){.cell-red{background:linear-gradient(180deg, lab(65.8823% 54.8033 40.8916), var(--coral))}}.cell-blue{background:linear-gradient(180deg, #3fa0fa, var(--sky-deep))}@supports (color:lab(0% 0 0)){.cell-blue{background:linear-gradient(180deg, lab(63.3112% -5.86495 -53.8932), var(--sky-deep))}}:root[data-theme=dark] .noku-shell .board-cell.cell-red,:root[data-theme=dark] .noku-shell .board-cell.cell-blue{border-color:#01030947;border-color:lab(.875978% -.0309795 -2.24027/.28);box-shadow:inset 0 2px #ffffff47,inset 0 -3px #00000038,0 2px 8px #0000003d;box-shadow:inset 0 2px lab(100.029% .579178 3.77209/.28),inset 0 -3px lab(.00608635% .0100285 -.0629306/.22),0 2px 8px lab(.00608635% .0100285 -.0629306/.24)}:root[data-theme=dark] .noku-shell .board-cell.cell-red{background:linear-gradient(#fe664f,#d0382c);background:linear-gradient(lab(63.4549% 58.0486 44.0424),lab(48.2849% 59.1408 43.8739))}:root[data-theme=dark] .noku-shell .board-cell.cell-blue{background:linear-gradient(#2896f5,#0064c3);background:linear-gradient(lab(59.7035% -4.63289 -57.0753),lab(41.676% 5.91567 -61.3144))}.activity-panel{background:var(--cream-panel-strong);min-height:0;display:grid;overflow:hidden}.moves-panel,.chat-panel{grid-template-rows:auto minmax(0,1fr)}.activity-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:8px 10px 7px;display:flex}.activity-title{min-width:0;color:var(--ink);align-items:center;gap:7px;display:inline-flex}.activity-title svg{color:#c38238;color:lab(60.2422% 21.2655 49.2633);flex:none}.activity-title h2{font-family:var(--font-display);margin:0;font-size:15px;line-height:1}.activity-count,.activity-status{color:var(--ink-muted);flex:none;font-size:12px;font-weight:850}.activity-status{color:var(--leaf)}.activity-status.offline{color:var(--coral-deep)}.move-list{align-content:start;gap:1px;min-height:0;margin:0;padding:7px 9px 9px;list-style:none;display:grid;overflow:auto}.empty-activity{min-height:56px;color:var(--ink-muted);text-align:center;place-items:center;font-size:12px;font-weight:750;line-height:1.3;display:grid}.move-row{border-bottom:1px solid #e4d5c37a;border-bottom:1px solid lab(86.0992% 3.31548 11.0851/.48);grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:27px;padding:3px 0;font-size:12px;font-weight:800;display:grid}.move-row:last-child{border-bottom:0}:root[data-theme=dark] .noku-shell .move-row{border-bottom-color:#35475a7a;border-bottom-color:lab(29.1276% -2.77777 -13.9855/.48)}.move-turn{width:21px;height:21px;color:var(--ink-muted);background:#faf0e3c7;background:lab(95.3968% 1.77422 7.85831/.78);border-radius:999px;place-items:center;font-size:12px;display:grid}:root[data-theme=dark] .noku-shell .move-turn{background:#1b2533c7;background:lab(14.0307% -1.08159 -10.7001/.78)}.move-player,.move-detail{min-width:0}.move-player{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.move-player.red{color:var(--coral-deep)}.move-player.blue{color:var(--sky-deep)}.move-detail{color:var(--ink);align-items:baseline;gap:5px;display:inline-flex}.move-detail span{color:var(--ink-muted);font-size:12px}.chat-list{flex-direction:column;gap:7px;min-height:0;padding:8px 10px;display:flex;overflow:auto}.chat-unavailable{text-align:center;place-items:center;min-height:0;padding:16px;display:grid}.chat-unavailable p{max-width:24ch;color:var(--ink-muted);margin:0;font-size:13px;font-weight:800;line-height:1.35}.match-end-backdrop{inset:var(--topbar-h) 0 0;z-index:90;background:radial-gradient(circle at 50% 45%,#fffbf26b,#0000 38%),#270e023d;background:radial-gradient(circle at 50% 45%,lab(98.8975% .875294 6.8545/.42),#0000 38%),lab(6.92166% 12.8443 9.99466/.24);place-items:center;padding:18px;animation:.26s ease-out both match-backdrop-in;display:grid;position:fixed}:root[data-theme=dark] .noku-shell .match-end-backdrop{background:radial-gradient(circle at 50% 45%,#274c7457,#0000 38%),#0000028f;background:radial-gradient(circle at 50% 45%,lab(31.2044% -3.03327 -27.4157/.34),#0000 38%),lab(.101305% .078626 -.7061/.56)}.match-end-card{border:1px solid var(--line);background:var(--cream-panel-strong);text-align:center;border-radius:8px;gap:13px;width:min(520px,100%);padding:26px;animation:.36s cubic-bezier(.16,1,.3,1) both match-card-in;display:grid;position:relative;box-shadow:0 18px 42px #3e17003d,0 3px 10px #46231124;box-shadow:0 18px 42px lab(13.6863% 18.4543 20.5987/.24),0 3px 10px lab(18.4272% 15.3129 19.7/.14)}.match-end-card:before{border:2px solid color-mix(in oklch, var(--winner-color,var(--gold)), transparent 32%);border-radius:inherit;pointer-events:none;content:"";position:absolute;inset:-1px}.match-end-card.red{--winner-color:var(--coral)}.match-end-card.blue{--winner-color:var(--sky)}.match-end-emblem{border:1px solid color-mix(in oklch, var(--winner-color,var(--gold)), var(--line) 28%);width:58px;height:58px;color:var(--winner-color,var(--gold));background:color-mix(in oklch, var(--winner-color,var(--gold)), transparent 86%);box-shadow:0 0 0 7px color-mix(in oklch, var(--winner-color,var(--gold)), transparent 90%);border-radius:999px;justify-self:center;place-items:center;animation:.52s cubic-bezier(.16,1,.3,1) .12s both match-emblem-pop;display:grid}.match-end-kicker{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.match-end-card h2{color:var(--ink);font-family:var(--font-display);margin:0;font-size:31px;line-height:1}.match-end-card p{color:var(--ink-muted);margin:0;font-size:14px;font-weight:700;line-height:1.45}.match-end-stats,.match-end-wall-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.match-end-stats article,.wall-use{border:1px solid var(--line-soft);background:var(--cream-panel);text-align:left;border-radius:8px;gap:5px;min-width:0;padding:12px;display:grid}.match-end-stats span,.wall-use span{color:var(--ink-muted);text-transform:uppercase;font-size:11px;font-weight:900}.match-end-stats strong,.wall-use strong{color:var(--ink);font-size:19px;line-height:1}.wall-use.red strong{color:var(--coral-deep)}.wall-use.blue strong{color:var(--sky-deep)}.wall-use p{color:var(--ink-muted);overflow-wrap:anywhere;font-size:12px;font-weight:800}.match-end-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:2px;display:grid}.match-primary-action,.match-secondary-action{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:14px;font-weight:900;display:inline-flex}.match-primary-action{border:1px solid var(--coral-deep);color:#fffbf4;color:lab(98.8795% .56228 4.55513);background:var(--coral)}.match-secondary-action{border:1px solid var(--line-soft);color:var(--ink-muted);background:var(--cream-panel)}@keyframes match-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes match-card-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes match-emblem-pop{0%{opacity:0;transform:scale(.72)rotate(-8deg)}70%{opacity:1;transform:scale(1.08)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.chat-message{gap:3px;min-width:0;display:grid}.chat-meta{color:var(--ink-muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:850;display:flex}.chat-message.red .chat-meta span{color:var(--coral-deep)}.chat-message.blue .chat-meta span{color:var(--sky-deep)}.chat-meta time{flex:none}.chat-message p{color:var(--ink);margin:0;font-size:12px;font-weight:650;line-height:1.32}.chat-composer{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 32px;gap:6px;padding:8px;display:grid}.chat-composer input{border:1px solid var(--line-soft);width:100%;min-width:0;height:32px;color:var(--ink);font:inherit;background:#fffbf4b8;background:lab(98.8795% .56228 4.55513/.72);border-radius:8px;padding:0 10px;font-size:12px;font-weight:700}.chat-composer input::placeholder{color:var(--ink-muted)}.send-button{min-height:32px;color:var(--coral-deep);cursor:pointer;background:#fffbf4c7;background:lab(98.8795% .56228 4.55513/.78);border:1px solid #e8c2a9d1;border:1px solid lab(81.2426% 11.2773 17.8436/.82);border-radius:8px;place-items:center;padding:0;display:grid}:root[data-theme=dark] .noku-shell .chat-composer input,:root[data-theme=dark] .noku-shell .send-button{background:#141d2ab8;background:lab(10.5561% -.949942 -9.97092/.72);border-color:#3c526bbd;border-color:lab(33.7278% -3.24737 -17.4186/.74)}.content-stage{grid-template-columns:minmax(560px,760px) minmax(260px,380px);justify-content:center;align-items:center;gap:24px;width:min(1120px,100%);height:100%;margin:0 auto;padding-top:0;display:grid;overflow:hidden}.content-panel{background:#fffcf6;max-height:100%;padding:clamp(18px,3svh,28px)}.content-panel h1{max-width:680px;font-family:var(--font-display);margin:10px 0 14px;font-size:clamp(25px,4svh,34px);line-height:1.05}.content-panel h2{font-family:var(--font-display);margin:0;font-size:18px}.content-panel p{max-width:68ch;color:var(--ink-muted);margin:0 0 14px;font-size:clamp(13px,1.9svh,16px);font-weight:600;line-height:1.55}.section-kicker{color:var(--coral-deep);align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.rule-card{border:1px solid var(--line-soft);background:#fff8ebc2;background:lab(97.7375% .876248 6.85518/.76);border-radius:8px;min-height:clamp(112px,17svh,150px);padding:clamp(13px,2.2svh,18px)}:root[data-theme=dark] .noku-shell .rule-card{border-color:var(--line-soft);background:#151d2ab8;background:lab(10.5627% -.955328 -9.62524/.72)}.rule-card span{width:38px;height:38px;color:var(--coral-deep);place-items:center;margin-bottom:12px;display:inline-grid}.rule-card p{margin:8px 0 0;font-size:14px}.primary-cta{color:#fffbf4;color:lab(98.8795% .56228 4.55513);background:var(--coral);border-color:var(--coral-deep);justify-content:center;align-items:center;min-width:148px;padding:0 20px;font-weight:900;display:inline-flex}.primary-cta:hover{background:var(--coral-deep)}.example-panel,.quiet-panel,.asset-panel{gap:16px;display:grid}.example-board{border:1px solid var(--line);background:#fffbf480;background:lab(98.8795% .56228 4.55513/.5);border-radius:8px;grid-template-rows:repeat(7,34px);grid-template-columns:repeat(7,34px);width:max-content;display:grid;overflow:hidden}:root[data-theme=dark] .noku-shell .example-board{border-color:var(--line);background:#0b121ca8;background:lab(5.18947% -.545196 -7.46504/.66)}.example-cell{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.example-red,.example-blue{border-radius:5px;margin:2px}.example-red{background:var(--coral)}.example-blue{background:var(--sky-deep)}.leaderboard-list{gap:10px;margin-top:18px;display:grid}.leader-row{border:1px solid var(--line-soft);background:#fff8ebc2;background:lab(97.7375% .876248 6.85518/.76);border-radius:8px;grid-template-columns:42px 1fr auto auto;align-items:center;gap:14px;min-height:clamp(58px,9svh,74px);padding:clamp(9px,1.5svh,12px) 14px;display:grid}:root[data-theme=dark] .noku-shell .leader-row{border-color:var(--line-soft);background:#151d2ab8;background:lab(10.5627% -.955328 -9.62524/.72)}.rank{color:#fffbf4;color:lab(98.8795% .56228 4.55513);background:var(--coral);border-radius:999px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.leader-row h2{margin:0 0 3px}.leader-row p{margin:0;font-size:13px}.leader-row strong{color:var(--sky-deep);font-size:20px}.best-score{color:var(--ink-muted);font-size:13px;font-weight:800}.quiet-panel{align-content:center;min-height:230px}.quiet-panel svg{color:var(--gold)}.asset-panel{padding:0;overflow:hidden}.asset-panel img{object-fit:cover;width:100%;height:min(42svh,360px);display:block}.mobile-match-bar,.mobile-piece-stack,.mobile-piece-dock{display:none}@media (max-width:1180px){.scene{padding-left:12px;padding-right:12px}.board-column{--activity-panel-width:clamp(146px, 13.2vw, 170px);--player-panel-width:136px;--layout-column-gap:10px;grid-template-columns:var(--activity-panel-width) var(--player-panel-width) var(--board-width) var(--player-panel-width) var(--activity-panel-width)}.activity-header{padding-left:8px;padding-right:8px}.chat-composer{grid-template-columns:minmax(0,1fr) 30px;padding:7px}}@media (max-width:980px){:root{--topbar-h:92px;--play-gap:8px;--cell-size:min(4.9vw, 42px)}.topbar{grid-template-columns:auto 1fr;gap:8px 14px}.nav-tabs{order:3;grid-column:1/-1;justify-content:center;padding-bottom:2px;overflow-x:auto}.room-actions{gap:8px}.profile-button>span:not(.avatar){display:none}.game-table{max-width:100%}.board-column{order:-1}.player-panel{min-height:auto}.piece-tray{grid-template-columns:repeat(2,minmax(0,1fr))}.content-stage{grid-template-columns:minmax(0,820px);padding-top:12px}.landing-stage{grid-template-columns:minmax(300px, 400px) minmax(340px, var(--board-width));gap:16px 24px}.landing-logo{width:clamp(152px,17vw,190px)}.landing-tagline{font-size:15px}.landing-mode{grid-template-columns:42px minmax(0,1fr) 18px;min-height:74px;padding:11px}.landing-mode-icon{width:40px;height:40px}.landing-mode-copy strong{font-size:16px}.landing-mode-copy span{font-size:12px}.landing-visual{--cell-size:clamp(25px, min(4vw, calc((100svh - var(--topbar-h) - 170px) / 11)), 36px);--coord-size:22px;--board-pad:8px;--wall-thickness:4px}}@media (max-width:760px){:root{--topbar-h:84px;--cell-size:max(21px, min(7.65vw, calc((100svh - var(--topbar-h) - 300px) / 11), 30px));--coord-size:18px;--wall-thickness:5px;--mini-cell:9px}.topbar{height:var(--topbar-h);min-height:var(--topbar-h);gap:6px 10px;padding:6px 12px}.brand{width:94px;height:34px}.room-actions{gap:6px}.profile-button{gap:5px;min-height:34px;padding:0 6px;font-size:12px}.profile-button .avatar-small{border-width:2px;outline-width:2px;width:29px;height:29px}.profile-button>span:not(.avatar){display:inline}.nav-tabs{border-top:1px solid var(--line-soft);background:#f5eee1e0;background:lab(94.2602% .933915 7.24241/.88);border-radius:0;justify-content:space-between;gap:0;width:calc(100% + 24px);margin:0 -12px -6px;padding:2px 12px 5px;overflow:visible}:root[data-theme=dark] .noku-shell .nav-tabs{background:#040913eb;background:lab(2.42029% -.181578 -5.08816/.92);border-top-color:#2b3c4fa3;border-top-color:lab(24.4796% -2.6242 -13.942/.64)}.nav-tab{white-space:normal;flex:1 1 0;min-width:0;min-height:32px;padding:0 5px;font-size:13px;line-height:1.1}.nav-tab:after{left:12px;right:12px}.scene{padding:16px 10px 6px}.landing-stage{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;gap:9px;width:min(100%,410px);padding:0 0 4px}.landing-hero{gap:8px;width:100%}.landing-copy{gap:5px}.landing-logo{width:clamp(112px,32vw,132px)}.landing-tagline{max-width:31ch;font-size:13px;line-height:1.24}.landing-mode-grid{gap:7px;width:100%}.landing-mode{grid-template-columns:34px minmax(0,1fr) 16px;gap:8px;min-height:58px;padding:8px}.landing-mode-icon{width:34px;height:34px}.landing-mode-icon svg{width:21px;height:21px}.landing-mode-copy{gap:3px}.landing-mode-copy strong{font-size:14px}.landing-mode-copy span{font-size:11px;line-height:1.15}.landing-mode-arrow{width:16px;height:16px}.landing-visual{--cell-size:max(17px, min(5.25vw, 21px));--coord-size:16px;--board-pad:5px;--wall-thickness:4px;width:100%}.landing-visual .board-shell{width:var(--board-width)}.landing-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:6px}.landing-feature{grid-template-columns:22px minmax(0,1fr);gap:6px;min-height:38px;padding:5px 6px}.landing-feature:not(:last-child){border-right:0}.landing-feature:nth-child(odd){border-right:1px solid var(--line-soft)}.landing-feature:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.landing-feature svg{width:18px;height:18px}.landing-feature h2{margin:0;font-size:11px}.landing-feature p{display:none}.setup-stage{align-items:start;width:min(100%,430px)}.setup-panel{gap:10px;padding:12px}.setup-heading{grid-template-columns:1fr;gap:8px}.setup-heading h1{margin:5px 0;font-size:21px}.setup-heading p{font-size:12px;line-height:1.35}.setup-players{gap:7px}.setup-player{gap:8px;padding:8px}.setup-player .avatar-large{width:38px;height:38px;position:static}.setup-player strong{font-size:14px}.setup-control{gap:7px}.color-choice{grid-template-columns:24px minmax(0,max-content);justify-content:center;gap:7px;min-height:52px;padding:8px}.color-choice .color-swatch{width:23px;height:23px}.color-choice strong{font-size:14px}.color-choice small{font-size:10px}.setup-actions{gap:8px}.setup-back,.start-match-button{flex:1 1 0;min-width:0;min-height:38px;padding:0 10px}.game-table{align-items:start;max-width:100%;height:100%}.player-panel{display:none}.board-column{height:100%;max-height:100%;width:min(100%, calc(var(--coord-size) + var(--playable-size) + 12px), 420px);order:0;grid-template-rows:auto auto auto auto auto;grid-template-columns:1fr;align-content:start;gap:7px}.turn-banner{order:2;grid-area:auto;width:100%}.play-grid{order:3;width:100%;display:block}.activity-rail{order:5;grid-area:auto;grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;width:100%;height:clamp(86px,11.5svh,96px);display:grid;position:static;top:auto;right:auto}.moves-panel,.chat-panel{grid-area:auto;height:100%}.activity-panel{min-width:0}.activity-header{min-height:26px;padding:5px 7px}.activity-title{gap:5px}.activity-title h2{font-size:12px}.activity-title svg{width:15px;height:15px}.activity-count,.activity-status{font-size:9px}.move-list{padding:3px 6px 6px}.move-row{grid-template-columns:18px minmax(0,1fr) auto;gap:4px;min-height:20px;padding:1px 0;font-size:10px}.move-row:nth-child(n+4){display:none}.move-turn{width:17px;height:17px;font-size:9px}.move-detail{gap:3px}.move-detail span{font-size:9px}.chat-list{gap:4px;padding:5px 7px 3px}.chat-message:nth-child(n+3){display:none}.chat-meta{font-size:9px}.chat-message p{font-size:10px;line-height:1.18}.chat-composer{grid-template-columns:minmax(0,1fr) 26px;gap:4px;padding:4px}.chat-composer input{height:24px;padding:0 7px;font-size:10px}.send-button{min-height:24px}.mobile-match-bar{border:1px solid var(--line);background:var(--cream-panel-strong);min-height:34px;box-shadow:var(--panel-shadow);border-radius:8px;order:1;grid-template-columns:1fr 1fr;align-items:center;gap:6px;padding:3px 6px;display:grid}.mobile-match-bar .avatar-small{border-width:2px;outline-width:2px;width:28px;height:28px}.mobile-player{align-items:center;gap:5px;min-width:0;font-size:11px;font-weight:900;display:flex}.mobile-player.blue{justify-content:flex-end}.mobile-player strong{font-size:16px;line-height:1}.mobile-player.red strong{color:var(--coral)}.mobile-player.blue strong{color:var(--sky-deep)}.turn-banner{grid-template-columns:minmax(0,1fr);grid-template-areas:"title""hint""actions";align-items:stretch;gap:6px;min-height:0;padding:7px 9px}.turn-copy{align-items:flex-start}.turn-copy h1{font-size:16px}.turn-hint{min-height:1.25em;font-size:10px;line-height:1.25}.turn-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.action-button{min-height:31px;padding:0 6px;font-size:11px}.key-hint{display:none}.match-end-backdrop{padding:12px}.match-end-card{gap:10px;padding:18px}.match-end-card h2{font-size:24px}.match-end-stats,.match-end-wall-list,.match-end-actions{grid-template-columns:1fr}.board-shell{width:100%;padding:5px}.board-grid{grid-template-columns:var(--coord-size) var(--playable-size);grid-template-rows:var(--coord-size) var(--playable-size)}.coord{font-size:12px}.mobile-piece-stack{order:4;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;min-height:0;display:grid}.mobile-piece-dock{border:1px solid var(--line);background:var(--cream-panel-strong);min-width:0;box-shadow:var(--panel-shadow);border-radius:8px;gap:4px;padding:7px 6px 8px;display:grid}.mobile-dock-heading{justify-content:space-between;align-items:center;gap:6px;font-size:10px;font-weight:900;display:flex}.mobile-dock-heading span,.mobile-dock-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-dock-heading strong{color:var(--coral-deep)}.mobile-piece-dock.opponent .mobile-dock-heading strong{color:var(--sky-deep)}.mobile-dock-pieces{scrollbar-width:thin;gap:5px;min-width:0;padding-bottom:1px;display:flex;overflow:auto hidden}.mobile-dock-pieces .wall-piece-button{border:1px solid var(--line-soft);background:#fff8ebad;background:lab(97.7375% .876248 6.85518/.68);min-width:42px;min-height:34px}.mobile-dock-pieces .wall-piece-icon{width:36px;height:30px}.mobile-dock-pieces .wall-piece-icon line{stroke-width:8px}:root[data-theme=dark] .noku-shell .mobile-dock-pieces .wall-piece-button{background:#17202cb3;background:lab(11.7251% -.999391 -9.63727/.7);border-color:#3c4f64b8;border-color:lab(32.6038% -2.95164 -14.6951/.72)}.content-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;gap:0;height:100%;padding-top:0}.example-panel,.quiet-panel,.asset-panel{display:none}.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.piece-tray{grid-template-columns:repeat(4,minmax(42px,1fr))}.content-panel{padding:14px;overflow:hidden}.content-panel h1{margin:6px 0 8px;font-size:20px}.content-panel p{margin-bottom:8px;font-size:12px;line-height:1.35}.rule-card{min-height:0;padding:9px}.rule-card span{display:none}.rule-card h2{font-size:12px}.rule-card p{margin-top:5px;font-size:10px;line-height:1.28}.primary-cta{min-height:36px;font-size:12px}.leader-row{grid-template-columns:38px 1fr;min-height:52px;padding:8px 10px}.leaderboard-list{gap:7px;margin-top:10px}.leader-row strong,.best-score{grid-column:2}}@media (max-width:760px) and (max-height:720px){.scene{padding-top:8px}.landing-stage,.landing-hero{gap:6px}.landing-logo{width:96px}.landing-tagline{max-width:30ch;font-size:12px}.landing-mode-grid{gap:6px}.landing-mode{grid-template-columns:30px minmax(0,1fr) 14px;gap:6px;min-height:48px;padding:6px}.landing-mode-icon{width:30px;height:30px}.landing-mode-copy strong{font-size:13px}.landing-mode-copy span{display:none}.landing-visual{--cell-size:14px;--coord-size:14px;--board-pad:4px;--wall-thickness:3px}.landing-feature-strip{padding:4px}.landing-feature{min-height:30px;padding:4px 5px}.landing-feature h2{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
