@font-face{font-family:NamuSansSubset;src:url(/fonts/NamuSansSubset.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{color-scheme:light;--font-body:"NamuSansSubset", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace, Consolas, monospace;--color-paper:#fafaf7;--color-paper-2:#f1f2ed;--color-paper-3:#e8e9e2;--color-card:#fff;--color-ink:#20231f;--color-ink-2:#3c423b;--color-muted:#62675f;--color-rule:#dedfd8;--color-accent:#2549df;--color-focus:#2549df;--color-stage:#e9edff;--color-stage-deep:#dce2ff;--color-forest:var(--color-accent);--color-forest-ink:#fff;--color-forest-light:var(--color-stage);--color-mint-deep:#2549df;--color-edge:#dedfd8;--color-clear:transparent;--color-success:#286242;--color-shadow:#20231f1a;--color-ink-on-cube:#171c21;--cube-U:#f3dc52;--cube-D:#fffefa;--cube-F:#51ad80;--cube-B:#4479ce;--cube-R:#e56652;--cube-L:#f0a353;--cube-line:#252c33;--container:1296px;--gutter:48px;--gap-columns:48px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:20px;--space-lg:28px;--space-xl:48px;--space-2xl:80px;--space-3xl:112px;--text-sm:.875rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-title:1.5rem;--text-lead:clamp(1.125rem, 1.2vw + .5rem, 1.3rem);--text-display:clamp(2.75rem, 4.5vw, 4.5rem);--text-section:clamp(1.75rem, 2.8vw, 2.5rem);--display-weight:720;--tracking-display:-.035em;--radius-input:8px;--radius-card:16px;--dur-micro:.15s;--dur-short:.22s;--ease-out:cubic-bezier(.16,1,.3,1);--z-modal:500}@media (width<=900px){:root{--gutter:28px;--gap-columns:28px}}@media (width<=600px){:root{--gutter:20px;--space-xl:32px;--space-2xl:56px;--space-3xl:80px}}*{box-sizing:border-box}html{scrollbar-color:var(--color-rule) var(--color-paper);scroll-padding-top:24px}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;word-break:keep-all;caret-color:var(--color-accent);margin:0;line-height:1.75}::selection{background:var(--color-stage-deep);color:var(--color-ink)}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--tracking-display);text-wrap:balance;margin:0;line-height:1.3}p{text-wrap:pretty;margin:0}button,input,select,textarea{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:var(--color-clear)}button{cursor:pointer}svg{flex-shrink:0;display:block}img{max-width:100%;height:auto}[hidden]{display:none!important}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.lead{font-size:var(--text-lead);color:var(--color-muted);line-height:1.75}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.skip-link{z-index:var(--z-modal);background:var(--color-card);padding:12px 20px;position:fixed;top:8px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--color-rule)}.navigation{justify-content:space-between;align-items:center;gap:24px;min-height:88px;display:flex}.wordmark{letter-spacing:-.04em;align-items:center;gap:12px;font-size:1.35rem;font-weight:760;text-decoration:none;display:inline-flex}.wordmark svg{color:var(--color-accent)}.nav-links{align-items:center;gap:28px;font-size:.9rem;display:flex}.nav-links a{white-space:nowrap;padding-block:14px;text-decoration:none}.nav-links a:hover,.nav-links a[aria-current]{color:var(--color-accent)}.language-link{border-left:1px solid var(--color-rule);padding-left:24px;font-weight:650}.button{border:1px solid var(--color-clear);border-radius:var(--radius-input);min-height:50px;color:var(--color-ink);transition:background var(--dur-micro),transform var(--dur-micro);justify-content:center;align-items:center;gap:14px;padding:12px 22px;font-size:1rem;font-weight:620;line-height:1.5;text-decoration:none;display:inline-flex}.primary{color:var(--color-forest-ink);background:var(--color-accent)}.primary:hover{background:var(--color-ink)}.secondary{background:var(--color-card);border-color:var(--color-rule)}.secondary:hover{background:var(--color-paper-2)}button:disabled{opacity:.45;cursor:not-allowed}button:active:not(:disabled),a.button:active{transform:translateY(1px)}.text-link{padding-block:12px;font-size:.94rem;font-weight:600}.text-link:hover{color:var(--color-accent)}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;display:flex}.course-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:64px 80px;display:grid}.course-intro h1{font-size:var(--text-display);line-height:1.23}.course-intro h1 span{color:var(--color-accent)}.course-intro .lead{max-width:35ch;margin-top:24px}.course-note{color:var(--color-muted);max-width:45ch;margin-top:20px;font-size:.875rem}.course-stage{background:var(--color-stage);border-radius:var(--radius-card);min-width:0;padding:24px}.stage-caption{border-top:1px solid var(--color-accent);color:var(--color-accent);justify-content:space-between;gap:16px;padding-top:16px;font-size:.8rem;display:flex}.cube-scene{perspective:900px;isolation:isolate;height:300px;position:relative}.cube-scene-large{height:350px}.cube-body{width:0;height:0;transform-style:preserve-3d;position:absolute;top:47%;left:50%;transform:rotateX(-24deg)rotateY(-32deg)}.cube-scene-large .cube-body{scale:1.22}.cube-sticker{border:3px solid var(--cube-line);backface-visibility:hidden;width:58px;height:58px;color:var(--color-ink-on-cube);border-radius:6px;place-items:center;display:grid;position:absolute;top:-29px;left:-29px}.color-U{background:var(--cube-U)}.color-D{background:var(--cube-D)}.color-F{background:var(--cube-F)}.color-B{background:var(--cube-B)}.color-R{background:var(--cube-R)}.color-L{background:var(--cube-L)}.center-letter{font-size:.875rem;font-weight:650}.cube-layer{transform-style:preserve-3d;position:absolute}.cube-shadow{background:var(--color-shadow);filter:blur(14px);border-radius:50%;width:180px;height:24px;position:absolute;bottom:20px;left:calc(50% - 90px)}.section-intro{padding-bottom:32px}.section-intro h2{font-size:var(--text-section)}.section-intro p{color:var(--color-muted);margin-top:12px}.chapter{border-top:1px solid var(--color-rule);grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:48px;padding-block:24px;display:grid}.chapter-heading{align-items:flex-start;gap:24px;padding-top:18px;display:flex}.chapter-heading h3{font-size:1.45rem}.chapter-heading p{color:var(--color-muted);max-width:26ch;margin-top:8px;font-size:.9rem}.layer-diagram{flex-shrink:0;gap:3px;padding-top:3px;display:flex}.layer-face,.layer-side{grid-template-columns:repeat(3,1fr);gap:2px;width:48px;display:grid}.layer-side{width:23px}.layer-tile{aspect-ratio:1;background:var(--color-paper-3);border-radius:1px}.layer-side .layer-tile{aspect-ratio:auto}.layer-face .tile-solved{background:var(--cube-F)}.layer-side .tile-solved{background:var(--cube-R)}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li+li{border-top:1px solid var(--color-rule)}.lesson-list a{border-radius:var(--radius-input);align-items:center;gap:20px;padding:20px 12px;text-decoration:none;display:flex}.lesson-list a:hover{background:var(--color-paper-2)}.lesson-number{color:var(--color-muted);font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:3px;font-size:.9rem}.lesson-list h4{letter-spacing:-.025em;font-size:1.1rem;line-height:1.5}.lesson-list p{color:var(--color-muted);margin-top:5px;font-size:.875rem}.lesson-open{margin-left:auto}.completed-label{color:var(--color-success);white-space:nowrap;margin-left:auto;font-size:.8rem}.course-help{border-top:1px solid var(--color-rule);grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:48px;margin-block:64px 96px;padding-top:40px;display:grid}.course-help h2{font-size:1.5rem}.course-help>div>p{color:var(--color-muted);margin-top:8px}.reference-links{flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px;font-size:.9rem;display:flex}.help-disclosure{border-bottom:1px solid var(--color-rule)}.help-disclosure summary{cursor:pointer;min-height:48px;padding-block:20px;font-size:1rem;font-weight:620}.help-disclosure summary:hover{color:var(--color-accent)}.help-disclosure:not([open])>:not(summary),.view-disclosure:not([open])>:not(summary){display:none}.help-disclosure>div{color:var(--color-ink-2);padding-bottom:20px;line-height:1.85}.help-disclosure p+p{margin-top:16px}.help-disclosure li+li{margin-top:8px}.completion-message{background:var(--color-stage);border-radius:var(--radius-card);margin-bottom:48px;padding:24px}.completion-message h2{margin-bottom:8px;font-size:1.5rem}.lesson-page{padding-top:24px;padding-bottom:80px}.lesson-topline{color:var(--color-muted);justify-content:space-between;align-items:center;gap:16px;font-size:.85rem;display:flex}.lesson-progress{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-block:24px 36px;display:grid}.lesson-progress a{border-bottom:2px solid var(--color-rule);color:var(--color-muted);align-items:center;gap:10px;min-height:48px;padding:10px;font-size:.78rem;text-decoration:none;display:flex}.lesson-progress a>span:first-child{font-variant-numeric:tabular-nums}.lesson-progress a[aria-current]{color:var(--color-accent);border-color:var(--color-accent);font-weight:700}.lesson-progress a:hover{background:var(--color-paper-2)}.lesson-heading h1{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.3}.lesson-heading{justify-content:space-between;align-items:center;gap:28px;display:flex}.goal-preview{text-align:center;flex-shrink:0;margin:0}.goal-preview figcaption{color:var(--color-muted);font-size:.75rem}.face-grid .goal-unimportant{background:var(--color-paper-3);border-color:var(--color-rule)}.lesson-heading p{color:var(--color-muted);margin-top:10px;font-size:1.15rem}.lesson-intro{max-width:70ch;color:var(--color-ink-2);margin-top:20px;margin-bottom:32px;font-size:1rem;line-height:1.85}.cross-setup{border-block:1px solid var(--color-rule);margin-bottom:32px;padding-block:4px 12px}.cross-setup>.text-link{font-size:.875rem;display:inline-block}.cross-start summary{cursor:pointer;min-height:48px;padding-block:12px;font-size:.95rem;font-weight:600}.cross-start:not([open])>ol{display:none}.cross-start ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;padding:0;list-style-position:inside;display:grid}.cross-start li::marker{color:var(--color-accent);font-weight:700}.cross-start li strong{font-size:1rem;font-weight:650}.cross-start li span{color:var(--color-muted);margin-top:8px;font-size:.875rem;display:block}.cross-start>a{margin-top:12px;font-size:.875rem;display:inline-block}.finish-note{background:var(--color-paper-2);border-radius:var(--radius-input);margin-block:24px 32px;padding:20px 24px}.finish-note strong{font-size:1rem;font-weight:650}.finish-note p{color:var(--color-ink-2);max-width:75ch;margin-top:8px;font-size:.9rem}.lesson-workspace{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.lesson-visual{background:var(--color-stage);border-radius:var(--radius-card);min-width:0;padding:24px}.viewer-label{color:var(--color-accent);justify-content:space-between;align-items:center;gap:16px;min-height:44px;font-size:.8rem;display:flex}.viewer-label .text-button{color:var(--color-accent);font-size:.8rem}.player-status{justify-content:space-between;gap:20px;min-height:3.5em;margin-block:12px 24px;display:flex}.player-status strong{font-size:1rem;font-weight:600;line-height:1.7}.player-status>span{color:var(--color-muted);white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:3px;font-size:.8rem}.player-controls{gap:8px;display:flex}.player-controls .primary{flex:1}.player-controls .button{padding-inline:16px}.player-controls .icon-control{flex-shrink:0;width:48px;padding-inline:0}.player-options{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:.85rem;display:flex}.text-button{background:var(--color-clear);min-height:44px;color:var(--color-ink-2);text-underline-offset:.3em;border:0;padding:8px 0;font-size:.85rem;text-decoration:underline}select{border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-card);min-height:46px;color:var(--color-ink);max-width:100%;padding:10px 32px 10px 12px}.view-disclosure{border-top:1px solid var(--color-stage-deep);margin-top:12px}.view-disclosure summary{cursor:pointer;min-height:44px;padding-block:12px;font-size:.85rem}.view-controls{flex-wrap:wrap;gap:8px;display:flex}.view-controls button{border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-card);min-height:44px;color:var(--color-ink);padding:8px 12px;font-size:.8rem}.view-controls button[aria-pressed=true]{background:var(--color-accent);color:var(--color-forest-ink);border-color:var(--color-accent)}.view-note{color:var(--color-muted);margin-top:12px;font-size:.8rem}.case-choice label{margin-bottom:12px;font-size:1.15rem;font-weight:650;display:block}.case-choice select{width:100%}.case-when{color:var(--color-muted);padding-block:16px 24px;font-size:.95rem}.hold-instruction{border-top:1px solid var(--color-rule);padding-block:24px}.hold-instruction h2{margin-bottom:12px;font-size:1.15rem}.hold-instruction p{font-size:1rem;line-height:1.85}.instruction-list{padding-left:24px;font-size:1rem;line-height:1.85}.instruction-list li{padding-left:4px}.algorithm{flex-wrap:wrap;gap:6px;padding-block:20px;display:flex}.algorithm span{background:var(--color-paper-2);min-width:34px;height:36px;font-size:.875rem;font-family:var(--font-mono);border-radius:4px;place-items:center;display:grid}.algorithm .move-current{background:var(--color-accent);color:var(--color-forest-ink)}.algorithm .move-done{color:var(--color-muted)}.case-after{color:var(--color-ink-2);padding-bottom:16px;font-size:.95rem}.completion-check{border-block:1px solid var(--color-rule);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:48px;padding-block:32px;display:grid}.completion-check h2{margin-bottom:10px;font-size:1.3rem}.completion-check p{font-size:.95rem}.small-note{color:var(--color-muted);margin-top:8px;font-size:.8rem!important}.goal-diagram{text-align:center}.goal-diagram>span{color:var(--color-muted);font-size:.75rem}.face-grid{grid-template-columns:repeat(3,25px);gap:2px;margin-bottom:8px;display:grid}.face-grid span{border:1px solid var(--cube-line);height:25px;color:var(--color-ink-on-cube);border-radius:2px;place-items:center;font-size:.65rem;display:grid}.lesson-help{margin-top:24px}.lesson-path{border-top:1px solid var(--color-rule);flex-wrap:wrap;gap:12px 24px;margin-top:40px;padding-top:24px;display:flex}.lesson-path a{color:var(--color-muted);align-items:center;gap:8px;padding-block:8px;font-size:.8rem;text-decoration:none;display:inline-flex}.lesson-path a[aria-current],.lesson-path a:hover{color:var(--color-accent)}.written-case{padding-block:20px}.written-case+.written-case{border-top:1px solid var(--color-rule)}.written-case h3{margin-bottom:12px;font-size:1.15rem}.written-case p{margin-bottom:12px}.notice{margin-top:20px;font-size:.875rem}.information-page{max-width:864px;padding-block:64px 96px}.information-page h1{font-size:var(--text-section)}.information-page>.lead{margin-top:24px}.information-page section{margin-block:40px}.information-page h2{margin-bottom:16px;font-size:1.4rem}.information-page .button{margin-top:20px}.source-links{padding-left:20px;line-height:2.2}.site-footer{border-top:1px solid var(--color-rule);padding-block:48px}.footer-inner{justify-content:space-between;align-items:center;gap:32px;display:flex}.footer-wordmark{font-size:1.15rem}.footer-inner p{color:var(--color-muted);margin-top:6px;font-size:.85rem}.footer-links{flex-wrap:wrap;gap:24px;font-size:.8rem;display:flex}.footer-links a{padding-block:10px;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-inner small{color:var(--color-muted);white-space:nowrap;font-size:.75rem}@media (width<=1000px){.course-hero{gap:32px}.cube-scene-large .cube-body{scale:1.02}.chapter,.course-help{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:28px}.chapter-heading{flex-direction:column;gap:16px}.chapter-heading p{max-width:none}.step-name{display:none}.lesson-progress a{justify-content:center}.lesson-workspace{gap:28px}.completion-check{grid-template-columns:auto minmax(0,1fr)}.completion-check>a{grid-column:2;justify-self:start}}@media (width<=680px){.navigation{gap:16px;min-height:72px}.wordmark{gap:8px;font-size:1.05rem}.wordmark svg{width:23px;height:23px}.nav-links{gap:16px;font-size:.8rem}.about-nav{display:none}.language-link{padding-left:16px}.course-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:40px 56px}.course-intro h1{font-size:clamp(2.6rem,9vw,3.4rem)}.course-intro .lead{max-width:32ch;margin-top:20px;font-size:1.06rem}.hero-actions{gap:12px;margin-top:24px}.course-note{font-size:.8rem}.course-stage{padding:20px}.cube-scene-large{height:280px}.cube-scene-large .cube-body{scale:1}.stage-caption{font-size:.7rem}.section-intro p{font-size:.9rem}.chapter{padding-block:24px 16px;display:block}.chapter-heading{flex-direction:row;gap:20px;padding-block:0 16px}.chapter-heading h3{font-size:1.3rem}.chapter-heading p{font-size:.8rem}.lesson-list a{gap:16px;padding:18px 4px}.lesson-list h4{font-size:1rem}.lesson-list p,.lesson-number{font-size:.8rem}.course-help{margin-block:40px 64px;padding-top:32px;display:block}.course-help>div+div{margin-top:24px}.lesson-page{padding-top:12px}.lesson-progress{gap:4px;margin-block:12px 24px}.lesson-progress a{padding:8px 4px;font-size:.85rem}.lesson-heading h1{font-size:1.8rem}.lesson-heading{align-items:flex-start;gap:16px}.goal-preview .face-grid{grid-template-columns:repeat(3,19px)}.goal-preview .face-grid span{height:19px}.lesson-heading p{font-size:1rem}.lesson-intro{margin-top:16px;margin-bottom:24px;font-size:.94rem}.cross-start ol{grid-template-columns:minmax(0,1fr);gap:16px}.cross-start li span{margin-top:4px}.lesson-workspace{flex-direction:column;gap:0;display:flex}.lesson-directions{display:contents}.case-choice{order:1;width:100%}.case-when{order:2;padding-bottom:20px}.hold-instruction{order:3;width:100%;padding-block:20px}.lesson-visual{order:4;width:100%;margin-bottom:16px;padding:18px}.move-list{order:5;width:100%}.algorithm{order:6}.case-after{order:7}.lesson-directions>.help-disclosure:not(.move-list){order:8;width:100%}.lesson-visual .cube-scene{height:260px}.lesson-visual .cube-body{scale:.9}.player-controls .button{padding-inline:10px;font-size:.85rem}.player-controls .icon-control{width:44px}.completion-check{gap:20px;margin-top:32px;padding-block:24px}.completion-check h2{font-size:1.15rem}.completion-check>a{grid-column:1/-1;justify-self:stretch}.footer-inner{flex-direction:column;align-items:flex-start;gap:24px}.footer-links{gap:20px}.information-page{padding-block:40px 64px}}
