@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-family-sans:"Geist", "SF Pro Display", "Helvetica Neue", system-ui, sans-serif;--font-family-mono:"Geist Mono", "SFMono-Regular", Menlo, monospace;font-family:var(--font-family-sans);color:#15171a;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;font-feature-settings:"cv01", "ss03";--surface-canvas:#f7f8fa;--surface-panel:#fff;--surface-elevated:#f0f2f5;--surface-stage:#fff;--surface-deep:#e6e9ee;--surface-control:#fff;--surface-control-hover:#eef0f4;--text-primary:#15171a;--text-secondary:#4b5563;--text-muted:#565e6d;--text-on-accent:#fff;--border-default:#0f172a26;--border-subtle:#0f172a17;--border-success:#147a4b73;--accent-primary:#5146e5;--accent-hover:#4338ca;--status-success:#147a4b;--status-warning:#8a5a00;--status-error:#c63845;--stage-text:#36383b;--cube-black:#111315;--cube-up:#f2c94c;--cube-down:#f4f0df;--cube-front:#27ae60;--cube-right:#f28b30;--cube-back:#3f7cff;--cube-left:#e84545;--font-display:clamp(1.75rem, 3.5vw, 3rem);--font-heading:1.125rem;--font-subheading:1rem;--font-body:.9375rem;--font-ui:.8125rem;--font-label:.75rem;--font-caption:.6875rem;--font-micro:.625rem;--font-tiny:.5625rem;--font-metric:clamp(var(--font-subheading), 2vw, 1.35rem);--line-body:1.55;--line-label:1.35;--line-ui:1.4;--weight-emphasis:590;--weight-ui:510;--tracking-display:-.035em;--tracking-label:.06em;--tracking-brand:.12em;--tracking-heading:-.015em;--tracking-metric:.09em;--tracking-progress:.04em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--radius-control:6px;--radius-card:10px;--radius-key:4px;--size-touch:44px;--size-brand-mark:22px;--size-key-small:22px;--size-keycap:26px;--size-key-column:max-content;--size-face-label-min:46px;--size-input:88px;--size-solution-strip:112px;--size-solution-move:64px;--size-solution-move-width:58px;--size-playback:72px;--size-stage-desktop:620px;--size-stage-tablet:520px;--size-stage-mobile:390px;--size-drill-stage:480px;--size-drill-stage-mobile:360px;--measure-copy:410px;--measure-copy-mobile:34rem;--measure-app:var(--measure-site,1180px);--measure-page-min:320px;--measure-face-label-mobile:34px;--measure-fallback:36rem;background:#f7f8fa}*{box-sizing:border-box}html{min-width:var(--measure-page-min);background:var(--surface-canvas);scroll-behavior:smooth}body{min-width:var(--measure-page-min);min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}button{color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.38}.brand{align-items:center;gap:var(--space-3);color:var(--text-primary);font-family:var(--font-family-mono);font-size:var(--font-label);font-weight:var(--weight-emphasis);letter-spacing:var(--tracking-brand);text-decoration:none;display:inline-flex}.brand-mark{width:var(--size-brand-mark);aspect-ratio:1;gap:calc(var(--space-1) / 2);grid-template-columns:repeat(2,1fr);display:grid;transform:rotate(45deg)}.brand-mark i{background:var(--text-primary);border-radius:1px;display:block}.brand-mark i:nth-child(2){background:var(--accent-primary)}[role=tablist]{gap:var(--space-1);margin-bottom:var(--space-3);padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-panel);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}[role=tablist] button{min-height:var(--size-touch);border-radius:var(--radius-control);color:var(--text-muted);font-size:var(--font-ui);font-weight:var(--weight-emphasis);cursor:pointer;background:0 0;border:0}[role=tablist] button[aria-selected=true]{background:var(--surface-elevated);color:var(--text-primary)}[role=tabpanel]{min-width:0}.stage{width:100%;height:var(--size-stage-desktop);min-height:var(--size-stage-desktop);position:relative;overflow:hidden}.stage canvas{touch-action:none;display:block}.stage-fallback{place-content:center;gap:var(--space-2);width:100%;height:100%;padding:var(--space-6);color:var(--stage-text);text-align:center;display:grid}.stage-fallback strong{font-size:var(--font-subheading)}.stage-fallback span{max-width:var(--measure-fallback);color:var(--stage-text);font-size:var(--font-ui);line-height:var(--line-body);word-break:keep-all;text-wrap:pretty}.stage-fallback .no-break{white-space:nowrap;text-wrap:nowrap}.stage-hint{right:var(--space-5);bottom:var(--space-4);color:var(--stage-text);font-size:var(--font-caption);pointer-events:none;margin:0;position:absolute}.button{min-height:var(--size-touch);padding:0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-secondary);font-size:var(--font-label);font-weight:var(--weight-emphasis);cursor:pointer;white-space:nowrap;transition:transform .12s ease-out,background-color .12s ease-out,color .12s ease-out}.button:hover:not(:disabled){background:var(--surface-control-hover);color:var(--text-primary)}.button:active:not(:disabled){transform:scale(.98)}.button.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-on-accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.quiet{min-height:var(--size-touch);color:var(--text-secondary);background:0 0;border-color:#0000;flex:1}.button.quiet:hover:not(:disabled){background:var(--surface-control-hover);color:var(--text-primary)}.button .media-icon{width:16px;height:16px}kbd{min-width:var(--size-keycap);height:var(--size-keycap);border:1px solid var(--border-default);border-radius:var(--radius-key);background:var(--surface-elevated);color:var(--text-secondary);font-family:var(--font-family-mono);font-size:var(--font-caption);box-shadow:0 2px 0 var(--surface-deep);place-items:center;display:inline-grid}@media (width<=980px){.stage{min-height:var(--size-stage-tablet);height:var(--size-stage-tablet)}}@media (width<=700px){.stage{min-height:var(--size-stage-mobile);height:47svh}.stage-hint{left:var(--space-4);right:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.notation-explorer{max-inline-size:var(--measure-article);padding-block:var(--space-8)}.site-section.notation-explorer{margin-left:max(var(--space-8), calc((100% - var(--measure-site)) / 2));margin-right:auto}[hidden]{display:none!important}.notation-explorer-entry,.notation-explorer-root{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-panel)}.notation-explorer-entry{padding:clamp(var(--space-5), 4vw, var(--space-8))}.notation-explorer-entry h2{letter-spacing:var(--tracking-heading);margin:0;font-size:clamp(1.25rem,2.4vw,1.6rem)}.notation-explorer-entry p,.notation-move-group p{color:var(--text-secondary)}.notation-explorer-entry>p{margin:var(--space-3) 0 var(--space-6)}.notation-explorer-entry>[data-notation-status]{margin:0}.notation-explorer-entry>[data-notation-status]:not(:empty){margin-top:var(--space-3)}.notation-explorer-root{margin-block-start:var(--space-5);overflow:clip}@media (width<=700px){.notation-explorer{padding-block:var(--space-6)}.notation-explorer-entry>.site-button{width:100%}}:root{--measure-site:1180px;--measure-article:720px;--measure-lead:680px;--size-site-header:68px;--size-site-header-stacked:116px;--size-case-band:56px;--surface-article:#fff;--surface-soft:#f0f2f5;--surface-header:#fffffff0;--surface-cube-shadow:#b9bec8;--border-accent:#5146e552;--shadow-stage:0 32px 80px #0f172a29}html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}html:lang(ko){--weight-emphasis:600}.skip-link{z-index:20;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--accent-primary);color:var(--text-on-accent);font-weight:var(--weight-emphasis);position:fixed;transform:translateY(-160%)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}html,body{max-width:100%;overflow-x:clip}body{flex-direction:column;display:flex}body>main{flex:1 0 auto}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.article-body :is(p,li) a:not([class]){color:var(--accent-hover);text-underline-offset:3px}.site-header{z-index:10;border-bottom:1px solid var(--border-subtle);background:var(--surface-header);width:100%;max-width:100%;position:relative;overflow-x:visible}.site-header-inner,.site-footer-inner{width:min(calc(100% - (2 * var(--space-8))), var(--measure-site));margin:0 auto}.site-header-inner{min-height:var(--size-site-header);box-sizing:border-box;justify-content:flex-start;align-items:center;gap:var(--space-5);grid-template-columns:auto auto auto minmax(0,1fr);min-width:0;max-width:100%;display:grid}.brand{min-height:var(--size-touch);margin-inline-end:auto}.site-nav,.site-footer nav{align-items:center;gap:var(--space-1);display:flex}.site-nav{flex-wrap:wrap;justify-content:flex-end;min-width:0}.site-menu{min-width:0}.site-menu>summary{display:none}.site-menu>summary::-webkit-details-marker{display:none}.site-menu>summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:20px;height:20px}.keymap-gear{width:var(--size-touch);height:var(--size-touch);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-secondary);cursor:pointer;place-items:center;padding:0;display:inline-grid}.keymap-gear:hover{background:var(--surface-elevated);color:var(--text-primary)}.keymap-gear svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:18px;height:18px}.keymap-dialog{width:min(calc(100% - (2 * var(--space-4))), 560px);max-height:min(720px, calc(100dvh - (2 * var(--space-6))));border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-panel);color:var(--text-primary);box-shadow:var(--shadow-stage);padding:0;overflow:auto}.keymap-dialog::backdrop{background:#0f172a5c}.language-switcher{padding-left:var(--space-4);border-left:1px solid var(--border-subtle);position:relative}.language-switcher summary{min-height:var(--size-touch);align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text-muted);font-size:var(--font-label);font-weight:var(--weight-ui);cursor:pointer;list-style:none;display:inline-flex}.language-switcher summary::-webkit-details-marker{display:none}.language-switcher summary .media-icon{width:14px;height:14px;transition:transform .14s ease-out}.language-switcher[open] summary .media-icon{transform:rotate(180deg)}.language-switcher summary:hover,.language-switcher[open] summary{background:var(--surface-elevated);color:var(--text-primary)}.language-switcher nav{z-index:30;top:calc(100% + var(--space-2));min-width:170px;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-article);box-shadow:var(--shadow-stage);display:grid;position:absolute;right:0}.language-switcher a{min-height:var(--size-touch);padding:0 var(--space-3);border-radius:var(--radius-key);color:var(--text-secondary);font-size:var(--font-ui);align-items:center;text-decoration:none;display:flex}.language-switcher a:hover,.language-switcher a[aria-current=page]{background:var(--surface-elevated);color:var(--text-primary)}.site-nav a,.site-footer a{min-height:var(--size-touch);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text-secondary);font-size:var(--font-ui);font-weight:var(--weight-ui);align-items:center;text-decoration:none;display:inline-flex}.site-nav a{white-space:nowrap}.site-nav a:hover,.site-footer a:hover,.site-nav a[aria-current=page]{background:var(--surface-elevated);color:var(--text-primary)}.nav-group{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.nav-group+.nav-group{margin-left:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--border-subtle)}.nav-group-label{padding-right:var(--space-1);color:var(--text-muted);font-size:var(--font-label);font-weight:var(--weight-ui);white-space:nowrap;display:none}.nav-group[data-current] .nav-group-label{color:var(--text-primary)}.site-section{width:min(calc(100% - (2 * var(--space-8))), var(--measure-site));padding:var(--space-7) 0;margin:0 auto}.hero{align-items:center;gap:var(--space-8);padding-top:var(--space-8);padding-bottom:var(--space-6);grid-template-columns:minmax(0,1fr) auto;display:grid}.hero h1,.article-hero h1,.cheat-sheet-hero h1{color:var(--text-primary);font-weight:var(--weight-emphasis);letter-spacing:var(--tracking-display);word-break:keep-all;text-wrap:balance;margin:0;line-height:1.12}.hero h1{max-width:min(18ch,100%);font-size:clamp(2rem,5vw,3.25rem)}.hero-lead,.article-lead{max-width:var(--measure-lead);margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:clamp(var(--font-body), 2vw, var(--font-subheading));text-wrap:pretty;line-height:1.7}.hero-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.hero .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero-entry.site-button.primary{gap:var(--space-2) var(--space-3);min-height:88px;padding:var(--space-4) var(--space-5);border-color:var(--border-accent);border-radius:var(--radius-card);background:var(--surface-article);color:var(--accent-hover);text-align:left;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) auto;align-content:stretch;justify-items:start;display:grid}.hero-entry.site-button.primary:hover{background:var(--surface-elevated);border-color:var(--accent-primary)}.hero-entry-category{color:var(--text-secondary);font-size:var(--font-label);font-weight:var(--weight-ui);grid-column:1/-1}.hero-entry strong{font-size:var(--font-subheading);word-break:keep-all;text-wrap:balance;align-self:center;line-height:1.4}.hero-entry .media-icon{align-self:center}.site-button{min-height:var(--size-touch);justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-primary);font-size:var(--font-ui);font-weight:var(--weight-emphasis);text-decoration:none;transition:transform .12s ease-out,background-color .12s ease-out;display:inline-flex}.site-button:hover{background:var(--surface-control-hover)}.site-button:active{transform:scale(.98)}.site-button.primary{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--text-on-accent)}.site-button.primary:hover{background:var(--accent-hover)}.site-button.quiet{color:var(--text-secondary);background:0 0;border-color:#0000}.site-button.quiet:hover{background:var(--surface-control-hover);color:var(--text-primary)}.site-button .media-icon{width:16px;height:16px}.section-heading{max-width:var(--measure-article);margin-bottom:var(--space-8)}.section-heading h2,.article-body h2,.guide-band h2,.catalog-group h2,.catalog-start h2{color:var(--text-primary);letter-spacing:var(--tracking-heading);text-wrap:balance;margin:0;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.2}.section-heading h2{font-weight:var(--weight-emphasis)}.section-heading p{margin:var(--space-3) 0 0;color:var(--text-secondary);line-height:var(--line-body)}.learning-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learning-card{padding:var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-article)}.learning-card h3{color:var(--text-primary);font-size:var(--font-heading);margin:0}.learning-card p{margin:var(--space-3) 0 var(--space-5);color:var(--text-secondary);line-height:var(--line-body)}.article-hero{padding-top:var(--space-8);padding-bottom:var(--space-6)}.article-hero h1,.cheat-sheet-hero h1{max-width:17ch;font-size:clamp(1.85rem,4vw,2.75rem)}.article-body,.tool-seo{max-width:var(--measure-article);margin-left:max(var(--space-8), calc((100% - var(--measure-site)) / 2))}.article-body{padding-top:0}.article-body section+section{margin-top:var(--space-10)}.article-body h3{margin:var(--space-6) 0 var(--space-2);font-size:var(--font-heading)}.article-hero.is-info{padding-bottom:var(--space-10)}.article-hero.is-info h1{max-width:var(--measure-article)}.article-body.is-info h2{font-size:1.375rem;font-weight:var(--weight-emphasis)}.article-body.is-info li+li{margin-top:var(--space-2)}.info-next{margin-top:var(--space-10)}.is-info p a:not([class]){margin-block:-13px;padding-block:13px;display:inline-block}.article-body p,.article-body li{color:var(--text-secondary);font-size:var(--font-body);text-wrap:pretty;line-height:1.75}.article-body ul,.article-body ol{padding-left:var(--space-6)}.article-body li+li{margin-top:var(--space-3)}.guide-internals{margin-top:var(--space-10);border-block:1px solid var(--border-subtle)}.guide-internals>summary{min-height:var(--size-touch);padding-block:var(--space-3);color:var(--text-secondary);font-weight:var(--weight-emphasis);cursor:pointer;line-height:20px}.guide-internals>summary:hover{color:var(--text-primary)}.guide-internals[open]{padding-bottom:var(--space-6)}.guide-internals>section{margin-top:var(--space-6)}.notation-table{border-collapse:collapse;width:100%;margin-top:var(--space-4)}.notation-table th,.notation-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);color:var(--text-secondary);text-align:left}.notation-table th{color:var(--text-primary);font-size:var(--font-label)}.notation-table code{color:var(--accent-hover);font-family:var(--font-family-mono)}.notation-hero+.notation-explorer,.notation-chapter-heading{margin-bottom:var(--space-6)}.notation-chapter-heading h2{font-weight:var(--weight-emphasis)}.notation-chapter-heading p{max-width:var(--measure-lead)}.notation-reference{margin-top:var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-article);overflow:clip}.notation-reference-block{padding:clamp(var(--space-5), 4vw, var(--space-7))}.notation-reference-block+.notation-reference-block{border-top:1px solid var(--border-subtle)}.notation-reference-block h3{margin:0 0 var(--space-3);font-size:var(--font-heading)}.notation-reference-block>:last-child{margin-bottom:0}.notation-reference-block ul{margin:0}.notation-reference-block .callout{margin-top:var(--space-5)}.notation-schemes{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.notation-scheme{padding:var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-article);flex-direction:column;display:flex}.notation-scheme-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.notation-scheme-heading h4{color:var(--text-primary);font-size:var(--font-heading);margin:0}.notation-scheme-tag{color:var(--accent-hover);font-family:var(--font-family-mono);font-size:var(--font-label);font-weight:var(--weight-emphasis)}.notation-scheme p{margin:var(--space-3) 0 var(--space-4)}.notation-scheme ul{margin:0 0 auto}.notation-chapter kbd{min-width:1.5em;padding:1px var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-key);background:var(--surface-elevated);color:var(--text-primary);font-family:var(--font-family-mono);text-align:center;border-bottom-width:2px;font-size:.85em;line-height:1.4;display:inline-block}.notation-chapter code{color:var(--accent-hover);font-family:var(--font-family-mono)}.tool-seo section:not(:last-child){margin-bottom:var(--space-10)}.tool-seo h2{margin:0 0 var(--space-4);font-size:clamp(1.35rem,3vw,1.85rem)}.tool-seo p,.tool-seo li{color:var(--text-secondary);font-size:var(--font-body);text-wrap:pretty;line-height:1.75}.tool-seo p+p{margin-top:var(--space-4)}.tool-seo ol{padding-left:var(--space-6)}.tool-seo li+li{margin-top:var(--space-3)}.tool-faq dt{color:var(--text-primary);font-weight:var(--weight-emphasis);line-height:var(--line-body)}.tool-faq dd{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-body);word-break:keep-all;text-wrap:pretty;line-height:1.75}.tool-faq dd+dt{margin-top:var(--space-5)}.case-detail>*+*{margin-top:var(--space-6)}.case-detail>:is(.case-alternatives,.case-tip){max-width:var(--measure-article)}.case-breadcrumb ol{gap:var(--space-2);font-size:var(--font-label);color:var(--text-secondary);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.case-breadcrumb li{align-items:center;gap:var(--space-2);display:flex}.case-breadcrumb li+li:before{content:"/";color:var(--text-secondary)}.case-breadcrumb a{min-height:var(--size-touch);margin:-14px calc(-1 * var(--space-2));padding-inline:var(--space-2);color:var(--text-secondary);align-items:center;text-decoration:none;display:inline-flex}.case-breadcrumb a:hover{color:var(--accent-hover);text-decoration:underline}.case-breadcrumb [aria-current=page]{color:var(--text-primary)}.page-breadcrumb{padding-top:var(--space-5);padding-bottom:var(--space-3)}.page-breadcrumb li{overflow-wrap:anywhere;min-width:0}.case-detail-pager{align-items:center;gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border-default);font-size:var(--font-ui);grid-template-columns:1fr auto 1fr;display:grid}.case-detail-pager a{min-height:var(--size-touch);color:var(--accent-hover);align-content:center;text-decoration:none;display:grid}.case-detail-next{text-align:right;justify-self:end}.case-detail-pager span{color:var(--text-secondary);font-size:var(--font-label)}.case-detail>.case-hero{margin-top:var(--space-4)}.case-hero{column-gap:var(--space-3);row-gap:var(--space-4);grid-template:"title fig""rec fig"1fr"answer answer""facts facts""stage stage""actions actions""setup setup"/minmax(0,1fr) auto;align-items:start;display:grid}.case-hero>h1{color:var(--text-primary);font-size:clamp(2rem,3vw,2.5rem);font-weight:var(--weight-emphasis);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere;grid-area:title;margin:0;line-height:1.12}.case-recognize{max-width:46ch;color:var(--text-secondary);font-size:var(--font-body);line-height:var(--line-body);text-wrap:pretty;grid-area:rec;margin:0}.case-hero>h1+.case-recognize{margin-top:calc(-1 * var(--space-2))}.case-hero>.top-view{grid-area:fig}.case-answer{align-items:flex-start;gap:var(--space-2);grid-area:answer;min-width:0;display:flex}.case-answer>.move-tokens{flex:0 auto;min-width:0}.case-answer>.case-copy{min-height:var(--size-touch);padding-inline:var(--space-3);border-color:var(--border-default);flex:none;margin-block:-4px}.case-fact{white-space:nowrap}.case-facts{color:var(--text-secondary);font-size:var(--font-ui);line-height:var(--line-body);grid-area:facts;margin:0}.case-hero>.case-stage{grid-area:stage}.case-actions{gap:var(--space-3);flex-wrap:wrap;grid-area:actions;display:flex}.case-actions>.case-practice{margin-top:0}.move-tokens:is(.is-lg,.is-md){gap:var(--space-1);flex-wrap:wrap;display:flex}.move-tokens.is-lg .move-token{min-width:34px;height:36px;padding:0 var(--space-1);font-size:var(--font-metric);font-weight:var(--weight-emphasis)}.move-tokens.is-md .move-token{min-width:30px;height:32px;font-size:var(--font-ui)}.move-token.is-auf{border-style:dashed;border-color:var(--text-muted);color:var(--text-muted)}.case-hero>.case-setup{grid-area:setup}.case-setup>summary{padding-block:var(--space-3);color:var(--text-secondary);font-size:var(--font-ui);cursor:pointer;line-height:20px}.case-setup .move-token{color:var(--text-secondary)}.case-alternatives h2{margin:0 0 var(--space-3);font-size:var(--font-heading)}.case-alt-note{margin:calc(-1 * var(--space-1)) 0 var(--space-3);color:var(--text-muted);font-size:var(--font-label);line-height:var(--line-label)}.case-alternatives ol{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.case-alternatives li{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.case-alt-play{flex:none;padding:0}.case-alt-same{color:var(--text-muted);font-size:var(--font-label)}.case-tip{color:var(--text-secondary);line-height:var(--line-body);margin-bottom:0}.case-facts a,.case-tip a{color:var(--accent-hover)}@media (width>=761px) and (width<=1023px){.case-hero>.case-stage{max-width:560px}.case-siblings-list[data-count="21"]{grid-template-columns:repeat(7,1fr)}}@media (width>=1024px){.case-hero{grid-template-rows:repeat(5,auto) 1fr;grid-template-columns:minmax(0,1fr) auto minmax(0,520px);grid-template-areas:"title fig stage""rec fig stage""answer answer stage""facts facts stage""actions actions stage""setup setup stage"}.case-hero>.case-stage{margin-inline-start:var(--space-5)}.case-siblings-list[data-count="21"]{grid-template-columns:repeat(11,1fr)}}.case-siblings-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.case-siblings-head h2{font-size:var(--font-heading);margin:0}.case-siblings-head p{color:var(--text-muted);font-size:var(--font-ui);margin:0}.case-siblings-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(64px,1fr));margin:0;padding:0;list-style:none;display:grid}.case-siblings-list a{justify-items:center;gap:var(--space-1);padding:var(--space-1) 0;border-radius:var(--radius-control);color:var(--text-secondary);font-family:var(--font-family-mono);font-size:var(--font-label);border:1px solid #0000;text-decoration:none;display:grid}.case-siblings-list a:hover{border-color:var(--border-accent)}.case-siblings-list a[aria-current=page]{border-color:var(--accent-primary);background:var(--surface-elevated);color:var(--text-primary)}.callout{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border-left:3px solid var(--accent-primary);background:var(--surface-soft)}.callout p{margin:0}.next-step{justify-content:space-between;align-items:center;gap:var(--space-5);margin-top:var(--space-10);padding:var(--space-6);border:1px solid var(--border-accent);border-radius:var(--radius-card);background:var(--surface-article);display:flex}.next-step p{color:var(--text-secondary);margin:0}.ad-slot{align-content:center;gap:var(--space-2);min-height:280px;margin-top:var(--space-10);border-top:1px solid var(--border-subtle);display:grid}.ad-slot>span{color:var(--text-muted);font-size:var(--font-tiny);letter-spacing:var(--tracking-label)}.site-footer{margin-top:var(--space-10);border-top:1px solid var(--border-subtle)}.site-footer-inner{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:104px;display:flex}.site-footer p{color:var(--text-muted);font-size:var(--font-ui);margin:0}.site-footer strong{color:var(--text-secondary)}.trainer-entry{grid-template-columns:minmax(0, var(--measure-lead)) 240px;justify-content:space-between;align-items:start;gap:var(--space-6) var(--space-10);padding-top:var(--space-8);padding-bottom:var(--space-6);display:grid}.entry-copy{min-width:0}.trainer-entry h1{max-width:20ch;color:var(--text-primary);font-size:clamp(2rem,4vw,3rem);font-weight:var(--weight-emphasis);letter-spacing:var(--tracking-display);word-break:keep-all;text-wrap:balance;margin:0;line-height:1.15}html:lang(ko) .trainer-entry h1{letter-spacing:-.01em;line-height:1.2}.entry-lead{max-width:var(--measure-lead);margin:var(--space-3) 0 var(--space-5);color:var(--text-secondary);font-size:clamp(var(--font-body), 2vw, var(--font-subheading));text-wrap:pretty;line-height:1.7}.entry-start{padding-inline:var(--space-6)}.trainer-entry-status{min-height:1.5em;margin:var(--space-4) 0 0;color:var(--text-muted);font-size:var(--font-ui)}.entry-preview{align-content:center;justify-items:center;gap:var(--space-4);width:240px;min-height:240px;padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-panel);cursor:pointer;display:grid}.entry-preview ul{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.entry-preview li{gap:var(--space-1);display:grid}.entry-preview span{color:var(--text-secondary);font-size:var(--font-label);font-weight:var(--weight-emphasis);line-height:var(--line-label)}.entry-stages{gap:var(--space-3) var(--space-6);grid-template-columns:repeat(2,72px)}.entry-stages li{justify-items:center}.entry-stages .top-view{--tv-size:72px}.entry-preview.is-cross .top-view{--tv-size:136px}.media-icon{width:1em;height:1em;display:block}.media-icon polygon,.media-icon rect{fill:currentColor}.media-icon path,.media-icon polyline,.media-icon line{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.learning-hero{padding-block:var(--space-6)}.learning-hero h1{max-width:16ch;color:var(--text-primary);font-size:clamp(2rem,4.5vw,3rem);font-weight:var(--weight-emphasis);letter-spacing:var(--tracking-display);text-wrap:balance;margin:0;line-height:1.15}.case-stage{grid-template-rows:auto var(--size-case-band);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-elevated);display:grid;position:relative;overflow:hidden}.case-view{aspect-ratio:4/3;position:relative}.case-view>img,.case-view [data-case-canvas]{width:100%;height:100%;position:absolute;inset:0}.case-view>img{z-index:2;object-fit:cover;pointer-events:none;transition:opacity .2s ease-out}.case-band{min-width:0;padding:0 var(--space-2);border-top:1px solid var(--border-subtle);background:var(--surface-panel);align-items:center;display:flex;container-type:inline-size}.case-start{z-index:3;padding:0 0 calc((var(--size-case-band) - var(--size-touch)) / 2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.case-stage[data-player-state=loading] .case-start{cursor:progress}.case-start-pill{min-height:var(--size-touch);align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-radius:var(--radius-control);background:var(--accent-primary);color:var(--text-on-accent);font-size:var(--font-ui);font-weight:var(--weight-emphasis);transition:transform .12s ease-out,background-color .12s ease-out;display:inline-flex}.case-start-pill .media-icon{width:16px;height:16px}.case-start:hover .case-start-pill{background:var(--accent-hover)}.case-start:active .case-start-pill{transform:scale(.98)}.case-start:focus-visible{outline:none}.case-start:focus-visible .case-start-pill{outline:2px solid var(--accent-primary);outline-offset:2px}.case-stage[data-player-state=error] .case-start{cursor:default}.case-stage[data-player-state=error] .case-start-pill{background:var(--surface-panel);color:var(--text-primary);border:1px solid var(--border-accent)}.case-stage canvas,.case-stage [data-case-canvas] div{touch-action:pan-y!important}@media (pointer:coarse){.notation-explorer-stage .stage canvas,.notation-explorer-stage .stage div{touch-action:pan-y!important}.input-row textarea{font-size:1rem}.case-stage .stage-hint{display:none}}.case-controls{flex:1;min-width:0}@container (width<=340px){.case-controls{margin-inline:calc(var(--space-1) - var(--space-2))}}.case-dock{grid-column:1/-1}.case-dock-panel{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-accent);border-radius:var(--radius-card);background:var(--surface-article);display:grid}.case-dock-head{align-items:center;gap:var(--space-3);display:flex}.case-dock-head h3{font-size:var(--font-heading);margin:0}.case-dock-head [data-case-dock-close]{flex:none;margin-inline-start:auto}.case-dock .case-stage{max-width:560px}.learning-levels{border-top:1px solid var(--border-default)}.learning-level{padding-block:var(--space-10);scroll-margin-top:var(--space-6)}.learning-level+.learning-level{border-top:1px solid var(--border-default)}.learning-level-heading{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1fr) auto;display:grid}.learning-level-headline{align-items:flex-start;gap:var(--space-4);min-width:0;display:flex}.learning-level-ordinal{border:1px solid var(--border-accent);width:46px;height:46px;color:var(--accent-hover);font-family:var(--font-family-mono);font-size:var(--font-subheading);font-weight:var(--weight-emphasis);border-radius:50%;flex:none;place-items:center;display:inline-grid}.learning-level-titles{min-width:0}.level-progress{padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-key);color:var(--status-success);white-space:nowrap;align-self:start}.learning-level-heading h3{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:var(--weight-emphasis);letter-spacing:var(--tracking-heading);margin:0;line-height:1.1}.learning-level-count{margin:var(--space-2) 0 0;color:var(--text-muted);font-family:var(--font-family-mono);font-size:var(--font-label);font-weight:var(--weight-ui);letter-spacing:var(--tracking-metric)}.learning-level-desc{margin:var(--space-2) 0 0;max-width:var(--measure-lead);color:var(--text-secondary);line-height:var(--line-body)}.learning-journey{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.journey-step{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-article);grid-template-columns:auto minmax(0,1fr);display:grid}.journey-number{border-radius:var(--radius-control);background:var(--surface-elevated);width:44px;height:44px;color:var(--accent-hover);font-family:var(--font-family-mono);font-weight:var(--weight-emphasis);place-items:center;display:grid}.journey-copy{gap:0 var(--space-6);min-width:0;display:grid}.journey-copy h3{font-size:var(--font-subheading);margin:0}.journey-copy h3 a{align-items:center;gap:var(--space-2);min-height:var(--size-touch);color:var(--text-primary);text-decoration:none;display:inline-flex}.journey-copy h3 a:hover{color:var(--accent-hover)}.journey-copy h3 .media-icon,.cheat-hub-sheet h2 .media-icon{width:16px;height:16px;color:var(--accent-hover);flex:none}.journey-links{gap:0 var(--space-5);flex-wrap:wrap;display:flex}.journey-links a{min-height:var(--size-touch);color:var(--accent-hover);font-size:var(--font-ui);font-weight:var(--weight-ui);align-items:center;text-decoration:none;display:inline-flex}.journey-links a:hover{text-underline-offset:3px;text-decoration:underline}@media (width>=761px){.journey-copy{flex-wrap:wrap;align-items:center;display:flex}}.learn-lane{max-width:var(--measure-article)}.learn-lane+.learn-lane{margin-top:var(--space-8)}.learn-lane h2,.learning-next h2{margin:0 0 var(--space-4);font-size:clamp(1.35rem,3vw,1.85rem)}.learn-lane-heading h2{margin:0}.learn-lane-heading{justify-content:space-between;align-items:center;gap:0 var(--space-5);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.learn-stage-tiles{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.learn-stage-tile{display:grid}@media (width>=761px){.learn-stage-tiles .home-stage-minis .top-view.is-mini{--tv-size:56px}}.case-done-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-key);color:var(--status-success);font-size:var(--font-micro);font-weight:var(--weight-emphasis);letter-spacing:var(--tracking-label);white-space:nowrap;display:inline-flex}.case-done-badge .media-icon{width:12px;height:12px}.move-tokens{display:inline}.move-token{min-width:26px;height:24px;padding:0 var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-key);background:var(--surface-control);color:var(--text-primary);font-family:var(--font-family-mono);font-size:var(--font-caption);font-weight:var(--weight-ui);box-shadow:0 1px 0 var(--surface-deep);place-items:center;margin-block:1px;display:inline-grid}.learning-next{padding-top:0}.learning-next-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.catalog-hero{padding-bottom:var(--space-4)}.catalog-hero h1{max-width:none}@media (width>=1141px){.catalog-hero{column-gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:start;display:grid}.catalog-hero>*{grid-column:1}.catalog-hero>.catalog-index{grid-area:1/2/span 3;align-self:end;margin:0}}.catalog-links{margin:var(--space-2) 0 0;column-gap:var(--space-4);font-size:var(--font-ui);flex-wrap:wrap;display:flex}.catalog-links a,.case-dock-head a,.case-siblings-head a,.cheat-sheet-practice{min-height:var(--size-touch);color:var(--accent-hover);font-size:var(--font-ui);align-items:center;text-decoration:none;display:inline-flex}.catalog-links a:hover,.case-dock-head a:hover,.case-siblings-head a:hover,.cheat-sheet-practice:hover,.case-detail-pager a:hover{text-decoration:underline}.guide-band{padding-top:0;padding-bottom:var(--space-5)}.guide-band-step{margin:var(--space-4) 0 var(--space-2);color:var(--text-secondary);font-size:var(--font-ui);font-weight:var(--weight-emphasis)}.guide-band>.site-button{margin-block:var(--space-5)}.catalog-groups{border-top:1px solid var(--border-subtle)}.catalog-start,.catalog-group{padding-block:var(--space-5)}.catalog-groups>*+*{border-top:1px solid var(--border-subtle)}.catalog-group h2,.catalog-start h2{margin:0 0 var(--space-3)}.guide-band h2{margin-bottom:var(--space-4)}.case-tile-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));grid-auto-flow:dense;margin:0;padding:0;list-style:none;display:grid}@media (width>=761px){.case-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1141px){.case-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.case-tile{--tv-size:96px;z-index:0;grid-template-columns:var(--tv-size) minmax(0, 1fr) auto;column-gap:var(--space-3);row-gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-article);grid-template-areas:"fig name play""fig meta play""fig alg alg";align-content:start;display:grid;position:relative}.case-tile:hover{border-color:var(--border-accent)}.case-tile[data-open]{border-color:var(--accent-primary)}.case-tile-figure{grid-area:fig;align-self:start}.case-tile-name{font-size:var(--font-heading);line-height:var(--line-ui);flex-direction:column;grid-area:name;align-self:center;align-items:flex-start;margin:0;display:flex}.case-tile-name a{color:var(--text-primary);text-decoration:none}.case-tile-name a:after{content:"";z-index:-1;position:absolute;inset:0}.case-tile-subname{font-size:var(--font-label);font-weight:var(--weight-ui);color:var(--text-secondary)}.case-tile-alg{font-family:var(--font-family-mono);font-size:var(--font-body);font-weight:var(--weight-ui);color:var(--text-primary);word-spacing:.1em;text-wrap:balance;grid-area:alg;line-height:1.5}.case-tile-meta{color:var(--text-muted);font-size:var(--font-label);line-height:var(--line-label);grid-area:meta;align-self:center;margin:0}.case-tile-badge{padding:0 var(--space-1);white-space:nowrap;border:1px solid var(--border-default);border-radius:var(--radius-key);color:var(--text-secondary);margin-inline-start:var(--space-2)}.case-tile-play{min-width:var(--size-touch);min-height:var(--size-touch);justify-content:center;place-self:start end;align-items:center;gap:var(--space-1);border:1px solid var(--border-accent);border-radius:var(--radius-control);background:var(--surface-control);color:var(--accent-primary);font-size:var(--font-label);font-weight:var(--weight-emphasis);grid-area:play;text-decoration:none;display:inline-flex}@media screen{.case-tile[data-cube]{grid-row:span 4;grid-template-rows:subgrid;grid-template-columns:var(--tv-size) var(--tv-size) minmax(0, 1fr);grid-template-areas:"fig cube name""fig cube meta""fig cube play""alg alg alg"}.case-tile[data-cube]>:is(.case-tile-name,.case-tile-meta,.case-tile-alg){align-self:start}.case-tile[data-cube]>.case-tile-play{place-self:end start}.case-tile[data-cube]>.case-tile-alg{margin-top:var(--space-1)}.case-tile[data-lesson=guide]{grid-row:span 6;grid-template-areas:"fig cube name""fig cube play""meta meta meta""alg alg alg"}.case-tile-grid{container-type:inline-size}@container (width<=300px){.case-tile[data-cube]{grid-template-areas:"fig cube play""name name name""meta meta meta""alg alg alg"}.case-tile[data-cube]>.case-tile-play{place-self:start end}}@container (width<=420px){.case-tile[data-lesson=guide]{grid-template-areas:"fig cube play""name name name""meta meta meta""alg alg alg"}.case-tile[data-lesson=guide]>.case-tile-play{place-self:start end}}}.case-tile[data-lesson]>.case-tile-name{font-size:var(--font-subheading);overflow-wrap:anywhere;hyphens:auto}.case-tile[data-lesson=guide]>.case-tile-meta{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-ui);line-height:var(--line-ui)}.case-tile-setup,.case-tile-cue{color:var(--text-muted);font-size:var(--font-label);line-height:var(--line-label);grid-column:1/-1;margin:0}.case-tile-setup>code{font-family:var(--font-family-mono);color:var(--text-secondary);margin-inline-start:var(--space-1)}.case-tile-cube{width:var(--tv-size);height:var(--tv-size);border-radius:var(--radius-control);background:var(--surface-elevated);grid-area:cube;align-self:start}.case-tile-cube>img{width:100%;height:100%;display:block}[data-tile-cube]{cursor:pointer}.stage-stepper{gap:var(--space-2);display:grid}.stage-stepper-steps{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.stage-stepper-steps a{min-height:var(--size-touch);padding:0 var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-secondary);font-size:var(--font-ui);align-items:center;text-decoration:none;display:inline-flex}.stage-stepper-steps a:hover{border-color:var(--border-accent);background:var(--surface-elevated);color:var(--text-primary)}.stage-stepper-steps a[aria-current=step]{border-color:var(--accent-primary);color:var(--text-primary);font-weight:var(--weight-emphasis)}.stage-stepper-links{align-items:center;gap:0 var(--space-2);color:var(--text-muted);font-size:var(--font-ui);flex-wrap:wrap;margin:0;display:flex}.stage-stepper-links a{min-height:var(--size-touch);color:var(--text-secondary);align-items:center;text-decoration:none;display:inline-flex}.stage-stepper-links a:hover{color:var(--accent-hover);text-decoration:underline}.stage-stepper-links a[aria-current]{color:var(--text-primary);font-weight:var(--weight-emphasis)}.top-view{width:var(--tv-size,96px);flex:none;height:auto;display:block}.top-view.is-mini{--tv-size:48px}.top-view.is-hero{--tv-size:88px}@media (width>=1024px){.top-view.is-hero{--tv-size:112px}}.top-view .tv-plate{fill:var(--cube-black)}.top-view .s-u{fill:var(--cube-up)}.top-view .s-d{fill:var(--cube-down)}.top-view .s-f{fill:var(--cube-front)}.top-view .s-r{fill:var(--cube-right)}.top-view .s-b{fill:var(--cube-back)}.top-view .s-l{fill:var(--cube-left)}.top-view .s-n{fill:var(--surface-cube-shadow)}.top-view .tv-arrow{fill:none;stroke:var(--cube-black);stroke-width:3px;stroke-linecap:round}.top-view .tv-head{fill:var(--cube-black)}.top-view .tv-slot{fill:none;stroke:var(--text-muted);stroke-width:1.5px;stroke-linejoin:round}.home-answer{--answer-view:112px;align-content:start;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-4) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-article);grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"cap cap cap""fig cube.""alg alg alg""play play play";margin:0;display:grid}.home-answer figcaption{color:var(--text-secondary);font-size:var(--font-label);font-weight:var(--weight-emphasis);grid-area:cap}.home-answer>.top-view{--tv-size:var(--answer-view);grid-area:fig}.home-answer-cube{width:var(--answer-view);aspect-ratio:1;border-radius:var(--radius-control);background:var(--surface-elevated);grid-area:cube;display:block;overflow:hidden}.home-answer-cube img{width:160%;max-width:none;height:auto;margin:-15% 0 0 -29.33%;display:block}@media (width>=1024px){.hero{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}.home-answer{--answer-view:128px}}.home-answer-alg{grid-area:alg}.home-answer-alg .move-tokens.is-md{grid-template-columns:repeat(7,max-content);display:grid}.home-answer-alg .move-tokens.is-md .move-token{min-width:30px;height:32px;font-size:var(--font-heading)}.home-answer-play{grid-area:play;justify-self:start}.site-section.home-path,.site-section.home-stages,.site-section.home-secondary{padding-block:var(--space-6)}:is(.home-path,.home-stages,.home-secondary) .section-heading{margin-bottom:var(--space-4)}.home-stage-tiles{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.home-stage-tile{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-article);color:var(--text-primary);text-decoration:none;display:grid}.home-stage-tile:hover{border-color:var(--border-accent)}.home-stage-minis{gap:var(--space-2);display:flex}@media (width>=820px){.home-stage-minis .top-view.is-mini{--tv-size:64px}}.home-stage-count{color:var(--text-muted);font-size:var(--font-ui)}.cheat-hub-tiles{margin-top:var(--space-6)}.cheat-hub-tile{padding:var(--space-4) var(--space-4) 0;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-article);align-content:start;display:grid}.cheat-hub-tile:has(>.cheat-hub-sheet:hover){border-color:var(--border-accent)}.cheat-hub-sheet{gap:var(--space-2);color:var(--text-primary);text-decoration:none;display:grid}.cheat-hub-sheet h2{align-items:center;gap:var(--space-2);font-size:var(--font-body);font-weight:var(--weight-emphasis);margin:0;line-height:1.4;display:flex}.cheat-hub-sheet:hover h2{color:var(--accent-hover)}.cheat-hub-tile>.home-link-secondary{font-size:var(--font-ui);justify-self:start}.learning-grid.is-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-grid.is-tools .learning-card{padding:var(--space-5);border-color:var(--border-subtle);background:var(--surface-article);flex-direction:column;display:flex}.learning-grid.is-tools .home-link-primary{align-self:flex-start;margin-top:auto}.learning-grid.is-tools .learning-card h3{font-size:var(--font-subheading);font-weight:var(--weight-emphasis)}.learning-grid.is-tools .learning-card p{margin:var(--space-2) 0 var(--space-4)}.home-link-primary,.home-link-secondary{min-height:var(--size-touch);align-items:center;text-decoration:none;display:inline-flex}.home-link-primary{gap:var(--space-1);color:var(--accent-hover);font-weight:var(--weight-emphasis)}.home-link-primary .media-icon{width:14px;height:14px;transition:transform .14s ease-out}.home-link-primary:hover{text-underline-offset:3px;text-decoration:underline}.home-link-primary:hover .media-icon{transform:translate(3px)}.home-link-secondary{gap:var(--space-1);color:var(--text-muted);font-weight:var(--weight-ui)}.home-link-secondary .media-icon{width:14px;height:14px}.home-link-secondary:hover{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.case-practice{margin-top:var(--space-4)}.catalog-index{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.catalog-index a{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-secondary);font-size:var(--font-ui);text-decoration:none;display:inline-flex}.catalog-index a:hover{border-color:var(--border-accent);color:var(--accent-hover);background:var(--surface-elevated)}.catalog-index span{color:var(--text-muted);font-family:var(--font-family-mono);font-size:var(--font-label)}.catalog-group h2{scroll-margin-top:var(--space-5)}.learning-lessons-intro{padding-bottom:var(--space-8)}.learning-lessons-intro .section-heading{margin-bottom:var(--space-6)}html:not([lang=ko]) main :where(h1,h2,h3,p,li,dd){word-break:normal}html[lang=ja] main :where(h1,h2,h3,p,li,dd),html[lang=zh-Hans] main :where(h1,h2,h3,p,li,dd){word-break:auto-phrase;overflow-wrap:normal;line-break:strict}@media (width<=1080px){:root{--size-site-header:var(--size-site-header-stacked)}.site-header{overflow:visible}.site-header-inner{gap:var(--space-2);padding-block:var(--space-2);grid-template-columns:minmax(0,1fr) auto auto}.brand{grid-area:1/1;min-width:0;margin-inline-end:0;overflow:hidden}.language-switcher{border-left:0;grid-area:1/2;justify-self:end;min-width:max-content;padding-left:0}.keymap-gear{min-width:var(--size-touch);grid-area:1/3;justify-self:end}.site-menu{grid-area:2/1/auto/-1;max-width:100%}.site-nav{justify-content:flex-start}.nav-group+.nav-group{border-left:0;margin-left:0;padding-left:0}}@media (width<=1080px) and (width>=761px){.learning-grid.is-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){:root{--size-site-header:64px}.site-header-inner,.site-footer-inner,.site-section{width:min(calc(100% - (2 * var(--space-4))), var(--measure-site))}.article-body,.tool-seo,.site-section.notation-explorer{margin-inline:auto}.site-header-inner{grid-template-rows:auto;grid-template-columns:minmax(44px,1fr) auto auto auto}.brand{grid-area:1/1}.brand-wordmark{display:none}.language-switcher{grid-area:1/2;justify-self:end}.keymap-gear{grid-area:1/3}.site-menu{grid-area:1/4}.site-menu>summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-control);width:44px;height:44px;color:var(--text-primary);cursor:pointer;place-items:center;padding:0;list-style:none;display:grid}.site-menu[open]>summary{background:var(--surface-elevated);border-color:var(--accent-primary)}.site-nav{gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border-default);background:var(--surface-article);box-shadow:var(--shadow-stage);justify-content:stretch;display:grid;position:absolute;inset:100% 0 auto}.nav-group{display:grid}.nav-group+.nav-group{padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.nav-group-label{padding:var(--space-1) var(--space-2);display:block}.site-nav a{min-height:44px;padding:var(--space-2);white-space:normal}.hero{gap:var(--space-5);grid-template-columns:1fr;min-height:auto}.hero-entry.site-button.primary{padding:var(--space-3)}.trainer-entry{gap:var(--space-3);grid-template-columns:minmax(0,1fr);min-height:auto}.entry-preview{width:auto;min-height:0;padding:var(--space-2) var(--space-4);grid-auto-flow:column;justify-content:start;align-items:center}.entry-preview li{align-items:center;gap:var(--space-2);grid-auto-flow:column}.entry-preview .entry-stages{gap:var(--space-2);grid-template-columns:repeat(4,auto)}.entry-stages .top-view{--tv-size:32px}.entry-preview.is-cross .top-view{--tv-size:40px}.entry-triggers li+li{display:none}.trainer-entry-status{margin-top:var(--space-1)}.site-section.tool-seo{padding-top:0}.journey-step{gap:var(--space-3);padding:var(--space-4)}.hero h1,.article-hero h1,.trainer-entry h1{overflow-wrap:anywhere;max-width:100%}.hero h1{font-size:clamp(1.85rem,8vw,2.5rem)}.trainer-entry h1{font-size:clamp(1.75rem,7vw,2.25rem)}.learning-grid,.home-stage-tiles,.learn-stage-tiles,.learning-grid.is-tools{grid-template-columns:minmax(0,1fr)}.next-step,.site-footer-inner{flex-direction:column;align-items:flex-start}.site-footer-inner{padding:var(--space-6) 0}.site-footer nav{flex-wrap:wrap}.notation-table{font-size:var(--font-ui)}.notation-table th,.notation-table td{padding:var(--space-3) var(--space-2)}.notation-schemes{grid-template-columns:minmax(0,1fr)}.stage-stepper-steps li{flex:auto}.stage-stepper-steps a{width:100%;padding:0 var(--space-2);justify-content:center}.learning-level-heading{grid-template-columns:minmax(0,1fr)}.learning-level-heading .level-progress{justify-self:start}.learning-level-ordinal{width:38px;height:38px;font-size:var(--font-ui)}.catalog-index{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);scroll-padding-inline:var(--space-4);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.catalog-index a{flex:none}.case-detail .case-breadcrumb li:nth-last-child(n+3){display:none}.case-detail .case-breadcrumb li:nth-last-child(2):before{content:none}.move-tokens.is-lg .move-token{min-width:30px;height:32px;font-size:var(--font-heading)}.case-siblings-list{scroll-snap-type:x proximity;padding-bottom:var(--space-2);grid-template-columns:none;grid-auto-columns:64px;grid-auto-flow:column;overflow-x:auto}.case-siblings-list li{scroll-snap-align:center}}@media (width<=359px){.entry-stages span{display:none}}.cheat-sheet-hero{margin-top:var(--space-6)}.cheat-sheet .cheat-sheet-hero h1{max-width:none}.cheat-sheet-actions{align-items:center;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.cheat-sheet>.case-tile-grid{margin-top:var(--space-6)}@media print{.site-header,.site-footer,.skip-link,.keymap-dialog,[data-stage-stepper],.case-tile-cube,.case-tile-play,.cheat-sheet-actions,.case-breadcrumb{display:none!important}main#main-content{padding:0}.cheat-sheet-hero{margin-top:0}.cheat-sheet>.case-tile-grid{margin-top:var(--space-4)}.case-tile-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.case-tile{column-gap:var(--space-2);padding:var(--space-2);break-inside:avoid;background:0 0;border-color:#ccc;grid-template-columns:18mm minmax(0,1fr);grid-template-areas:"fig name""fig meta""fig alg"}.case-tile a{color:inherit;text-decoration:none}.top-view{width:18mm}.move-token{background:0 0;border-color:#ccc}}
