*{box-sizing:border-box}html,body{color:#292d29;background:#f6f6f2;min-height:100%;margin:0;font-family:Arial,Malgun Gothic,sans-serif;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #a7c77c}button{transition:background .16s,transform .16s}button:active{transform:translateY(1px)}.app{min-height:100vh}.sidebar{color:#b4bcb4;z-index:20;background:#222823;flex-direction:column;width:222px;padding:28px 19px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fafbf8;letter-spacing:-1.2px;align-items:center;gap:8px;font-size:24px;font-weight:900;display:flex}.brand-knight{color:#acd17b;font-size:48px;line-height:1}.brand-light{color:#c8dbc1;font-weight:400}.brand small{letter-spacing:2px;color:#89988b;margin-top:5px;font-size:8px;display:block}.nav-caption{letter-spacing:1.8px;color:#758176;margin:47px 15px 15px;font-size:9px}.sidebar nav{gap:8px;display:grid}.sidebar nav button{color:#aeb7af;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:14px;padding:15px 17px;font-weight:600;display:flex}.sidebar nav button.active{color:#d2e4b2;background:#3b4936}.nav-dot{background:#b1d883;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:80px}.club-mark{color:#71896b;align-items:center;gap:12px;font-family:Georgia,serif;font-size:38px;font-style:italic;display:flex}.club-mark span{color:#adb7ac;font-family:Arial,Malgun Gothic,sans-serif;font-size:11px;font-style:normal;line-height:1.7}.sidebar-bottom p{color:#778478;margin:14px 0 24px;font-size:11px;line-height:1.8}.sidebar-rule{background:#3a413a;height:1px;margin-bottom:22px}.profile{text-align:left;color:#d4dcd1;background:0 0;align-items:center;gap:10px;width:100%;padding:0;font-size:11px;display:flex}.profile small{color:#849180;margin-top:5px;font-size:9px;display:block}.profile>svg{margin-left:auto}.mini-avatar{color:#c4d7af;background:#3e4b37;border-radius:5px;place-items:center;width:32px;height:35px;font-size:21px;display:grid}.topbar{background:#fafbf8;border-bottom:1px solid #e1e3db;justify-content:space-between;align-items:center;height:76px;padding:0 42px;display:flex}.breadcrumb{color:#737b70;font-size:12px}.breadcrumb span{color:#c2c8bb;padding:0 13px}.header-right{align-items:center;gap:25px;display:flex}.connection{color:#7a8275;align-items:center;gap:7px;font-size:10px;display:flex}.connection i,.board-state i{background:#78a254;border-radius:50%;width:6px;height:6px}.connection.offline i{background:#c19f49}.login-button{color:#43583a;background:0 0;align-items:center;gap:16px;font-size:12px;display:flex}.content{max-width:1370px;margin:auto;padding:34px 42px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:2.2px;color:#7e916b;font-size:9px;font-weight:700}.page-heading h1{letter-spacing:-1.5px;margin:10px 0 12px;font-size:32px;font-weight:800}.page-heading p{color:#7d8378;margin:0;font-size:12px;line-height:1.7}.heading-tag{color:#7e8e6d;white-space:nowrap;letter-spacing:.7px;border:1px solid #dce2d4;border-radius:30px;align-items:center;gap:8px;padding:8px 13px;font-size:8px;font-weight:700;display:flex}.heading-tag span{font-size:19px}.play-layout{grid-template-columns:minmax(0,1fr) minmax(280px,354px);align-items:start;gap:28px;display:grid}.board-section{min-width:0}.player{align-items:center;gap:11px;min-height:53px;padding:0 0 12px;display:flex}.board-wrap+.player{padding:12px 0 0}.avatar{color:#4c5641;background:#eeeae0;border:1px solid #deded2;border-radius:5px;place-items:center;width:39px;height:39px;font-size:29px;display:grid}.avatar.bot{color:#e0e6d4;background:#424c3e;border:0}.player strong{font-size:12px;font-weight:700}.player small{color:#92988c;margin-top:5px;font-size:9px;display:block}.timer{text-align:center;color:#626b5b;letter-spacing:1px;background:#e9ebe4;border:1px solid #dfe4d7;border-radius:5px;min-width:100px;margin-left:auto;padding:9px 13px;font-family:Consolas,monospace;font-size:24px;font-weight:700;line-height:1}.board-wrap{border-radius:5px;position:relative;overflow:hidden;box-shadow:0 3px 8px #202b1b15}.board{aspect-ratio:1;grid-template-columns:repeat(8,1fr);width:100%;display:grid}.square{aspect-ratio:1;border:0;border-radius:0;place-items:center;padding:0;line-height:1;display:grid;position:relative}.square.light{color:#758955;background:#e9ecd6}.square.dark{color:#edf0dc;background:#849a63}.piece{z-index:1;-webkit-user-select:none;user-select:none;pointer-events:none;font-family:Segoe UI Symbol,DejaVu Sans,serif;font-size:clamp(28px,4vw,65px);line-height:1;transform:translateY(-2%)}.rank-label{z-index:2;font-size:10px;font-weight:700;position:absolute;top:5px;left:5px}.file-label{z-index:2;font-size:10px;font-weight:700;position:absolute;bottom:4px;right:5px}.move-dot{z-index:3;background:#26321e35;border-radius:50%;width:26%;height:26%;position:absolute}.capture-dot{z-index:3;border:5px solid #26321e45;border-radius:50%;position:absolute;inset:5%}.board-toolbar{justify-content:space-between;align-items:center;margin-top:13px;display:flex}.board-toolbar>div{gap:4px;display:flex}.board-state{color:#7c8573;align-items:center;gap:7px;font-size:10px;display:flex}.icon{color:#7e8876;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.panel-card,.moves-card,.lobby-card,.wide-card{background:#fff;border:1px solid #e2e5db;border-radius:8px;overflow:hidden}.panel-tabs{background:#fbfcf8;border-bottom:1px solid #e6e9de;display:flex}.panel-tabs button{color:#92998a;background:0 0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;width:50%;padding:17px 8px;font-size:12px;display:flex}.panel-tabs .selected-tab{color:#608440;background:#f4f7ee;border-bottom-color:#779c50;font-weight:700}.section-kicker{letter-spacing:1.4px;color:#a0ab95;font-size:8px;font-weight:700}.panel-body h2{letter-spacing:-.7px;margin:11px 0 10px;font-size:19px}.muted{color:#979d90;margin:0;font-size:11px;line-height:1.8}.field-label{margin:27px 0 10px;font-size:11px;font-weight:600;display:block}.field-label span{float:right;color:#a0a795;margin-top:2px;font-size:8px;font-weight:400}.time-grid{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.time-grid button{color:#606953;background:#fafbf8;border:1px solid #e4e7dd;border-radius:5px;padding:11px 2px 10px;font-size:18px;font-weight:700;position:relative}.time-grid button>span{color:#9ba78e;margin-bottom:7px;font-size:16px;display:block}.time-grid small{margin-left:2px;font-size:9px;font-weight:400}.time-check{position:absolute;top:3px;right:3px}.primary{color:#fff;background:#7c9f4e;border-radius:5px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 17px;font-size:12px;font-weight:700;display:flex;box-shadow:0 3px #65863b}.primary.big{width:100%;height:49px;margin-top:24px;font-size:14px}.secondary{color:#7a856d;background:#f6f8f1;border:1px solid #e5e9dc;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:13px;padding:12px;font-size:11px;display:flex}.secondary:hover{background:#edf2e5}.rating-note{border-top:1px solid #eef0e7;align-items:center;gap:10px;margin-top:23px;padding-top:17px;display:flex}.rating-note>span{color:#97a881;font-size:26px}.rating-note p{color:#7b896c;margin:0;font-size:10px}.rating-note small{color:#a1aa96;margin-top:5px;font-size:9px;display:block}.card-title{border-bottom:1px solid #edf0e7;justify-content:space-between;align-items:center;padding:13px 17px;font-size:11px;font-weight:700;display:flex}.subtle{color:#a6ad9c;font-size:10px;font-weight:400}.move-list{background:#fdfefa;height:116px;overflow:auto}.empty-moves{color:#b4bda6;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.empty-moves span{font-size:30px}.empty-moves p{margin:6px 0;font-size:10px}.move-row{grid-template-columns:40px 1fr 1fr;align-items:center;min-height:30px;font-family:Consolas,monospace;font-size:12px;display:grid}.move-row>span{color:#a0a893;text-align:center}.move-row button{text-align:left;color:#58674a;background:0 0;height:30px;padding:0 10px}.move-row .current-move{background:#dfebce;font-weight:700}.move-controls{border-top:1px solid #edf0e7;align-items:center;gap:2px;padding:6px 10px;display:flex}.move-controls>span{flex:1}.hint{color:#788348;background:#f5f7e8;gap:7px;padding:10px 15px;font-size:11px;display:flex}.below-grid{grid-template-columns:minmax(0,1fr) minmax(280px,354px);gap:28px;margin-top:25px;display:grid}.section-title{border-bottom:1px solid #edf0e6;justify-content:space-between;align-items:center;padding:15px 19px;display:flex}.section-title h3{align-items:center;gap:9px;margin:0;font-size:12px;display:flex}.section-title h3 svg{color:#819169}.text-button{color:#879476;background:0 0;justify-content:center;align-items:center;gap:5px;padding:3px;font-size:10px;display:inline-flex}.empty-rooms{align-items:center;gap:13px;padding:21px 19px;display:flex}.small-board{color:#a8b993;background:#f5f7ef;border:1px solid #e7ecdf;border-radius:5px;place-items:center;width:40px;height:45px;font-size:29px;display:grid}.empty-rooms strong{color:#7b8670;font-size:10px;font-weight:500}.empty-rooms p{color:#a9b09f;margin:7px 0 0;font-size:9px}.outline-button{color:#7c8d68;white-space:nowrap;background:#fff;border:1px solid #dfe6d5;border-radius:4px;align-items:center;gap:5px;margin-left:auto;padding:8px 10px;font-size:9px;display:flex}.puzzle-teaser{text-align:left;background:#edf1e4;border:1px solid #dde5cf;border-radius:8px;align-items:center;gap:12px;padding:25px 20px;display:flex}.puzzle-symbol{color:#738f54;font-size:59px;line-height:1;position:relative}.puzzle-symbol span{color:#9caf6d;font-size:20px;position:absolute;top:-6px;right:0}.puzzle-teaser h3{color:#526d39;letter-spacing:-.4px;margin:9px 0 8px;font-size:14px}.puzzle-teaser p{color:#97a384;margin:0;font-size:10px}.puzzle-teaser>svg{color:#8da373;margin-left:auto}.room-row{border-bottom:1px solid #eef0e8;align-items:center;gap:10px;padding:13px 19px;display:flex}.room-avatar{color:#819466;background:#edf2e6;border-radius:5px;padding:2px 7px;font-size:25px}.room-row small{color:#8b987e;margin-top:4px;font-size:9px;display:block}.room-time{color:#8c967f;align-items:center;gap:4px;margin-left:auto;font-size:11px;display:flex}.room-row>button{color:#648240;background:#edf3e5;border-radius:4px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;display:flex}.room-code{color:#75885e;background:#f4f7ee;border-radius:6px;align-items:center;gap:13px;margin:20px 0;padding:20px 13px;font-size:12px;display:flex}.room-code small{color:#a0ab93;margin-top:6px;font-size:10px;display:block}.room-code+.primary{width:100%}.level-grid{gap:8px;display:flex}.level-grid button{color:#8b987c;background:#f8faf4;border:1px solid #e0e6d5;border-radius:4px;flex:1;padding:9px;font-size:11px}.result-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:6;text-align:center;background:#fffffaf5;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:17% 8%;box-shadow:0 8px 50px #1e2b2244}.result-trophy{color:#73954e;font-size:60px}.result-overlay h2{font-size:21px}.result-overlay p{color:#8c967e;font-size:11px;line-height:1.7}.result-overlay .primary{margin:15px 0}.wide-card{min-height:280px}.ranking-intro{background:#f5f8ee;align-items:center;gap:23px;padding:28px 26px;display:flex}.ranking-intro>span{color:#8aa65f;font-size:60px}.ranking-intro h2{letter-spacing:-.7px;margin:0 0 10px;font-size:20px}.ranking-intro p{color:#8a977c;margin:0;font-size:11px;line-height:1.8}.pill{color:#899c70;background:#f1f5e8;border-radius:20px;padding:6px 10px;font-size:9px}table{border-collapse:collapse;text-align:left;width:100%}th{color:#929d87;background:#fafbf7;padding:15px 23px;font-size:10px;font-weight:500}td{border-bottom:1px solid #eef1e8;padding:15px 23px;font-size:12px}td:first-child{width:90px}.medal{color:#7c9454;background:#edf2e0;border-radius:50%;place-items:center;width:27px;height:27px;display:inline-grid}.table-avatar{color:#81966b;background:#edf2e6;border-radius:6px;place-items:center;width:30px;height:30px;margin-right:12px;display:inline-grid}.my-row{background:#f3f8eb}.you{color:#75964a;background:#dbe9c6;border-radius:3px;margin-left:9px;padding:2px 6px}.table-note{color:#a6af9a;padding:15px 23px;font-size:10px}.empty-page{text-align:center;color:#8e9b80;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:45px 20px;font-size:12px;display:flex}.empty-page h2{color:#667e50;font-size:22px}.empty-page .primary{margin-top:15px}.huge-piece{color:#819e5f;font-size:70px}.lesson-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px;display:grid}.lesson{background:#fff;border:1px solid #e4e9da;border-radius:8px;padding:25px}.lesson>span{color:#708a52;font-size:53px}.lesson h2{font-size:17px}.lesson p{color:#929c86;font-size:12px;line-height:1.9}.rules{padding:25px}.rules h2{font-size:18px}.rules details{border-bottom:1px solid #e9eddf;padding:20px 0;font-size:12px}.rules summary{cursor:pointer;color:#6d805b;justify-content:space-between;align-items:center;display:flex}.rules details p{color:#939c88;max-width:700px;line-height:1.9}.rules .primary{margin-top:25px}.stats-grid{background:#f8faf3;grid-template-columns:repeat(4,1fr);padding:30px 20px;display:grid}.stats-grid>div{text-align:center;border-right:1px solid #e3ead8}.stats-grid>div:last-child{border:0}.stats-grid span{color:#a2ad94;margin-bottom:14px;font-size:11px;display:block}.stats-grid strong{color:#718a54;font-size:27px;font-weight:500}.history-row{text-align:left;background:#fff;border-bottom:1px solid #edf0e6;align-items:center;gap:15px;width:100%;padding:18px 24px;display:flex}.history-row:hover{background:#f8faf3}.history-row strong{font-size:12px}.history-row strong span{color:#acb69e;margin:0 7px;font-size:9px}.history-row small{color:#a0ab93;margin-top:7px;font-size:10px;display:block}.history-row>span:nth-last-child(2){color:#849a68;margin-left:auto;font-size:12px}.result-badge{border-radius:5px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.result-badge.win{color:#77994d;background:#eaf2dc}.result-badge.loss{color:#b78e7d;background:#f7eee8}.result-badge.draw{color:#a6a67c;background:#f3f2e2}footer{color:#b0b7a6;border-top:1px solid #e4e7dc;justify-content:space-between;gap:15px;margin-top:30px;padding:23px 0;font-size:9px;display:flex}footer b{color:#959f89;letter-spacing:1px;margin-right:5px;font-size:9px}.footer-dot{color:#99ad7e;margin-left:8px}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:40;background:#1c251bcc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{text-align:center;background:#fffffa;border:1px solid #e4e9db;border-radius:12px;width:420px;max-width:100%;padding:34px;position:relative}.close{position:absolute;top:13px;right:13px}.auth-logo{color:#799953;font-size:66px}.auth-modal h2{letter-spacing:-1px;margin:15px 0 12px;font-size:25px}.auth-modal>p{color:#a3ad96;font-size:11px}.auth-modal form{text-align:left;gap:18px;margin-top:28px;display:grid}.auth-modal label{color:#738363;font-size:11px}.auth-modal input{background:#fff;border:1px solid #dae2ce;border-radius:5px;outline:none;width:100%;margin-top:8px;padding:13px;font-size:12px}.auth-modal input:focus{border-color:#89a960;box-shadow:0 0 0 3px #ecf2e0}.auth-modal input::placeholder{color:#b0b8a5;font-size:11px}.auth-modal .primary{width:100%;margin-top:4px}.auth-switch{color:#a2ad97;margin-top:26px;font-size:11px}.auth-switch button{color:#76974f;background:0 0;margin-left:10px;font-size:11px;font-weight:700}.auth-error{color:#b67a66;background:#faf0ea;border-radius:5px;padding:12px;font-size:11px;line-height:1.6}.promotion-modal{text-align:center;background:#fffef7;border-radius:10px;padding:30px}.promotion-modal h2{font-size:19px}.promotion-modal>div{gap:9px;margin:25px 0;display:flex}.promotion-modal>div button{color:#607d43;background:#f0f5e7;border-radius:6px;width:64px;height:78px;font-size:48px}.toast{color:#f1f7e7;z-index:100;background:#35482c;border:1px solid #617653;border-radius:7px;align-items:center;gap:10px;max-width:90vw;padding:15px 22px;font-size:12px;line-height:1.6;display:flex;position:fixed;bottom:30px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 7px 30px #1b271e33}.mobile-menu{display:none}@media (min-width:1500px){.content{max-width:1350px}.piece{font-size:70px}.move-list{height:170px}.panel-body{padding:30px}.play-layout,.below-grid{grid-template-columns:minmax(0,1fr) 380px}}@media (max-width:1190px){.sidebar{width:190px;padding:25px 14px}.main{margin-left:190px}.content{padding:28px 27px 0}.topbar{padding:0 27px}.play-layout,.below-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.panel-body{padding:21px 17px}.heading-tag{display:none}.brand{font-size:21px}.brand-knight{font-size:43px}.empty-rooms{flex-wrap:wrap}.outline-button{margin-left:52px}.piece{font-size:4.3vw}}@media (max-width:990px){.sidebar{width:76px;padding:23px 10px}.brand{justify-content:center}.brand>span:last-child,.nav-caption,.sidebar nav button>span,.sidebar-bottom,.brand small{display:none}.sidebar nav{margin-top:35px}.sidebar nav button{justify-content:center;padding:17px}.main{margin-left:76px}.play-layout,.below-grid{grid-template-columns:minmax(0,1fr) 290px}.piece{font-size:5vw}.page-heading h1{font-size:28px}.player small{font-size:8px}.timer{min-width:82px;font-size:21px}.lesson-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.sidebar{display:none}.main{margin-left:0}.topbar{gap:12px;height:59px;padding:0 18px}.mobile-menu{display:flex}.breadcrumb{margin-right:auto;font-size:10px}.breadcrumb span{padding:0 6px}.header-right{gap:12px}.connection{gap:0;font-size:0}.login-button{gap:6px;font-size:10px}.sidebar.expanded{width:222px;display:flex;top:59px;box-shadow:10px 0 40px #202b2033}.sidebar.expanded .brand>span:last-child,.sidebar.expanded .nav-caption,.sidebar.expanded nav button>span,.sidebar.expanded .sidebar-bottom,.sidebar.expanded .brand small{display:block}.sidebar.expanded nav button{justify-content:flex-start}.content{max-width:580px;padding:25px 16px 0}.page-heading{margin-bottom:22px}.eyebrow{font-size:8px}.page-heading h1{margin-top:9px;font-size:28px}.page-heading p{font-size:10px}.play-layout{flex-direction:column;gap:22px;display:flex}.board-section{width:100%}.piece{font-size:min(9.8vw,58px)}.rank-label,.file-label{font-size:9px}.player strong{font-size:12px}.player small{font-size:9px}.player{min-height:52px}.timer{min-width:96px;font-size:24px}.board-toolbar{margin-top:10px}.play-panel{width:100%}.panel-body{padding:24px}.panel-body h2{font-size:21px}.panel-body .field-label{font-size:12px}.panel-tabs button{padding:17px;font-size:13px}.time-grid button{font-size:21px}.time-grid small{font-size:11px}.moves-card{margin-top:20px}.move-list{height:100px}.below-grid{grid-template-columns:1fr;gap:18px;margin-top:20px}.empty-rooms{flex-wrap:nowrap}.outline-button{margin-left:auto}.puzzle-teaser{padding:23px}.puzzle-teaser h3{font-size:16px}.puzzle-teaser p{font-size:11px}footer{margin-top:25px;font-size:8px}footer>span:last-child{display:none}.toast{width:max-content;font-size:11px;bottom:20px;left:50%}.lesson-grid{gap:12px}.lesson{padding:20px 16px}.lesson p{font-size:11px}.ranking-intro{gap:15px;padding:22px 18px}.ranking-intro h2{font-size:18px}th,td{padding:13px 12px;font-size:10px}.table-avatar{width:23px;height:25px;margin-right:6px}.wide-card{overflow:auto}.history-row{gap:10px;padding:17px 15px}.history-row strong{font-size:11px}.section-title{padding:15px}.result-overlay h2{font-size:18px}.result-overlay{inset:12% 6%}.auth-modal{padding:30px 25px}.auth-modal h2{font-size:23px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:root{--accent:#668747;--ink:#29352b;--muted:#727d6e;--line:#e1e6dd;--paper:#fcfdfb}html,body{color:var(--ink);background:#f3f5f0;font-family:Inter,Segoe UI,Malgun Gothic,sans-serif}.sidebar{background:#202a24;width:208px;padding:30px 18px}.main{margin-left:208px}.brand{gap:10px;font-size:23px}.nav-caption{color:#859586;letter-spacing:1.3px;margin-top:44px}.sidebar nav button{border-radius:9px;padding:15px 16px;font-size:14px}.sidebar-bottom p{color:#9aaa9c}.club-mark{opacity:.8}.profile{font-size:12px}.profile small{color:#a0af9e;font-size:10px}.topbar{background:var(--paper);height:66px;padding:0 36px}.breadcrumb{font-size:12px}.connection{font-size:11px}.login-button{background:#edf2e8;border:1px solid #dce5d5;border-radius:7px;gap:10px;padding:9px 13px}.content{max-width:1270px;padding:28px 36px 0}.page-heading{margin-bottom:25px}.page-heading .eyebrow,.heading-tag{display:none}.page-heading h1{letter-spacing:-1.1px;margin:0 0 9px;font-size:29px;line-height:1.35}.page-heading p{color:var(--muted);font-size:13px;line-height:1.7}.play-layout,.below-grid{grid-template-columns:minmax(0,1fr) 340px;gap:26px}.board-section{background:#e9ede4;border:1px solid #dce3d5;border-radius:13px;padding:17px}.player{gap:11px;padding-bottom:13px}.player strong{font-size:13px}.player small{color:#76826c;font-size:11px}.avatar{border-radius:8px;width:40px;height:40px}.timer{color:#69765d;background:#f7f9f4;border-radius:7px;min-width:98px;font-size:25px}.player.turn .timer{color:#fff;background:#344a30;border-color:#344a30}.board-wrap{border-radius:6px;box-shadow:0 3px 12px #26351d19}.square.light{background:#edf0df}.square.dark{background:#8da477}.piece{font-size:clamp(28px,4.2vw,64px)}.rank-label,.file-label{font-size:11px}.board-toolbar{gap:7px;margin-top:14px}.board-state{color:#68775d;font-size:11px}.icon{color:#77856b;width:34px;height:34px}.panel-card,.moves-card,.lobby-card,.wide-card{border-color:var(--line);border-radius:12px;box-shadow:0 2px 5px #2b3c2003}.panel-tabs{border-bottom:1px solid var(--line);background:#fff;gap:5px;padding:6px}.panel-tabs button{border:0;border-radius:7px;padding:12px 8px;font-size:13px}.panel-tabs .selected-tab{color:#557638;background:#ecf2e5}.panel-body>.section-kicker{display:none}.panel-body h2{margin:0 0 10px;font-size:20px;line-height:1.5}.muted{color:#7b8772;font-size:12px;line-height:1.8}.field-label{margin-top:23px;font-size:12px}.field-label span{color:#89957e;font-size:9px}.time-grid{gap:6px}.time-grid button{border-radius:7px;padding:10px 2px;font-size:20px}.time-grid button>span{margin-bottom:5px;font-size:16px}.time-grid small{font-size:10px}.primary{background:var(--accent);box-shadow:none;border-radius:8px;min-height:46px;font-size:13px}.primary:hover{background:#567a36;box-shadow:0 3px 10px #50733122}.primary.big{justify-content:center;height:48px;margin-top:22px;font-size:14px}.primary.big>svg:first-child{margin-right:0}.primary.big>svg:last-child{margin-left:8px}.secondary{color:#6c7b5f;background:#fafbf7;border-radius:8px;padding:12px;font-size:12px}.rating-note{margin-top:20px;padding-top:16px}.rating-note p{color:#748464;font-size:11px}.rating-note small{color:#8b987e;font-size:10px}.moves-card{margin-top:18px}.card-title{padding:14px 18px;font-size:12px}.subtle{font-size:11px}.move-list{height:140px}.empty-moves p{color:#8d9b7e;font-size:11px}.move-controls{padding:7px 10px}.move-row{min-height:33px;font-size:13px}.move-row button{height:33px}.below-grid{margin-top:22px}.section-title{padding:16px 18px}.section-title h3{font-size:13px}.text-button{font-size:11px}.empty-rooms{gap:12px;padding:23px 18px}.empty-rooms strong{color:#718061;font-size:12px}.empty-rooms p{color:#8b987f;font-size:11px;line-height:1.7}.outline-button{border-radius:6px;padding:9px 12px;font-size:11px}.puzzle-teaser{background:#e9efdf;border-color:#dce5cf;border-radius:12px;gap:12px;padding:23px 19px}.puzzle-teaser .section-kicker{color:#86986d;font-size:8px}.puzzle-teaser h3{margin:7px 0;font-size:15px;line-height:1.5}.puzzle-teaser p{color:#7c8f66;font-size:11px}.puzzle-symbol{font-size:53px}.room-row strong{font-size:12px}.room-row small{font-size:10px}.room-row>button{border-radius:6px;font-size:12px}.lesson{border-radius:12px}.lesson p{color:#77866b;font-size:13px}.rules details{font-size:13px}.rules details p{color:#7c8971}.stats-grid span{color:#7f8f70;font-size:12px}th{color:#7b8a6e;font-size:12px}td{font-size:13px}.ranking-intro p{color:#7e8c71;font-size:12px}.auth-modal{border-radius:16px;padding:34px}.auth-modal>p,.auth-switch{color:#819070;font-size:12px}.auth-modal label{font-size:12px}.auth-modal input{border-radius:8px;padding:14px;font-size:14px}.auth-modal input::placeholder{font-size:12px}.modal-backdrop{background:#17221bb8}.auth-error{font-size:12px}footer{color:#89977b;margin-top:25px;padding:22px 0;font-size:10px}footer b{font-size:10px}.sidebar-bottom{padding-top:40px}@media (min-width:1500px){.content{max-width:1270px}.play-layout,.below-grid{grid-template-columns:minmax(0,1fr) 360px}.piece{font-size:67px}.panel-body{padding:25px}.move-list{height:165px}}@media (max-width:1150px){.sidebar{width:184px;padding:26px 13px}.main{margin-left:184px}.brand{font-size:20px}.content{padding:25px 24px 0}.topbar{padding:0 24px}.play-layout,.below-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.panel-body{padding:20px}.board-section{padding:13px}.player small,.board-state{font-size:10px}.piece{font-size:4.3vw}.empty-rooms{flex-wrap:wrap}.outline-button{margin-left:52px}}@media (max-width:990px){.sidebar{width:76px;padding:24px 10px}.main{margin-left:76px}.brand{justify-content:center}.piece{font-size:4.8vw}.timer{min-width:82px;font-size:22px}.page-heading p{font-size:12px}.board-section{padding:11px}.board-state{max-width:160px;line-height:1.5}}@media (max-width:760px){.main{margin-left:0}.topbar{gap:8px;height:60px;padding:0 16px}.breadcrumb{font-size:11px}.login-button{padding:8px 10px;font-size:11px}.connection{font-size:0}.content{max-width:600px;padding:23px 14px 0}.page-heading{margin-bottom:20px}.page-heading h1{font-size:27px}.page-heading p{max-width:340px;font-size:12px}.play-layout{gap:20px;display:flex}.board-section{border-radius:11px;padding:11px}.piece{font-size:min(10.1vw,64px)}.player{gap:9px;padding-bottom:11px}.player strong{font-size:12px}.player small{font-size:10px}.timer{min-width:87px;padding:10px;font-size:23px}.avatar{width:36px;height:36px}.board-toolbar{margin-top:10px}.board-state{flex:1;max-width:none;font-size:10px}.board-toolbar .icon{width:30px}.panel-body{padding:22px}.panel-tabs button{font-size:13px}.time-grid button{padding:13px 3px}.field-label span{font-size:10px}.rating-note p{font-size:12px}.rating-note small{font-size:11px}.moves-card{margin-top:17px}.below-grid{grid-template-columns:1fr;gap:17px}.empty-rooms{flex-wrap:wrap;gap:12px}.empty-rooms>div:nth-child(2){flex:1;min-width:170px}.outline-button{margin-left:auto}.puzzle-teaser{padding:22px}.puzzle-teaser h3{font-size:17px}.puzzle-teaser p{font-size:12px}.sidebar.expanded{width:208px;padding:24px 18px;top:60px}.sidebar.expanded .brand{justify-content:flex-start}.sidebar.expanded nav button{padding:15px}.sidebar.expanded .nav-caption{margin-top:25px}.lesson p{font-size:12px}.lesson-grid{gap:12px}th,td{padding:13px 10px;font-size:11px}.result-overlay h2{line-height:1.6}.auth-modal{padding:28px 24px}.auth-modal .eyebrow{font-size:9px}footer{font-size:10px}}:root{--accent:#627b55;--ink:#302e28;--muted:#847e72;--line:#e3ded2;--paper:#fbf8f1;--board-light:#eadbc0;--board-dark:#a17a56}html,body{color:var(--ink);background:#f2eee5}.sidebar{background:#24372f;border-right:1px solid #ffffff12}.brand-knight{color:#d5c49c}.brand-light{color:#d7e0d3}.brand small{color:#a7b5a5}.sidebar nav button.active{color:#f4ecd9;background:#405448;box-shadow:inset 3px 0 #cbb885}.nav-dot{background:#d5c49c}.sidebar nav button:hover{background:#344a3d}.sidebar-bottom .club-mark{color:#c1b68f}.topbar{background:#f7f4ed;border-bottom:1px solid #e4dfd3}.breadcrumb{color:#928b7c}.login-button{color:#55694c;background:#e9e8dc;border-color:#dddfce}.content{padding-top:32px}.page-heading{border-bottom:1px solid #ded8ca;margin-bottom:20px;padding:6px 0 24px;position:relative}.page-heading .eyebrow{color:#a08c66;letter-spacing:2.6px;margin-bottom:14px;font-size:9px;display:block}.page-heading h1{letter-spacing:-1.5px;margin-bottom:12px;font-family:Georgia,Batang,serif;font-size:35px;font-weight:500}.page-heading h1 span{color:#5f7651}.page-heading p{color:#918776;font-size:12px}.heading-tag{color:#8b7f62;letter-spacing:1.3px;background:#e8e3d5;border:0;border-radius:4px;padding:12px 17px;font-size:8px;display:flex}.club-tools{justify-content:space-between;align-items:center;gap:12px;margin:0 0 17px;display:flex}.theme-picker{color:#938775;align-items:center;gap:10px;font-size:11px;display:flex}.theme-picker>span{margin-right:4px}.theme-swatch{border:3px solid #f2eee5;border-radius:50%;outline:1px solid #dcd5c8;width:22px;height:22px;padding:0}.theme-swatch.walnut{background:linear-gradient(135deg,#eadbc0 50%,#a17a56 50%)}.theme-swatch.sage{background:linear-gradient(135deg,#e7ebd8 50%,#829970 50%)}.theme-swatch.slate{background:linear-gradient(135deg,#dce3e5 50%,#6f8894 50%)}.theme-swatch.current{outline:2px solid #74855c;transform:scale(1.08)}.focus-toggle{color:#80775f;background:#faf7f0;border:1px solid #ddd8cb;border-radius:5px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;display:flex}.focus-toggle:hover{background:#e7e7d9}.board-section{background:#e6dfd0;border:1px solid #d6cbbb;border-radius:9px;padding:17px;box-shadow:0 12px 35px #55432b0a}.board-wrap{border:4px solid #66523c;border-radius:4px;box-shadow:0 3px 10px #49342026}.square.light{background:var(--board-light);color:var(--board-dark)}.square.dark{background:var(--board-dark);color:var(--board-light)}.square.last.light{background:#ded58e}.square.last.dark{background:#b5ab66}.square.selected{background:#c4c86d}.square.checked{background:radial-gradient(#cc7461,#a17a56)}.white-piece{color:#fffaf0;-webkit-text-stroke:1.2px #54422e;text-shadow:0 3px 2px #39261345}.black-piece{color:#352e28;-webkit-text-stroke:1px #241e17;text-shadow:0 1px #ffffff45}.player strong{color:#514a3d}.player small{color:#928675}.avatar{color:#837251;background:#f0eadc;border-color:#d6cbbb}.avatar.bot{color:#f6edd6;background:#52614e}.timer{color:#6e634c;background:#f6f0e3;border-color:#d8cfbc}.player.turn .timer{background:#45583d;border-color:#45583d}.player{padding-bottom:5px}.board-wrap+.player{padding-top:13px}.captured-strip{color:#8e7d61;align-items:center;gap:7px;min-height:21px;margin-bottom:8px;font-size:10px;display:flex}.captured-label{opacity:.75;font-size:9px}.captured-pieces{color:#65543d;gap:1px;font-family:Segoe UI Symbol,serif;font-size:17px;line-height:1;display:flex}.material-advantage{color:#64764c;background:#d8dfc6;border-radius:3px;padding:3px 5px;font:600 10px Segoe UI,sans-serif}.board-toolbar{border-top:1px solid #d8cebd;margin-top:6px;padding-top:8px}.board-state{color:#85775e}.icon{color:#90836b}.icon:hover{color:#665539;background:#e1d9c8}.panel-card,.moves-card,.lobby-card,.wide-card{background:#fcfaf5;border-color:#e0d9cc;border-radius:8px;box-shadow:0 5px 20px #55432b04}.panel-tabs{background:#f4f0e7;border-color:#e4ddce;padding:7px}.panel-tabs button{color:#9b917b;border-radius:5px}.panel-tabs .selected-tab{color:#667a50;background:#fffdf7;box-shadow:0 2px 6px #55432b0c}.panel-body{padding:25px}.panel-body h2{color:#544a38;font-family:Georgia,Batang,serif;font-size:21px;font-weight:600;line-height:1.6}.muted{color:#9a8e78}.field-label{color:#7e7158}.field-label span{color:#a59981}.time-grid button{color:#807459;background:#f5f1e8;border-color:#e5ddcf}.time-grid button>span{color:#a59474}.time-grid .chosen,.level-grid .chosen{color:#66774c;background:#e7ecdc;border-color:#95a47b}.primary{color:#fffcef;background:#657d52;border-radius:5px;box-shadow:0 3px #516641}.primary:hover{background:#567042}.secondary{color:#958668;background:#f6f2e9;border-color:#e4ddcf;border-radius:5px}.rating-note{border-color:#e8e2d5}.rating-note>span{color:#b5a17a}.rating-note p{color:#8a7e66}.rating-note small{color:#aa9d85}.card-title{color:#7d7159;border-color:#ebe4d6}.move-list{background:#fdfbf6}.move-row:nth-child(2n){background:#f2eee3}.move-row button{color:#74664b}.move-row .current-move{background:#e2e9d2}.move-controls{border-color:#e9e1d3}.keyboard-hint{color:#afa187;margin-left:7px;font-size:9px;font-weight:400}.empty-moves{color:#bbac8f}.empty-moves p{color:#b0a286}.section-title{border-color:#e8e0d1}.section-title h3{color:#7a6b50}.empty-rooms strong{color:#8c7e63}.empty-rooms p{color:#aa9a7f}.small-board{color:#ab9470;background:#eee9dc;border-color:#e0d7c5}.outline-button{color:#958260;background:#faf7ef;border-color:#dfd4bf}.puzzle-teaser{background:#344b3d;border-color:#344b3d;border-radius:8px;position:relative;overflow:hidden}.puzzle-teaser:hover{background:#3c5544}.puzzle-teaser:after{content:"";pointer-events:none;border:1px solid #c8bd7e33;border-radius:50%;width:120px;height:120px;position:absolute;top:-60px;right:-50px}.puzzle-symbol{color:#c6b98a;font-size:65px}.puzzle-symbol span{color:#e4cf8c}.puzzle-teaser .section-kicker{color:#b4c0a2;letter-spacing:1.5px;font-size:8px}.puzzle-teaser h3{color:#f0e8d0}.puzzle-teaser p{color:#a8b69b}.puzzle-teaser>svg{color:#c4c9aa}.lesson{background:#fcfaf5;border-color:#e0d9ca}.lesson>span{color:#a59068}.lesson h2{font-family:Georgia,Batang,serif}.lesson p{color:#92856e}.ranking-intro,.stats-grid{background:#eeeadd}.ranking-intro>span{color:#b29b64}th{background:#f5f1e7}td{border-color:#ede5d6}.table-avatar{background:#e9e7d7}.rules details{border-color:#e6dfd0}.hint{color:#7f8654;background:#edeedb}.auth-modal{background:#fcf9f0;border-color:#e3dbc9}.auth-logo{color:#9a865c}.auth-modal h2{font-family:Georgia,Batang,serif;font-weight:500}.auth-modal input{background:#fffdf8;border-color:#ded5c2}.room-row{border-color:#e9e2d5}.history-row{background:#fcfaf5;border-color:#e9e2d5}footer{color:#a09276;border-color:#ded6c6}footer b{color:#8d8066}.chess-focus .sidebar,.chess-focus .topbar,.chess-focus .page-heading,.chess-focus .below-grid,.chess-focus footer{display:none}.chess-focus .main{margin-left:0}.chess-focus .content{max-width:1120px;padding-top:20px}.chess-focus .board-section{max-width:680px}.chess-focus .piece{font-size:clamp(30px,5vw,68px)}[data-board-theme=sage]{--board-light:#e7ebd8;--board-dark:#829970}[data-board-theme=slate]{--board-light:#dce3e5;--board-dark:#6f8894}@media (max-width:1150px){.heading-tag{display:none}.panel-body{padding:20px}.page-heading h1{font-size:30px}.board-section{padding:12px}.keyboard-hint{margin-left:3px;font-size:8px}}@media (max-width:760px){.content{padding-top:22px}.page-heading{margin-bottom:15px;padding-bottom:20px}.page-heading .eyebrow{letter-spacing:1.7px;margin-bottom:12px;font-size:8px}.page-heading h1{letter-spacing:-1.3px;font-size:28px;line-height:1.5}.page-heading p{font-size:11px}.club-tools{margin-bottom:14px}.theme-picker{gap:8px;font-size:10px}.focus-toggle{padding:8px;font-size:10px}.board-section{padding:10px}.board-wrap{border-width:3px}.piece{font-size:min(9.7vw,62px)}.player small{font-size:9px}.captured-strip{min-height:19px;margin-bottom:6px}.captured-pieces{font-size:15px}.captured-label{font-size:8px}.board-toolbar{padding-top:6px}.board-state{font-size:9px}.panel-body{padding:23px}.puzzle-teaser{padding:24px}.puzzle-teaser h3{font-size:17px}.chess-focus .content{max-width:600px;padding:14px 10px}.chess-focus .piece{font-size:min(10vw,63px)}.chess-focus .play-panel{display:none}.chess-focus .board-toolbar{margin-top:6px}.keyboard-hint{font-size:9px}}.analysis-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:24px;display:grid}.analysis-room .board{aspect-ratio:1;width:100%}.analysis-room label{margin:12px 0;font-size:13px;display:block}.analysis-room textarea,.analysis-room input[readonly]{box-sizing:border-box;background:#fff;border:1px solid #d9d5cb;border-radius:8px;width:100%;padding:12px;font-family:monospace}.analysis-room textarea{resize:vertical;min-height:150px}.analysis-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.analysis-controls button{border-radius:6px;padding:8px 12px}.analysis-controls button:disabled{opacity:.35;cursor:default}.analysis-controls input[type=file]{max-width:220px;margin-top:8px;display:block}.analysis-moves{flex-wrap:wrap;gap:8px;max-height:260px;margin:20px 0;display:flex;overflow:auto}.analysis-moves button{background:#f0eee8;border-radius:5px;padding:8px 12px}.analysis-moves .current-move{color:#fff;background:#315a46}.analysis-room details p{line-height:1.8}.analysis-room .square{justify-content:center;align-items:center;display:flex;position:relative}.analysis-room .piece{pointer-events:none}@media (max-width:760px){.analysis-layout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.save-panel{background:#f3f5ec;border:1px solid #d9ddce;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding:18px 22px;display:flex}.save-panel strong{color:#324b3d;font-size:15px}.save-panel p{color:#62685c;margin:6px 0;font-size:13px;line-height:1.8}.save-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.save-panel details{width:100%;font-size:12px}.save-panel summary{cursor:pointer;color:#546e4c}.save-panel .primary,.save-panel .outline-button{padding:10px 14px;font-size:13px}
