:root{--brand:#ec3c43;--on-brand:#fff;--bg:#fbfbfc;--surface:#f0f0f3;--surface-2:#e9e9ed;--surface-3:#e3e3e8;--brand-container:#e3e3e8;--on-brand-container:#1c1b1f;--brand-text:var(--brand-text-light,color-mix(in srgb, var(--brand) 88%, #000));--text:#1c1b1f;--text-2:#49454f;--text-3:#79747e;--outline:#c9c9ce;--success:#1f8a5a;--success-container:#d8f3e4;--warn:#b3261e;--shadow:none;--radius-xl:28px;--radius-lg:24px;--radius-md:20px;--radius-sm:14px;--radius-full:999px;--pad:14px;--gap:12px;--font:-apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", "Malgun Gothic", Roboto, "Segoe UI", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#17181b;--surface:#222327;--surface-2:#2b2c30;--surface-3:#36373b;--brand-container:#44454b;--on-brand-container:#e6e1e5;--brand-text:var(--brand-text-dark,color-mix(in srgb, var(--brand) 70%, #fff));--text:#e6e1e5;--text-2:#c9c5ca;--text-3:#938f99;--outline:#4a4b50;--success:#6fd4a0;--success-container:#173a2a;--warn:#ffb4ab;--shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17181b;--surface:#222327;--surface-2:#2b2c30;--surface-3:#36373b;--brand-container:#44454b;--on-brand-container:#e6e1e5;--brand-text:var(--brand-text-dark,color-mix(in srgb, var(--brand) 70%, #fff));--text:#e6e1e5;--text-2:#c9c5ca;--text-3:#938f99;--outline:#4a4b50;--success:#6fd4a0;--success-container:#173a2a;--warn:#ffb4ab;--shadow:none}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}svg{fill:currentColor;flex:none;width:20px;height:20px}:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 60%, transparent);outline-offset:2px}.browser{padding-bottom:env(safe-area-inset-bottom)}.pane-inner{padding:max(20px, env(safe-area-inset-top)) 16px 32px;flex-direction:column;gap:16px;max-width:760px;margin:0 auto;display:flex}@media (max-width:599px){.browser[data-view=courses] .pane-lectures,.browser[data-view=lectures] .pane-courses{display:none}}@media (min-width:600px){.browser{grid-template-rows:auto 1fr;grid-template-columns:minmax(300px,38%) 1fr;height:100dvh;display:grid}.banners{grid-area:1/1/auto/-1}.pane{overscroll-behavior:contain;grid-row:2;min-height:0;overflow-y:auto}.pane-courses{border-right:1px solid var(--outline)}.pane-lectures{background:var(--surface-2)}.pane-inner{padding-inline:24px}}.offline-banner,.mock-banner{text-align:center;padding:10px 16px;font-size:13px;font-weight:600}.banners{z-index:5;position:sticky;top:0}.offline-banner{background:var(--text);color:var(--bg);padding-top:max(10px, env(safe-area-inset-top))}.mock-banner{background:var(--brand-container);color:var(--on-brand-container)}.banners:empty{display:none}.notice-banner{background:var(--surface-2);min-height:44px;color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 6px 16px;font-size:13px;font-weight:600;display:flex}.notice-warn{background:color-mix(in srgb, var(--warn) 14%, var(--bg))}.notice-announce{color:#6b3a00;background:#fff6e8;justify-content:flex-start;font-weight:500}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .notice-announce{color:#ffd8a8;background:#3a2a14}}:root[data-theme=dark] .notice-announce{color:#ffd8a8;background:#3a2a14}.notice-info{background:var(--brand-container);color:var(--on-brand-container);justify-content:center}.banner-action{border-radius:var(--radius-full);min-width:44px;min-height:44px;color:var(--brand-text);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 14px;font-weight:700}.banner-action:disabled{color:var(--text-3)}.state-preparing{text-align:center;align-items:center;margin-top:24px}.pane-notice{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warn) 12%, var(--bg));color:var(--text);margin:12px 4px 0;padding:12px 14px;font-size:14px}.course-card.is-expired h3,.course-card.is-expired .meta{color:var(--text-3)}.course-card.is-expired .progress-fill{background:var(--text-3)}.greeting{align-items:flex-start;gap:12px;padding:8px 4px 0;display:flex}.greeting-text{flex:1;min-width:0}.account-button{background:var(--brand);width:44px;height:44px;color:var(--on-brand);cursor:pointer;border:0;border-radius:50%;flex:none;margin-top:2px;font-size:17px;font-weight:700}.account-button:active{transform:scale(.94)}.greeting-eyebrow{color:var(--brand-text);letter-spacing:.02em;font-size:13px;font-weight:700}.greeting h1{letter-spacing:-.02em;font-size:26px;font-weight:800;line-height:1.3}.search{border-radius:var(--radius-full);background:var(--surface-3);height:52px;color:var(--text-2);align-items:center;gap:10px;padding:0 18px;display:flex}.search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.search input::placeholder{color:var(--text-3)}.section-title{margin-top:8px;padding:0 4px;font-size:17px;font-weight:700}.continue-card{border-radius:var(--radius-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow);align-items:flex-end;gap:12px;padding:22px 20px 20px;display:flex;position:relative;overflow:hidden}.continue-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.continue-eyebrow{color:var(--brand-text);font-size:13px;font-weight:700}.continue-card h2{font-size:19px;font-weight:800;line-height:1.35}.continue-course,.continue-remaining{color:var(--text-2);font-size:13px}.continue-card .progress{margin-top:6px}.fab{z-index:1;background:var(--brand);width:60px;height:60px;color:var(--on-brand);cursor:pointer;border:0;border-radius:20px;flex:none;place-items:center;transition:transform .15s,border-radius .2s;display:grid;position:relative}.fab svg{width:28px;height:28px}.fab:active{border-radius:30px;transform:scale(.94)}.course-list,.lecture-list{gap:var(--gap);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.course-card{padding:var(--pad);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);border:2px solid #0000;gap:16px;transition:transform .15s,background .2s,border-color .2s;display:flex}.course-card:active{transform:scale(.985)}.course-card[aria-current=page]{border-color:var(--brand);background:var(--brand-container)}.thumb{border-radius:var(--radius-md);background:var(--brand-container);width:84px;height:84px;color:var(--on-brand-container);flex:none;place-items:center;font-size:28px;font-weight:800;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.course-card-body{flex-direction:column;flex:1;justify-content:center;gap:8px;min-width:0;display:flex}.course-card h3{font-size:16px;font-weight:700;line-height:1.35}.meta{color:var(--text-2);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.meta .urgent{color:var(--warn);font-weight:700}.progress{border-radius:var(--radius-full);background:var(--surface-3);height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--brand);height:100%;transition:width .4s}.lecture-header{align-items:flex-start;gap:8px;padding-top:4px;display:flex}.lecture-header h1{letter-spacing:-.01em;font-size:22px;font-weight:800;line-height:1.3}.lecture-header .meta{margin-top:4px}.icon-button{border-radius:var(--radius-full);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin:-6px 0 0 -8px;display:grid}.icon-button:active{background:var(--surface-3)}.icon-button svg{width:24px;height:24px}.lecture-row{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:auto 1fr;gap:12px 14px;padding:16px;display:grid}.lecture-row.is-disabled h3,.lecture-row.is-disabled .lecture-order,.lecture-row.is-disabled .lecture-meta{color:var(--text-3)}.lecture-order{background:var(--surface-3);width:36px;height:36px;color:var(--text-2);border-radius:12px;place-items:center;font-size:14px;font-weight:800;display:grid}.lecture-body{flex-direction:column;gap:8px;min-width:0;display:flex}.lecture-body h3{font-size:16px;font-weight:700;line-height:1.4}.lecture-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;display:flex}.lecture-actions{grid-column:1/-1;gap:8px;display:flex}.lecture-actions .button{flex:1}@media (min-width:900px){.lecture-row{grid-template-columns:auto 1fr auto;align-items:center}.lecture-actions{grid-column:auto}.lecture-actions .button{flex:none}}.chip{border-radius:8px;align-items:center;gap:2px;height:24px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.chip svg{width:14px;height:14px}.chip-neutral{background:var(--surface-3);color:var(--text-2)}.chip-brand{background:var(--surface-3);color:var(--brand-text)}.chip-success{background:var(--success-container);color:var(--success)}.button{border-radius:var(--radius-full);cursor:pointer;border:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 20px;font-size:15px;font-weight:700;transition:transform .12s,border-radius .2s,opacity .2s;display:inline-flex}.button:active:not(:disabled){border-radius:14px;transform:scale(.97)}.button:disabled{opacity:.45;cursor:default}.button-filled{background:var(--brand);color:var(--on-brand)}.button-tonal{background:var(--brand-container);color:var(--on-brand-container)}.button-play svg{color:var(--brand-text)}.button-outline{color:var(--text);box-shadow:inset 0 0 0 1px var(--outline);background:0 0}.state-card{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:10px;margin:24px 16px;padding:28px 24px;display:flex}.pane-inner .state-card{margin:0}.state-card h2{font-size:19px;font-weight:800}.state-card p{color:var(--text-2)}.state-card .button{margin-top:8px}.hint{font-size:13px}.hint a{color:var(--brand-text);font-weight:700}.empty,.empty-pane{text-align:center;color:var(--text-3);padding:32px 8px}.empty a{color:var(--brand-text);font-weight:700}.empty-pane{place-items:center;height:100%;display:grid}.skeleton-list{flex-direction:column;gap:12px;display:flex}.skeleton-card{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);background-size:200% 100%;height:112px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.snackbar{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:20;border-radius:var(--radius-sm);background:var(--text);max-width:calc(100vw - 32px);color:var(--bg);padding:14px 20px;font-size:14px;font-weight:600;animation:.2s ease-out snack-in;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #0003}@keyframes snack-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.page-center{place-items:center;min-height:100dvh;padding:16px;display:grid}.dev{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:24px 16px 48px;display:flex}.dev-badge{background:var(--surface-3);color:var(--text-2);border-radius:8px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:700}.dev h1{font-size:24px;font-weight:800}.dev-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:20px;display:flex}.dev-card h2{font-size:16px;font-weight:800}.dev-card p,.dev-card li{color:var(--text-2);font-size:14px}.dev-card ul{margin:0;padding-left:18px}.dev-row{flex-wrap:wrap;gap:8px;display:flex}.dev-field{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.dev-row .dev-field{flex:220px}.dev-field input{border-radius:var(--radius-sm);background:var(--surface-3);min-height:48px;color:var(--text);font:inherit;border:0;padding:0 14px;font-size:15px;font-weight:400}.dev-values{color:var(--text-2);grid-template-columns:max-content 1fr;gap:8px 14px;font-size:14px;display:grid}.dev-values dt{font-weight:700}.dev-values dd{min-width:0;margin:0}.dev select{border-radius:var(--radius-sm);background:var(--surface-3);width:100%;min-height:48px;color:var(--text);font:inherit;border:0;padding:0 14px;font-size:16px}.dev code,.dev-link{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.dev-link{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);padding:12px}.dev a.text-link{color:var(--brand-text);font-weight:700}.user-choice{flex-direction:column;gap:10px;display:flex}.user-choice .button{justify-content:flex-start;min-height:56px}.course-grid,.course-strip{margin:0;padding:0;list-style:none}.course-grid{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.course-tile,.course-square,.course-poster{flex-direction:column;gap:8px;height:100%;padding:0;overflow:hidden}.course-tile .course-card-body,.course-square .course-card-body{padding:0 calc(var(--pad) * .8) calc(var(--pad) * .8);justify-content:flex-start;gap:6px}.course-tile h3,.course-square h3,.course-poster h3{font-size:14px}.tile-thumb{position:relative}.tile-thumb .thumb,.course-square .thumb,.course-poster .thumb{border-radius:0;width:100%;height:auto}.course-tile .thumb{aspect-ratio:4/3}.course-square .thumb{aspect-ratio:1;border-radius:var(--radius-md)}.course-poster .thumb{aspect-ratio:3/4;border-radius:var(--radius-md)}.tile-tag{border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:2px 8px;font-size:12px;font-weight:600;position:absolute;bottom:8px;left:8px}.dash-summary{padding:var(--pad);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:16px;display:flex}.dash-ring{flex:none;width:92px;height:92px}.dash-ring circle{fill:none;stroke-width:10px}.ring-track{stroke:var(--surface-3)}.ring-fill{stroke:var(--brand);stroke-linecap:round}.dash-ring text{fill:var(--text);font-size:22px;font-weight:800}.dash-stats{text-align:center;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.dash-stats div{flex-direction:column-reverse;gap:2px;display:flex}.dash-stats dt{color:var(--text-2);font-size:12px}.dash-stats dd{margin:0;font-size:20px;font-weight:800}.dash-stats .is-urgent dd{color:var(--warn)}.dash-alert{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warn) 12%, var(--bg));color:var(--text);padding:12px 14px;font-size:14px}.dash-today ul{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);margin:8px 0 0;padding:0;list-style:none;overflow:hidden}.today-row{min-height:56px;padding:8px var(--pad);align-items:center;gap:12px;display:flex}.today-row+.today-row{border-top:1px solid var(--outline)}.today-play{background:var(--brand);width:36px;height:36px;color:var(--on-brand);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.today-play svg{width:18px;height:18px}.today-text{flex-direction:column;flex:1;min-width:0;display:flex}.today-title{font-size:14px;font-weight:600}.today-course,.today-len{color:var(--text-2);font-size:12px}.course-row{padding:10px var(--pad);gap:6px}.row-head{justify-content:space-between;gap:8px;display:flex}.row-head h3{font-size:15px}.row-pct{color:var(--text-2);font-size:13px;font-weight:700}.subject-tabs{border-bottom:1px solid var(--outline);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.subject-tabs::-webkit-scrollbar{display:none}.subject-tab{min-height:44px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;align-items:center;gap:4px;padding:0 10px;font-size:15px;display:flex}.subject-tab[aria-selected=true]{border-bottom-color:var(--brand);color:var(--text);font-weight:700}.subject-count{color:var(--text-3);font-size:12px}.layout-subjects .course-card{border:1px solid var(--outline)}.continue-hero{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.hero-media{position:relative}.hero-media .thumb{aspect-ratio:16/9;border-radius:0;width:100%;height:auto}.hero-play{background:color-mix(in srgb, var(--surface) 92%, transparent);width:60px;height:60px;color:var(--brand-text);cursor:pointer;border:0;border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.hero-play svg{width:26px;height:26px}.hero-bar{background:color-mix(in srgb, var(--text) 18%, transparent);height:4px;position:absolute;bottom:0;left:0;right:0}.hero-bar div{background:var(--brand);height:100%}.hero-body{padding:12px var(--pad) var(--pad);flex-direction:column;gap:2px;display:flex}.hero-body h2{font-size:17px;font-weight:800}.course-strip{gap:var(--gap);scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;display:flex;overflow-x:auto}.course-strip::-webkit-scrollbar{display:none}.course-strip li{scroll-snap-align:start;flex:none;width:140px}.layout-gallery .course-poster,.layout-gallery .course-square{box-shadow:none;background:0 0}.layout-gallery .course-square .course-card-body,.layout-gallery .course-poster .course-card-body{padding:0 2px}.gallery-recent{flex-direction:column;gap:8px;display:flex}.layout-kids .greeting h1{font-size:28px}.continue-kids{border-radius:var(--radius-xl);background:var(--brand);color:var(--on-brand);flex-direction:column;gap:12px;padding:22px;display:flex}.continue-kids .continue-eyebrow{color:inherit;font-size:15px}.continue-kids h2{font-size:24px;font-weight:800}.kids-start{border-radius:var(--radius-full);background:var(--on-brand);min-height:52px;color:var(--brand);font:inherit;cursor:pointer;border:0;align-self:flex-start;align-items:center;gap:8px;padding:0 24px;font-size:18px;font-weight:800;display:flex}.course-kids{border-radius:var(--radius-xl);align-items:center}.course-kids .thumb{width:72px;height:72px}.course-kids h3{font-size:19px}.stars{gap:4px;display:flex}.stars svg{width:24px;height:24px;fill:var(--surface);stroke:#d99a00;stroke-width:1.5px}.stars svg.on{fill:#ffc62b}.corp-summary{padding:var(--pad);border:1px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:10px;display:flex}.corp-summary-head{justify-content:space-between;font-size:14px;display:flex}.corp-segments{gap:4px;display:flex}.corp-segments span{background:var(--surface-3);border-radius:2px;flex:1;height:8px}.corp-segments span.on{background:var(--brand)}.corp-nearest{color:var(--text-2);font-size:13px}.list-table{border:1px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface);gap:0;overflow:hidden}.list-table li+li{border-top:1px solid var(--outline)}.course-corp{box-shadow:none;padding:12px var(--pad);background:0 0;border-radius:0;align-items:center}.course-corp h3{font-size:15px}.corp-state{border-radius:var(--radius-sm);flex:none;padding:4px 8px;font-size:12px;font-weight:700}.corp-done{background:var(--success-container);color:var(--success)}.corp-progress{background:color-mix(in srgb, var(--warn) 12%, var(--bg));color:var(--text)}.corp-todo{background:var(--surface-3);color:var(--text-2)}
