.rating-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin:16px 0;display:grid}.rating-cell{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.rating-cell>span{font-variant-numeric:tabular-nums;font-size:24px}.rating-cell small{color:var(--muted)}.study-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%}.table-scroll th,.table-scroll td{text-align:left;border-bottom:1px solid var(--border);padding:10px}.custom-clock{margin:12px 0}.custom-clock .button-row{flex-wrap:wrap}.custom-clock label{flex:100px;min-width:100px}.custom-clock input{width:100%}.player-settings-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(480px,100vw - 32px);max-height:min(86dvh,780px);color:var(--text);box-shadow:var(--shadow-3);overscroll-behavior:contain;margin:auto;padding:0;overflow-y:auto}.player-settings-dialog::backdrop{background:#10170fc0}.player-settings-content{padding:0 20px 20px}.player-settings-heading{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky;top:0}.player-settings-heading h2{margin:0;font-size:19px}.player-settings-content>.hint{margin-block:12px}.player-settings-group{border:0;border-top:1px solid var(--border);flex-direction:column;gap:12px;min-width:0;margin:18px 0;padding:16px 0 0;display:flex}.player-settings-group legend{align-items:center;gap:8px;padding-right:12px;font-weight:700;display:flex}.player-settings-group label{flex-direction:row;justify-content:space-between;align-items:center;gap:18px;min-height:44px;font-size:14px;display:flex}.player-settings-group label>span{flex:1;min-width:0}.player-settings-group label small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.player-settings-group output{color:var(--muted);font-size:12px;font-weight:400}.player-settings-group select{flex:0 165px;width:165px;min-width:0;font-size:13px}.player-settings-group input[type=range]{width:165px;min-height:44px;accent-color:var(--primary);margin:0}.player-settings-group .preference-switch input{width:22px;height:22px;accent-color:var(--primary);flex:none;margin:0}.player-settings-group label.theme-option{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;min-height:0}.player-settings-group label.theme-option>span{flex:none}.sound-previews{gap:8px;display:flex}.sound-previews>button{flex:1}@media (max-width:767px){.player-settings-dialog{width:min(100vw,640px);max-height:calc(100dvh - env(safe-area-inset-top) - 16px);border-radius:18px 18px 0 0;margin:auto auto 0}.player-settings-content{padding:0 18px calc(18px + env(safe-area-inset-bottom))}}@media (max-width:380px){.header-actions>button[aria-label=밝은\ 화면],.header-actions>button[aria-label=어두운\ 화면]{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.game-panel .compact-panel-view[hidden],.analysis-workspace .analysis-workspace-view[hidden],.puzzle-guide .compact-panel-view[hidden]{display:none}.game-sidebar.analysis-workspace{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:0}.analysis-workspace-engine{z-index:3;flex:none;position:relative}.analysis-workspace-content,.side-panel-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1 1 0;min-width:0;min-height:0;overflow-y:auto}.analysis-workspace-content{position:relative}.analysis-workspace-view{min-width:0;padding:12px}.analysis-workspace-view .panel-heading{align-items:center;min-height:36px;margin:0;padding:0 0 8px;display:flex}.analysis-workspace-view .panel-heading h2{align-items:center;gap:6px;font-size:13px;display:flex}.analysis-workspace-view .panel-heading h2 .muted{margin-left:auto;font-size:11px;font-weight:400}.analysis-workspace-view .hint{margin:8px 0}.analysis-workspace .analysis-workspace-view .analysis-keyboard-help{color:var(--muted);margin-top:12px;font-size:12px;display:block}.analysis-keyboard-help>summary{cursor:pointer;min-height:44px;padding-block:10px}.analysis-workspace-view.analysis-record-view{flex-direction:column;height:100%;padding:0;display:flex}.analysis-record-view>.panel-heading{border-bottom:1px solid var(--border);flex:none;padding:0 12px}.analysis-record-view>.panel-heading h2{width:100%}.analysis-record-view .analysis-moves{scrollbar-width:thin;border:0;border-radius:0;flex:1 1 0;height:auto;min-height:0;max-height:none}.analysis-study-view>.panel{background:0 0;border:0;padding:0}.analysis-workspace-controls{border-top:1px solid var(--border);background:var(--surface-soft);border-radius:0 0 var(--radius-md) var(--radius-md);flex:none;align-items:center;min-height:44px;display:flex;position:relative}.analysis-workspace-controls>button{min-width:0;height:44px;color:var(--muted);background:0 0;border:0;flex:1 1 0;place-items:center;padding:0;display:grid}.analysis-workspace-controls>button:hover,.analysis-workspace-controls>button[aria-pressed=true]{color:var(--primary);background:var(--tint)}.analysis-workspace-controls>button:disabled{opacity:.35}.analysis-workspace-controls svg{width:19px;height:19px}.analysis-workspace-menu{flex:none}.analysis-workspace-menu>summary{width:40px;height:44px;color:var(--muted);cursor:pointer;place-items:center;list-style:none;display:grid}.analysis-workspace-menu>summary::-webkit-details-marker{display:none}.analysis-workspace-menu[open]>summary{color:var(--primary);background:var(--tint)}.analysis-workspace-menu-body{z-index:8;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:min(240px,100vw - 40px);max-height:min(60dvh,360px);box-shadow:var(--shadow-2);flex-direction:column;padding:6px;display:flex;position:absolute;bottom:calc(100% + 4px);right:4px;overflow-y:auto}.analysis-workspace-menu-body button{text-align:left;min-height:40px;color:var(--text);font:inherit;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.analysis-workspace-menu-body button:hover,.analysis-workspace-menu-body button[aria-pressed=true]{background:var(--tint);color:var(--primary)}.ceval-heading{gap:6px;height:48px;padding:2px 8px;position:relative}.ceval-search-progress{appearance:none;background:var(--border);width:100%;height:2px;color:var(--primary);border:0;margin:0;position:absolute;bottom:0;left:0}.ceval-search-progress::-webkit-progress-bar{background:var(--border)}.ceval-search-progress::-webkit-progress-value{background:var(--primary)}.ceval-search-progress::-moz-progress-bar{background:var(--primary)}.ceval-score{max-width:90px;font-size:20px}.ceval-engine{gap:2px;font-size:11px}.ceval-engine small{font-size:10px}.ceval-heading .ceval-deeper{width:30px;height:40px;min-height:40px;color:var(--muted);background:0 0;border:0;flex:none;place-items:center;margin:0;padding:0;display:grid}.ceval-heading .ceval-deeper:hover:not(:disabled){color:var(--primary);background:var(--tint)}.ceval-settings>summary{width:32px;min-height:40px}.ceval-settings-body{overscroll-behavior:contain;max-height:min(68dvh,500px);top:48px;overflow-y:auto}.ceval-settings-stats{flex-wrap:wrap;grid-column:1/-1;padding:4px 0 8px;font-size:10px}.ceval-status{height:26px;min-height:26px;padding:3px 10px;font-size:10px;line-height:20px}.ceval-status>span{text-overflow:ellipsis;white-space:nowrap;max-height:none;overflow:hidden}.ceval-status.quiet{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.ceval-status.error{height:auto;max-height:80px}.ceval-status.error>span{white-space:normal;max-height:72px;overflow-y:auto}.ceval-pvs{max-height:min(40dvh, calc(var(--workspace-height,680px) * .43));overscroll-behavior:contain;scrollbar-width:thin;overflow-y:auto}.ceval-pv{grid-template-columns:10px 43px minmax(0,1fr);align-items:center;column-gap:5px;min-height:36px;padding:0 7px;font-size:12px;line-height:34px}.ceval-pv-evaluation{align-self:start;line-height:34px}.ceval-pv-content{align-items:flex-start;min-width:0;display:flex}.ceval-pv-moves{scrollbar-width:none;flex-wrap:nowrap;flex:1 1 0;gap:0 2px;max-width:100%;min-height:34px;overflow-x:auto}.ceval-pv-moves::-webkit-scrollbar{display:none}.ceval-pv-moves>button{min-height:34px;padding:0 3px}.ceval-pv-moves>.muted{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ceval-pv-content .ceval-pv-expand{flex:none;align-self:flex-start;place-items:center;width:24px;height:34px;min-height:34px;padding:0;display:grid}.ceval-pv.expanded .ceval-pv-moves{flex-wrap:wrap;overflow-x:visible}.ceval-pv.expanded .ceval-pv-expand svg{transform:rotate(180deg)}.ceval-pv-preview{max-width:calc(100vw - 32px);top:calc(100% + 4px)}.game-panel-tabs,.puzzle-review-tabs{border-bottom:1px solid var(--border);background:var(--surface-soft);flex:none;gap:0;display:flex}.game-panel-tabs>button,.puzzle-review-tabs>button{min-width:0;min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1 1 0;padding:8px 6px;font-size:12px}.game-panel-tabs>button[aria-selected=true],.puzzle-review-tabs>button[aria-selected=true]{border-bottom-color:var(--primary);color:var(--text);font-weight:600}.game-panel-tabs small{color:var(--muted);margin-left:5px;font-size:10px}.game-panel-info{gap:10px;margin:0 0 16px;font-size:12px;display:grid}.game-panel-info>div{justify-content:space-between;gap:12px;display:flex}.game-panel-info dt{color:var(--muted)}.game-panel-info dd{text-align:right;margin:0}.side-panel-body .move-list{height:auto;min-height:0;max-height:none}.game-panel .compact-panel-view{min-height:0}.game-panel .compact-panel-view:not([hidden]){padding:10px 12px}.game-panel .compact-panel-view:has(>.move-list):not([hidden]){padding:0}.game-panel .game-status{padding:12px 12px 8px}.game-panel .game-actions{gap:6px;margin:0;padding:8px 12px}.game-panel .game-actions>.button{min-height:38px;padding:7px 4px;font-size:12px}.game-panel .game-complete-actions{flex:none;gap:6px;padding:8px 12px}.game-complete-actions>.button{flex:1 1 0;min-width:0;min-height:38px;padding:7px 4px;font-size:12px}.game-panel>.draw-offer{flex:none;margin:0 12px 8px}.game-panel>.replay-controls{border-top:1px solid var(--border);border-bottom:0;flex:none}.game-panel .replay-card{background:0 0;border:0;margin:0;padding:0}.puzzle-result-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1 1 0;min-height:0;overflow-y:auto}.puzzle-result-body .puzzle-feedback{color:var(--text);background:0 0;border-left:0;border-radius:0;margin:0;padding:10px 12px;font-size:14px;line-height:1.7}.puzzle-review-tabs{z-index:1;margin:-10px -12px 10px;position:sticky;top:-10px}.puzzle-result-row{flex:none;margin:0;padding:10px 12px}.puzzle-result-row h2{font-size:18px}.puzzle-line{font-size:13px}.puzzle-solution-view .puzzle-line-move:not(.reply){min-width:0}.puzzle-controls{flex:none}@media (min-width:768px) and (orientation:landscape) and (min-height:501px),(min-width:1024px) and (orientation:portrait){.game-grid,.analysis-page .game-grid{grid-template-columns:minmax(0,1fr) minmax(260px,32%);align-items:start;gap:20px;display:grid}.game-grid .board-column{width:100%}.game-sidebar,.analysis-page .game-sidebar,.game-grid[data-status=finished] .game-sidebar{width:100%;max-width:none;height:var(--workspace-height,calc(100dvh - 100px));scrollbar-gutter:auto;align-self:start;gap:0;min-height:0;max-height:none;padding:0;overflow:visible}.game-sidebar.analysis-workspace{flex-direction:column;display:flex}.game-sidebar:not(.analysis-workspace){border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.analysis-page .game-sidebar>.analysis-workspace-content{flex:1 1 0}.analysis-page .game-sidebar>.analysis-workspace-engine,.analysis-page .game-sidebar>.analysis-workspace-controls{flex:none}.analysis-board-controls,.analysis-page .analysis-phone{display:none}.game-panel{flex-direction:column;height:100%;min-height:0;padding:0;display:flex;overflow:visible}.game-panel>:not(.side-panel-body){flex:none}.game-panel>.side-panel-body{flex:1 1 0}.game-panel .game-tip,.game-panel .keyboard-hint{margin:8px 0;font-size:11px}.puzzle-workspace{--puzzle-fit:calc((100svh - var(--puzzle-chrome,240px)) * .9 + 20px);--puzzle-board:min(clamp(calc(300px * var(--board-scale)), calc(var(--puzzle-fit) * var(--board-scale)), calc(820px * var(--board-scale))), max(var(--puzzle-fit), 300px));grid-template-columns:min(var(--puzzle-board), calc(100% - 284px)) minmax(260px, 1fr);gap:24px}.puzzle-guide{height:var(--workspace-height,calc(100dvh - 140px));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;min-height:0;padding:0;display:flex}.puzzle-guide>.puzzle-notes{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow-y:auto}.puzzle-guide .puzzle-controls{border-top:1px solid var(--border);margin:0;padding:8px 10px}.puzzle-guide .puzzle-controls .puzzle-nav{margin:0 0 6px}.puzzle-guide>.text-link{flex:none;margin:0 12px 10px}.puzzle-trainer{position:relative}.puzzle-trainer[data-settings=open] .puzzle-settings-popover{z-index:12;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:min(340px,100%);max-height:min(70dvh,560px);box-shadow:var(--shadow-2);margin:0;padding:12px 16px;position:absolute;top:52px;right:0;overflow-y:auto}}@media (min-width:768px){:where(.lesson-stage,.mistake-workspace).game-grid{grid-template-columns:minmax(0,1fr) minmax(260px,32%);align-items:start;gap:20px;display:grid}:where(.lesson-stage,.mistake-workspace)>.board-column{width:100%}.lesson-guide,.mistake-guide{height:var(--workspace-height,calc(100dvh - 140px));flex-direction:column;min-height:0;padding:12px;display:flex}.lesson-stage{grid-template-columns:minmax(0,480px) minmax(260px,1fr);max-width:840px;margin:0}.lesson-guide{overscroll-behavior:contain;scrollbar-width:thin;overflow-y:auto}.mistake-guide>h2{flex:none;margin:0 0 10px;font-size:17px}.mistake-guide>.button-row{flex-wrap:wrap;flex:none;margin-top:10px}.mistake-guide>.text-link{flex:none;margin-top:10px}}@media (min-width:1000px) and (orientation:landscape) and (min-height:501px),(min-width:1024px) and (orientation:portrait){.analysis-page .game-grid{max-width:calc(var(--board-size) + 360px);grid-template-columns:minmax(0,1fr) 340px}.puzzle-shell{width:min(100%, max(1120px, calc(min(clamp(calc(300px * var(--board-scale)), calc(((100svh - var(--puzzle-chrome,240px)) * .9 + 20px) * var(--board-scale)), calc(820px * var(--board-scale))), max(calc((100svh - var(--puzzle-chrome,240px)) * .9 + 20px), 300px)) + 340px)))}}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){.game-sidebar.analysis-workspace{padding-bottom:calc(12px + env(safe-area-inset-bottom));overflow:visible}.analysis-workspace>.sheet-head{flex:none}.analysis-workspace-engine{display:none}.analysis-workspace>.analysis-workspace-content{flex:1 1 0}.analysis-workspace-content,.analysis-workspace-controls{margin:0 calc(var(--board-gutter) * -1)}.analysis-workspace-view{padding:10px 12px}.analysis-workspace-menu-body button{min-height:44px}.ceval-heading{height:48px}.ceval-pv{min-height:44px;line-height:44px}.ceval-pv-evaluation{line-height:44px}.ceval-pv-moves,.ceval-pv-moves>button{min-height:44px}.ceval-pv-content .ceval-pv-expand{width:30px;height:44px;min-height:44px}.ceval-pvs{max-height:264px}.game-sidebar:not(.analysis-workspace){overflow:visible}.game-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:visible}.game-panel>.game-status,.game-panel>.game-panel-tabs{flex:none;order:0}.game-panel>.side-panel-body{flex:1 1 0;order:1}.game-panel-tabs>button,.puzzle-review-tabs>button{min-height:44px}.puzzle-result-body{max-height:180px}.puzzle-result-row{padding:4px 0 6px}.puzzle-result-row h2{font-size:17px}.puzzle-result-body .puzzle-feedback{padding:6px 0;font-size:13px}.puzzle-review-tabs{margin:-6px 0 6px;top:-6px}.puzzle-guide>.puzzle-session{max-height:40px;padding:0}}@media (max-width:767px){.mistake-guide>.side-panel-body{max-height:240px}}
:root{--header-h:64px}@media (min-width:1000px){:root{--header-h:56px}}button,a,summary{-webkit-tap-highlight-color:color-mix(in srgb, var(--primary) 14%, transparent)}.janggi-board,.janggi-board *,.board-square,.settings-choice input,input[type=range]{-webkit-tap-highlight-color:transparent}.icon-button:active,.app-nav a:active,.app-nav-more:active,.header-nav a:active{background:var(--tint)}.text-link:active{opacity:.65}.nav-pending{display:none}a:has(>.nav-pending[data-pending]){opacity:.62;transition:opacity .12s}@media (hover:none){.app-nav a:hover:not(.active),.header-nav a:hover:not(.active),.icon-button:hover:not([aria-expanded=true]){color:var(--muted);background:0 0}.icon-button[aria-pressed=true]:hover{color:var(--primary)}.button:hover:not(:disabled):not(.primary):not(.danger-solid){background:var(--surface);border-color:var(--border)}.button.subtle:hover:not(:disabled){background:0 0;border-color:#0000}.button.primary:hover:not(:disabled){background:var(--primary);border-color:var(--primary)}.text-link:hover{text-decoration:none}.pairing-tile:hover:not(:disabled):not(.selected){background:var(--surface);border-color:var(--border);box-shadow:none;transform:none}.game-card:hover,.puzzle-theme-card:hover{border-color:var(--border);box-shadow:none}.account-chip.member:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border))}}.route-progress{z-index:90;pointer-events:none;background:linear-gradient(90deg, transparent, var(--primary) 30%, var(--primary) 70%, transparent);opacity:0;background-repeat:no-repeat;background-size:50% 100%;height:3px;transition:opacity .2s;position:fixed;top:0;left:0;right:0}.route-progress.on{opacity:1;animation:1.1s ease-in-out infinite route-progress}@keyframes route-progress{0%{background-position:-50% 0}to{background-position:150% 0}}@media (prefers-reduced-motion:reduce){.route-progress.on{background-size:100% 100%;animation:none}}@media (min-width:1000px){:root{--app-width:1180px}.header-inner,.game-shell .header-inner{height:56px}}@media (min-width:960px) and (orientation:landscape) and (min-height:501px),(min-width:1024px) and (orientation:portrait){.puzzle-shell{width:min(100%, var(--app-width))}}.active-games-panel{top:calc(var(--header-h) + env(safe-area-inset-top))}.header-theme .when-dark,:root[data-theme=dark] .header-theme .when-light{display:none}:root[data-theme=dark] .header-theme .when-dark{display:block}.header-sound .when-muted,:root[data-sound=off] .header-sound .when-sound{display:none}:root[data-sound=off] .header-sound .when-muted{display:block}@media (max-width:999px){.header-actions>.header-theme{display:none}}@media (max-width:340px){.brand>span:not(.nav-pending){display:none}}@media (max-width:420px){.header-actions>.header-sound:not(.sound-blocked),.header-actions>.guest-login{display:none}}.header-nav ul{gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-group{position:relative}@media (min-width:768px){.header-nav .nav-group>a{gap:4px}.nav-caret{color:var(--muted);opacity:.7;transition:transform var(--motion-fast)}.nav-menu{z-index:35;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:268px;box-shadow:var(--shadow-2);opacity:0;visibility:hidden;padding:6px;transition:opacity .12s,transform .12s,visibility 0s .12s;display:grid;position:absolute;top:calc(100% + 4px);left:-8px;transform:translateY(-4px)}.nav-menu:before{content:"";height:8px;position:absolute;top:-8px;left:0;right:0}.nav-group:is(:hover,:focus-within,.open):not(.closed)>.nav-menu{opacity:1;visibility:visible;transition:opacity .12s,transform .12s;transform:none}.nav-group:is(:hover,:focus-within,.open):not(.closed) .nav-caret{transform:rotate(180deg)}.header-nav .nav-menu a{border-radius:var(--radius-md);min-height:52px;color:var(--text);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;padding:7px 12px;font-size:14px;display:grid}.header-nav .nav-menu a>svg{color:var(--primary)}.header-nav .nav-menu a>span{flex-direction:column;gap:1px;min-width:0;display:flex}.header-nav .nav-menu a strong{font-weight:600}.header-nav .nav-menu a small{color:var(--muted);font-size:12px;line-height:1.4}.header-nav .nav-menu a[aria-current=page]{background:var(--tint)}.header-nav .nav-menu a:focus-visible{outline-offset:-2px}}@media (min-width:768px) and (hover:hover){.header-nav .nav-menu a:hover{background:var(--surface-soft)}}@media (min-width:768px) and (max-width:899px){.header-nav{margin-left:8px}.header-nav .nav-group>a{padding:0 8px}.nav-caret{display:none}}@media (prefers-reduced-motion:reduce){.nav-menu{transition:none;transform:none}}.app-nav a,.app-nav-more{font-size:12px}.app-nav-icon{display:inline-flex;position:relative}.app-nav-more{min-height:48px;color:var(--muted);border-radius:var(--radius-md);font:inherit;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-size:12px;display:flex}.app-nav-more.active{color:var(--primary);background:var(--tint);font-weight:600}.app-nav-more[aria-expanded=true]{color:var(--primary)}.app-nav-more:focus-visible{outline-offset:-3px}.app-nav-dot{background:var(--han);width:9px;height:9px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:-2px;right:-5px}.more-sheet{border:1px solid var(--border);background:var(--surface);width:min(100vw,640px);max-width:100vw;max-height:min(82dvh,720px);color:var(--text);box-shadow:var(--shadow-3);overscroll-behavior:contain;border-bottom:0;border-radius:18px 18px 0 0;margin:auto auto 0;padding:0;overflow-y:auto}.more-sheet[open]{animation:more-sheet-in .22s var(--ease-out) both}.more-sheet::backdrop{background:#10170fa6}@keyframes more-sheet-in{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.more-sheet-content{padding:0 16px calc(18px + env(safe-area-inset-bottom))}.more-sheet-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:56px;margin:0 -16px 6px;padding:0 6px 0 18px;display:flex;position:sticky;top:0}.more-sheet-head h2{font-size:18px}.more-sheet ul{margin:0;padding:0;list-style:none}.more-sheet-personal{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;margin:10px 0 6px!important}.more-sheet-personal a{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:72px;padding:8px 4px;font-size:13px;font-weight:500;display:flex;position:relative}.more-sheet-personal a>svg{color:var(--primary)}.more-sheet-personal a[aria-current=page]{border-color:var(--primary);background:var(--tint)}.more-sheet-count{background:var(--han);color:#fff;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;line-height:20px;position:absolute;top:6px;right:8px}.more-sheet-group h3{color:var(--muted);letter-spacing:.02em;margin:18px 2px 4px;font-size:13px;font-weight:600}.more-sheet-group a{border-bottom:1px solid var(--border);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:6px 4px 6px 6px;display:grid}.more-sheet-group li:last-child a{border-bottom:0}.more-sheet-group a>svg:first-child{color:var(--primary)}.more-sheet-group a>span{flex-direction:column;min-width:0;display:flex}.more-sheet-group a strong{font-size:15px;font-weight:600}.more-sheet-group a small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.more-sheet-group a[aria-current=page] strong{color:var(--primary)}.more-sheet-chevron{color:var(--muted)}.more-sheet-foot{color:var(--muted);margin:18px 2px 0;font-size:12px}.more-sheet-foot a{color:var(--primary);text-decoration:underline}@media (prefers-reduced-motion:reduce){.more-sheet[open]{animation:none}}.notify-bell,.account-menu{position:relative}.shell-popover{z-index:65;top:calc(var(--popover-top,var(--header-h)) + env(safe-area-inset-top));width:min(420px,100vw - 20px);max-height:calc(100dvh - var(--popover-top,var(--header-h)) - env(safe-area-inset-top) - 16px);overscroll-behavior:contain;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);animation:popover-in .16s var(--ease-out) both;position:fixed;left:50%;overflow-y:auto;transform:translate(-50%)}@keyframes popover-in{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0}}@media (min-width:768px){.shell-popover{width:380px;position:absolute;top:calc(100% + 6px);left:auto;right:0;transform:none}}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){.game-shell,.puzzle-shell{--popover-top:var(--board-head)}}.shell-popover-heading{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 6px 4px 16px;display:flex;position:sticky;top:0}.shell-popover-heading h2{flex:1;font-size:15px}.shell-popover-heading .text-link{min-height:44px;font-size:13px}.shell-popover-footer{border-top:1px solid var(--border);min-height:44px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:13px;display:flex}@media (hover:hover){.shell-popover-footer:hover{color:var(--primary);background:var(--surface-soft)}}.notify-trigger.unread{color:var(--text)}.notify-count,.active-games-count{background:var(--han);color:#fff;text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg);pointer-events:none;border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:3px;right:1px}.active-games-count{background:var(--primary);color:var(--on-primary)}:root[data-theme=dark] :is(.notify-count,.more-sheet-count,.account-menu-count){color:#2a1613}.notify-trigger.pulse svg{transform-origin:50% 10%;animation:.8s ease-in-out 3 bell-ring}.notify-trigger.pulse .notify-count{animation:count-pop .4s var(--ease-out) 3 alternate}@keyframes bell-ring{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(2deg)}}@keyframes count-pop{to{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.notify-trigger.pulse svg,.notify-trigger.pulse .notify-count{animation:none}.notify-trigger.pulse{box-shadow:inset 0 0 0 2px var(--han)}}.notify-error{margin:10px 12px}.notify-challenges,.notify-list,.notice-list{margin:0;padding:0;list-style:none}.notify-challenge,.notice-row{border-bottom:1px solid var(--border);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 12px 12px 14px;display:grid}.notify-challenge{background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.notify-icon{background:var(--surface-soft);width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.notify-icon.challenge,.notice-row.fresh .notify-icon,.notify-row.fresh .notify-icon{background:var(--tint);color:var(--primary)}.notify-text{flex-direction:column;gap:2px;min-width:0;font-size:14px;line-height:1.45;display:flex}.notify-text strong{font-weight:600}.notify-text small,.notify-text .time-ago{color:var(--muted);font-size:12px}.notify-text small a{color:var(--primary);text-decoration:underline}.notify-text .urgent{color:var(--danger-ink);font-weight:600}.notify-challenge-actions,.notice-actions{gap:6px;display:flex}.notify-challenge-actions .button,.notice-actions .button{min-height:40px;padding:6px 12px;font-size:13px}.notify-row{border-bottom:1px solid var(--border);grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:56px;padding:10px 14px;display:grid}.notify-row.fresh{background:color-mix(in srgb, var(--primary) 6%, var(--surface))}.notify-row.fresh .notify-text>span:first-child{font-weight:600}@media (hover:hover){.notify-row:hover{background:var(--surface-soft)}}.notify-row:focus-visible{outline-offset:-3px}.notify-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:30px 20px 26px;display:flex}.notify-empty p{color:var(--text);font-weight:500}.notify-empty small{font-size:12px;line-height:1.6}.notify-loading{gap:12px;padding:18px 16px;display:grid}.account-chip{cursor:pointer;font:inherit;color:inherit;background:0 0;font-size:12px;position:relative}.account-chip.member{background:var(--tint)}.account-chip:after{content:"";position:absolute;inset:-8px -2px}.account-chip.placeholder{background:var(--surface-soft);cursor:default;border-color:#0000;width:72px}.account-chip.pending{opacity:.75;cursor:default}.account-caret{opacity:.6;margin-left:-2px}.header-actions>.account-menu{flex-shrink:1;min-width:44px}.account-menu>.account-chip{max-width:min(132px,100%)}@media (max-width:420px){.account-caret{display:none}.account-menu>.account-chip{padding-inline:8px}}.account-chip[aria-expanded=true] .account-caret{transform:rotate(180deg)}@media (max-width:767px){.account-chip.guest .account-caret{display:none}}.account-panel-menu{width:min(320px,100vw - 20px)}@media (max-width:767px){.account-panel-menu{left:auto;right:10px;transform:none}}@media (min-width:768px){.account-panel-menu{width:300px}}.account-menu-head{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:14px 16px 12px;display:flex}.account-menu-head strong{font-size:16px}.account-menu-head small{color:var(--muted);font-size:12px}.account-menu-links{border-bottom:1px solid var(--border);margin:0;padding:6px;list-style:none}.account-menu-links a,.account-menu-action,.account-menu-toggle{border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 10px;font-size:14px;display:flex}.account-menu-links a>svg,.account-menu-action>svg,.account-menu-toggle>svg{color:var(--muted)}@media (hover:hover){.account-menu-links a:hover,.account-menu-action:hover:not(:disabled),.account-menu-toggle:hover{background:var(--surface-soft)}}.account-menu-links a:focus-visible,.account-menu-action:focus-visible,.account-menu-toggle:focus-visible,.account-menu-scheme button:focus-visible{outline-offset:-2px}.account-menu-count{background:var(--han);color:#fff;text-align:center;border-radius:10px;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:12px;font-weight:700;line-height:20px}.account-menu-prefs{border-bottom:1px solid var(--border);gap:6px;padding:10px;display:grid}.account-menu-scheme{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.account-menu-scheme button{min-height:40px;color:var(--muted);font:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0 4px;font-size:13px;display:flex}.account-menu-scheme button+button{border-left:1px solid var(--border)}.account-menu-scheme button.chosen{background:var(--tint);color:var(--primary);font-weight:600}.account-menu-toggle small{color:var(--muted);margin-left:auto;font-size:12px}.account-menu-toggle[aria-pressed=true]>svg{color:var(--primary)}.account-menu-foot{gap:2px;padding:6px;display:grid}.account-menu-action.primary{color:var(--primary);font-weight:600}.account-menu-action.primary>svg{color:var(--primary)}.network-status{z-index:70;left:0;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));border-top-right-radius:var(--radius-lg);background:var(--danger-ink);color:#fff;height:40px;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;align-items:center;gap:8px;padding:0 16px 0 14px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;display:flex;position:fixed;transform:translateY(100%)}.game-shell~.network-status,.puzzle-shell~.network-status{bottom:env(safe-area-inset-bottom)}:root[data-theme=dark] .network-status{color:#2a1613}.network-status a{color:inherit;pointer-events:auto;align-items:center;min-height:40px;text-decoration:underline;display:inline-flex}.network-status .spinner{border-color:#fff #fff6 #fff6;width:14px;height:14px;margin:0}.network-status.offline,.network-status.reconnecting{opacity:1;pointer-events:auto;transform:none}.network-status.reconnecting{background:var(--warn-ink)}.network-status.reconnected{opacity:1;background:var(--primary);color:var(--on-primary);animation:2.5s ease-out 1.5s both network-back;transform:none}@keyframes network-back{to{opacity:0;transform:translateY(100%)}}@media (min-width:768px){.network-status{bottom:0}}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){:is(.game-shell,.puzzle-shell)~.network-status:is(.reconnecting,.reconnected){display:none}}@media (prefers-reduced-motion:reduce){.network-status{transition:none}.network-status.reconnected{animation:2.5s 1.5s both network-back-fade}}@keyframes network-back-fade{to{opacity:0}}:root[data-offline] .pairing-tile,:root[data-offline] .game-options>.button.primary{opacity:.5;cursor:not-allowed}.toast{touch-action:pan-y;align-items:flex-start;transition:transform .15s ease-out,opacity .15s}.toast-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding-top:2px;display:flex}.toast-body>span{min-width:0}.toast-count{color:var(--muted);font-weight:600}.toast-actions{flex-wrap:wrap;gap:6px;display:flex}.toast-actions .button{min-height:40px;padding:6px 14px;font-size:13px}.toast-close{width:44px;height:44px;margin:-8px -6px -8px 0}.toast.has-actions{width:min(100%,400px)}@media (max-width:767px){.toast{touch-action:none}body:has(.app-shell:not(.game-shell,.puzzle-shell)) .toast-stack{top:calc(env(safe-area-inset-top) + var(--header-h) + 8px)}:root[data-header=hidden] body:has(.flow-shell) .toast-stack{top:calc(env(safe-area-inset-top) + 12px)}}.panel.pad{padding:16px}.panel.pad+.panel.pad,.panel.pad+.skeleton-panel,.skeleton-panel+.panel.pad{margin-top:16px}.panel.pad>h2:first-child{align-items:baseline;gap:8px;margin:0 0 12px;display:flex}.panel.pad>h2 small{font-size:13px;font-weight:500}.panel.pad>p+p{margin-top:8px}.panel.pad>.button,.panel.pad>form>.button{margin-top:12px}@media (min-width:768px){.panel.pad{padding:20px 22px}}.empty h1{color:var(--text);font-size:22px}.empty>p{max-width:460px;line-height:1.7}.empty .button-row{flex-wrap:wrap;justify-content:center}.inline-check{cursor:pointer;min-height:44px;font-size:14px}.inline-check input[type=checkbox]{width:18px;min-height:18px}.inline-check.disabled{color:var(--muted);cursor:default}.soon-badge{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:600}.notice-empty{color:var(--muted);align-items:center;gap:6px;font-size:14px;line-height:1.6;display:flex}.notice-none{color:var(--muted);padding:22px 12px}.notice-none p{font-size:14px;line-height:1.7}.notice-list .notice-row{padding:12px 0}.notice-list .notice-row:last-child,.notice-list .friend-row:last-child{border-bottom:0}.notice-row.fresh .notify-text>span:first-child{font-weight:600}.friend-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 0;display:flex}.friend-row .button-row{flex-wrap:wrap;align-items:center}.friend-row .button-row>span{color:var(--muted);font-size:13px}.friend-row .button{min-height:40px;padding:6px 12px;font-size:13px}.friend-name{align-items:center;gap:8px;min-height:44px;font-weight:600;display:inline-flex}.presence-dot{background:var(--border);border-radius:50%;width:8px;height:8px}.presence-dot.online{background:var(--primary);box-shadow:0 0 0 3px var(--tint)}.notification-guest{gap:12px}.text-link.inline{font-size:inherit;display:inline}@media (max-width:479px){.notice-row{grid-template-columns:32px minmax(0,1fr)}.notice-row .notice-actions{grid-column:2}}.skeleton-line,.skeleton-board{background:var(--surface-soft);border-radius:4px;animation:1.4s ease-in-out infinite skeleton;display:block}.skeleton-line{width:82%;height:12px}.skeleton-line.short{width:56%}.skeleton-line.tiny{width:34%}.skeleton-line.title{width:38%;height:18px;margin-bottom:4px}.skeleton-panel{gap:12px;display:grid}.skeleton-board{aspect-ratio:9/10;border-radius:3px;width:100%}.skeleton-card{pointer-events:none}.skeleton-card .game-card-info{gap:10px}.board-skeleton{border:6px solid var(--board-frame);background:linear-gradient(160deg, var(--board-wood-hi), var(--board-wood) 45%, var(--board-wood-lo));animation:none;position:relative;overflow:hidden}.board-skeleton:before{content:"";background:var(--board-line);opacity:.55;position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 1000' preserveAspectRatio='none'%3E%3Cg stroke='black' stroke-width='4' fill='none'%3E%3Crect x='50' y='50' width='800' height='900' stroke-width='7'/%3E%3Cpath d='M150 50V950M250 50V950M350 50V950M450 50V950M550 50V950M650 50V950M750 50V950M50 150H850M50 250H850M50 350H850M50 450H850M50 550H850M50 650H850M50 750H850M50 850H850'/%3E%3Cpath stroke-width='3' d='M350 50L550 250M550 50L350 250M350 750L550 950M550 750L350 950'/%3E%3C/g%3E%3C/svg%3E") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 1000' preserveAspectRatio='none'%3E%3Cg stroke='black' stroke-width='4' fill='none'%3E%3Crect x='50' y='50' width='800' height='900' stroke-width='7'/%3E%3Cpath d='M150 50V950M250 50V950M350 50V950M450 50V950M550 50V950M650 50V950M750 50V950M50 150H850M50 250H850M50 350H850M50 450H850M50 550H850M50 650H850M50 750H850M50 850H850'/%3E%3Cpath stroke-width='3' d='M350 50L550 250M550 50L350 250M350 750L550 950M550 750L350 950'/%3E%3C/g%3E%3C/svg%3E") 50%/100% 100% no-repeat}.board-skeleton:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff40 50%,#0000 70%) 0 0/220% 100%;animation:1.6s ease-in-out infinite board-shimmer;position:absolute;inset:0}@keyframes board-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.board-skeleton:after,.skeleton-line,.skeleton-board{animation:none}}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){:is(.game-shell,.puzzle-shell) .board-skeleton,.puzzle-workspace.loading .board-skeleton{border:0}}textarea{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;min-height:104px;color:var(--text);border-radius:var(--radius-sm);resize:vertical;padding:10px 12px;line-height:1.6}textarea:hover:not(:disabled){border-color:var(--muted)}textarea:focus-visible{outline:2px solid var(--primary);outline-offset:3px}::placeholder{color:var(--muted);opacity:.85}input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s}textarea:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s}select:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 9999s}:is(input,select,textarea):user-invalid{border-color:var(--han)}:is(input,select,textarea):user-invalid:focus-visible{outline-color:var(--han)}@media (max-width:767px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.player-settings-group select{font-size:16px}.invite-box input{padding-inline:10px;font-size:16px}}.password-field{display:block;position:relative}.password-field input{padding-right:52px}.password-toggle{width:48px;height:100%;min-height:44px;color:var(--muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;right:0}.password-toggle[aria-pressed=true]{color:var(--primary)}.password-toggle:focus-visible{outline-offset:-3px}@media (hover:hover){.password-toggle:hover{color:var(--text)}}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){.game-panel>.game-actions>.button,.game-panel .game-complete-actions>.button{min-height:calc(var(--board-dock,57px) - 13px)}.game-panel>.game-actions{padding:6px var(--board-gutter,12px) calc(6px + env(safe-area-inset-bottom))}}@media (max-width:767px){.custom-clock summary,.custom-clock>summary{align-items:center;min-height:44px;display:flex}.lesson-tabs .button{min-height:44px}}@media (pointer:coarse){.text-link:not(.inline),.brand,.header-nav a,.site-footer a{min-height:44px}.play-side-links a,.lobby-bottom a,.section-heading>a{align-items:center;min-height:44px;display:inline-flex}}.tile-caption,.tile-top,.formation-options .formation-choice,.formation-help,.pairing-policy,.pairing-heading>span,.play-intro .eyebrow,.lobby-bottom,.site-footer,.active-game-info small,.active-game-turn,.game-card-info small,.section-heading>a,.hero-note,.feature-index,.discover-link,.auth-guest,.action-caption,.first-move-countdown,.home-menu .home-menu-note,.home-menu-head .eyebrow,.play-description{font-size:12px}@media (max-width:767px){.flow-shell .site-header{transition:transform .15s ease-out,box-shadow .15s;position:sticky;top:0}:root[data-header=hidden] .flow-shell .site-header{transform:translateY(-100%)}:root[data-scrolled] .flow-shell .site-header{box-shadow:0 1px 0 var(--border), 0 4px 14px #0000000f}.flow-shell .page{padding:16px 16px 24px}.flow-shell{min-height:100svh}}@media (max-width:767px) and (prefers-reduced-motion:reduce){.flow-shell .site-header{transition:none}}.error-page{gap:14px}.error-page .error-code{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.error-page .button-row{flex-wrap:wrap;justify-content:center}.not-found-mark{color:var(--primary);letter-spacing:-.04em;font:600 56px/1 Noto Serif KR Variable,serif}.club-list{gap:10px;margin-bottom:16px}.club-card{transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;gap:4px;display:flex}.club-card h2{font-size:17px;margin:0!important}.club-card p{color:var(--muted);font-size:14px;line-height:1.6}.club-card small{color:var(--muted);font-size:12px}@media (hover:hover){.club-card:hover{border-color:var(--primary);box-shadow:var(--shadow-2)}}.stack-form{flex-direction:column;gap:14px;display:flex}.stack-form>.button{align-self:flex-start;margin-top:0!important}.tournament-row,.recent-game-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;min-height:48px;padding:8px 0;display:flex}.tournament-row strong{font-weight:600}.tournament-row small,.recent-game-row .time-ago{color:var(--muted);font-size:12px}.study-list>:last-child.tournament-row,.study-list>:last-child.recent-game-row{border-bottom:0}@media (hover:hover){.tournament-row:hover strong,.recent-game-row:hover span{color:var(--primary)}}.pairing-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:4px 0;font-size:14px;display:flex}.table-scroll tr.me td{background:var(--tint);font-weight:600}.tournament-countdown{border-radius:var(--radius-md);background:var(--tint);color:var(--primary);flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 14px;padding:12px 16px;font-size:14px;display:flex}.tournament-countdown strong{font-variant-numeric:tabular-nums;font-size:20px}.learn-mistakes{margin-bottom:24px}.learn-mistakes p{color:var(--muted);margin-top:6px}.profile-page h1{margin-top:2px}.profile-page>p+p{margin-top:4px}.account-panel.skeleton-panel{gap:14px}
@media (min-width:768px) and (orientation:landscape) and (min-height:501px),(min-width:1024px) and (orientation:portrait){.game-shell .site-footer,.puzzle-shell .site-footer{display:none}.game-shell .page,.puzzle-shell .page{padding-top:12px;padding-bottom:12px}.game-shell .analysis-page{padding-bottom:0}.puzzle-shell{--puzzle-chrome:160px}.puzzle-heading{margin-bottom:10px}.page:has(>.study-heading) .analysis-page{--analysis-chrome:230px}.game-page:has(>.game-heading){grid-template-columns:minmax(0, var(--board-size)) var(--game-side,280px);grid-template-rows:var(--game-head,40px) minmax(0, auto);justify-content:center;align-items:start;gap:8px 26px;display:grid}.game-page>.game-grid{display:contents}.game-page>.game-heading{width:auto;max-width:none;height:var(--game-head,40px);grid-area:1/2;gap:2px;min-height:0;margin:0}.game-page>.game-heading .icon-button{width:36px;min-width:36px;height:36px}.game-page>.game-heading>.text-link{min-height:36px;padding-right:4px}.game-page>.game-heading .game-control-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-page>.game-heading .control-long{display:none}.game-page>.game-heading .control-short{display:inline}.game-page>.game-heading>.connection{gap:0;padding:0 4px;font-size:0}.game-page>.game-grid>.board-column{grid-area:1/1/span 2}.game-page>.game-grid>.game-sidebar{height:calc(var(--workspace-height,calc(100dvh - 100px)) - var(--game-head,40px) - 8px);grid-area:2/2}.game-page>.game-grid[data-status=finished]>.game-sidebar{max-height:none}.game-page .player-bar .clock:has(>small){flex-direction:row-reverse;align-items:center;gap:8px;display:flex}.game-page .player-bar .clock>small{white-space:normal;text-align:right;max-width:5.4em;margin:0;line-height:1.25}.game-page .player-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (min-width:1000px) and (orientation:landscape) and (min-height:501px),(min-width:1024px) and (orientation:portrait){.game-shell{--board-fit:calc((100svh - 206px) * .9 + 20px)}}@media (min-width:768px) and (max-width:999.98px) and (orientation:landscape) and (min-height:501px){.game-shell{--board-fit:calc((100svh - 214px) * .9 + 20px);--board-size:max(300px, var(--board-fit))}.puzzle-shell{--puzzle-chrome:168px}}@media (min-width:768px) and (orientation:landscape) and (min-height:501px) and (pointer:coarse),(min-width:1024px) and (orientation:portrait) and (pointer:coarse){.game-page{--game-head:44px}.game-page>.game-heading .icon-button{width:44px;min-width:44px;height:44px}.game-page>.game-heading>.text-link,.game-panel .game-actions>.button,.game-panel .game-complete-actions>.button,.game-panel-tabs>button,.puzzle-review-tabs>button{min-height:44px}.puzzle-tabs.compact a{align-items:center;min-height:44px;display:inline-flex}.puzzle-heading .icon-button{width:44px;min-width:44px;height:44px}}@media (min-width:1100px){.game-page{--game-side:300px}}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){.game-heading>.text-link:not(.inline){min-height:0}:is(.game-shell,.puzzle-shell) .board-column .coord.rank{margin-top:-4.3%}.game-shell:has(.game-grid[data-role=player][data-status=waiting]){--board-chrome:calc(var(--board-top) + var(--board-bar) * 2 + 198px)}.puzzle-stats>.icon-button{position:relative}.puzzle-stats>.icon-button:after{content:"";position:absolute;inset:-6px}}@media (max-width:767px) and (max-height:620px),(orientation:landscape) and (max-height:500.98px){:is(.game-shell,.puzzle-shell) .board-column .coord.file{margin-left:4.2%}}@media (max-width:767.98px),(max-width:1023.98px) and (orientation:portrait),(orientation:landscape) and (max-height:500.98px){:is(.game-shell,.puzzle-shell) .board-column .janggi-board.coords-inside .coord.file{margin-left:4.2%}}@media (min-width:768px) and (max-width:1023.98px) and (orientation:portrait),(min-width:768px) and (orientation:landscape) and (max-height:500.98px){:is(.game-shell,.puzzle-shell) .header-nav{display:none}:is(.game-shell,.puzzle-shell) .header-inner{padding-inline:16px}}@media (orientation:landscape) and (max-height:500.98px){.game-shell,.puzzle-shell{--land-head:40px;--land-gap:12px;--land-safe-l:env(safe-area-inset-left,0px);--land-safe-r:env(safe-area-inset-right,0px);--land-width:calc(100vw - var(--land-safe-l) - var(--land-safe-r));--land-board:min(calc(var(--land-width) - var(--land-gap) - 260px), calc((100dvh - var(--land-head) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 8px) * 9 / 9.2));--land-side:min(440px, calc(var(--land-width) - var(--land-board) - var(--land-gap) - 12px));--land-left:calc(var(--land-safe-l) + (var(--land-width) - var(--land-board) - var(--land-gap) - var(--land-side)) / 2);--land-dock-left:calc(var(--land-left) + var(--land-board) + var(--land-gap));--land-dock-right:calc(100vw - var(--land-dock-left) - var(--land-side));--board-width:var(--land-board);--popover-top:var(--land-head)}.game-shell{--board-top:44px;--board-bar:44px;--board-dock:57px}.puzzle-shell{--board-dock:57px}.game-shell:has(.game-heading){--land-head:0px}:is(.game-shell,.puzzle-shell) .header-inner{height:calc(var(--land-head) - 1px);padding-left:max(16px, var(--land-safe-l));padding-right:max(16px, var(--land-safe-r))}:is(.game-shell,.puzzle-shell) .brand img{width:30px;height:30px}:is(.game-shell,.puzzle-shell) .header-inner .brand{height:100%;min-height:0}:is(.game-shell,.puzzle-shell) .brand{font-size:19px}:is(.game-shell,.puzzle-shell) .header-actions .icon-button{width:40px;min-width:40px;height:38px}:is(.game-shell,.puzzle-shell) .board-with-eval{padding-left:0}:is(.game-shell,.puzzle-shell) .board-with-eval>.eval-bar{display:none}:is(.game-shell,.puzzle-shell) .board-column .janggi-board{margin-bottom:0}.game-page:has(>.game-heading){--land-dock-row:calc(var(--board-dock) + env(safe-area-inset-bottom));grid-template-columns:var(--land-board) var(--land-side);column-gap:var(--land-gap);grid-template-rows:calc(var(--board-top) + env(safe-area-inset-top)) var(--board-bar) minmax(0, 1fr) var(--board-bar) auto var(--land-dock-row);padding:0 var(--land-safe-r) 0 var(--land-safe-l);grid-template-areas:"board head""board top""board status""board bottom""board finish""board dock";justify-content:center;display:grid;overflow:hidden}.game-page:has(>.game-grid[data-role=spectator]:not([data-status=finished])){--land-dock-row:0px}.game-page:has(>.game-grid[data-role=player][data-status=waiting]){--land-dock-row:calc(198px + env(safe-area-inset-bottom))}.game-page:has(>.game-heading)>.game-grid{display:contents}.game-page:has(>.game-heading)>.game-grid>.board-column{display:contents}.game-page>.game-heading{grid-area:head;min-width:0;padding-left:0}.game-page>.game-heading>.connection{flex:none;gap:0;font-size:0}.game-page>.game-grid>.board-column>*{grid-area:board;align-self:center;min-width:0}.game-page>.game-grid>.board-column>.player-bar{grid-area:top;align-self:stretch;padding-left:6px}.game-page>.game-grid>.board-column>.player-bar~.player-bar{grid-area:bottom}.game-page>.game-grid>.board-column>.phone-status{grid-area:status;align-self:stretch}.game-page>.game-grid>.board-column>.finish-actions{border-top:0;grid-area:finish;align-self:stretch;padding-inline:0}.game-page>.game-grid>.board-column>.error{grid-area:status;align-self:start}.game-page .phone-status .move-strip,.game-page .phone-status-line{margin-inline:0;padding-inline:0}.game-page .game-grid .finish-actions .button{min-height:44px;font-size:14px}.game-shell .game-panel>.game-actions,.game-shell .game-grid[data-status=finished] .replay-controls,.game-shell .game-grid[data-role=player][data-status=waiting] .waiting-controls{left:var(--land-dock-left);right:var(--land-dock-right);padding-left:0;padding-right:0}.game-shell .game-panel>.draw-offer:has(.button-row){left:var(--land-dock-left);right:var(--land-dock-right);padding-left:0;padding-right:0}.game-shell .game-panel>.button{left:var(--land-dock-left);right:var(--land-dock-right)}.game-shell .game-panel>.game-status{padding:4px 1px 2px}.game-shell .game-panel>.game-status .eyebrow{display:none}.game-shell .game-grid[data-status] .game-sidebar{left:var(--land-dock-left);right:var(--land-dock-right);overscroll-behavior:contain;border-radius:0;align-self:stretch;height:auto;max-height:none;top:0;bottom:0;overflow-y:auto}.game-shell .round-network{left:var(--land-dock-left)}.puzzle-shell .puzzle-trainer{grid-template-columns:var(--land-board) var(--land-side);column-gap:var(--land-gap);padding:0 var(--land-safe-r) 0 var(--land-safe-l);grid-template-rows:auto minmax(0,1fr);justify-content:center;display:grid}.puzzle-shell .puzzle-trainer>*{grid-column:2;min-width:0}.puzzle-shell .puzzle-trainer>.puzzle-heading{grid-row:1;gap:8px;padding-inline:0}.puzzle-shell .puzzle-heading .puzzle-stats{gap:6px}.puzzle-shell .puzzle-heading .puzzle-stats .puzzle-settings-toggle{margin-right:0}.puzzle-shell .puzzle-heading .puzzle-stats>.player-settings,.puzzle-shell .puzzle-heading .puzzle-stats>.player-settings-toggle{display:none}.puzzle-shell .puzzle-trainer>.puzzle-workspace:not(.loading){display:contents}.puzzle-shell .puzzle-trainer>.puzzle-workspace.loading,.puzzle-shell .puzzle-board-wrap{grid-area:1/1/-1;align-self:center}.puzzle-shell .puzzle-guide{grid-area:2/2;min-height:0;padding:0}.puzzle-shell .puzzle-controls{margin-inline:0;padding-inline:0}.puzzle-shell .puzzle-trainer[data-settings=open] .puzzle-settings{left:var(--land-dock-left);right:var(--land-dock-right);border-radius:0;max-height:none;top:0}.game-shell:has(.analysis-page) .page{flex-direction:column;display:flex;overflow:clip}.analysis-page{min-height:0;padding:0 var(--land-safe-r,0px) 0 var(--land-safe-l,0px);flex-direction:column;flex:1;display:flex}.analysis-page .game-grid{flex:1;min-height:0}.analysis-page .game-grid .board-column{grid-template-columns:var(--land-board,min(55vw, calc((100dvh - 48px) * 9 / 9.2))) minmax(0, var(--land-side,440px));column-gap:var(--land-gap,12px);grid-template-rows:auto auto minmax(0,1fr) auto;place-content:start center;width:100%;height:100%;min-height:0;display:grid}.analysis-page .board-column>*{grid-column:2;min-width:0}.analysis-page .board-column>.board-with-eval{order:0;grid-area:1/1/-1;align-self:center}.analysis-page .board-column>.analysis-notice{grid-row:1}.analysis-page .board-column>.analysis-topline{grid-row:2;padding-inline:0}.analysis-page .board-column>.analysis-phone{order:0;grid-row:3;padding-inline:0;overflow-y:auto}.analysis-page .board-column>.analysis-mobile-controls{padding-bottom:env(safe-area-inset-bottom);order:0;grid-row:4}.game-shell .game-grid[data-role=spectator][data-status=waiting] .game-sidebar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.game-shell:has(.analysis-page) .game-sidebar{left:var(--land-dock-left);right:var(--land-dock-right);border-radius:0;align-self:stretch;height:auto;max-height:none;top:0;bottom:0}}@media (min-width:768px) and (max-width:1023.98px) and (orientation:portrait){.learn-run .lesson-stage.game-grid{grid-template-columns:minmax(0,min(100%,90dvh - 250px));justify-content:center}}@media (max-width:767px) and (orientation:landscape) and (max-height:500.98px){:root{--app-width:100%}:root:not(:has(.game-shell,.puzzle-shell)){--nav-height:54px}}@media (orientation:landscape) and (max-height:500.98px){:root{--header-h:48px}.app-shell:not(.game-shell,.puzzle-shell) .header-inner{height:47px}.flow-shell .site-header{position:relative}main:has(>.learn-run){padding-top:8px;padding-bottom:16px}main .learn-run{grid-template-columns:min(calc((100dvh - 84px - var(--nav-height,0px)) * .9 + 28px), 56vw) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr);align-items:start;column-gap:16px;display:grid}.learn-run>*{grid-column:2;min-width:0}.learn-run>.learn-run-head{grid-row:1}.learn-run>.lesson-stage.game-grid{display:contents}.learn-run>.lesson-stage>.board-column{grid-area:1/1/span 2;align-self:start;width:100%}.learn-run>.lesson-stage>:not(.board-column){grid-area:2/2;height:auto;max-height:none}.page:has(>.study-heading){--study-eval:20px;padding-top:8px}.page:has(>.study-heading):has(.board-with-eval.no-eval){--study-eval:0px}.page>.study-heading{border:0;flex-wrap:nowrap;min-height:0;margin:0 0 6px;padding:0}.page>.study-heading h1{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:18px;line-height:28px;overflow:hidden}.page>.study-heading>.muted{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:12px;overflow:hidden}.page:has(>.study-heading) .analysis-page .game-grid .board-column{grid-template-columns:min(55vw, calc((100dvh - var(--header-h,48px) - var(--nav-height,0px) - env(safe-area-inset-bottom) - 66px) * .9 + var(--study-eval))) minmax(0, 440px)}.page:has(>.study-heading) .analysis-page .board-column>.board-with-eval{align-self:start}}.game-sidebar .formation-options{container-type:inline-size}@container (max-width:367.98px){.formation-options .formation-pieces>span{width:30px;height:30px}.formation-options .formation-pieces>span:nth-child(3){margin-left:7px}}@container (max-width:303.98px){.formation-options .formation-pieces>span{width:24px;height:24px}.formation-options .formation-pieces>span:nth-child(3){margin-left:6px}}@container (max-width:253.98px){.formation-options .formation-pieces>span{width:20px;height:20px}.formation-options .formation-pieces>span:nth-child(3){margin-left:5px}}
