.auth-container{min-height:calc(100vh - var(--header-height) - 120px);padding:var(--spacing-2xl) var(--spacing-lg);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:var(--container-sm-width);background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-2xl);border-radius:0;animation:.4s ease-out forwards slideUpFade}.auth-card h2{font-size:var(--font-size-2xl);text-align:center;margin-bottom:var(--spacing-sm)}.auth-card>p{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xl)}.auth-card form{flex-direction:column;display:flex}.auth-card .btn-primary{width:100%;margin-top:var(--spacing-sm);padding:.75rem}.auth-links{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.auth-links a{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-links a:hover{color:var(--color-accent)}.form-group .checkbox-label{align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0;font-weight:400;line-height:1.4;display:flex}.checkbox-label input{flex-shrink:0;margin-top:.2rem}.static-page{max-width:800px;padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto;line-height:1.7}.static-page h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.static-page .last-updated{color:var(--color-text-muted);font-style:italic;font-size:var(--font-size-sm);margin-bottom:var(--spacing-2xl)}.static-page h2{font-size:var(--font-size-xl);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.static-page h3{font-size:var(--font-size-lg);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.static-page p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.static-page ul{margin-left:var(--spacing-lg);margin-bottom:var(--spacing-md);list-style:outside}.static-page li{margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.static-page li strong{color:var(--color-text)}.static-page a{color:var(--color-accent)}.static-page a:hover{color:var(--color-accent-hover)}@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_app/immutable/assets/inter-latin-wght-normal.C2S99t-D.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-accent:#c9a77c;--color-accent-hover:#b8946a;--color-accent-light:#c9a77c26;--color-success:#5a7c5a;--color-success-hover:#4a6b4a;--color-success-light:#5a7c5a26;--color-warning:#c9a050;--color-warning-light:#c9a05026;--color-danger:#b85c5c;--color-danger-hover:#a34d4d;--color-danger-light:#b85c5c26;--color-bg:#0d1117;--color-surface:#161b22;--color-surface-hover:#1c2128;--color-surface-glass:#161b22d9;--color-surface-raised:#1f242c;--color-border:#c9a77c1f;--color-border-hover:#c9a77c40;--color-border-active:#c9a77c66;--color-text:#f0e6d3;--color-text-secondary:#a89b8c;--color-text-muted:#6b5f52;--font-ui:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Inter", var(--font-ui);--font-jp:"Noto Sans JP", var(--font-ui);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--header-height:60px;--container-max-width:1100px;--container-sm-width:480px;--container-md-width:640px;--radius-sm:2px;--radius-md:4px;--radius-lg:4px;--radius-xl:4px;--radius-full:4px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 4px #0000004d;--shadow-lg:0 4px 8px #0000004d;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-bounce:.4s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-ui);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);letter-spacing:-.02em;font-weight:500;line-height:1.2}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{font-family:var(--font-ui);cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}img{max-width:100%;display:block}.app-layout{flex-direction:column;min-height:100vh;display:flex}.main-content{padding-top:var(--header-height);flex:1}.container{max-width:var(--container-max-width);padding:0 var(--spacing-lg);margin:0 auto}.container-sm{max-width:var(--container-sm-width);padding:0 var(--spacing-lg);margin:0 auto}.container-md{max-width:var(--container-md-width);padding:0 var(--spacing-lg);margin:0 auto}.jp-text{font-family:var(--font-jp);font-weight:500}.glass-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0}.page-section{padding:var(--spacing-3xl) 0}.page-header{margin-bottom:var(--spacing-2xl)}.page-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-xs);font-weight:700}.page-header p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.animate-slide-up{animation:slideUpFade var(--transition-bounce) forwards}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;padding:.5rem 1.25rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:1px solid var(--color-accent);outline-offset:2px}.btn-sm{font-size:var(--font-size-xs);padding:.375rem 1rem}.btn-lg{font-size:var(--font-size-base);padding:.75rem 1.5rem}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-bg)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text)}.btn-success{background:var(--color-success);color:var(--color-text)}.btn-success:hover{background:var(--color-success-hover);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:var(--color-text)}.btn-danger:hover{background:var(--color-danger-hover);color:var(--color-text)}.btn-outline{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.btn-outline:hover{border-color:var(--color-border-hover);color:var(--color-text)}.btn-ghost{color:var(--color-text-secondary);background:0 0;padding:.5rem .75rem}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface)}.btn[disabled],.btn:disabled{opacity:.5;pointer-events:none}.btn-block{width:100%}.form-group{margin-bottom:var(--spacing-lg)}.form-group label,.form-group .form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-weight:500;display:block}.form-control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.625rem .875rem;line-height:1.5}.form-control:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-light);outline:none}.form-control:disabled{opacity:.5;cursor:not-allowed}.form-control::placeholder{color:var(--color-text-muted)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8.825a.5.5 0 0 1-.354-.146l-4-4a.5.5 0 0 1 .708-.708L6 7.617l3.646-3.646a.5.5 0 0 1 .708.708l-4 4A.5.5 0 0 1 6 8.825z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}textarea.form-control{resize:vertical;min-height:80px}.validation-message{color:var(--color-danger);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.alert-danger{background:var(--color-danger-light);color:#fca5a5;border:1px solid #ef44444d}.alert-success{background:var(--color-success-light);color:#6ee7b7;border:1px solid #10b9814d}.alert-warning{background:var(--color-warning-light);color:#fcd34d;border:1px solid #f59e0b4d}.alert-info{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge{font-size:var(--font-size-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;align-items:center;padding:.2rem .625rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--color-accent-light);color:var(--color-accent)}.badge-secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge-muted{color:var(--color-text-secondary);background:#94a3b826}.loading-screen{min-height:100vh;color:var(--color-accent);font-size:var(--font-size-xl);font-family:var(--font-heading);justify-content:center;align-items:center;display:flex}.loading-spinner{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl);color:var(--color-text-secondary);flex-direction:column;display:flex}.loading-spinner:before{content:"";border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-secondary)}.empty-state p{margin-bottom:var(--spacing-lg);font-size:var(--font-size-lg)}.actions{justify-content:center;gap:var(--spacing-md);display:flex}.pagination{margin-bottom:var(--spacing-xl);justify-content:center;display:flex}.site-header{height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:1000;position:fixed;top:0;left:0;right:0}.header-inner{max-width:var(--container-max-width);padding:0 var(--spacing-lg);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.header-logo{align-items:center;gap:var(--spacing-sm);color:var(--color-text);font-weight:600;font-size:var(--font-size-lg);font-family:var(--font-heading);flex-shrink:0;text-decoration:none;display:flex}.header-logo:hover{color:var(--color-text)}.logo-jp{background:var(--color-accent);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-bg);font-weight:600;font-size:var(--font-size-xs);font-family:var(--font-heading);justify-content:center;align-items:center;display:inline-flex}.logo-text{font-size:var(--font-size-base)}.header-nav{align-items:center;gap:var(--spacing-xs);display:flex}.nav-link{font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;padding:.4rem .75rem;font-weight:500;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--color-text);background:var(--color-surface-hover)}.nav-link.active{color:var(--color-accent);background:var(--color-accent-light)}.nav-divider{background:var(--color-border);width:1px;height:20px;margin:0 var(--spacing-xs)}.mobile-menu-toggle{padding:var(--spacing-sm);cursor:pointer;background:0 0;border:none;display:none}.hamburger{background:var(--color-text);width:20px;height:2px;transition:background var(--transition-fast);display:block;position:relative}.hamburger:before,.hamburger:after{content:"";background:var(--color-text);width:100%;height:2px;transition:transform var(--transition-fast);position:absolute;left:0}.hamburger:before{top:-6px}.hamburger:after{bottom:-6px}.hamburger.open{background:0 0}.hamburger.open:before{transform:translateY(6px)rotate(45deg)}.hamburger.open:after{transform:translateY(-6px)rotate(-45deg)}.site-footer{border-top:1px solid var(--color-border);padding:var(--spacing-2xl) 0;margin-top:auto}.footer-inner{max-width:var(--container-max-width);padding:0 var(--spacing-lg);align-items:center;gap:var(--spacing-md);text-align:center;flex-direction:column;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:var(--spacing-sm);display:flex}.footer-tagline{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.footer-links{align-items:center;gap:var(--spacing-sm);display:flex}.footer-links a{font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-text)}.footer-sep{color:var(--color-text-muted);font-size:var(--font-size-xs)}.footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (width<=768px){:root{--font-size-4xl:1.75rem;--font-size-3xl:1.5rem;--spacing-2xl:2rem;--spacing-3xl:2.5rem}.mobile-menu-toggle{display:block}.header-nav{top:var(--header-height);background:var(--color-bg);padding:var(--spacing-xl) var(--spacing-lg);gap:var(--spacing-sm);transition:transform var(--transition-normal);border-top:1px solid var(--color-border);flex-direction:column;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translate(100%)}.header-nav.is-open{transform:translate(0)}.nav-link{padding:var(--spacing-md);font-size:var(--font-size-base)}.nav-divider{width:100%;height:1px;margin:var(--spacing-sm) 0}.logo-text{font-size:var(--font-size-sm)}}.add-card-container{max-width:var(--container-md-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.add-card-container>h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl);font-weight:700}.generated-preview{background:var(--color-surface);border:1px solid var(--color-accent);padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl);border-radius:0}.generated-preview h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-accent)}.generated-preview p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.generated-preview p strong{color:var(--color-text)}.generated-preview .btn{margin-right:var(--spacing-sm);margin-top:var(--spacing-sm)}.add-card-container form{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);border-radius:0}.add-card-container form .btn{margin-right:var(--spacing-sm);margin-top:var(--spacing-sm)}.card-detail-container{max-width:var(--container-md-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.card-header{align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl);flex-wrap:wrap;display:flex}.card-header h1{font-size:var(--font-size-4xl);font-family:var(--font-jp);font-weight:700}.card-header .card-type{font-size:var(--font-size-xs);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;background:var(--color-accent-light);color:var(--color-accent);align-items:center;padding:.2rem .625rem;font-weight:500;display:inline-flex}.card-content .section ul li{background:var(--color-surface-hover);font-size:var(--font-size-sm);border-radius:0;padding:.3rem .75rem}.card-content{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);border-radius:0}.card-header .card-status{font-size:var(--font-size-xs);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;background:var(--color-success-light);color:var(--color-success);align-items:center;padding:.2rem .625rem;font-weight:500;display:inline-flex}.card-content .section{margin-bottom:var(--spacing-xl)}.card-content .section:last-child{margin-bottom:0}.card-content .section h3{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm);font-weight:600}.card-content .section ul{gap:var(--spacing-sm);flex-wrap:wrap;list-style:none;display:flex}.card-content .section ul li{background:var(--color-surface-hover);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:.3rem .75rem}.card-content .section p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6}.example-translation{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:.25rem}.courses-container{max-width:var(--container-max-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.courses-container>h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);font-weight:700}.courses-intro{color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.courses-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.course-card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);gap:var(--spacing-sm);flex-direction:column;display:flex}.course-japanese{font-size:var(--font-size-2xl);font-weight:600}.course-card h2{font-size:var(--font-size-xl);margin:0}.course-description,.course-progress,.course-blocked{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.course-blocked{color:var(--color-warning)}.course-actions{margin-top:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;display:flex}.course-card .btn{width:100%}.dashboard-container{max-width:var(--container-max-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.dashboard-container>h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl);font-weight:700}.stats-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);text-align:center;transition:border-color var(--transition-fast);border-radius:0}.stat-card:hover{border-color:var(--color-border-hover)}.stat-card h3{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm);font-weight:500}.stat-number{font-size:var(--font-size-3xl);font-weight:500;font-family:var(--font-heading);color:var(--color-accent)}.quick-actions{gap:var(--spacing-md);flex-wrap:wrap;display:flex}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.quick-actions{flex-direction:column}.quick-actions .btn{width:100%}}.edit-card-container{max-width:var(--container-md-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.edit-card-container>h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl);font-weight:700}.edit-card-container form{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);border-radius:0}.edit-card-container form .btn{margin-right:var(--spacing-sm);margin-top:var(--spacing-sm)}.ai-section{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl);border-radius:0}.ai-section h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.ai-section input,.ai-section select{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-base);margin-bottom:var(--spacing-sm);transition:border-color var(--transition-fast);padding:.5rem .75rem}.ai-section select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a89b8c' d='M6 8.825a.5.5 0 0 1-.354-.146l-4-4a.5.5 0 0 1 .708-.708L6 7.617l3.646-3.646a.5.5 0 0 1 .708.708l-4 4A.5.5 0 0 1 6 8.825z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.ai-section input:focus,.ai-section select:focus{border-color:var(--color-accent);outline:none}.ai-section input::placeholder{color:var(--color-text-muted)}.type-toggle{gap:var(--spacing-sm);display:flex}.type-toggle .btn{flex:1;padding:.5rem 1rem}.example-entry{background:var(--color-surface-hover);border:1px solid var(--color-border);padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:0}.example-entry p{font-family:var(--font-jp);font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.example-entry .translation{font-family:var(--font-ui);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.hero-section{min-height:calc(100vh - var(--header-height));text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.hero-content{z-index:1;max-width:680px;position:relative}.hero-title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-lg);letter-spacing:-.02em;font-weight:600;line-height:1.15}.hero-title .highlight{color:var(--color-accent)}.hero-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);max-width:560px;margin-left:auto;margin-right:auto;line-height:1.6}.hero-actions{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.hero-actions .btn{font-size:var(--font-size-base);padding:.625rem 1.5rem}.features-section{padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border);margin-bottom:var(--spacing-2xl)}.features-section-title{text-align:center;font-size:var(--font-size-xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:-.01em;font-weight:500}.features-grid{gap:var(--spacing-lg);max-width:var(--container-max-width);padding:0 var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 auto;display:grid}.feature-card{border:1px solid var(--color-border);padding:var(--spacing-xl);transition:border-color var(--transition-fast);background:0 0;border-radius:0}.feature-card:hover{border-color:var(--color-border-hover)}.feature-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);letter-spacing:-.01em;font-weight:500}.feature-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6}@media (width<=768px){.features-grid{grid-template-columns:1fr}.hero-title{font-size:var(--font-size-3xl)}}.import-cards-container{max-width:var(--container-md-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.import-cards-container>h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);font-weight:700}.import-intro{color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.import-preview{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.import-error-list{margin:var(--spacing-sm) 0 0;padding-left:1.25rem}.form-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border);display:flex}.import-format{margin-top:var(--spacing-2xl);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.import-format summary{cursor:pointer;margin-bottom:var(--spacing-sm)}.import-format pre{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text);overflow-x:auto}.list-cards-container{max-width:var(--container-max-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.list-cards-container>h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl);font-weight:500}.filters{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap;align-items:center;display:flex}.search-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:200px;color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-sm);transition:border-color var(--transition-fast);flex:1;padding:.5rem .75rem}.search-input:focus{border-color:var(--color-accent);outline:none}.search-input::placeholder{color:var(--color-text-muted)}.filter-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-sm);appearance:none;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a89b8c' d='M6 8.825a.5.5 0 0 1-.354-.146l-4-4a.5.5 0 0 1 .708-.708L6 7.617l3.646-3.646a.5.5 0 0 1 .708.708l-4 4A.5.5 0 0 1 6 8.825z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding:.5rem 2rem .5rem .75rem}.filter-select:focus{border-color:var(--color-accent);outline:none}.cards-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.card-item{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-lg);cursor:pointer;transition:border-color var(--transition-fast);text-align:center;border-radius:0}.card-item:hover{border-color:var(--color-accent)}.card-value{font-size:var(--font-size-xl);font-family:var(--font-jp);margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:500}.card-type{font-size:var(--font-size-xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs);font-weight:500}.card-status{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}@media (width<=768px){.cards-grid{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.search-input,.filter-select,.filters .btn{width:100%}}.onboarding-container{min-height:calc(100vh - var(--header-height) - 120px);padding:var(--spacing-2xl) var(--spacing-lg);justify-content:center;align-items:center;display:flex}.onboarding-card{width:100%;max-width:var(--container-sm-width);background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-2xl);border-radius:0;animation:.4s ease-out forwards slideUpFade}.onboarding-card h2{font-size:var(--font-size-2xl);text-align:center;margin-bottom:var(--spacing-sm)}.onboarding-card>p{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.onboarding-options{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.onboarding-option{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--color-border);cursor:pointer;transition:border-color var(--transition-fast);display:flex}.onboarding-option:hover{border-color:var(--color-border-hover)}.onboarding-option input{accent-color:var(--color-accent);margin-top:.35rem}.option-text{gap:var(--spacing-xs);flex-direction:column;display:flex}.option-title{font-size:var(--font-size-lg);font-weight:600}.option-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.onboarding-card .btn-primary{width:100%;padding:.75rem}.review-container{max-width:var(--container-md-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.review-card{animation:.35s ease-out forwards slideUpFade}.review-progress{text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.review-save-hint{margin-top:var(--spacing-xs);color:var(--color-danger);display:block}.card-front{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;margin-bottom:var(--spacing-lg);border-radius:0}.card-front h2{font-size:var(--font-size-4xl);font-family:var(--font-jp);margin-bottom:0;font-weight:500}.revealed-info{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.revealed-info p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.meanings{color:var(--color-text);font-size:var(--font-size-xl);font-weight:500}.examples-section{margin-top:var(--spacing-lg);text-align:left}.examples-section strong{color:var(--color-text);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em}.examples-section ul{margin-top:var(--spacing-sm)}.examples-section li{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.example-translation{color:var(--color-text-muted)}.review-input-area{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);border-radius:0}.question-type{text-align:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em}.question-type.meaning{background:var(--color-accent-light);color:var(--color-accent)}.question-type.reading{background:var(--color-surface-hover);color:var(--color-text-secondary)}.input-wrapper{margin-bottom:var(--spacing-lg);position:relative}.answer-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface-hover);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-lg);text-align:center;transition:border-color var(--transition-fast);line-height:1.5}.answer-input:focus{border-color:var(--color-accent);outline:none}.answer-input::placeholder{color:var(--color-text-muted)}.answer-input:disabled{opacity:.7;cursor:not-allowed}.input-wrapper.correct .answer-input{border-color:var(--color-success);background:var(--color-success-light)}.input-wrapper.incorrect .answer-input{border-color:var(--color-danger);background:var(--color-danger-light)}.feedback-message{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:center;justify-content:center;align-items:center;font-weight:500;display:flex}.feedback-message.correct{background:var(--color-success-light);color:var(--color-success)}.feedback-message.incorrect{background:var(--color-danger-light);color:var(--color-danger)}.input-actions{gap:var(--spacing-md);display:flex}.input-actions .btn{flex:1;width:auto}.complete-actions{gap:var(--spacing-md);flex-direction:column;max-width:280px;margin:0 auto;display:flex}.review-actions{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);border-radius:0}.review-actions h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.correctness{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.correctness label{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-hover);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);display:flex}.correctness label:hover{color:var(--color-text)}.correctness input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent)}.review-complete{text-align:center;padding:var(--spacing-3xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;animation:.4s ease-out forwards slideUpFade}.review-complete h2{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md)}.review-complete p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl)}@media (width<=768px){.review-container{padding:var(--spacing-sm) var(--spacing-md)}.review-card{animation:none}.review-progress{height:var(--header-height);z-index:1001;pointer-events:none;align-items:center;margin:0;display:flex;position:fixed;top:0;right:4.5rem}.card-front{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);overscroll-behavior:auto;height:auto;overflow:visible}.card-front h2{margin-bottom:0}.revealed-info{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.revealed-info p{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs)}.meanings{font-size:var(--font-size-lg)}.examples-section{margin-top:var(--spacing-sm)}.examples-section ul{margin-top:var(--spacing-xs)}.examples-section li{margin-bottom:var(--spacing-xs)}.review-input-area{padding:var(--spacing-sm) var(--spacing-md)}.question-type{margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.input-wrapper{margin-bottom:var(--spacing-sm)}.answer-input{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.feedback-message{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.input-actions{gap:var(--spacing-sm)}.review-complete{padding:var(--spacing-xl) var(--spacing-md)}.review-complete p{margin-bottom:var(--spacing-md)}}.settings-container{max-width:var(--container-md-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.settings-container>h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2xl);font-weight:500}.user-info,.export-section,.danger-zone,.card-usage-section{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border-radius:0}.user-info h2,.export-section h2,.danger-zone h2,.card-usage-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);font-weight:500}.user-info p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);line-height:1.8}.user-info p strong{color:var(--color-text);min-width:160px;font-weight:500;display:inline-block}.export-section p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.cooldown-message{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-sm);font-style:italic}.export-spinner{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-direction:column;display:flex}.export-spinner:before{content:"";border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite export-spin}@keyframes export-spin{to{transform:rotate(360deg)}}.export-section .export-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.download-section{margin-bottom:var(--spacing-2xl);padding:var(--spacing-md);background-color:var(--color-surface-hover);border-radius:0}.download-section p:last-child{margin-bottom:0}.download-section p{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.danger-zone{border-color:#b85c5c4d}.deletion-warning{background:var(--color-surface);border:1px solid var(--color-warning);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border-left-width:4px;border-radius:0}.deletion-warning h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--color-warning);font-weight:500}.deletion-warning p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);line-height:1.6}.deletion-warning p strong{color:var(--color-text);font-weight:500}.danger-zone h2{color:var(--color-danger)}.danger-action{padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.danger-action:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.danger-action p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);line-height:1.6}.danger-action p strong{color:var(--color-text);font-weight:500}.action-success{color:var(--color-success);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.delete-confirm{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.delete-confirm p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.delete-confirm input{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-base);margin-bottom:var(--spacing-md);transition:border-color var(--transition-fast);padding:.5rem .75rem}.delete-confirm input:focus{border-color:var(--color-danger);outline:none}.delete-confirm input::placeholder{color:var(--color-text-muted)}.delete-confirm .btn{margin-right:var(--spacing-sm)}.progress-bar-container{gap:var(--spacing-sm);flex-direction:column;display:flex}.progress-bar{background:var(--color-surface-hover);border-radius:0;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--color-accent);height:100%;transition:width var(--transition-normal);border-radius:0}.progress-fill.warning{background:var(--color-warning)}.progress-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);justify-content:space-between;display:flex}.start-learning-container{max-width:var(--container-md-width);padding:var(--spacing-2xl) var(--spacing-lg);margin:0 auto}.start-learning-confirm h2{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);font-weight:500}.start-learning-intro{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.start-learning-list{gap:var(--spacing-lg);flex-direction:column;display:flex}.lesson-card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-2xl);border-radius:0;animation:.35s ease-out forwards slideUpFade}.lesson-card-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex}.lesson-card-header h3{font-size:var(--font-size-2xl);font-family:var(--font-jp);font-weight:500}.lesson-card-header .card-type{white-space:nowrap;margin-bottom:0}.lesson-content .section{margin-bottom:var(--spacing-xl)}.lesson-content .section:last-child{margin-bottom:0}.lesson-content .section h3{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm);font-weight:500}.lesson-content .section ul{gap:var(--spacing-sm);flex-wrap:wrap;list-style:none;display:flex}.lesson-content .section ul li{background:var(--color-surface-hover);font-size:var(--font-size-sm);border-radius:0;padding:.3rem .75rem}.lesson-content .section p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6}.start-confirm-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border);display:flex}.start-learning-saving{margin-top:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}@media (width<=768px){.start-confirm-actions{flex-direction:column}}
