/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;:root{color:#020817;font-synthesis:none;text-rendering:optimizelegibility;--background:#fafafa;--foreground:#020817;--muted:#f1f5f9;--muted-foreground:#64748b;--card:#fff;--card-foreground:#020817;--border:#e2e8f0;--input:#e2e8f0;--primary:#0f172a;--primary-foreground:#f8fafc;--destructive:#ef4444;--ring:#020817;--radius:8px;--shadow:0 1px 2px #0208170f, 0 10px 30px #0208170a;background:#fafafa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg,#fff 0%,var(--background) 280px),var(--background);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,p{overflow-wrap:anywhere}h1{color:var(--foreground);letter-spacing:0;margin:0;font-size:clamp(30px,7vw,48px);line-height:1.05}h2{letter-spacing:0;margin:0;font-size:20px;line-height:1.2}.auth-layout{place-items:center;min-height:100vh;padding:20px;display:grid}.app-layout{min-height:100vh}.app-header{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;gap:14px;padding:14px 16px;display:grid;position:sticky;top:0}.brand-link{min-width:0;color:var(--foreground);justify-self:start;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;flex:none;width:clamp(38px,11vw,48px);height:auto;display:block}.brand-copy{gap:2px;min-width:0;display:grid}.brand-copy span{letter-spacing:0;font-size:20px;font-weight:800}.brand-copy small{color:var(--muted-foreground);font-size:12px;font-weight:700}.app-nav{border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;padding:4px;display:grid}.nav-link{min-height:40px;color:var(--muted-foreground);letter-spacing:0;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.nav-link.active{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px #02081714}.user-menu{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.user-menu span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.page-layout{width:min(100%,1120px);margin:0 auto;padding:24px 16px 56px}.page-header{gap:18px;padding:8px 0 24px;display:grid}.page-header .header-actions{flex-wrap:wrap;gap:10px;display:flex}.auth-card{width:min(100%,440px)}.auth-card h1{font-size:clamp(30px,8vw,38px)}.auth-heading{justify-items:start;gap:10px;display:grid}.auth-logo{object-fit:contain;width:min(180px,62vw);height:auto;display:block}.auth-tagline{color:var(--foreground);letter-spacing:0;margin:2px 0 8px;font-size:15px;font-weight:850}.eyebrow{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.summary{max-width:620px;color:var(--muted-foreground);margin:0;font-size:15px;line-height:1.65}.ui-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow);padding:clamp(16px,4vw,22px)}.ui-button{border-radius:var(--radius);letter-spacing:0;border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:850;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.ui-button:hover{transform:translateY(-1px)}.ui-button:focus-visible,.ui-input:focus-visible,.nav-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ui-button-primary{background:var(--primary);color:var(--primary-foreground)}.ui-button-secondary{border-color:var(--border);background:var(--card);color:var(--foreground)}.ui-button-secondary.active,.ui-button-secondary.selected{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.ui-button-ghost{color:var(--foreground);background:0 0}.ui-button-danger{background:var(--destructive);color:#fff}.ui-badge{border:1px solid var(--border);background:var(--muted);width:fit-content;min-height:26px;color:var(--muted-foreground);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.ui-input{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;min-height:46px;color:var(--foreground);padding:0 13px}.ui-input::placeholder{color:#7d8ca1}.ui-select{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;min-height:46px;color:var(--foreground);padding:0 13px}.ui-select:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.form-stack{gap:16px;margin-top:26px;display:grid}.form-stack label{color:var(--foreground);gap:8px;font-size:14px;font-weight:800;display:grid}.auth-link{color:var(--muted-foreground);text-align:center;margin:22px 0 0}.auth-link a{color:var(--foreground);font-weight:900;text-decoration:none}.auth-link a:hover{text-decoration:underline}.error-message,.empty-state,.status-text{border-radius:var(--radius);margin:20px 0 0;padding:14px 16px;line-height:1.5}.error-message{color:#9e1a1a;background:#fef1f1;border:1px solid #f7a1a1}.empty-state,.status-text{border:1px dashed var(--border);color:var(--muted-foreground);background:#ffffffa6}.stats-grid,.lesson-grid,.word-grid,.wrong-note-grid,.completed-grid{gap:14px;margin-top:18px;display:grid}.stats-grid{grid-template-columns:1fr}.stat-card{gap:12px;display:grid}.stat-card span,.progress-copy span{color:var(--muted-foreground);font-size:13px;font-weight:850}.stat-card strong,.progress-copy strong{font-size:42px;line-height:1;display:block}.stat-card-dark{background:var(--primary);color:var(--primary-foreground)}.stat-card-dark span{color:#cddbea}.quick-actions,.page-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.quick-actions .ui-button,.page-actions .ui-button{flex:160px}.filter-row{gap:8px;margin:0 0 18px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-row .ui-button{flex:none}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.word-grid{grid-template-columns:1fr}.kana-card{align-content:space-between;gap:12px;min-height:172px;display:grid}.kana-card strong,.wrong-note-card strong{font-size:clamp(44px,18vw,72px);font-weight:850;line-height:.95;display:block}.kana-card p,.wrong-note-card p{color:var(--muted-foreground);margin:0;font-size:17px;font-weight:850}.word-card{gap:18px;display:grid}.word-card-main{gap:8px;display:grid}.word-card-main strong,.word-quiz-question strong{font-size:clamp(40px,14vw,64px);font-weight:850;line-height:1;display:block}.word-card-main span,.word-quiz-question p{color:var(--muted-foreground);font-size:18px;font-weight:850}.word-card-main p{margin:0;font-size:18px;font-weight:850}.word-example{border-top:1px solid var(--border);gap:6px;padding-top:14px;display:grid}.word-example p{color:var(--foreground);margin:0;font-weight:800;line-height:1.5}.word-example small{color:var(--muted-foreground);font-size:13px;font-weight:700;line-height:1.5}.word-quiz-question{text-align:center;justify-items:center;gap:14px;padding:32px 20px;display:grid}.word-quiz-question p{margin:0}.admin-grid,.admin-list,.admin-users-layout,.correction-layout,.recommendation-layout{gap:16px;margin-top:18px;display:grid}.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:4px;display:grid}.admin-stat-card{align-content:space-between;gap:10px;min-height:116px;display:grid}.admin-stat-card span{color:var(--muted-foreground);font-size:13px;font-weight:850}.admin-stat-card strong{font-size:clamp(28px,8vw,42px);line-height:1;display:block}.admin-stat-card.stat-card-dark span{color:#cddbea}.correction-main,.correction-form,.correction-result-card,.correction-history,.correction-history-list,.recommendation-content,.mode-selector-card,.mode-selector-header{gap:14px;display:grid}.correction-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:4px;display:grid}.correction-stat-card{align-content:space-between;gap:10px;min-height:116px;display:grid}.correction-stat-card span{color:var(--muted-foreground);font-size:13px;font-weight:850}.correction-stat-card strong{font-size:clamp(28px,8vw,42px);line-height:1;display:block}.correction-stat-card.stat-card-dark span{color:#cddbea}.correction-stat-meta strong{font-size:clamp(18px,5vw,24px);line-height:1.25}.compact-status{margin-top:12px}.mode-selector-header h2{margin-top:10px}.mode-selector-header p{color:var(--muted-foreground);margin:0;line-height:1.65}.mode-option-grid{grid-template-columns:1fr;gap:8px;display:grid}.mode-option-grid .ui-button{justify-content:flex-start}.recommendation-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.recommendation-grid{grid-template-columns:1fr;gap:14px;display:grid}.recommendation-card-button{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.recommendation-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);height:100%;color:var(--card-foreground);box-shadow:var(--shadow);align-content:start;gap:10px;padding:20px;transition:border-color .16s,transform .16s;display:grid}.recommendation-card-button:hover .recommendation-card{transform:translateY(-1px)}.recommendation-card-button.selected .recommendation-card{border-color:var(--primary);background:var(--muted)}.recommendation-card span{color:var(--muted-foreground);font-size:12px;font-weight:900}.recommendation-card strong{font-size:19px;line-height:1.35}.recommendation-card p{color:var(--muted-foreground);margin:0;line-height:1.55}.practice-panel{margin-top:18px}.practice-card,.practice-heading,.practice-section,.dialogue-list{gap:14px;display:grid}.practice-heading h2{font-size:clamp(24px,6vw,36px)}.practice-section{border-top:1px solid var(--border);padding-top:16px}.practice-section h3{letter-spacing:0;margin:0;font-size:15px}.practice-section p{color:var(--muted-foreground);margin:0;line-height:1.7}.expression-list{gap:10px;margin:0;display:grid}.expression-card{border:1px solid var(--border);border-radius:var(--radius);background:#ffffffb8;gap:8px;padding:12px;display:grid}.expression-card strong{color:var(--foreground);font-size:18px;line-height:1.45}.expression-card dl{gap:6px;margin:0;display:grid}.expression-card dl div{gap:2px;display:grid}.expression-card dt,.dialogue-list small{color:var(--muted-foreground);font-size:12px}.expression-card dd{color:var(--foreground);margin:0;font-size:14px;line-height:1.45}.dialogue-list p{border:1px solid var(--border);border-radius:var(--radius);background:#ffffffb8;gap:4px;padding:12px;display:grid}.dialogue-list strong{color:var(--foreground);font-size:13px}.dialogue-list span{line-height:1.55}.dialogue-japanese{color:var(--foreground);font-weight:700}.dialogue-list small{line-height:1.45}.practice-textarea{min-height:120px}.my-answer{border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);gap:8px;padding:12px;display:grid}.my-answer span{color:var(--muted-foreground);font-size:12px;font-weight:900}.my-answer p{color:var(--foreground)}.correction-form label{gap:8px;font-size:14px;font-weight:850;display:grid}.correction-textarea{min-height:180px}.correction-result-header,.correction-history-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.correction-result-header time{color:var(--muted-foreground);text-align:right;font-size:12px;font-weight:800}.correction-block{border-top:1px solid var(--border);gap:8px;padding-top:14px;display:grid}.correction-block:first-of-type{border-top:0;padding-top:0}.correction-block span{color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:900}.correction-block p{margin:0;line-height:1.75}.correction-block.corrected p{font-size:20px;font-weight:850}.correction-history{align-content:start}.correction-history-header h2{font-size:18px}.correction-history-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);text-align:left;gap:6px;padding:12px;display:grid}.correction-history-item.active{border-color:var(--primary);background:var(--muted)}.correction-history-item span{text-overflow:ellipsis;white-space:normal;font-weight:850;overflow:hidden}.correction-history-item small{color:var(--muted-foreground);font-size:12px;font-weight:750}.admin-card{gap:18px;display:grid}.admin-card p,.admin-list-card p,.admin-user-detail p{color:var(--muted-foreground);margin:8px 0 0;line-height:1.6}.admin-form-card{margin-top:18px}.admin-form{gap:14px;display:grid}.admin-form label{gap:8px;font-size:14px;font-weight:850;display:grid}.ui-textarea{resize:vertical;border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;min-height:140px;color:var(--foreground);font:inherit;padding:12px 13px}.ui-textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.checkbox-row{align-items:center;gap:10px;display:flex!important}.checkbox-row input{width:18px;height:18px}.admin-form-actions,.admin-card-actions,.admin-badges{flex-wrap:wrap;gap:8px;display:flex}.admin-list-card{gap:14px;display:grid}.admin-list-card small{color:var(--muted-foreground);font-size:12px;font-weight:700}.admin-list-header{gap:14px;display:grid}.admin-user-list{align-content:start;gap:8px;display:grid}.admin-user-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.admin-user-row.active{border-color:var(--primary);background:var(--muted)}.admin-user-row span{gap:4px;min-width:0;display:grid}.admin-user-row small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.admin-user-detail{gap:18px;display:grid}.admin-meta{gap:10px;margin:0;display:grid}.admin-meta div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.admin-meta dt{color:var(--muted-foreground);font-size:13px;font-weight:850}.admin-meta dd{text-align:right;margin:0}.suspend-form{border-top:1px solid var(--border);padding-top:18px}.quiz-panel{gap:16px;display:grid}.quiz-question{text-align:center;justify-items:center;gap:22px;padding:32px 20px;display:grid}.quiz-question strong{font-size:clamp(88px,30vw,156px);font-weight:850;line-height:.9}.choice-grid{grid-template-columns:1fr;gap:10px;display:grid}.choice-grid .ui-button{min-height:58px;font-size:18px}.result-panel{gap:8px;display:grid}.result-panel p{color:var(--muted-foreground);margin:0}.result-link{width:fit-content;margin-top:8px}.wrong-note-grid{grid-template-columns:1fr}.wrong-note-card{gap:18px;display:grid}.wrong-note-meta{gap:10px;margin:0;display:grid}.wrong-note-meta div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.wrong-note-meta div:last-child{border-bottom:0;padding-bottom:0}.wrong-note-meta dt{color:var(--muted-foreground);font-size:13px;font-weight:850}.wrong-note-meta dd{text-align:right;margin:0}.progress-summary{gap:22px;margin-top:18px;display:grid}.progress-copy{gap:10px;display:grid}.progress-copy p{color:var(--muted-foreground);margin:0}.progress-track{background:var(--muted);border-radius:999px;height:12px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s}.completed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.completed-card time{color:var(--muted-foreground);font-size:12px;font-weight:700;line-height:1.4}@media(min-width:680px){.app-header{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 24px}.app-nav{flex-wrap:wrap;justify-content:center;justify-self:center;width:min(100%,900px);display:flex}.nav-link{flex:0 auto;min-width:78px}.page-layout{padding:38px 24px 72px}.page-header{grid-template-columns:1fr auto;align-items:end}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-stats-grid,.correction-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-grid,.word-grid,.completed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid,.wrong-note-grid,.admin-grid,.admin-users-layout,.correction-layout,.recommendation-layout,.mode-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-list-header{grid-template-columns:1fr auto;align-items:start}}@media(min-width:960px){.app-header{padding-inline:40px}.app-nav{flex-wrap:nowrap}.lesson-grid,.word-grid,.completed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wrong-note-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.marketing-page,.premium-auth-layout{--premium-primary:#e63946;--premium-secondary:#1d3557;--premium-background:#fafaf8;--premium-surface:#fff;--premium-text:#111;--premium-muted:#666;--premium-success:#2a9d8f;--premium-warning:#f4a261;--premium-border:#e2ded5;--premium-shadow:0 18px 50px #172c4517;background:var(--premium-background);color:var(--premium-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.jp-text{letter-spacing:0;font-family:Noto Sans JP,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.marketing-page{min-height:100vh;overflow:hidden}.marketing-nav{justify-content:space-between;align-items:center;gap:16px;width:min(100%,1200px);margin:0 auto;padding:18px 20px;display:flex}.marketing-brand{color:var(--premium-text);align-items:center;gap:10px;font-weight:900;text-decoration:none;display:inline-flex}.marketing-brand img{object-fit:contain;width:42px;height:auto}.marketing-nav nav{align-items:center;gap:8px;display:inline-flex}.marketing-nav nav a{min-height:40px;color:var(--premium-secondary);border-radius:999px;padding:0 12px;font-size:14px;font-weight:850;line-height:40px;text-decoration:none}.marketing-nav nav .nav-cta{background:var(--premium-primary);color:#fff}.landing-hero{align-items:center;gap:34px;width:min(100%,1200px);min-height:calc(100vh - 80px);margin:0 auto;padding:36px 20px 72px;display:grid}.landing-hero-copy{gap:20px;display:grid}.landing-eyebrow{color:var(--premium-primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.landing-hero h1,.premium-auth-card h1{color:var(--premium-text);font-size:clamp(42px,12vw,74px);font-weight:900;line-height:1.03}.landing-hero p,.premium-card p,.premium-auth-card .summary{color:var(--premium-muted);margin:0;font-size:16px;line-height:1.75}.landing-actions{gap:10px;margin-top:6px;display:grid}.premium-button{border-radius:16px;justify-content:center;align-items:center;min-height:52px;padding:0 20px;font-weight:900;text-decoration:none;transition:transform .24s,box-shadow .24s,background-color .24s;display:inline-flex}.premium-button:hover{transform:translateY(-2px)}.premium-button-primary{background:var(--premium-primary);color:#fff;box-shadow:0 16px 34px #e8455038}.premium-button-secondary{border:1px solid var(--premium-border);background:var(--premium-surface);color:var(--premium-secondary)}.landing-visual{min-height:420px;position:relative}.photo-panel{min-height:420px;box-shadow:var(--premium-shadow);background:linear-gradient(#172c450d,#172c4580),url(https://images.unsplash.com/photo-1542051841857-5f90071e7989?auto=format&fit=crop&w=1200&q=80) 50%/cover;border-radius:28px;overflow:hidden}.photo-overlay{color:#fff;align-content:end;gap:8px;min-height:420px;padding:24px;display:grid}.photo-overlay span{font-size:clamp(26px,8vw,44px);font-weight:900;line-height:1.15}.photo-overlay small,.floating-study-card small,.auth-example-card small{color:inherit;opacity:.82;font-size:13px;font-weight:750;line-height:1.5}.floating-study-card,.auth-example-card{box-shadow:var(--premium-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #ffffffb8;border-radius:16px;gap:8px;display:grid}.floating-study-card{padding:18px;position:absolute;bottom:-22px;left:16px;right:16px}.floating-study-card span,.auth-example-card span{color:var(--premium-primary);font-size:12px;font-weight:900}.floating-study-card strong,.auth-example-card strong{color:var(--premium-secondary);font-size:20px;line-height:1.45}.floating-study-card small,.auth-example-card small{color:var(--premium-muted)}.landing-section{gap:22px;width:min(100%,1200px);margin:0 auto;padding:42px 20px;display:grid}.section-heading{gap:10px;display:grid}.section-heading h2{color:var(--premium-text);font-size:clamp(30px,8vw,48px);font-weight:900;line-height:1.12}.feature-grid{gap:14px;display:grid}.premium-card{border:1px solid var(--premium-border);background:var(--premium-surface);box-shadow:var(--premium-shadow);border-radius:16px;gap:12px;padding:22px;display:grid}.premium-card h3{color:var(--premium-secondary);margin:0;font-size:20px;line-height:1.25}.roadmap-section{padding-bottom:84px}.roadmap-strip{gap:12px;display:grid}.roadmap-step{border:1px solid var(--premium-border);background:var(--premium-surface);border-radius:16px;align-items:center;gap:14px;padding:18px;display:flex}.roadmap-step span{color:var(--premium-primary);font-size:13px;font-weight:900}.roadmap-step strong{color:var(--premium-secondary);font-size:18px}.premium-auth-layout{align-items:stretch;min-height:100vh;padding:16px}.premium-auth-shell{align-items:stretch;gap:16px;width:min(100%,1120px);margin:auto;display:grid}.auth-visual-panel{min-height:300px;box-shadow:var(--premium-shadow);background:linear-gradient(#172c4514,#172c459e),url(https://images.unsplash.com/photo-1536098561742-ca998e48cbcc?auto=format&fit=crop&w=1100&q=80) 50%/cover;border-radius:28px;align-content:space-between;gap:26px;padding:22px;display:grid;overflow:hidden}.auth-visual-panel.signup-panel{background:linear-gradient(#172c450d,#172c4594),url(https://images.unsplash.com/photo-1526481280693-3bfa7568e0f3?auto=format&fit=crop&w=1100&q=80) 50%/cover}.auth-visual-panel .marketing-brand,.auth-visual-panel h2{color:#fff}.auth-visual-panel h2{max-width:560px;margin:0;font-size:clamp(30px,9vw,50px);font-weight:900;line-height:1.08}.auth-example-card{padding:18px}.premium-auth-card{border:1px solid var(--premium-border);background:var(--premium-surface);width:100%;box-shadow:var(--premium-shadow);border-radius:24px;padding:clamp(24px,6vw,44px)}.premium-auth-card .auth-heading{gap:12px}.premium-auth-card .auth-tagline{color:var(--premium-primary);margin:0;font-size:13px;font-weight:900}.premium-auth-card h1{font-size:clamp(34px,10vw,52px)}.premium-auth-card .form-stack{gap:18px;margin-top:30px}.premium-auth-card .form-stack label{color:var(--premium-text);gap:10px;font-weight:850}.premium-auth-card .ui-input{border-color:var(--premium-border);min-height:54px;color:var(--premium-text);background:#fff;border-radius:16px;padding-inline:16px}.premium-auth-card .ui-input:focus-visible{outline:2px solid var(--premium-primary);outline-offset:2px}.premium-auth-card .ui-button-primary{background:var(--premium-primary);color:#fff;border-radius:16px;min-height:54px;transition:transform .24s,box-shadow .24s,background-color .24s}.premium-auth-card .ui-button-primary:hover{box-shadow:0 16px 34px #e8455038}.premium-auth-card .auth-link{color:var(--premium-muted)}.premium-auth-card .auth-link a{color:var(--premium-primary)}@media(min-width:720px){.landing-actions{grid-template-columns:repeat(2,max-content)}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:900px){.landing-hero{grid-template-columns:minmax(0,.95fr) minmax(360px,1fr);padding-top:24px}.premium-auth-shell{grid-template-columns:minmax(0,1fr) minmax(400px,.78fr)}.auth-visual-panel{min-height:690px;padding:34px}}:root{--background:#fafaf8;--foreground:#111;--muted:#f3f1ec;--muted-foreground:#666;--card:#fff;--card-foreground:#111;--border:#e7e1d8;--input:#ded8cf;--primary:#e63946;--primary-foreground:#fff;--secondary:#1d3557;--success:#2a9d8f;--warning:#f4a261;--destructive:#d33f49;--ring:#e63946;--radius:16px;--shadow:0 18px 50px #172c4514, 0 2px 8px #172c450a}body{color:var(--foreground);background:radial-gradient(circle at 0 0,#e8455014,#0000 34rem),linear-gradient(#fff,#fafaf8 24rem),#fafaf8}h1{font-size:clamp(34px,8vw,56px);font-weight:900;line-height:1.05}h2{font-weight:900}.app-layout{min-height:100vh;padding-bottom:82px}.app-header{background:#fbfaf9e6;border-bottom:1px solid #e3ddd3cc;grid-template-columns:1fr auto;gap:16px}.brand-copy span{color:var(--secondary)}.brand-copy small{color:var(--muted-foreground)}.desktop-nav{display:none}.nav-link{border-radius:999px;gap:7px;font-size:13px;transition:background-color .24s,color .24s,transform .24s}.nav-link.active{background:var(--secondary);color:#fff}.user-menu{justify-content:end}.user-menu .ui-button{gap:7px;min-height:40px;padding-inline:12px}.user-menu>span{display:none}.bottom-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #e3ddd3eb;border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 18px 42px #172c4524}.bottom-nav-link{color:var(--muted-foreground);border-radius:16px;justify-items:center;gap:4px;padding:8px 4px;font-size:11px;font-weight:850;text-decoration:none;transition:background-color .24s,color .24s,transform .24s;display:grid}.bottom-nav-link.active{color:var(--primary);background:#e845501a}.page-layout{width:min(100%,1200px);padding:30px 18px 110px}.page-header{gap:20px;padding:12px 0 28px}.eyebrow{color:var(--primary)}.summary{color:var(--muted-foreground);font-size:16px}.ui-card{border-color:var(--border);box-shadow:var(--shadow);border-radius:16px}.ui-button{border-radius:16px;gap:8px;min-height:48px;transition:background-color .24s,border-color .24s,color .24s,box-shadow .24s,transform .24s}.ui-button-primary{background:var(--primary);box-shadow:0 14px 30px #e8455033}.ui-button-primary:hover{box-shadow:0 18px 36px #e845503d}.ui-button-secondary{border-color:var(--border);color:var(--secondary);background:#fff}.ui-button-ghost{color:var(--secondary)}.ui-badge{color:var(--primary);background:#e8455014;border-color:#e8455029}.ui-input,.ui-select,.ui-textarea{border-color:var(--input);background:#fff;border-radius:16px}.error-message,.empty-state,.status-text{border-radius:16px}.stats-grid,.lesson-grid,.word-grid,.wrong-note-grid,.completed-grid,.admin-grid,.admin-list,.admin-users-layout,.correction-layout,.recommendation-layout{gap:18px}.stat-card,.admin-stat-card,.correction-stat-card{min-height:128px}.stat-card-dark{background:var(--secondary)}.kana-card,.word-card,.wrong-note-card,.recommendation-card,.correction-history-item,.admin-user-row{border-radius:16px}.kana-card strong,.wrong-note-card strong,.word-card-main strong,.word-quiz-question strong,.quiz-question strong,.dialogue-japanese,.expression-card strong{font-family:Noto Sans JP,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.kana-card strong,.wrong-note-card strong,.word-card-main strong,.word-quiz-question strong,.quiz-question strong{color:var(--secondary)}.progress-fill{background:linear-gradient(90deg,var(--primary),var(--success))}.result-panel.correct{background:#2a9d9014;border-color:#2a9d9047}.result-panel.incorrect{background:#e8455014;border-color:#e8455047}@media(min-width:760px){.app-layout{padding-bottom:0}.app-header{grid-template-columns:auto 1fr auto}.desktop-nav{display:flex}.bottom-nav{display:none}.user-menu>span{display:inline}}.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff;border-bottom:1px solid #e3ddd3d1;grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,36px);min-height:76px;padding:0 clamp(20px,5vw,56px);box-shadow:0 1px #ffffffe6}.brand-link{border-radius:0;gap:12px;min-height:76px}.brand-logo{object-fit:contain;border-radius:0;width:44px;height:44px}.brand-copy{gap:1px}.brand-copy span{color:#111;font-size:20px;font-weight:900}.brand-copy small{color:#666;letter-spacing:.01em;font-size:11px;font-weight:750}.desktop-nav{justify-self:center}.app-nav{width:auto;max-width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.nav-link{color:#666;min-width:auto;min-height:40px;box-shadow:none;background:0 0;border-radius:999px;gap:7px;padding:0 13px;font-size:13px;font-weight:850}.nav-link:hover{color:#1d3557;background:#e8455012;transform:translateY(-1px)}.nav-link.active{color:#fff;background:#1d3557;box-shadow:0 10px 24px #172c4529}.nav-link.active:hover{color:#fff;background:#1d3557}.user-menu{justify-content:end;gap:14px}.user-menu>span{color:#666;max-width:180px;font-size:13px;font-weight:750}.user-menu .ui-button{color:#1d3557;min-height:40px;box-shadow:none;background:#fff;border-color:#e3ddd3e6;border-radius:999px}.user-menu .ui-button:hover{background:#172c450d;transform:translateY(-1px)}@media(max-width:759px){.app-header{grid-template-columns:1fr auto;min-height:72px;padding-inline:18px}.brand-link{min-height:72px}.brand-logo{width:42px;height:42px}.brand-copy small,.user-menu .ui-button span{display:none}}
