:root{font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,sans-serif;color:#e6eae1;background:#0f1512;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible{outline:3px solid #a9ed89;outline-offset:3px}a{color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.site-header{position:sticky;top:0;z-index:20;background:#0f1512f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid #27332b}.header-inner,.footer-inner{max-width:1200px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:30px}.header-inner{min-height:76px}.brand{background:none;border:0;color:#f0f4ec;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:900;letter-spacing:1px;white-space:nowrap;padding:0}.brand-icon{background:#a7e783;color:#162519;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;font-size:31px;line-height:1}.brand-accent{color:#a7e783;margin-left:4px}.main-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}.main-nav button{color:#99a79c;background:transparent;border:0;border-radius:7px;padding:12px;font-size:13px;white-space:nowrap}.main-nav button.active,.main-nav button:hover{background:#24342a;color:#c4f2a9}.version-label{font-size:10px;border:1px solid #435e4b;color:#b3d19b;border-radius:6px;padding:6px 8px;white-space:nowrap}.hero{max-width:1200px;min-height:570px;margin:auto;padding:68px 28px 64px;display:grid;grid-template-columns:1.17fr .83fr;gap:90px;align-items:center}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.4px;color:#a9df8b}.hero h1{font-size:clamp(38px,4.7vw,68px);line-height:1.17;letter-spacing:-2.5px;margin:20px 0 24px;font-weight:900}.hero h1 em{color:#a7e783;font-style:normal}.hero-copy>p{max-width:520px;color:#a6b5a9;line-height:1.9;font-size:16px}.hero-actions,.controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{border-radius:9px;font-weight:800;border:1px solid #46584a;padding:14px 20px;transition:transform .12s ease,filter .12s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.1)}.btn.primary{color:#152419;background:#a7e783;border-color:#a7e783}.btn.secondary{color:#e2ebe0;background:#202b24}.hero-notice{margin-top:38px;color:#77917d;font-size:12px}.hero-preview{max-width:435px;width:100%;margin:auto;background:#202b24;border:1px solid #455448;border-radius:18px;padding:20px;box-shadow:0 30px 90px #0008}.preview-label{font-size:12px;font-weight:800;letter-spacing:1.5px;display:flex;justify-content:space-between;margin-bottom:16px}.preview-label span{color:#a7e783}.preview-foot{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:16px;color:#a1b39f}.preview-foot strong{color:#eff6e8}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;aspect-ratio:1;border-radius:5px;overflow:hidden;box-shadow:0 0 0 2px #59745b}.square{position:relative;min-width:0;border:0;border-radius:0;display:grid;place-items:center;padding:0;aspect-ratio:1}.square.light{background:#e5e7ca}.square.dark{background:#7e9a73}.square.selected{background:#b8c75d}.square.possible:after{content:"";width:26%;height:26%;border-radius:50%;position:absolute;background:#13341740;pointer-events:none}.piece{position:relative;z-index:1;font-family:Segoe UI Symbol,DejaVu Sans,serif;font-size:clamp(20px,4.5vw,52px);line-height:1;-webkit-user-select:none;user-select:none}.white-piece{color:#fff9e4;text-shadow:0 2px 2px #15251f,0 0 2px #121a13,-1px -1px #121a13}.black-piece{color:#192921;text-shadow:0 1px 1px #e8eee3}.rank-label,.file-label{position:absolute;font-size:10px;font-weight:800;z-index:2;line-height:1}.rank-label{left:3px;top:3px}.file-label{right:3px;bottom:2px}.square.dark .rank-label,.square.dark .file-label{color:#e5e7ca}.square.light .rank-label,.square.light .file-label{color:#55704e}.quick-stats{border-block:1px solid #27382d;background:#151f18;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:28px max(calc((100vw - 1144px)/2),28px)}.quick-stats>div{display:flex;flex-direction:column;gap:7px;border-right:1px solid #354336}.quick-stats>div:last-child{border:0}.quick-stats strong{font-size:29px;color:#e9f2e4}.quick-stats span{font-size:12px;color:#91a294}.section{max-width:1200px;padding:70px 28px;margin:auto}.section-top{margin-bottom:27px}.section h2,.content-section>h1{font-size:clamp(30px,3vw,42px);letter-spacing:-1.5px;margin:12px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{text-align:left;background:#1a241e;border:1px solid #35473a;border-radius:14px;padding:28px;color:#ecf1ea;min-height:260px;transition:transform .2s ease,border-color .2s ease}.feature-card:hover{transform:translateY(-4px);border-color:#a7e783}.feature-emoji{font-size:40px;color:#c4f6a5;display:block;margin-bottom:15px}.feature-tag{font-size:10px;letter-spacing:2px;color:#9dc58d}.feature-card h3{font-size:21px;margin:8px 0}.feature-card p,.subtitle{font-size:14px;line-height:1.8;color:#9eada2}.feature-link{color:#b6e69e;font-weight:700;font-size:13px;display:block;margin-top:24px}.content-section{min-height:73vh}.subtitle{max-width:850px;margin-bottom:26px}.date-label{color:#d2dfce;white-space:nowrap}.puzzle-layout,.lesson-body{display:grid;grid-template-columns:minmax(290px,510px) minmax(280px,1fr);gap:48px;align-items:center;background:#19231c;border:1px solid #344339;border-radius:18px;padding:30px;margin-top:25px}.board-wrap{max-width:510px;width:100%}.puzzle-info h2{font-size:30px;margin:21px 0 15px}.puzzle-info>p{color:#a6b5a8;line-height:1.8}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-block;font-size:12px;font-weight:800;color:#203c22;background:#b5e7a2;border-radius:50px;padding:6px 12px}.pill.muted{color:#b7c5b4;background:#304036}.metadata{display:grid;grid-template-columns:1fr auto;gap:11px 24px;max-width:320px;background:#233027;border-radius:12px;padding:17px;margin-top:24px}.metadata span{color:#93a797}.metadata strong{text-align:right}.feedback,.hint{padding:15px;border:1px solid #78664c;background:#3b3022;color:#f2d3a0;border-radius:9px;margin-top:16px}.feedback.success{background:#20402a;border-color:#5f9f5b;color:#bdf2a8}.hint{border-color:#425d73;background:#243543;color:#c4d9e8}.small-note{font-size:12px!important;color:#879d8a!important;margin-top:20px}.lesson-list{display:grid;gap:12px}.lesson-card{display:flex;align-items:start;gap:20px;width:100%;background:#1b2720;color:#ecf4e9;text-align:left;border:1px solid #34493b;border-radius:12px;padding:22px}.lesson-card:hover,.lesson-card.picked{border-color:#99cf84;background:#23342a}.lesson-index{font-size:23px;color:#a9df8b;font-weight:900}.lesson-card h3{font-size:18px;margin:10px 0 5px}.lesson-card p{font-size:13px;color:#a1b2a4;margin:0;line-height:1.7}.lesson-card .arrow{margin-left:auto;color:#a2d998;font-size:24px}.lesson-steps{padding-left:22px;color:#c7d2c6;line-height:1.9}.empty-callout{text-align:center;margin-top:24px;padding:70px 20px;background:#1b2920;border:1px dashed #516a54;border-radius:15px;color:#9fb29e}.big-chess{font-size:64px;color:#a8e388}.challenge-stack{display:grid;gap:24px}.challenge-number{margin:22px 0 0;font-size:16px;color:#b4e69c}.puzzle-select{display:flex;gap:10px;flex-wrap:wrap}.puzzle-choice{display:flex;align-items:center;gap:12px;background:#1b2820;color:#d2dfce;padding:13px 17px;border:1px solid #3c503e;border-radius:10px}.puzzle-choice.active{border-color:#b4ea9c;background:#2c402e}.puzzle-choice span{color:#9dc98b}.puzzle-choice small{color:#a9baa7}.site-footer{border-top:1px solid #27372e}.footer-inner{min-height:90px;justify-content:space-between;color:#839588;font-size:12px;flex-wrap:wrap}.brand-foot{font-weight:800;color:#a7e783}.loading{padding:70px 20px;text-align:center;color:#a0b9a5}.site-error{max-width:1144px;margin:22px auto 0;background:#492d29;border:1px solid #aa655f;border-radius:10px;padding:14px 18px;color:#f5cdc8}@media(max-width:1050px){.header-inner{flex-wrap:wrap;padding-block:15px}.main-nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;margin:0}.version-label{margin-left:auto}.hero{gap:35px}.puzzle-layout,.lesson-body{gap:25px}}@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:42px;gap:38px}.hero-preview{max-width:390px}.hero h1{font-size:42px}.quick-stats{gap:13px}.quick-stats strong{font-size:22px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:unset}.puzzle-layout,.lesson-body{grid-template-columns:1fr;padding:18px}.board-wrap{margin:auto}.section{padding:46px 18px}.header-inner,.footer-inner{padding-inline:18px}.piece{font-size:clamp(23px,9vw,52px)}.footer-inner{padding-block:24px;gap:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.weekly-pages{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#1c2921;border:1px solid #354d3a;padding:14px 20px;border-radius:12px}.weekly-pages .controls{margin:0}.weekly-pages .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.learning-progress{display:grid;gap:10px;margin:24px 0;color:#bdd6b4}.learning-progress progress{width:100%;height:14px;accent-color:#a7e783}.learning-progress span{font-size:13px;color:#9eada2}.lesson-progress{display:block;margin-top:12px;color:#b5e7a2;font-size:13px}.step-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.step-button{border:1px solid #46584a;border-radius:9px;background:#202b24;color:#d2dfce;padding:12px 16px;text-align:left}.step-button.active{border-color:#a7e783;color:#b5e7a2;background:#2c402e}.learning-goal{border-left:3px solid #a7e783;padding:12px 16px;background:#233027;border-radius:0 8px 8px 0}.learning-goal strong{color:#b5e7a2}.learning-goal p{line-height:1.8;margin:8px 0 0}.lesson-complete{color:#b5e7a2!important;font-weight:700}.controls .btn:disabled{opacity:.45;cursor:default;transform:none}.tutorial-panel .puzzle-info{min-width:0}@media(max-width:760px){.step-nav{gap:8px}.step-button{flex:1 1 140px;font-size:13px}.lesson-card{gap:12px;padding:16px}.learning-progress{font-size:14px}}.tutorial-panel{scroll-margin-top:170px}.community-nav{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.community-list{display:grid;gap:12px;margin:22px 0}.community-owned{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid #39503d;padding:20px;border-radius:13px;background:#1b2720}.community-owned p{font-size:13px;color:#9baea0;line-height:1.6}.community-owned .controls{margin-top:0}.community-section{margin-top:32px}.account-form{display:grid;gap:16px;max-width:480px;margin:24px 0}.account-form label,.creator-options label{display:grid;gap:7px;color:#d5e1d3;font-size:13px;font-weight:700}.account-form input,.creator-options input,.creator-options textarea,.fen-import input{width:100%;max-width:100%;padding:12px 13px;background:#0f1913;color:#ecf6e9;border:1px solid #516253;border-radius:9px;font:inherit}.account-form button{width:100%}.creator-layout{display:grid;grid-template-columns:minmax(300px,500px) minmax(300px,1fr);gap:30px;align-items:start;background:#1a261e;padding:25px;border:1px solid #354b3a;border-radius:16px}.creator-palette{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:13px}.creator-palette button{border:1px solid #4e6652;background:#2b382d;color:#f2f6e9;border-radius:7px;min-height:47px;font-family:Segoe UI Symbol,DejaVu Sans,serif;font-size:27px}.creator-palette button.active{border-color:#b0eb8f;background:#42613e}.creator-turn{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:17px}.creator-options h2{margin:0 0 21px}.creator-options label{margin:16px 0}.fen-display{display:block;overflow-wrap:anywhere;margin-top:7px;color:#bddfad;font-size:12px}.fen-import{display:flex;gap:9px;flex-wrap:wrap}.fen-import input{flex:1;min-width:190px}.creator-answer-board{max-width:360px;padding:10px;margin-top:15px;background:#263329;border-radius:8px}.community-page h1{font-size:clamp(31px,4vw,43px)}@media(max-width:850px){.creator-layout{grid-template-columns:1fr;padding:16px}.creator-palette button{min-height:42px}.community-owned .controls{margin-top:10px}}.creator-options select,.promotion-choice select{background:#202b24;color:#e6eae1;border:1px solid #46584a;border-radius:7px;padding:9px;font:inherit}.promotion-choice{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:13px;color:#b9cbb5}.solution-line{padding-left:24px;line-height:1.8;color:#99a79c;max-height:180px;overflow:auto}.solution-line .played{color:#b5e7a2}.line-preview .controls{margin-top:14px}.creator-options .line-preview{max-width:340px}.difficulty-select{margin-bottom:20px}.moderation-panel .creator-options{min-width:0}.moderation-panel textarea{width:100%}.header-account{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #435e4b;background:#26352a;color:#e4f6dd;border-radius:12px;padding:7px 12px;min-height:42px;max-width:210px;flex-shrink:0}.header-account:hover,.header-account.active{background:#36503a;border-color:#a7e783}.header-account:disabled{opacity:.6}.header-account-name{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-avatar{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;border-radius:50%;background:#a7e783;color:#152719;font-weight:900;font-size:15px}.profile-shell{max-width:900px}.profile-head{display:flex;gap:18px;align-items:center;border:1px solid #425444;background:#1b2920;padding:24px;border-radius:15px}.profile-head h2{margin:6px 0!important}.profile-avatar{display:grid;place-items:center;flex-shrink:0;width:75px;height:75px;background:#a7e783;color:#213524;font-weight:900;font-size:34px;border-radius:20px}.profile-head p{color:#a0b4a0;overflow-wrap:anywhere}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.profile-stat{border:1px solid #3f5542;background:#1b2820;padding:22px 14px;border-radius:12px;display:flex;flex-direction:column;gap:7px;text-align:center}.profile-stat strong{font-size:29px;color:#b5e7a2}.profile-stat span{font-size:13px;color:#a8baa7}.profile-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.profile-list{margin-top:25px}.profile-list h2{font-size:24px}.profile-item{padding:15px 18px;border:1px solid #364f3b;border-radius:9px;margin:9px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.profile-item strong{overflow-wrap:anywhere}.profile-item small{color:#a4bfa0}@media(max-width:1050px){.header-account{margin-left:auto;order:2}.main-nav{order:3}}@media(max-width:760px){.header-inner{gap:12px}.header-account{max-width:175px}.header-account-name{font-size:11px}.profile-grid{gap:7px}.profile-stat{padding:15px 7px}.profile-stat strong{font-size:23px}.profile-head{padding:18px;gap:12px}.profile-avatar{width:54px;height:54px;font-size:25px}}.chesscom-page{max-width:1100px}.chesscom-search{margin:24px 0;display:grid;gap:10px;max-width:700px}.chesscom-search label{font-weight:750;color:#d4e3d2;font-size:14px}.chesscom-search-row{display:flex;gap:10px}.chesscom-search input{min-width:0;flex:1;border:1px solid #58705c;background:#142219;color:#fff;padding:12px;border-radius:9px;font:inherit}.chesscom-results{margin:28px 0}.chesscom-header{padding:25px;background:#1b2920;border:1px solid #3a523f;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.chesscom-header h2{margin:12px 0 6px;font-size:30px;overflow-wrap:anywhere}.chesscom-header .controls{display:flex;gap:10px;flex-wrap:wrap}.chesscom-header .small-note{max-width:600px}.chesscom-rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 30px}.chesscom-rating{background:#1a2920;border:1px solid #354d3b;border-radius:12px;display:flex;flex-direction:column;gap:9px;padding:20px}.chesscom-rating span{color:#a2b7a2}.chesscom-rating strong{font-size:27px;color:#b8ea9f}.chesscom-rating small{color:#a2b7a2}.chesscom-games{display:grid;gap:8px;margin:16px 0 26px}.chesscom-game{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;text-decoration:none;padding:15px;border:1px solid #385040;border-radius:10px;background:#19261d}.chesscom-game:hover{background:#283b2c}.chesscom-game span{font-size:12px;color:#a5bba6}.chesscom-note{border-top:1px solid #3a523f;margin-top:32px;padding-top:20px;color:#bdcaba;line-height:1.7}.chesscom-note h2{font-size:20px;color:#f0f6ec}.chesscom-note a{color:#b7ed9a}@media(max-width:760px){.chesscom-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chesscom-header{padding:16px}.chesscom-search-row{flex-wrap:wrap}.chesscom-search-row input{flex-basis:100%}.chesscom-search-row button{width:100%}}.monitor-app{min-height:100vh;background:#101812;color:#eff5ec}.monitor-header{max-width:1280px;margin:0 auto;padding:36px 28px 26px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid #38533d}.monitor-header h1{font-size:clamp(27px,3vw,40px);margin:14px 0 10px}.monitor-header p{color:#9eb3a0;margin:0}.monitor-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.monitor-main{max-width:1280px;margin:auto;padding:28px}.monitor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.monitor-grid-small{grid-template-columns:repeat(5,minmax(0,1fr));margin:24px 0}.monitor-tile{border:1px solid #39563d;background:#1c2a21;border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}.monitor-tile>span,.monitor-tile small{font-size:13px;color:#aec4ae}.monitor-tile strong{font-size:26px;overflow-wrap:anywhere}.monitor-tile .monitor-online{color:#b5e990}.monitor-section{padding:22px;background:#1a281f;border-radius:13px;border:1px solid #38513d;margin-top:22px}.monitor-section>h2{font-size:22px}.monitor-title{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.monitor-title h2{font-size:22px;margin:0 0 8px}.monitor-title p{color:#a8bea8;font-size:13px}.monitor-title label{display:flex;flex-direction:column;gap:8px;font-size:12px}.monitor-title select{border-radius:8px;background:#152019;color:#ebf5eb;padding:10px;border:1px solid #49644c}.monitor-logs{margin-top:20px;max-height:480px;overflow:auto;border-top:1px solid #425a43}.monitor-log{display:grid;grid-template-columns:165px 60px 92px minmax(180px,1fr);gap:14px;align-items:center;padding:13px 8px;border-bottom:1px solid #304733;font-size:13px}.monitor-log time,.monitor-log>span:last-child{color:#aabbab}.monitor-log strong{overflow-wrap:anywhere}.monitor-empty{padding:22px 8px;color:#9dad9e}.monitor-link-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;background:#1e2b21;border:1px solid #456347;padding:22px;border-radius:13px;margin:24px 0}.monitor-link-bar h2{margin:0 0 10px}.monitor-link-bar p{color:#adc1af;margin:0}.form-field-error{display:block;color:#ffb3a9!important;font-size:12px;margin-top:6px;line-height:1.5}.account-form [aria-invalid=true]{border-color:#db8176!important;outline-color:#db8176}@media(max-width:900px){.monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-grid-small{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.monitor-header,.monitor-main{padding:20px 16px}.monitor-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-log{grid-template-columns:1fr auto;gap:7px}.monitor-log time{grid-column:1}.monitor-log>span:last-child{grid-column:1/-1}}.admin-internal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.admin-visitor-table{margin:20px 0;border:1px solid #3d5842;border-radius:12px;overflow:auto}.admin-visitor-record{display:grid;grid-template-columns:90px minmax(160px,1fr) minmax(135px,1fr) minmax(190px,1fr);gap:12px;align-items:center;min-width:650px;padding:12px 16px;border-bottom:1px solid #304934;color:#d9eadb}.admin-visitor-record:last-child{border-bottom:none}.admin-visitor-heading{background:#283b2e;color:#bedfb9}.admin-visitor-record code{overflow-wrap:anywhere;color:#d4f0ca}.admin-user-search{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.admin-user-search input{flex:1;min-width:180px;border:1px solid #49684c;background:#15231a;color:#e8f3e5;padding:13px;border-radius:8px}.admin-user-record{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding:15px;border:1px solid #38513d;border-radius:10px;margin:10px 0;background:#1b2a20}.admin-user-record .small-note{margin:8px 0 0;overflow-wrap:anywhere}.admin-user-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-audit-list{max-height:300px;overflow:auto}.admin-audit-list p{font-size:12px;padding:8px 0;border-bottom:1px solid #304734}.admin-dashboard{max-width:1200px}.admin-dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-dashboard-heading h1{margin-bottom:10px}.admin-dashboard-heading .subtitle{margin-bottom:0}.admin-dashboard-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin:26px 0 30px}.admin-dashboard-nav-item{text-decoration:none;font:inherit;text-align:left;cursor:pointer;color:#eaf4e6;background:#1b2a21;border:1px solid #385740;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px;min-height:108px;transition:background .15s,border-color .15s}.admin-dashboard-nav-item:hover,.admin-dashboard-nav-item:focus-visible{background:#28402d;border-color:#a3d992}.admin-dashboard-nav-item.selected{background:#2c4932;border-color:#a6dc8f}.admin-dashboard-nav-item strong{font-size:17px}.admin-dashboard-nav-item small{font-size:12px;color:#b6c9b5;line-height:1.5}.admin-dashboard-content h2{margin-bottom:14px}.admin-dashboard-external{border-style:dashed}@media(max-width:620px){.admin-dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-dashboard-nav-item{padding:14px;min-height:115px}.admin-dashboard-nav-item strong{font-size:14px}.admin-dashboard-nav-item small{font-size:11px}}.board-shell{position:relative;width:100%;min-width:0}.board-shell .board{touch-action:manipulation}.square{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.square:focus-visible{outline:3px solid #264d2b;outline-offset:-3px;z-index:4}.square.possible:after{z-index:0}.promotion-inline{position:absolute;z-index:30;width:clamp(46px,13%,62px);display:flex;flex-direction:column;gap:2px;padding:4px;border:2px solid #a7df8c;border-radius:9px;background:#1c3323;box-shadow:0 5px 18px #000000a6}.promotion-inline-option{border:1px solid #657d64;background:#2e4831;color:#eff7e9;display:grid;place-items:center;gap:1px;width:100%;min-height:42px;padding:2px 0;border-radius:5px;touch-action:manipulation}.promotion-inline-option:hover,.promotion-inline-option:focus-visible{background:#496c4a;border-color:#d6f5aa}.promotion-inline-option .piece{font-size:clamp(25px,3vw,37px);line-height:1}.promotion-inline-option small{font-size:10px;font-weight:700;line-height:1.1}.promotion-inline-close{border:0;background:#344739;color:#f1f8ee;border-radius:5px;min-height:28px;font-size:11px;font-weight:700}.promotion-inline-close:hover{background:#4b604d}.mobile-menu-toggle{display:none}.puzzle-layout .puzzle-info,.lesson-body .puzzle-info,.creator-options,.community-section{min-width:0}.community-owned,.profile-item,.admin-user-record,.admin-visitor-record code{overflow-wrap:anywhere}@media(max-width:800px){.hero{min-height:unset}.puzzle-layout,.lesson-body{align-items:start}.step-nav{overflow-x:auto;display:flex;flex-wrap:nowrap;padding-bottom:8px;scrollbar-width:thin}.step-button{flex:0 0 auto;min-height:44px}.admin-visitor-record{grid-template-columns:96px minmax(130px,1fr) minmax(125px,1fr) minmax(170px,1fr)}}@media(max-width:640px){html{scroll-padding-top:90px}body{min-width:320px}.header-inner{position:relative;min-height:62px;padding:10px 14px;gap:10px;flex-wrap:wrap}.brand{font-size:13px;gap:7px;letter-spacing:.3px}.brand-icon{width:34px;height:34px;font-size:25px;border-radius:8px}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 12px;order:2;border:1px solid #49644c;border-radius:10px;color:#dbead8;background:#263a2b;font-size:13px;font-weight:800}.mobile-menu-toggle span:first-child{font-size:19px}.header-account{order:1;margin-left:auto;max-width:150px;min-height:44px;padding:5px 8px}.header-account-name{max-width:76px;font-size:11px}.main-nav{display:none;order:3;flex-basis:100%;margin:0;padding:6px 0 7px;gap:7px;width:100%;max-height:min(50dvh,360px);overflow:auto;flex-wrap:wrap;border-top:1px solid #334538}.main-nav.mobile-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav button{min-height:46px;padding:10px;font-size:13px;text-align:left;background:#1b2b20;border:1px solid #34503b}.main-nav button.active{border-color:#91cd7d}.section{padding:28px 14px}.section h2,.content-section>h1{font-size:clamp(23px,6vw,32px);line-height:1.3;letter-spacing:-.7px}.subtitle{margin-bottom:16px}.hero{padding:30px 14px 32px;gap:23px}.hero h1{font-size:clamp(31px,9vw,42px);letter-spacing:-1px;margin:15px 0}.hero-copy>p{font-size:14px;line-height:1.7}.hero-actions,.controls{gap:9px;margin-top:18px}.hero-actions .btn{flex:1 1 145px}.btn{min-height:44px;padding:11px 14px;font-size:13px}.hero-notice{margin-top:18px}.hero-preview{max-width:100%;padding:14px;border-radius:14px}.preview-foot{flex-wrap:wrap}.quick-stats{padding:17px 12px;gap:5px}.quick-stats strong{font-size:19px}.quick-stats span{font-size:10px;line-height:1.4}.feature-grid{gap:11px}.feature-card{padding:19px;min-height:unset}.puzzle-layout,.lesson-body{display:flex;flex-direction:column;gap:17px;margin-top:18px;padding:12px;border-radius:14px}.board-wrap{width:100%;max-width:100%;margin:0 auto}.puzzle-info{width:100%;min-width:0}.puzzle-info h2{font-size:23px;margin:12px 0}.puzzle-info>p{font-size:13px;line-height:1.65}.board{border-radius:5px}.board-shell{max-width:min(100%,520px);margin:auto}.piece{font-size:clamp(27px,8.8vw,50px)}.rank-label,.file-label{font-size:9px}.metadata{max-width:none;width:100%;font-size:12px;margin-top:15px;padding:12px}.feedback,.hint{padding:11px;font-size:13px;line-height:1.5}.puzzle-choice{flex:1 1 135px;min-height:46px}.puzzle-select{gap:8px}.weekly-pages{padding:12px;gap:9px}.community-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.community-nav button{padding:10px;min-height:46px}.creator-layout{padding:12px;gap:19px}.creator-palette{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.creator-palette button{min-width:0;min-height:42px;padding:0;font-size:23px}.creator-options h2{font-size:21px}.creator-options input,.creator-options textarea,.account-form input{font-size:16px}.fen-import input{flex-basis:100%}.creator-answer-board,.creator-options .line-preview{max-width:100%}.community-owned{padding:13px;gap:10px}.community-owned .controls{width:100%}.community-owned .controls .btn{flex:1}.account-form{width:100%;max-width:100%}.profile-head{padding:14px;align-items:flex-start}.profile-head h2{font-size:21px}.profile-head p{font-size:12px;margin:7px 0}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.profile-stat{padding:12px 5px;gap:5px}.profile-stat strong{font-size:20px}.profile-stat span{font-size:10px}.profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-actions button{min-width:0}.profile-item{flex-wrap:wrap;padding:12px;gap:8px}.admin-dashboard-nav{gap:8px}.admin-dashboard-nav-item{min-height:102px;padding:13px}.admin-dashboard-nav-item strong{font-size:14px}.admin-visitor-table{border:0;overflow:visible}.admin-visitor-heading{display:none}.admin-visitor-record{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#1c2e22;border:1px solid #395541;border-radius:10px;margin-bottom:8px;padding:12px;font-size:12px}.admin-visitor-record>span:first-child{grid-column:1;color:#b4e8a4;font-weight:800}.admin-visitor-record>span:nth-child(2){grid-column:2;text-align:right}.admin-visitor-record code,.admin-visitor-record time{grid-column:1/-1;min-width:0;font-size:12px}.admin-user-search{display:grid;grid-template-columns:1fr auto;gap:8px}.admin-user-search input{grid-column:1/-1}.admin-user-actions{width:100%}.admin-user-actions .btn{flex:1 1 115px}.chesscom-rating{padding:12px}.chesscom-rating strong{font-size:23px}.chesscom-game{align-items:flex-start}.footer-inner{padding:20px 14px}}@media(max-width:360px){.header-account-name{display:none}.header-account{width:45px;justify-content:center}.brand{font-size:12px}.main-nav.mobile-open{grid-template-columns:1fr 1fr}.piece{font-size:clamp(25px,9vw,36px)}}.mobile-session-heading{display:none}.mobile-extras,.mobile-extras-content{display:contents}.mobile-extras-toggle,.mobile-step-next{display:none}@media(max-width:640px){.mobile-play-section{padding:10px 10px 26px}.mobile-play-section>.eyebrow{display:none}.mobile-play-section>h1{font-size:19px;letter-spacing:-.25px;margin:3px 0 5px;line-height:1.25}.mobile-play-section>.subtitle{font-size:11px;line-height:1.35;margin:0 0 7px;max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-play-section .puzzle-layout,.mobile-play-section .lesson-body,.community-page .puzzle-layout{padding:8px;gap:7px;margin-top:8px;border-radius:10px}.mobile-session-heading{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;padding:3px 2px 5px;line-height:1.2;min-height:29px}.mobile-session-heading>span{font-size:10px;white-space:nowrap;color:#b8d5b3}.mobile-session-heading>strong{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:#eff8ed}.mobile-session-heading>span:last-child{padding:4px 6px;border-radius:6px;background:#2d4332;color:#d6ebd3}.puzzle-info .desktop-session-detail{display:none}.mobile-play-section .puzzle-info,.community-page .puzzle-info{padding:0 2px}.mobile-play-section .puzzle-info .feedback,.community-page .puzzle-info .feedback{margin-top:4px;padding:9px;font-size:12px;line-height:1.35}.mobile-play-section .puzzle-primary-actions,.community-page .puzzle-primary-actions{margin:5px 0 0;gap:7px}.puzzle-primary-actions .btn{flex:1;min-height:39px;padding:8px 10px}.desktop-step-next{display:none}.mobile-step-next{display:block;margin-top:10px;width:100%}.mobile-extras{display:block;min-width:0;margin:7px 0}.mobile-extras-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:9px 12px;text-align:left;background:#26392a;border:1px solid #517155;border-radius:9px;color:#d7ebd1;font-size:12px;font-weight:750;line-height:1.25}.mobile-extras-toggle:focus-visible{outline:2px solid #a7e783;outline-offset:2px}.mobile-extras-toggle>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.mobile-extras-toggle>span:last-child{flex-shrink:0;color:#abd296}.mobile-extras-content{display:none;min-width:0}.mobile-extras-content.expanded{display:block;padding:9px 5px 5px;animation:none}.mobile-extras-content .metadata{margin:6px 0 10px;padding:10px;font-size:12px}.mobile-extras-content .small-note{margin-top:9px!important;font-size:11px!important}.mobile-extras-content .controls{margin-top:8px;gap:7px}.mobile-extras-content .hint{margin-top:8px}.mobile-extras-content .learning-goal{padding:10px;font-size:12px}.mobile-extras-content .learning-goal p{margin-top:5px;line-height:1.55}.lesson-library-extras{margin:5px 0}.lesson-step-extras{margin:6px 0}.mobile-play-section .learning-progress{display:flex;align-items:center;gap:8px;margin:6px 0 8px;font-size:11px}.learning-progress label{font-size:11px;white-space:nowrap}.mobile-play-section .learning-progress progress{flex:1;min-width:25px;height:7px}.mobile-play-section .learning-progress>span{display:none}.mobile-play-section .tutorial-panel{scroll-margin-top:70px}.mobile-play-section .step-nav{margin-top:2px;padding:4px 0;gap:6px;max-height:176px;overflow-y:auto;display:flex;flex-wrap:wrap}.mobile-play-section .step-button{font-size:11px;min-height:37px;padding:8px}.lesson-library-extras .lesson-list{margin:5px 0;max-height:270px;overflow-y:auto}.lesson-library-extras .lesson-card{padding:9px;gap:9px}.lesson-library-extras .lesson-card h3{font-size:13px;margin:0 0 5px}.lesson-library-extras .lesson-card p{display:none}.lesson-library-extras .lesson-card .lesson-index{font-size:16px}.practice-picker-extras{margin:7px 0}.practice-picker-extras .difficulty-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 10px}.practice-picker-extras .difficulty-select .btn{min-width:0;padding:8px}.practice-picker-extras .puzzle-select{max-height:225px;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.practice-picker-extras .puzzle-choice{min-width:0;min-height:40px;padding:7px;gap:5px;justify-content:start;font-size:11px}.practice-picker-extras .puzzle-choice strong{font-size:11px;line-height:1.2}.weekly-puzzle-extras .weekly-pages,.practice-picker-extras .weekly-pages{padding:9px;gap:5px;margin:4px 0}.mobile-auxiliary-text{color:#b9cdb9;font-size:12px;line-height:1.6}.mobile-auxiliary-text p{margin:3px 0}.mobile-practice-skip{display:flex;justify-content:space-between;gap:7px}.mobile-practice-skip .btn{flex:1}.puzzle-side-extras{margin:5px 0 0}.community-page>h1{font-size:20px;letter-spacing:-.3px}.community-page .subtitle{font-size:11px;line-height:1.4}}.mobile-practice-skip,.mobile-practice-notice{display:none}@media(max-width:640px){.mobile-practice-skip{display:flex}.mobile-practice-notice{display:block;font-size:12px;color:#c5e0bb;padding:5px 1px}.community-menu-extras{margin:3px 0 10px}.community-menu-extras .community-nav{margin:0;gap:7px}.community-menu-extras .community-nav .btn{min-width:0;padding:8px;min-height:40px}.community-puzzle-list-extras{margin:8px 0}.community-puzzle-list-extras .community-list{margin:5px 0;max-height:240px;overflow-y:auto}.community-puzzle-list-extras .lesson-card{padding:10px;gap:6px}.community-puzzle-list-extras .lesson-card h3{font-size:13px;margin:2px 0}.community-puzzle-list-extras .lesson-card p{display:none}.community-page>.eyebrow{display:none}.community-page>h1{font-size:19px;margin:3px 0 5px}.community-page>.subtitle{font-size:11px;line-height:1.4;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.tutorial-level-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 12px}.tutorial-level-tab{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:73px;padding:14px 18px;border-radius:12px;border:1px solid #405844;background:#1b2920;color:#e9f2e5;text-align:left;cursor:pointer}.tutorial-level-tab strong{font-size:17px;line-height:1.2}.tutorial-level-tab small{color:#a8bca7;font-size:12px;line-height:1.35}.tutorial-level-tab.active{border-color:#9edb82;background:#2d4932}.tutorial-level-tab.active strong{color:#c2f4aa}.tutorial-level-tab:focus-visible{outline:2px solid #a7e783;outline-offset:2px}@media(max-width:640px){.tutorial-level-tabs{gap:6px;margin:8px 0 7px}.tutorial-level-tab{padding:9px 7px;min-height:46px;gap:3px;align-items:center;text-align:center;border-radius:9px}.tutorial-level-tab strong{font-size:14px}.tutorial-level-tab small{font-size:10px;line-height:1.15}.mobile-play-section .tutorial-level-tabs+.learning-progress{margin:7px 0 6px}}.learning-page{max-width:1350px}.learning-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.learning-page-heading h1{margin:8px 0}.learning-page-heading .subtitle{margin:0;color:#adc2ae;line-height:1.65;font-size:14px}.learning-total{font-size:12px;border:1px solid #496348;border-radius:99px;padding:9px 12px;color:#c3d9ba;white-space:nowrap}.learning-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.learning-category{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px;border:1px solid #3b5741;border-radius:13px;color:#eff6ea;background:#1c2d22;text-align:left}.learning-category.active{background:#2d4833;border-color:#a7e783}.learning-category strong{font-size:20px}.learning-category small{font-size:12px;color:#b4c5b3}.learning-category>span{font-size:11px;color:#aedf96}.learning-main{display:grid;grid-template-columns:minmax(220px,285px) minmax(0,1fr);gap:18px;align-items:start}.learning-catalog-panel,.learning-player{background:#1b2a20;border:1px solid #39513e;border-radius:14px;padding:18px;min-width:0}.learning-catalog-panel{position:sticky;top:95px}.learning-filters{display:grid;gap:10px;margin-bottom:14px}.learning-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#bbd4b8}.learning-filters input,.learning-filters select{width:100%;border:1px solid #536a56;border-radius:8px;background:#111c15;color:#e6f3e3;padding:11px 12px;font:inherit;font-size:14px}.learning-catalog-items{display:flex;flex-direction:column;gap:7px;max-height:min(58vh,620px);overflow:auto;padding-right:5px}.learning-catalog-item{display:flex;flex-direction:column;gap:6px;text-align:left;color:#e5f0e0;background:#213328;border:1px solid #36543d;border-radius:9px;padding:13px;min-width:0}.learning-catalog-item.active{border-color:#a7e783;background:#304a34}.learning-catalog-item>strong{font-size:14px}.learning-catalog-item>small{font-size:11px;color:#acc4ae;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learning-catalog-item .pill{width:max-content;max-width:100%;font-size:10px}.learning-player-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.learning-player-heading h2{font-size:23px;letter-spacing:-.4px;margin:9px 0}.learning-player-heading p{color:#b1c2b0;line-height:1.65;font-size:13px;margin:0 0 16px}.learning-player-heading>.pill{white-space:nowrap;margin-top:3px}.learning-view-tabs{display:flex;gap:8px;margin-bottom:16px}.learning-view-tabs .btn{flex:1;padding:11px 9px;font-size:13px}.learning-board-layout{display:grid;grid-template-columns:minmax(0,460px) minmax(190px,1fr);gap:18px;align-items:start}.learning-board-wrap{min-width:0;max-width:460px}.learning-board-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;color:#abc6ad}.learning-board-meta strong{color:#d8eccd}.learning-board-wrap .board-shell{max-width:100%}.learning-transport{display:flex;gap:8px;margin-top:14px}.learning-transport .btn{flex:1;min-width:0;padding:11px 8px;font-size:12px}.learning-lesson-detail{min-width:0;display:flex;flex-direction:column;gap:14px}.learning-goal-panel,.learning-tip,.learning-line{border:1px solid #425b45;border-radius:10px;background:#23362a;padding:14px}.learning-goal-panel strong,.learning-tip strong,.learning-line strong{font-size:13px;color:#bdf1a1}.learning-goal-panel p,.learning-tip p{color:#e0efdc;font-size:13px;line-height:1.65;margin:9px 0}.learning-goal-panel .feedback{padding:10px;font-size:12px;margin-top:10px;line-height:1.5}.learning-line{background:#1b2d21}.learning-moves{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.learning-move{font-size:12px;background:#2b4331;border:1px solid #415a42;border-radius:7px;color:#e5f1dc;padding:7px 9px}.learning-move.active,.learning-move:hover{border-color:#a8e485;background:#3a593e}.learning-answer{border-radius:8px;padding:12px;color:#baf0a2;background:#2a432f;font-weight:700}.learning-source-link{display:flex;justify-content:space-between;gap:9px;align-items:center;border:1px solid #445f49;padding:10px 12px;border-radius:9px;color:#bde5af;text-decoration:none;font-size:12px}.learning-source-link:hover{text-decoration:underline}.learning-source-link small{color:#a7b7a7;overflow-wrap:anywhere}.learning-reference-note{margin-top:20px!important;line-height:1.6}@media(max-width:1050px){.learning-main{grid-template-columns:minmax(185px,220px) minmax(0,1fr)}.learning-board-layout{grid-template-columns:1fr}.learning-board-wrap{width:100%;max-width:490px;margin:auto}.learning-lesson-detail{max-width:100%}}@media(max-width:640px){.learning-page{padding:11px 10px 28px}.learning-page>.eyebrow{display:none}.learning-page-heading{gap:6px}.learning-page-heading h1{font-size:23px;margin:4px 0}.learning-page-heading .subtitle{font-size:11px;line-height:1.45}.learning-total{font-size:10px;padding:6px 8px}.learning-categories{gap:6px;margin:13px 0}.learning-category{padding:9px 7px;min-height:64px;align-items:center;text-align:center;gap:3px;border-radius:9px}.learning-category strong{font-size:14px}.learning-category small{display:none}.learning-category>span{font-size:10px}.learning-main{display:flex;flex-direction:column;gap:10px}.learning-catalog-panel,.learning-player{position:static;padding:10px;width:100%;border-radius:10px}.learning-catalog-panel{padding-bottom:6px}.learning-filters{grid-template-columns:minmax(0,1fr) 104px;gap:8px;margin-bottom:5px}.learning-filters input,.learning-filters select{min-width:0;font-size:16px;min-height:40px;padding:7px}.learning-catalog-items{max-height:255px;gap:6px}.learning-catalog-item{padding:10px;gap:3px}.learning-catalog-item small{display:none}.learning-catalog-extras{margin:4px 0!important}.learning-player-heading{gap:8px}.learning-player-heading h2{font-size:17px;margin:4px 0 5px}.learning-player-heading p{font-size:11px;line-height:1.45;margin:0 0 9px;max-width:54ch}.learning-player-heading .pill{font-size:10px;padding:5px}.learning-view-tabs{gap:7px;margin:8px 0}.learning-view-tabs .btn{min-height:40px;font-size:12px;padding:8px}.learning-board-layout{display:flex;flex-direction:column;gap:10px}.learning-board-wrap{width:100%;max-width:500px}.learning-board-meta{margin:2px 0 7px;font-size:11px}.learning-transport{margin-top:9px;gap:6px}.learning-transport .btn{padding:8px 5px;min-height:42px;font-size:11px}.learning-lesson-detail{width:100%;gap:4px}.learning-goal-panel{padding:10px}.learning-goal-panel p{font-size:12px;margin:5px 0}.learning-detail-extras{margin-top:5px}.learning-detail-extras .learning-line,.learning-detail-extras .learning-tip{padding:11px;margin:8px 0}.learning-reference-note{font-size:11px!important;margin-top:11px!important}}
