@font-face{font-family:Pyo Serif;src:url(/fonts/noto-serif-kr-900.woff2)format("woff2");font-weight:700 900;font-display:swap}.pass-benefits{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin-block-start:24px;margin-block-end:24px;display:grid}.pass-benefits article{border-top:1px solid var(--line);padding-block-start:16px;padding-block-end:16px}.pass-headline{font-family:var(--display);color:var(--gold);font-size:1.4rem}@font-face{font-family:Pyo Sans;src:url(/fonts/plex-sans-kr-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pyo Sans;src:url(/fonts/plex-sans-kr-600.woff2)format("woff2");font-weight:600 800;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15141a;--surface:#22212a;--raised:#2b2a34;--ink:#f1e9d8;--muted:#c9c0ad;--line:#494653;--gold:#d2aa4f;--on-gold:#1d1706;--check:#e06a66;--display:"Pyo Serif", serif;--sans:"Pyo Sans", system-ui, sans-serif}:root[data-theme=parchment]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#efe4cc;--surface:#fbf4e6;--raised:#f1e7d2;--ink:#2a2420;--muted:#5b5047;--line:#c4b596;--gold:#805a18;--on-gold:#fff8e6;--check:#9b2d30}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:15px/1.65 var(--sans);word-break:keep-all;margin:0}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:10px;min-height:48px;padding:10px 16px;line-height:1.45}button:hover{border-color:var(--gold)}button:disabled{opacity:.45;cursor:default}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,strong{font-weight:600}h1{font:900 clamp(24px, 3vw, 36px)/1.5 var(--display);margin:8px 0}h2{font:900 21px/1.5 var(--display);margin:0 0 20px}p{margin:12px 0}.eyebrow{color:var(--gold);font-size:12px;font-weight:600}.subtle{color:var(--muted);font-size:12px}.primary{background:var(--gold);color:var(--on-gold);border-color:var(--gold);font-weight:600}.quiet{background:0 0}.skip{clip-path:inset(50%);z-index:10;background:var(--surface);padding:12px;position:fixed;top:12px;left:16px;transform:translateY(calc(-100% - 24px))}.skip:focus{clip-path:none;transform:translateY(0)}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:28px;max-width:1340px;height:100px;margin:auto;padding:0 40px;display:flex}.wordmark{color:var(--ink);font:900 25px/1.3 var(--display);align-items:center;gap:12px;display:flex}.wordmark small{font:600 9px/1.7 var(--sans);letter-spacing:.16em;color:var(--muted);margin-top:4px;display:block}.brand-rook,.brand-rook svg,.brand-rook img{width:34px;height:50px}.app-header nav{gap:8px;margin:auto;display:flex}.app-header nav a{color:var(--muted);border-radius:10px;min-height:48px;padding:12px 20px}.app-header nav a[aria-current=page]{color:var(--ink);background:var(--raised)}.theme-toggle{background:0 0}main{max-width:1260px;min-height:calc(100vh - 180px);margin:auto;padding:32px 36px 64px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.page-heading>.subtle{margin-bottom:12px}.play-layout{grid-template-columns:minmax(340px,660px) minmax(260px,340px);justify-content:center;align-items:start;gap:44px;display:grid}.play-column{min-width:0}.board-frame{background:#4a2f1a;border:2px solid #98713b;border-radius:8px;padding:12px;box-shadow:0 18px 40px #0003}.board-row{display:flex}.square{aspect-ratio:1;color:#2b1a0e;border:0;border-radius:0;justify-content:center;align-items:center;width:12.5%;min-height:0;padding:0;display:flex;position:relative}.square.light{background:#e6d3ad}.square.dark{background:#805236}.square.selected{z-index:1;box-shadow:inset 0 0 0 4px #ffdf70}.square.last:after{content:"";pointer-events:none;background:#e0ba4a44;position:absolute;top:0;bottom:0;left:0;right:0}.square.check{background:#bd4a49}.square:focus-visible{outline-offset:-4px;z-index:2;outline:4px solid #fff}.chess-piece{z-index:1;filter:drop-shadow(0 2px 1px #0003);width:88%;height:94%;position:relative}.chess-piece.standing{width:77%;height:98%}.coordinate{z-index:3;pointer-events:none;color:#e6d3ad;font:700 10px/1 monospace;position:absolute}.light .coordinate{color:#4a2f1a}.coordinate.rank{top:4px;left:3px}.coordinate.file{bottom:3px;right:4px}.legal-marker{z-index:2;pointer-events:none;background:#331c0b77;border-radius:50%;width:23%;height:23%;position:absolute}.legal-marker.capture{background:0 0;border:4px solid #f2c75d;width:85%;height:85%}.player-strip{align-items:center;gap:12px;min-height:86px;padding:12px 4px;display:flex}.player-strip>div{flex-direction:column;gap:1px;display:flex}.player-strip strong{font-size:16px}.player-strip div span{color:var(--muted);font-size:12px}.player-strip>button,.practice-badge{margin-left:auto;font-size:12px}.practice-badge{border:1px solid var(--line);border-radius:50px;padding:4px 12px}.side-chip{width:42px;height:42px;font-family:var(--display);border:1px solid #8d7852;border-radius:50%;justify-content:center;align-items:center;display:flex}.side-chip.white{color:#312716;background:#f6ecd6}.side-chip.black{color:#f6ecd6;background:#211c19}.game-status{background:var(--surface);border-left:3px solid var(--gold);margin:0 0 16px;padding:12px 16px;font-weight:600}.game-status.checked{border-color:var(--check)}.game-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.game-actions button{flex:1;padding:10px;font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px}.play-sidebar{flex-direction:column;gap:22px;padding-top:8px;display:flex}.setup h2{margin:8px 0 20px;font-size:25px}.setup label,.move-picker label{color:var(--muted);margin:12px 0 6px;font-size:13px;display:block}select{border:1px solid var(--line);background:var(--bg);width:100%;min-height:48px;color:var(--ink);border-radius:8px;padding:8px 12px}.setup .primary{width:100%;margin-top:22px}.setup .subtle{margin-bottom:0}.panel h2>span{font:400 13px var(--sans);color:var(--muted);margin-left:8px}.move-list{grid-template-columns:1fr 1fr;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.move-list li{background:var(--bg);gap:12px;padding:6px 10px;font:14px/1.6 ui-monospace,monospace;display:flex}.move-list li span{color:var(--muted)}.move-list .empty{font-family:var(--sans);color:var(--muted);background:0 0;grid-column:1/-1;padding:14px 0}.learn-prompt{border-left:2px solid var(--gold);flex-direction:column;gap:10px;padding:12px 20px;display:flex}.learn-prompt strong{color:var(--ink);font-family:var(--display)}.learn-prompt>span:last-child{color:var(--muted);font-size:12px}.move-picker{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-top:22px;padding:12px 18px}summary{cursor:pointer;align-items:center;min-height:48px;font-weight:600;display:flex}.move-picker p{color:var(--muted);font-size:13px}.move-picker button{width:100%;margin-top:12px}.notice{border:1px solid var(--gold);background:var(--surface);border-radius:10px;align-items:center;gap:20px;margin-bottom:22px;padding:12px 18px;display:flex}.notice button{flex-shrink:0;margin-left:auto;font-size:12px}.lesson-instruction{background:var(--surface);border:1px solid var(--gold);border-radius:10px;margin-bottom:16px;padding:18px}.lesson-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.lesson-index{font:600 28px var(--display);color:var(--gold)}.lesson-card h2{margin-top:18px}.lesson-card p{color:var(--muted);min-height:95px;font-size:14px}.lesson-card button{width:100%;margin-top:14px}.collection-stage{grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin-bottom:28px;padding:40px;display:grid}.collection-stage label{font-weight:600}input[type=range]{width:100%;min-height:48px;accent-color:var(--gold);display:block}.piece-line{align-items:end;gap:8px;display:flex}.piece-line>div{text-align:center;flex:1;min-width:0}.piece-line svg,.piece-line img{width:100%;min-width:0;height:100px;display:block}.piece-line span{color:var(--muted);font-size:12px}.material-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.material-card{background:var(--surface);flex-direction:column;align-items:center;gap:8px;min-width:0;padding:22px;display:flex}.material-card.active{border:2px solid var(--gold);padding:21px}.material-card strong{font:900 20px var(--display)}.material-card span{color:var(--gold);font-size:13px}.material-card small{color:var(--muted);font-size:11px}.material-pair{width:150px;max-width:100%;margin-bottom:12px;display:flex}.material-pair svg,.material-pair img{width:50%;min-width:0;height:76px}.about{max-width:760px;margin:30px auto;padding:40px}.about p{line-height:1.9}.about h2{margin:32px 0 12px}.about .subtle{margin-top:32px}footer{border-top:1px solid var(--line);max-width:1260px;color:var(--muted);gap:24px;margin:auto;padding:28px 36px;font-size:12px;display:flex}footer a{margin-left:auto}.club-page label{gap:8px;margin-block-start:16px;margin-block-end:16px;display:grid}.club-page .check-label{align-items:center;min-height:48px;display:flex}.club-page textarea{width:100%;min-height:88px;font:inherit;padding:12px}.club-card{text-align:start;gap:6px;width:100%;margin-block-start:8px;margin-block-end:8px;display:grid}.club-weekly small{margin-top:.5rem;display:block}.club-game-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.club-game-card{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:14px}.club-game-card button{width:100%;margin-top:8px;display:block}.club-messages{overflow-wrap:anywhere;max-height:380px;padding-inline-start:24px;padding-inline-end:24px;overflow:auto}.club-messages p{white-space:pre-wrap}.club-members{padding-inline-start:20px;padding-inline-end:20px}.club-members li{padding-block-start:12px;padding-block-end:12px}.club-page summary{cursor:pointer;min-height:48px;padding-block-start:14px;padding-block-end:14px}.club-request{margin-block-start:16px;margin-block-end:16px}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:18px;width:calc(100% - 32px);max-width:460px;padding:28px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#000b}dialog>.quiet{width:100%;margin-top:20px}dialog>.primary{width:100%;margin-top:18px}.promotion-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.promotion-grid button{padding:8px}.promotion-grid svg,.promotion-grid img{width:100%;min-width:0;height:66px}@media (max-width:950px){.app-header{gap:16px;padding:0 24px}.app-header nav a{padding:12px}.play-layout{grid-template-columns:minmax(320px,1fr) 280px;gap:24px}main{padding:28px 24px}.page-heading{display:block}.page-heading>.subtle{margin-top:8px;display:block}.lesson-grid{grid-template-columns:repeat(2,1fr)}.collection-stage{grid-template-columns:1fr;padding:28px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.app-header{flex-wrap:wrap;gap:12px;height:auto;padding:18px 18px 0}.wordmark{font-size:23px}.app-header nav{order:3;justify-content:space-between;width:100%;margin-top:8px}.app-header nav a{text-align:center;flex:1;padding:12px 6px;font-size:14px}.theme-toggle{margin-left:auto;font-size:13px}.play-layout{grid-template-columns:1fr}.play-sidebar{grid-template-columns:1fr;display:grid}.play-column{width:100%;max-width:560px;margin:auto}main{padding:24px 16px 40px}.board-frame{padding:7px}.player-strip{min-height:76px}.game-actions button{font-size:12px}.lesson-grid{grid-template-columns:1fr}.lesson-card p{min-height:0}.material-grid{gap:10px}.material-card{padding:16px}.material-card.active{padding:15px}.collection-stage{padding:22px}.piece-line svg,.piece-line img{height:70px}.about{padding:24px}footer{flex-wrap:wrap;gap:10px;padding:24px 18px}footer span{order:3;width:100%}dialog{padding:22px}.promotion-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.online-tabs,.online-account,.online-players,.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.online-tabs{margin:24px 0}.online-account{justify-content:space-between}.online-players{justify-content:space-between;margin:16px 0}.online-players>div{gap:6px;display:grid}.online-moves{font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr;max-height:420px;padding:0;list-style:none;display:grid;overflow:auto}.auth-panel{gap:12px;max-width:560px;display:grid}.online-page .panel{margin-bottom:20px}.online-page input{border:1px solid var(--line);background:var(--surface);min-height:48px;color:inherit;border-radius:8px;width:100%;padding:10px 12px}.online-page .material-grid svg,.online-page .material-grid img{aspect-ratio:100/108;pointer-events:none;width:120px;max-width:100%;height:auto;display:block}.record-row{text-align:left;width:100%;margin-block-start:8px;margin-block-end:8px;display:block}.online-page .consent-row{align-items:center;gap:12px;min-height:48px;display:flex}.online-page input[type=checkbox]{flex:0 0 24px;width:24px;height:24px;min-height:24px}.account-page label{gap:6px;margin-block-start:12px;margin-block-end:12px;display:grid}.account-page textarea{width:100%;min-height:96px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px}.account-page .button-row,.list-row{flex-wrap:wrap;align-items:center;gap:12px;margin-block-start:12px;margin-block-end:12px;display:flex}.account-page .button-row{justify-content:flex-end}button.danger{color:var(--bg);background:var(--check);border-color:var(--check)}.device-settings{margin-bottom:24px}.device-switch{cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:12px 0;display:flex}.device-switch input{width:24px;height:24px;accent-color:var(--gold);flex:none}.device-switch small{margin-top:4px;font-weight:400;display:block}.square.armed{outline:4px double var(--gold);outline-offset:-5px}.course-list{gap:16px;display:grid}.course-list summary{cursor:pointer;min-height:48px;padding:14px 0}.course-list details{margin-top:12px}.course-list .lesson-grid{grid-template-columns:1fr}.lesson-actions{flex-wrap:wrap;gap:8px;display:flex}.lesson-instruction progress{width:100%;accent-color:var(--brass)}.item-option{align-items:center;gap:12px;min-height:48px;display:flex}.item-option input{flex:none;width:24px;height:24px}.item-target{margin-block-start:12px;margin-block-end:12px}.item-marked{outline:3px dashed var(--brass);outline-offset:-4px}.item-marker{z-index:3;color:#fff;text-align:center;background:#812d25;border:1px solid #fff;border-radius:50%;width:20px;height:20px;font-size:14px;font-weight:800;line-height:18px;position:absolute;top:3px;right:3px}.effect-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;display:grid}.chess-effect-preview{border:1px solid var(--line);background:var(--raised);border-radius:12px;height:180px;margin-top:16px;position:relative;overflow:hidden}.chess-effect-piece{pointer-events:none;width:78px;height:84px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chess-effect-piece svg{width:100%;height:100%;display:block}.web-pass-checkout{margin-block-start:1rem;margin-block-end:1rem}.pass-plans{gap:.75rem;display:grid}.checkout-reference{overflow-wrap:anywhere}.web-pass-checkout>.button-link{margin:.5rem;display:inline-flex}.online-review{border-top:1px solid var(--line);min-width:0;margin:1rem 0;padding-top:1rem}.online-review .actions{flex-wrap:wrap;gap:.5rem;display:flex}.online-review p{overflow-wrap:anywhere}.board-notice{color:var(--ink);background:var(--surface);margin:0;padding:12px;font-size:1rem}.perspective-frame{box-shadow:none;background:0 0;border:0;padding:0}.chess-perspective{width:100%;height:auto;display:block;overflow:visible}.chess-perspective [role=gridcell]{cursor:pointer;outline:none}.chess-perspective [aria-disabled=true]{cursor:default}.chess-perspective [role=gridcell]:focus-visible>.camera-cell{stroke:#fff}.board3d{width:100%;position:relative}.board3d-canvas,.board3d-overlay{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.board3d-canvas{pointer-events:none;display:block}.board3d-overlay{touch-action:manipulation;-webkit-tap-highlight-color:transparent;overflow:visible}.board3d-overlay [role=gridcell]:focus-visible>.camera-cell{stroke:#fff;stroke-width:5px;fill:#ffffff1f}.board3d-coordinates text{font:700 1px/1 IBM Plex Mono,monospace;font-size:inherit;opacity:.85}img.chess-piece.preview-3d{aspect-ratio:100/108;object-fit:contain;filter:none;-webkit-user-select:none;user-select:none;min-width:0;max-width:100%}.chess-piece{pointer-events:none}
