:root{--font:"Figtree", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--display:"Sora", "Figtree", sans-serif;--bg:#eef2f7;--bg-accent:#2563eb1a;--bg-mist:#0d948814;--surface:#fff;--border:#d4dce8;--border-strong:#9aa8bc;--text:#0f172a;--muted:#475569;--faint:#64748b;--brand:#2563eb;--brand-strong:#1d4ed8;--brand-fg:#eff6ff;--header-bg:#1e3a5f;--header-text:#fff;--header-h:64px;--sticky-bar-h:3rem;--chip-track:#e2e8f0;--accent:#0d9488;--accent-fg:#ecfdf5;--math:#2563eb;--math-bg:#2563eb1a;--science:#059669;--science-bg:#0596691a;--english:#7c3aed;--english-bg:#7c3aed1a;--korean:#d97706;--korean-bg:#d977061a;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f}:root[data-theme=dark]{--bg:#0b1120;--bg-accent:#60a5fa1f;--bg-mist:#2dd4bf14;--surface:#151d2e;--border:#2a3548;--border-strong:#4a5568;--text:#f1f5f9;--muted:#94a3b8;--faint:#64748b;--brand:#60a5fa;--brand-strong:#93c5fd;--brand-fg:#0f172a;--header-bg:#0f2744;--header-text:#e2e8f0;--chip-track:#1c2538;--math-bg:#60a5fa24;--science-bg:#34d3991f;--english-bg:#a78bfa1f;--korean-bg:#fbbf241f;--shadow:0 1px 2px #0000004d, 0 10px 28px #00000059}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:17px}html,body,#root{min-height:100dvh;margin:0;padding:0}body{color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse 80% 45% at 0% -5%, var(--bg-accent), transparent 55%), radial-gradient(ellipse 55% 35% at 100% 0%, var(--bg-mist), transparent 50%), var(--bg);background-attachment:fixed;font-size:1rem}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:inherit}.app{flex-direction:column;min-width:0;min-height:100dvh;display:flex;overflow-x:clip}.header{z-index:20;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));background:var(--header-bg);color:var(--header-text);border-bottom:1px solid #ffffff14;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0000001f}.headerInner{align-items:center;width:min(920px,100%);margin:0 auto;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brandMark{background:#ffffff1f;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.title{font-family:var(--display);margin:0;font-size:clamp(1.55rem,3vw,1.95rem);font-weight:650;line-height:1.15}.subtitle{opacity:.78;margin:2px 0 0;font-size:.75rem}.wrap{width:min(920px,100% - 2rem);padding:12px 0 max(.5rem, env(safe-area-inset-bottom));flex:1;margin:0 auto}.stickyBar{top:calc(var(--header-h) + env(safe-area-inset-top,0px));z-index:15;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky}.stickyInner{width:min(920px,100%);padding:8px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));margin:0 auto}.tabStrip{background:var(--chip-track);border:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;border-radius:12px;align-items:stretch;gap:2px;width:100%;min-width:0;padding:3px;display:flex;overflow-x:auto}.tabStrip::-webkit-scrollbar{display:none}.tabStripSeg{min-width:2.75rem;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1 1 0;padding:.42rem .35rem;font-size:.82rem;font-weight:600;line-height:1.2;transition:background .15s,color .15s,opacity .15s}.tabStripSeg:hover:not([aria-pressed=true]){color:var(--text)}.tabStripSeg[aria-pressed=true]{background:var(--brand);color:#fff;font-weight:650;box-shadow:0 1px 3px #0f172a1f}.tabStrip:has([aria-pressed=true]) .tabStripSeg:not([aria-pressed=true]){opacity:.62}.meta{color:var(--muted);margin:0 0 16px;font-size:.95rem}.viewContent{min-height:calc(100dvh - var(--header-h) - var(--sticky-bar-h) - 4rem)}.section{margin-bottom:28px}.sectionTitle{font-family:var(--display);margin:0 0 12px;font-size:1.15rem;font-weight:650}.lead{color:var(--muted);margin:0;font-size:.98rem;line-height:1.55}.mutedText{color:var(--faint);margin:8px 0 0;font-size:.82rem;line-height:1.5}.callout{margin:0;font-size:.98rem;line-height:1.55}.noteText{color:var(--faint);margin:10px 0 0;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.card+.card{margin-top:10px}.cardTitle{margin:0 0 8px;font-size:.98rem;font-weight:650}.card--brand{border-color:color-mix(in srgb, var(--brand) 35%, var(--border));background:linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--brand) 6%, var(--surface)))}.card--math{border-color:color-mix(in srgb, var(--math) 35%, var(--border));background:linear-gradient(135deg, var(--surface), var(--math-bg))}.card--science{border-color:color-mix(in srgb, var(--science) 35%, var(--border));background:linear-gradient(135deg, var(--surface), var(--science-bg))}.card--english{border-color:color-mix(in srgb, var(--english) 35%, var(--border));background:linear-gradient(135deg, var(--surface), var(--english-bg))}.card--korean{border-color:color-mix(in srgb, var(--korean) 35%, var(--border));background:linear-gradient(135deg, var(--surface), var(--korean-bg))}.card--accent{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--accent) 8%, var(--surface)))}.summaryGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.profileGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px;display:grid}.profileItem{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.profileLabel{color:var(--faint);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.profileValue{font-size:.9rem;font-weight:600;line-height:1.35}.profileValue--accent{color:var(--brand)}.badge{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:650;line-height:1.2;display:inline-flex}.badge--brand{background:var(--brand);color:#fff}.badge--math{background:var(--math);color:#fff}.badge--science{background:var(--science);color:#fff}.badge--english{background:var(--english);color:#fff}.badge--korean{background:var(--korean);color:#fff}.badge--accent{background:var(--accent);color:#fff}.badge--muted{background:var(--border);color:var(--muted)}.trackRow{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.trackChip{border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:4px;padding:12px;font-size:.82rem;display:flex}.trackChip strong{font-size:.9rem}.trackChip--math{background:var(--math-bg);border-color:color-mix(in srgb, var(--math) 30%, var(--border))}.trackChip--science{background:var(--science-bg);border-color:color-mix(in srgb, var(--science) 30%, var(--border))}.trackChip--korean{background:var(--korean-bg);border-color:color-mix(in srgb, var(--korean) 30%, var(--border))}.bulletList,.checkList,.scheduleItems,.vsList{margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.55}.checkList{padding-left:0;list-style:none}.checkList li{margin-bottom:8px;padding-left:1.4rem;position:relative}.checkList li:before{content:"✓";color:var(--science);font-weight:700;position:absolute;left:0}.flowSteps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.flowSteps li{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.45;display:flex}.flowNum{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:1.5rem;height:1.5rem;font-size:.72rem;font-weight:700;display:grid}.compareGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.badExample{color:#dc2626;margin:0;font-size:.9rem}:root[data-theme=dark] .badExample{color:#f87171}.checkGrid{gap:10px;display:grid}.checkItem{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.checkItem strong{margin-bottom:2px;font-size:.9rem;display:block}.numberedList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.numberedList li{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.45;display:flex}.num{background:var(--border);width:1.4rem;height:1.4rem;color:var(--text);border-radius:6px;flex-shrink:0;place-items:center;font-size:.72rem;font-weight:700;display:grid}.totalBar{background:var(--brand);color:#fff;border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 14px;font-size:.9rem;display:flex}.totalBar strong{font-size:1.05rem}.scheduleGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.scheduleHead{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.scheduleHead .cardTitle{margin:0}.scheduleItems li{margin-bottom:4px}.ratioBar{border-radius:var(--radius-sm);border:1px solid var(--border);min-height:56px;display:flex;overflow:hidden}.ratioSegment{flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px;font-size:.72rem;display:flex}.ratioSegment strong{font-size:.82rem}.ratioSegment--lecture{background:color-mix(in srgb, var(--math) 20%, var(--surface))}.ratioSegment--practice{background:color-mix(in srgb, var(--science) 25%, var(--surface))}.ratioSegment--deep{background:color-mix(in srgb, var(--korean) 20%, var(--surface))}.exampleFlow{margin-top:10px}.weekGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.weekCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.weekCard--highlight{border-color:var(--math);box-shadow:0 0 0 1px color-mix(in srgb, var(--math) 25%, transparent)}.weekDay{color:var(--brand);margin-bottom:4px;font-size:.72rem;font-weight:700}.weekCard h3{margin:0 0 6px;font-size:.98rem}.weekCard p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.subjectHead{margin-bottom:10px}.avoidText{color:var(--faint);margin:10px 0 0;font-size:.82rem}.tableWrap{margin:10px 0;overflow-x:auto}.dataTable{border-collapse:collapse;width:100%;font-size:.86rem}.dataTable th,.dataTable td{border:1px solid var(--border);text-align:left;padding:8px 10px}.dataTable th{background:color-mix(in srgb, var(--border) 40%, var(--surface));font-size:.74rem;font-weight:650}.vsList{padding-left:1rem}.courseGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px;display:grid}.courseCard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.courseTop{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.courseTop h3{margin:0 0 4px;font-size:.98rem}.courseName{color:var(--muted);margin:0 0 8px;font-size:.86rem;line-height:1.4}.courseMeta{margin:0;font-size:.8rem}.courseMeta dt{color:var(--faint);font-size:.72rem;font-weight:650}.courseMeta dd{margin:2px 0 0}.levelStars{letter-spacing:1px;font-size:.82rem}.star{color:var(--border-strong)}.star--on{color:#f59e0b}.timeline{flex-direction:column;display:flex}.timelineItem{gap:14px;display:flex}.timelineMarker{flex-direction:column;flex-shrink:0;align-items:center;width:16px;display:flex}.timelineDot{background:var(--brand);border:2px solid var(--surface);width:12px;height:12px;box-shadow:0 0 0 2px var(--brand);border-radius:50%;flex-shrink:0}.timelineLine{background:var(--border);flex:1;width:2px;min-height:24px}.timelineBody{flex:1;min-width:0;padding-bottom:24px}.timelineHead{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.timelineHead time{color:var(--brand);font-size:.82rem;font-weight:650}.milestone{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0 0 10px;padding:8px 10px;font-size:.86rem}.timelineSubjects{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.timelineSubjects ul{margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.5}@media (width<=480px){.wrap{width:calc(100% - 1.25rem)}.title{font-size:1.35rem}}
