*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-soft: #eef2ff;--color-accent-pink: #ec4899;--color-accent-teal: #14b8a6;--color-accent-amber: #f59e0b;--color-accent-violet: #8b5cf6;--color-bg: #fafaf9;--color-bg-soft: #f5f5f4;--color-surface: #ffffff;--color-surface-hover: #f8fafc;--color-text: #0c0a09;--color-text-secondary: #57534e;--color-text-tertiary: #a8a29e;--color-border: #e7e5e4;--color-border-strong: #d6d3d1;--shadow-sm: 0 1px 2px rgba(12, 10, 9, .04), 0 1px 3px rgba(12, 10, 9, .03);--shadow-md: 0 2px 4px rgba(12, 10, 9, .04), 0 6px 16px rgba(12, 10, 9, .06);--shadow-lg: 0 6px 12px rgba(12, 10, 9, .06), 0 20px 32px rgba(12, 10, 9, .08);--shadow-glow: 0 8px 32px rgba(99, 102, 241, .18);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", system-ui, sans-serif;--font-display: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--max-width: 1040px;--ease: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-soft: #1e1b4b;--color-bg: #0a0a0a;--color-bg-soft: #141414;--color-surface: #171717;--color-surface-hover: #1f1f1f;--color-text: #fafaf9;--color-text-secondary: #a8a29e;--color-text-tertiary: #57534e;--color-border: #262626;--color-border-strong: #3f3f3f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4), 0 6px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 6px 12px rgba(0, 0, 0, .5), 0 20px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 8px 32px rgba(129, 140, 248, .25)}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;font-feature-settings:"ss01","ss02","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;transition:background .3s var(--ease),color .3s var(--ease)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(60rem 40rem at 10% -10%,rgba(99,102,241,.08),transparent 60%),radial-gradient(45rem 35rem at 110% 10%,rgba(236,72,153,.06),transparent 55%),radial-gradient(50rem 40rem at 50% 110%,rgba(20,184,166,.05),transparent 60%)}:root[data-theme=dark] body:before{background:radial-gradient(60rem 40rem at 10% -10%,rgba(129,140,248,.1),transparent 60%),radial-gradient(45rem 35rem at 110% 10%,rgba(236,72,153,.08),transparent 55%),radial-gradient(50rem 40rem at 50% 110%,rgba(20,184,166,.06),transparent 60%)}a{color:inherit;text-decoration:none}::selection{background:var(--color-primary-soft);color:var(--color-primary)}.header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-surface) 75%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--color-border);padding:0 1.25rem}.header-content{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem;white-space:nowrap}.logo{font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-pink) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;flex-shrink:0}.nav{display:flex;gap:.25rem;align-items:center}.nav a{font-size:.9375rem;font-weight:500;padding:.5rem .875rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:background .15s var(--ease),color .15s var(--ease)}.nav a:hover{background:var(--color-bg-soft);color:var(--color-text)}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.theme-toggle{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;font-size:1rem;transition:all .2s var(--ease);color:var(--color-text-secondary)}.theme-toggle:hover{background:var(--color-bg-soft);border-color:var(--color-border-strong);color:var(--color-text);transform:rotate(15deg)}.language-switcher{display:inline-flex;padding:3px;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-pill);flex-shrink:0}.language-switcher button{padding:.3rem .75rem;border:none;border-radius:var(--radius-pill);background:transparent;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);font-family:inherit;transition:all .2s var(--ease)}.language-switcher button:hover:not(:disabled){color:var(--color-text)}.language-switcher button:disabled{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:default;font-weight:600}@media(max-width:520px){.header{padding:0 .875rem}.header-content{gap:.5rem;height:58px}.logo{font-size:1.125rem}.nav{gap:0}.nav a{font-size:.8125rem;padding:.4rem .625rem}.theme-toggle{width:32px;height:32px;font-size:.9rem}.language-switcher button{padding:.25rem .55rem;font-size:.75rem}}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;max-width:var(--max-width);width:100%;margin:0 auto;padding:2rem 1rem}.hero{text-align:center;padding:5rem 0 3.5rem;position:relative}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-surface);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);margin-bottom:1.75rem;box-shadow:var(--shadow-sm)}.hero-badge:before{content:"✦";color:var(--color-accent-pink);font-size:.75rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:800;line-height:1.05;letter-spacing:-.035em;margin-bottom:1.25rem;max-width:820px;margin-left:auto;margin-right:auto;background:linear-gradient(180deg,var(--color-text) 0%,color-mix(in srgb,var(--color-text) 70%,transparent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{font-size:clamp(1rem,1.4vw,1.1875rem);color:var(--color-text-secondary);margin-bottom:2.25rem;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.65}.hero-ctas{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-weight:600;font-size:.9375rem;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 12px 32px #6366f14d}.btn-primary:active{transform:translateY(0)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.8125rem 1.75rem;background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text);border-radius:var(--radius-pill);font-weight:600;font-size:.9375rem;font-family:inherit;cursor:pointer;transition:all .2s var(--ease)}.btn-secondary:hover{background:var(--color-bg-soft);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.stats-bar{display:flex;justify-content:center;gap:1.5rem;padding:1.75rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:3.5rem;flex-wrap:wrap;box-shadow:var(--shadow-md)}.stat-item{text-align:center;padding:0 1.5rem;position:relative}.stat-item+.stat-item:before{content:"";position:absolute;left:0;top:20%;height:60%;width:1px;background:var(--color-border)}.stat-value{display:block;font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-violet) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}.stat-label{display:block;font-size:.8125rem;color:var(--color-text-secondary);margin-top:.25rem;font-weight:500}.features-section{margin-bottom:3.5rem}.features-section h2{font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-.025em;text-align:center;margin-bottom:2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.feature-card{padding:1.75rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,var(--color-primary-soft) 200%);opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border-strong)}.feature-card:hover:before{opacity:.5}.feature-card>*{position:relative}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:1rem;font-size:1.75rem;background:var(--color-primary-soft);border-radius:var(--radius-md)}.features-grid>.feature-card:nth-child(2) .feature-icon{background:color-mix(in srgb,var(--color-accent-pink) 15%,transparent)}.features-grid>.feature-card:nth-child(3) .feature-icon{background:color-mix(in srgb,var(--color-accent-teal) 15%,transparent)}.features-grid>.feature-card:nth-child(4) .feature-icon{background:color-mix(in srgb,var(--color-accent-amber) 15%,transparent)}.feature-card h3{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.feature-card p{font-size:.875rem;color:var(--color-text-secondary);line-height:1.55}.course-preview{margin-bottom:3.5rem}.course-preview-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem}.course-preview-header h2{font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-.025em}.see-all-link{font-size:.875rem;color:var(--color-primary);font-weight:600;transition:gap .2s var(--ease)}.see-all-link:hover{text-decoration:underline}.course-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.course-preview-card{display:flex;align-items:center;gap:1rem;padding:1.125rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .25s var(--ease);position:relative;overflow:hidden}.course-preview-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);transform:scaleY(0);transition:transform .25s var(--ease);transform-origin:center}.course-preview-card:hover{transform:translate(4px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.course-preview-card:hover:after{transform:scaleY(1)}.course-preview-grid>.course-preview-card:nth-child(2):after{background:var(--color-accent-pink)}.course-preview-grid>.course-preview-card:nth-child(3):after{background:var(--color-accent-teal)}.course-preview-grid>.course-preview-card:nth-child(4):after{background:var(--color-accent-amber)}.course-preview-emoji{font-size:1.75rem;flex-shrink:0;line-height:1}.course-preview-info{flex:1;min-width:0}.course-preview-level{font-size:.6875rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em}.course-preview-name{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.015em;margin-top:.125rem}.course-preview-arrow{font-size:1.5rem;color:var(--color-text-tertiary);flex-shrink:0;transition:color .2s var(--ease),transform .2s var(--ease)}.course-preview-card:hover .course-preview-arrow{color:var(--color-primary);transform:translate(4px)}@media(max-width:640px){.stats-bar{gap:.5rem;padding:1.25rem 1rem}.stat-item{padding:0 .75rem}.stat-value{font-size:1.625rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.feature-card{padding:1.25rem 1rem}.feature-icon{width:44px;height:44px;font-size:1.375rem}.course-preview-grid{grid-template-columns:1fr}.course-preview-header h2,.features-section h2{font-size:1.375rem}}.levels-page h1{font-family:var(--font-display);font-size:clamp(1.875rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1.5rem}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.level-card{display:block;padding:1.75rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);position:relative;overflow:hidden}.level-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-violet));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.level-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border-strong)}.level-card:hover:before{transform:scaleX(1)}.level-number{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary)}.level-card h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:.5rem 0}.level-card p{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6}.daily-expression{padding:2rem 0 3rem}.daily-expression h2{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);margin-bottom:1rem;display:inline-flex;align-items:center;gap:.5rem}.daily-expression h2:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-accent-pink);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.daily-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);transition:box-shadow .3s var(--ease)}.daily-card:hover{box-shadow:var(--shadow-lg)}.daily-loading{padding:2rem;text-align:center;color:var(--color-text-secondary)}.daily-image{width:100%;max-height:200px;object-fit:cover;display:block}.daily-content{padding:1.75rem 1.75rem 0}.daily-korean-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.daily-korean{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,2.25rem);font-weight:800;letter-spacing:-.025em;margin-bottom:0}.btn-daily-audio{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.25rem;border-radius:8px;opacity:.6;transition:opacity .15s,transform .15s;line-height:1}.btn-daily-audio:hover{opacity:1;transform:scale(1.15)}.btn-daily-audio.speaking{opacity:1;animation:pulse-audio .6s ease-in-out infinite alternate}.btn-daily-audio-sm{font-size:.9rem;padding:.1rem .2rem}@keyframes pulse-audio{0%{transform:scale(1)}to{transform:scale(1.2)}}.daily-romanization{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:.875rem}.daily-translation{display:inline-block;font-size:.9375rem;font-weight:600;color:var(--color-primary);background:var(--color-primary-soft);padding:.3rem .9rem;border-radius:var(--radius-pill);margin-bottom:1.5rem}.daily-details{border-top:1px solid var(--color-border);padding:1.25rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:1rem}.daily-context-label,.daily-examples-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);display:block;margin-bottom:.375rem}.daily-context p{font-size:.9375rem;line-height:1.6}.daily-examples ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.daily-examples li{display:flex;flex-direction:column;gap:.125rem;padding:.625rem .875rem;background:var(--color-bg);border-radius:8px;border-left:3px solid var(--color-primary)}.example-korean-row{display:flex;align-items:center;gap:.25rem}.example-korean{font-weight:600;font-size:.9375rem}.example-romanization{font-size:.8125rem;color:var(--color-text-secondary)}.example-translation{font-size:.875rem;color:var(--color-primary)}.level-detail-page h1{font-size:2rem;margin-bottom:.5rem}.level-hero{margin-bottom:2.5rem;padding:2rem;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:16px}.level-hero-badge{display:inline-block;background:var(--color-primary-soft);color:var(--color-primary);font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:99px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.level-hero-desc{font-size:1rem;color:var(--color-text-secondary);margin-top:.5rem;line-height:1.6}.level-hero-stats{display:flex;gap:2rem;margin:1.25rem 0}.level-stat{text-align:center}.level-stat-value{display:block;font-size:1.5rem;font-weight:800;color:var(--color-primary);line-height:1.1}.level-stat-label{display:block;font-size:.75rem;color:var(--color-text-secondary);margin-top:.2rem}.level-hero-toggle{margin-top:.75rem;background:none;border:none;color:var(--color-primary);font-size:.8125rem;font-weight:600;cursor:pointer;padding:0}.level-goals{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.level-goals li{font-size:.9rem;color:var(--color-text-secondary);padding-left:1.25rem;position:relative}.level-goals li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.lessons-list-title{font-size:1.125rem;font-weight:700;margin-bottom:1rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--color-text-secondary);font-size:.875rem}.back-link:hover{color:var(--color-primary)}.empty-message{color:var(--color-text-secondary);text-align:center;padding:3rem 0}.lessons-list{display:flex;flex-direction:column;gap:1rem}.lesson-card{display:block;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;transition:box-shadow .2s}.lesson-card:hover{box-shadow:0 4px 12px #00000014}.lesson-number{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-primary)}.lesson-card h2{font-size:1.125rem;margin:.25rem 0 .5rem}.lesson-card p{font-size:.875rem;color:var(--color-text-secondary)}.lesson-meta{display:flex;gap:1rem;margin-top:.75rem;font-size:.75rem;color:var(--color-text-secondary)}.lesson-page{max-width:var(--max-width);margin:0 auto;padding:2rem 1rem}.lesson-header{margin-bottom:2rem}.lesson-header h1{font-size:2rem;margin:.25rem 0 .5rem}.lesson-description{color:var(--color-text-secondary)}.lesson-goals{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 1.75rem}.lesson-goal-item{padding:.875rem 1.125rem;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:8px}.lesson-goal-title{font-size:.9375rem;font-weight:700;margin-bottom:.3rem}.lesson-goal-desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.tab-panel-hidden{display:none}.lesson-tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem;position:sticky;top:60px;background:var(--color-bg);z-index:10;padding-top:.75rem}.lesson-tab{padding:.75rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.lesson-tab:hover{color:var(--color-text)}.lesson-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.vocab-list{display:flex;flex-direction:column;gap:1rem}.vocab-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.vocab-word{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.vocab-korean{font-size:1.5rem;font-weight:700}.vocab-romanization{font-size:.9375rem;color:var(--color-text-secondary)}.vocab-translation{font-size:.9375rem;color:var(--color-primary)}.btn-audio{background:none;border:none;cursor:pointer;font-size:1rem;padding:2px 4px;opacity:.45;transition:opacity .15s,transform .1s;line-height:1;flex-shrink:0}.btn-audio:hover{opacity:1}.btn-audio:active{transform:scale(.88)}.vocab-example{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.75rem;background:var(--color-bg);border-radius:8px}.vocab-example-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);width:100%}.vocab-example-korean{font-weight:600}.vocab-example-romanization{font-size:.8125rem;color:var(--color-text-secondary)}.vocab-example-translation{font-size:.875rem;color:var(--color-primary)}.grammar-list{display:flex;flex-direction:column;gap:1.5rem}.grammar-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:12px;padding:1.5rem}.grammar-title{font-size:1.25rem;margin-bottom:.75rem}.grammar-explanation{font-size:.9375rem;line-height:1.7;margin-bottom:1rem}.grammar-examples{display:flex;flex-direction:column;gap:.5rem}.grammar-example-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.625rem .75rem;background:var(--color-bg);border-radius:6px}.grammar-example-korean{font-weight:600}.grammar-example-romanization{font-size:.8125rem;color:var(--color-text-secondary)}.grammar-example-translation{font-size:.875rem;color:var(--color-primary)}.practice-section{display:flex;flex-direction:column;gap:1.5rem}.practice-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.practice-question{font-size:1rem;font-weight:500;margin-bottom:1rem}.practice-number{font-weight:700;color:var(--color-primary)}.practice-options{display:flex;flex-direction:column;gap:.5rem}.practice-option{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left;font-size:.9375rem;transition:border-color .2s,background .2s}.practice-option:hover:not(:disabled){border-color:var(--color-primary)}.practice-option.selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.practice-option.correct{border-color:#22c55e;background:#f0fdf4;color:#166534}.practice-option.wrong{border-color:#ef4444;background:#fef2f2;color:#991b1b}:root[data-theme=dark] .practice-option.correct{background:#22c55e29;color:#86efac}:root[data-theme=dark] .practice-option.wrong{background:#ef444429;color:#fca5a5}.practice-fill{display:flex;align-items:center;gap:.75rem}.practice-input{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;width:200px}.practice-input:focus{outline:none;border-color:var(--color-primary)}.practice-input.correct{border-color:#22c55e;background:#f0fdf4;color:#166534}.practice-input.wrong{border-color:#ef4444;background:#fef2f2;color:#991b1b}:root[data-theme=dark] .practice-input.correct{background:#22c55e29;color:#86efac}:root[data-theme=dark] .practice-input.wrong{background:#ef444429;color:#fca5a5}.practice-correct-answer{color:#22c55e;font-weight:600}.practice-matching{display:flex;flex-direction:column;gap:.75rem}.matching-columns{display:flex;gap:1.5rem}.matching-column{flex:1;display:flex;flex-direction:column;gap:.5rem}.matching-btn{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:1rem;text-align:center;transition:border-color .2s,background .2s}.matching-btn:hover:not(:disabled):not(.paired){border-color:var(--color-primary)}.matching-btn.selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.matching-btn.paired{background:var(--color-bg-soft);color:var(--color-text-secondary);cursor:default}.matching-btn.correct{border-color:#22c55e;background:#f0fdf4;color:#166534}.matching-btn.wrong{border-color:#ef4444;background:#fef2f2;color:#991b1b}:root[data-theme=dark] .matching-btn.correct{background:#22c55e29;color:#86efac}:root[data-theme=dark] .matching-btn.wrong{background:#ef444429;color:#fca5a5}.matching-done-hint{text-align:center;color:#22c55e;font-size:.875rem}.practice-submit{align-self:center;margin-top:.5rem}.practice-result{text-align:center;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.practice-score{font-size:1.25rem;font-weight:700;margin-bottom:1rem}@media(max-width:640px){.daily-card{flex-direction:column;align-items:center}.daily-image{width:100%;max-width:280px;height:auto;aspect-ratio:1}}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:2.5rem 1rem 2rem;margin-top:5rem}.footer-content{max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.footer-brand{font-family:var(--font-display);font-weight:800;font-size:1.125rem;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-pink) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.footer-nav{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;justify-content:center}.footer-nav a{font-size:.875rem;color:var(--color-text-secondary);transition:color .2s var(--ease)}.footer-nav a:hover{color:var(--color-primary)}.footer-copy{font-size:.8125rem;color:var(--color-text-tertiary)}.static-page{max-width:720px;margin:0 auto;padding:2.5rem 1rem 3rem}.static-page h1{font-family:var(--font-display);font-size:clamp(1.875rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1rem}.static-page h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-top:2rem;margin-bottom:.75rem;color:var(--color-text)}.static-page p{line-height:1.8;margin-bottom:1rem}.static-page ul{padding-left:1.5rem;margin-bottom:1rem}.static-page ul li{line-height:1.8}.static-page a{color:var(--color-primary);text-decoration:underline}.static-lead{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:2rem!important}.static-note{font-size:.875rem;color:var(--color-text-secondary)}.contact-block{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem 2rem;margin:1.5rem 0;font-size:1.125rem}.static-page h3{font-size:1.0625rem;margin-top:1.5rem;margin-bottom:.5rem}.static-page strong{color:var(--color-text);font-weight:600}.faq-list{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0 2rem}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:0;transition:border-color .2s}.faq-item>summary{color:var(--color-text)}.faq-item[open]{border-color:var(--color-primary)}.faq-item>summary{cursor:pointer;padding:1rem 2.5rem 1rem 1.25rem;font-weight:600;font-size:1rem;list-style:none;position:relative}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{content:"+";position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--color-primary);font-weight:400;transition:transform .2s}.faq-item[open]>summary:after{content:"−"}.faq-answer{padding:0 1.25rem 1rem;line-height:1.8;color:var(--color-text-secondary)}.faq-answer a{color:var(--color-primary);text-decoration:underline}.faq-answer code{background:var(--color-bg);padding:.1em .35em;border-radius:4px;font-size:.9em}.home-intro{margin:3rem 0;padding:2rem 0;border-top:1px solid var(--color-border)}.home-intro-inner{max-width:760px;margin:0 auto;padding:0 1rem}.home-intro h2{font-size:1.5rem;margin-bottom:1rem}.home-intro h3{font-size:1.125rem;margin-top:2rem;margin-bottom:.75rem;color:var(--color-primary)}.home-intro p{line-height:1.85;margin-bottom:1rem;color:var(--color-text-secondary)}.home-intro strong{color:var(--color-text);font-weight:600}.home-intro ul{padding-left:1.5rem;margin-bottom:1.25rem}.home-intro ul li{line-height:1.85;color:var(--color-text-secondary);margin-bottom:.5rem}.home-intro a{color:var(--color-primary);text-decoration:none;font-weight:500}.home-intro a:hover{text-decoration:underline}.home-intro-levels li{margin-bottom:.75rem}.home-intro-cta{background:var(--color-bg);border-left:4px solid var(--color-primary);padding:1rem 1.25rem;margin-top:1.5rem!important;border-radius:4px}@media(max-width:640px){.home-intro{margin:2rem 0;padding:1.5rem 0}.home-intro h2{font-size:1.25rem}.home-intro h3{font-size:1rem}}.practice-quiz{max-width:640px;margin:0 auto}.practice-quiz-header{display:flex;justify-content:flex-end;margin-bottom:.75rem}.placement-banner{background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);border-radius:var(--radius-xl);padding:2.25rem 1.75rem;margin:2rem 0 3rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 20px 40px #6366f140}.placement-banner:before{content:"";position:absolute;top:-40%;right:-10%;width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 65%);pointer-events:none}.placement-banner:after{content:"🔥";position:absolute;bottom:-20px;right:20px;font-size:8rem;opacity:.1;pointer-events:none;transform:rotate(-10deg)}.placement-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;position:relative}.placement-banner-title{font-family:var(--font-display);font-size:1.375rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.5rem;line-height:1.25}.placement-banner-desc{font-size:.9375rem;opacity:.92;line-height:1.5}.btn-placement{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:#fff;color:#4f46e5;border-radius:var(--radius-pill);font-weight:700;font-size:.9375rem;white-space:nowrap;flex-shrink:0;transition:transform .2s var(--ease),box-shadow .2s var(--ease);box-shadow:0 8px 20px #00000026}.btn-placement:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0003}.btn-placement:after{content:"→";transition:transform .2s var(--ease)}.btn-placement:hover:after{transform:translate(3px)}.placement-test-page{max-width:640px;margin:0 auto;padding:1rem 0 3rem}.placement-test-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.placement-test-header h1{font-size:1.375rem;font-weight:700}.question-count{font-size:.9375rem;color:var(--color-text-secondary);font-weight:600}.progress-bar-track{height:6px;background:var(--color-border);border-radius:99px;margin-bottom:2rem;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:99px;transition:width .3s ease}.question-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:2rem 1.5rem}.question-text{font-size:1.125rem;font-weight:600;line-height:1.6;margin-bottom:1.5rem}.options-grid{display:flex;flex-direction:column;gap:.625rem}.option-btn{padding:.875rem 1.25rem;border:2px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left;font-size:.9375rem;line-height:1.5;transition:border-color .15s,background .15s}@media(hover:hover){.option-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}}.option-btn:disabled{cursor:default}.option-btn.correct{border-color:#22c55e;background:#f0fdf4;color:#166534;font-weight:600}.option-btn.incorrect{border-color:#ef4444;background:#fef2f2;color:#991b1b}:root[data-theme=dark] .option-btn.correct{background:#22c55e29;color:#86efac}:root[data-theme=dark] .option-btn.incorrect{background:#ef444429;color:#fca5a5}.placement-result-page{max-width:480px;margin:0 auto;padding:2rem 0;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.result-card{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:2.5rem 2rem;text-align:center}.result-emoji{font-size:4rem;margin-bottom:1rem}.result-title{font-size:1.625rem;font-weight:800;margin-bottom:.75rem}.result-description{font-size:1rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:1.25rem}.result-score{display:inline-block;padding:.375rem 1rem;background:var(--color-primary-soft);color:var(--color-primary);border-radius:99px;font-weight:700;font-size:.9375rem;margin-bottom:.625rem}.result-recommend{font-size:.875rem;color:var(--color-text-secondary)}.result-actions{width:100%;display:flex;flex-direction:column;gap:.75rem}.result-actions .btn-primary{display:block;text-align:center;padding:.875rem;font-size:1rem}.btn-share{width:100%;padding:.875rem;border:2px solid var(--color-primary);border-radius:8px;background:transparent;color:var(--color-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.btn-share:hover{background:var(--color-primary);color:#fff}.btn-secondary{width:100%;padding:.875rem;border:1px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:1rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-secondary:hover{border-color:var(--color-text);color:var(--color-text)}@media(max-width:480px){.placement-banner-inner{flex-direction:column;align-items:flex-start}.btn-placement{width:100%;text-align:center}.question-card{padding:1.5rem 1rem}}.guide-page{max-width:760px;margin:0 auto;padding:2rem 1rem 4rem;display:flex;flex-direction:column;gap:2.5rem}.guide-hero{padding:2rem;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);border-left:4px solid var(--color-primary)}.guide-hero-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);display:block;margin-bottom:.75rem}.guide-hero h1{font-size:1.75rem;font-weight:800;margin:0 0 .75rem}.guide-hero-desc{color:var(--color-text-muted);line-height:1.7;margin:0 0 1.5rem}.guide-hero-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.guide-stat{display:flex;flex-direction:column;gap:.2rem}.guide-stat-value{font-size:1.5rem;font-weight:800;color:var(--color-primary)}.guide-stat-label{font-size:.78rem;color:var(--color-text-muted)}.guide-section{display:flex;flex-direction:column;gap:1rem}.guide-section h2{font-size:1.2rem;font-weight:700;margin:0}.guide-section p{color:var(--color-text-muted);line-height:1.75;margin:0}.guide-note{font-size:.88rem;color:var(--color-text-muted);background:#f0f4ff;border-radius:10px;padding:.75rem 1rem}.guide-compare-table{border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.guide-compare-header{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--color-surface);padding:.6rem 1rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);gap:.5rem}.guide-compare-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:.75rem 1rem;gap:.5rem;border-top:1px solid var(--color-border);align-items:center;font-size:.95rem}.guide-compare-ko{font-weight:600;color:var(--color-primary)}.guide-compare-en{color:var(--color-text-muted);font-size:.88rem}.guide-particle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.guide-particle-card{border:1px solid var(--color-border);border-radius:12px;padding:1rem;background:var(--color-surface);display:flex;flex-direction:column;gap:.4rem;align-items:center;text-align:center}.guide-particle-pair{display:flex;align-items:center;gap:.4rem;font-size:1.2rem;font-weight:700}.guide-particle-jp{color:var(--color-text)}.guide-particle-arrow{color:var(--color-text-muted);font-size:.9rem}.guide-particle-ko{color:var(--color-primary)}.guide-particle-role{font-size:.78rem;color:var(--color-text-muted)}.guide-sino-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.guide-sino-card{border:1px solid var(--color-border);border-radius:12px;padding:1rem;background:var(--color-surface);display:flex;flex-direction:column;gap:.3rem}.guide-sino-ko{font-size:1.3rem;font-weight:700;color:var(--color-primary)}.guide-sino-jp{font-size:.88rem;color:var(--color-text-muted)}.guide-sino-en{font-size:.82rem;color:var(--color-text-muted);background:var(--color-primary-soft);border-radius:99px;padding:.1rem .6rem;width:fit-content}.guide-diff-list{display:flex;flex-direction:column;gap:.75rem}.guide-diff-item{border:1px solid var(--color-border);border-radius:12px;padding:1rem 1.25rem;background:var(--color-surface)}.guide-diff-title{font-weight:700;margin-bottom:.3rem}.guide-diff-desc{font-size:.9rem;color:var(--color-text-muted);line-height:1.65}.guide-roadmap{display:flex;flex-direction:column;gap:.6rem}.guide-roadmap-item{display:flex;align-items:center;gap:1rem;border:1px solid var(--color-border);border-radius:12px;padding:.9rem 1.25rem;background:var(--color-surface);text-decoration:none;color:var(--color-text);transition:border-color .15s,background .15s}.guide-roadmap-item:hover{border-color:var(--color-primary);background:#f0f4ff}.guide-roadmap-step{width:2rem;height:2rem;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.guide-roadmap-info{flex:1;display:flex;flex-direction:column;gap:.15rem}.guide-roadmap-label{font-weight:600;font-size:.95rem}.guide-roadmap-time{font-size:.8rem;color:var(--color-text-muted)}.guide-roadmap-arrow{font-size:1.3rem;color:var(--color-text-muted)}.guide-cta{border-radius:16px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:2rem;text-align:center;display:flex;flex-direction:column;gap:.75rem;align-items:center}.guide-cta h2{font-size:1.4rem;font-weight:800;margin:0;color:#fff}.guide-cta p{color:#ffffffd9;margin:0}.guide-cta-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}.guide-cta .btn-primary{background:#fff;color:var(--color-primary)}.guide-cta .btn-primary:hover{background:#f0f4ff}.guide-cta .btn-secondary{border-color:#ffffff80;color:#fff}.guide-cta .btn-secondary:hover{border-color:#fff;background:#ffffff1a}@media(max-width:600px){.guide-hero h1{font-size:1.4rem}.guide-compare-header,.guide-compare-row{font-size:.82rem}.guide-particle-grid,.guide-sino-grid{grid-template-columns:repeat(2,1fr)}}
