: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%}}
