.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - 120px);padding:var(--spacing-2xl) var(--spacing-lg)}.auth-card{width:100%;max-width:var(--container-sm-width);background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-2xl);animation:slideUpFade .4s ease-out forwards}.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{display:flex;flex-direction:column}.auth-card .btn-primary{width:100%;margin-top:var(--spacing-sm);padding:.75rem}.auth-links{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.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{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4;font-weight:400;margin-bottom:0}.checkbox-label input{margin-top:.2rem;flex-shrink:0}.static-page{max-width:800px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg);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:disc}.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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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: rgba(201, 167, 124, .15);--color-success: #5a7c5a;--color-success-hover: #4a6b4a;--color-success-light: rgba(90, 124, 90, .15);--color-warning: #c9a050;--color-warning-light: rgba(201, 160, 80, .15);--color-danger: #b85c5c;--color-danger-hover: #a34d4d;--color-danger-light: rgba(184, 92, 92, .15);--color-bg: #0d1117;--color-surface: #161b22;--color-surface-hover: #1c2128;--color-surface-glass: rgba(22, 27, 34, .85);--color-surface-raised: #1f242c;--color-border: rgba(201, 167, 124, .12);--color-border-hover: rgba(201, 167, 124, .25);--color-border-active: rgba(201, 167, 124, .4);--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 rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .3);--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{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-ui);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;line-height:1.2;color:var(--color-text);letter-spacing:-.02em}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none}ul,ol{list-style:none}img{max-width:100%;display:block}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding-top:var(--header-height)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg)}.container-sm{max-width:var(--container-sm-width);margin:0 auto;padding:0 var(--spacing-lg)}.container-md{max-width:var(--container-md-width);margin:0 auto;padding:0 var(--spacing-lg)}.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);font-weight:700;margin-bottom:var(--spacing-xs)}.page-header p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@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{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.5rem 1.25rem;font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;line-height:1.4;text-decoration:none}.btn:focus-visible{outline:1px solid var(--color-accent);outline-offset:2px}.btn-sm{padding:.375rem 1rem;font-size:var(--font-size-xs)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-size-base)}.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{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-border-hover);color:var(--color-text)}.btn-ghost{background:transparent;color:var(--color-text-secondary);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{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.form-control{width:100%;padding:.625rem .875rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);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);line-height:1.5}.form-control:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-light)}.form-control:disabled{opacity:.5;cursor:not-allowed}.form-control::placeholder{color:var(--color-text-muted)}select.form-control{-webkit-appearance:none;-moz-appearance:none;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-repeat:no-repeat;background-position:right .75rem center;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 rgba(239,68,68,.3)}.alert-success{background:var(--color-success-light);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.alert-warning{background:var(--color-warning-light);color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.alert-info{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge{display:inline-flex;align-items:center;padding:.2rem .625rem;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em}.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{background:#94a3b826;color:var(--color-text-secondary)}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;color:var(--color-accent);font-size:var(--font-size-xl);font-family:var(--font-heading)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-3xl);color:var(--color-text-secondary)}.loading-spinner:before{content:"";width:28px;height:28px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.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{display:flex;justify-content:center;gap:var(--spacing-md)}.pagination{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:1000}.header-inner{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg);height:100%;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--color-text);font-weight:600;font-size:var(--font-size-lg);font-family:var(--font-heading);flex-shrink:0}.header-logo:hover{color:var(--color-text)}.logo-jp{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-accent);border-radius:var(--radius-sm);color:var(--color-bg);font-weight:600;font-size:var(--font-size-xs);font-family:var(--font-heading)}.logo-text{font-size:var(--font-size-base)}.header-nav{display:flex;align-items:center;gap:var(--spacing-xs)}.nav-link{display:inline-flex;align-items:center;padding:.4rem .75rem;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none}.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{width:1px;height:20px;background:var(--color-border);margin:0 var(--spacing-xs)}.mobile-menu-toggle{display:none;padding:var(--spacing-sm);background:none;border:none;cursor:pointer}.hamburger{display:block;width:20px;height:2px;background:var(--color-text);position:relative;transition:background var(--transition-fast)}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;width:100%;height:2px;background:var(--color-text);transition:transform var(--transition-fast)}.hamburger:before{top:-6px}.hamburger:after{bottom:-6px}.hamburger.open{background:transparent}.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);margin:0 auto;padding:0 var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center}.footer-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.footer-tagline{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.footer-links{display:flex;align-items:center;gap:var(--spacing-sm)}.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(max-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{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background:var(--color-bg);flex-direction:column;padding:var(--spacing-xl) var(--spacing-lg);gap:var(--spacing-sm);transform:translate(100%);transition:transform var(--transition-normal);border-top:1px solid var(--color-border);overflow-y:auto}.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);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.add-card-container>h1{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-2xl)}.ai-section select{-webkit-appearance:none;-moz-appearance:none;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-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.generated-preview{background:var(--color-surface);border:1px solid var(--color-accent);border-radius:0;padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.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);border-radius:0;padding:var(--spacing-xl)}.add-card-container form .btn{margin-right:var(--spacing-sm);margin-top:var(--spacing-sm)}.card-detail-container{max-width:var(--container-md-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.card-header{display:flex;align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl);flex-wrap:wrap}.card-header h1{font-size:var(--font-size-4xl);font-family:var(--font-jp);font-weight:700}.card-header .card-type{display:inline-flex;align-items:center;padding:.2rem .625rem;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;background:var(--color-accent-light);color:var(--color-accent)}.card-content .section ul li{background:var(--color-surface-hover);padding:.3rem .75rem;border-radius:0;font-size:var(--font-size-sm)}.card-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.card-header .card-status{display:inline-flex;align-items:center;padding:.2rem .625rem;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;background:var(--color-success-light);color:var(--color-success)}.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);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm)}.card-content .section ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.card-content .section ul li{background:var(--color-surface-hover);padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.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);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.courses-container>h1{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm)}.courses-intro{color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-lg)}.course-card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-sm)}.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);display:flex;flex-direction:column;gap:var(--spacing-sm)}.course-card .btn{width:100%}.dashboard-container{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.dashboard-container>h1{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-2xl)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-xl);text-align:center;transition:border-color var(--transition-fast)}.stat-card:hover{border-color:var(--color-border-hover)}.stat-card h3{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm)}.stat-number{font-size:var(--font-size-3xl);font-weight:500;font-family:var(--font-heading);color:var(--color-accent)}.quick-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}@media(max-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);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.edit-card-container>h1{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-2xl)}.edit-card-container form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-xl)}.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);border-radius:0;padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.ai-section h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.ai-section input,.ai-section select{width:100%;padding:.5rem .75rem;background:var(--color-surface-hover);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-base);margin-bottom:var(--spacing-sm);transition:border-color var(--transition-fast)}.ai-section select{-webkit-appearance:none;-moz-appearance:none;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-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.ai-section input:focus,.ai-section select:focus{outline:none;border-color:var(--color-accent)}.ai-section input::placeholder{color:var(--color-text-muted)}.type-toggle{display:flex;gap:var(--spacing-sm)}.type-toggle .btn{flex:1;padding:.5rem 1rem}.example-entry{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.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));display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);position:relative}.hero-content{position:relative;z-index:1;max-width:680px}.hero-title{font-size:var(--font-size-4xl);font-weight:600;line-height:1.15;margin-bottom:var(--spacing-lg);letter-spacing:-.02em}.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);line-height:1.6;max-width:560px;margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.hero-actions .btn{padding:.625rem 1.5rem;font-size:var(--font-size-base)}.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);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:-.01em}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-lg);max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg)}.feature-card{background:transparent;border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-xl);transition:border-color var(--transition-fast)}.feature-card:hover{border-color:var(--color-border-hover)}.feature-title{font-size:var(--font-size-lg);font-weight:500;margin-bottom:var(--spacing-sm);letter-spacing:-.01em}.feature-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6}@media(max-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);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.import-cards-container>h1{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm)}.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{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.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);overflow-x:auto;font-size:var(--font-size-sm);color:var(--color-text)}.list-cards-container{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.list-cards-container>h1{font-size:var(--font-size-3xl);font-weight:500;margin-bottom:var(--spacing-2xl)}.filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);align-items:center}.search-input{flex:1;min-width:200px;padding:.5rem .75rem;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);transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-accent)}.search-input::placeholder{color:var(--color-text-muted)}.filter-select{padding:.5rem 2rem .5rem .75rem;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);-webkit-appearance:none;-moz-appearance:none;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-repeat:no-repeat;background-position:right .75rem center;transition:border-color var(--transition-fast)}.filter-select:focus{outline:none;border-color:var(--color-accent)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.card-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-lg);cursor:pointer;transition:border-color var(--transition-fast);text-align:center}.card-item:hover{border-color:var(--color-accent)}.card-value{font-size:var(--font-size-xl);font-family:var(--font-jp);font-weight:500;margin-bottom:var(--spacing-sm);color:var(--color-text)}.card-type{font-size:var(--font-size-xs);font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.card-status{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}@media(max-width:768px){.cards-grid{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.search-input,.filter-select,.filters .btn{width:100%}}.onboarding-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - 120px);padding:var(--spacing-2xl) var(--spacing-lg)}.onboarding-card{width:100%;max-width:var(--container-sm-width);background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-2xl);animation:slideUpFade .4s ease-out forwards}.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{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.onboarding-option{display:flex;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)}.onboarding-option:hover{border-color:var(--color-border-hover)}.onboarding-option input{margin-top:.35rem;accent-color:var(--color-accent)}.option-text{display:flex;flex-direction:column;gap:var(--spacing-xs)}.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);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.review-card{animation:slideUpFade .35s ease-out forwards}.review-progress{text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.card-front{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;margin-bottom:var(--spacing-lg)}.card-front h2{font-size:var(--font-size-4xl);font-family:var(--font-jp);font-weight:500;margin-bottom:0}.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);border-radius:0;padding:var(--spacing-xl)}.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{position:relative;margin-bottom:var(--spacing-lg)}.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{outline:none;border-color:var(--color-accent)}.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;font-weight:500;display:flex;align-items:center;justify-content:center}.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{display:flex;gap:var(--spacing-md)}.input-actions .btn{flex:1;width:auto}.complete-actions{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:280px;margin:0 auto}.review-actions{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-xl)}.review-actions h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.correctness{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.correctness label{display:flex;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)}.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:slideUpFade .4s ease-out forwards}.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(max-width:768px){.review-container{padding:var(--spacing-sm) var(--spacing-md)}.review-card{animation:none}.review-progress{position:fixed;top:0;right:4.5rem;height:var(--header-height);margin:0;display:flex;align-items:center;z-index:1001;pointer-events:none}.card-front{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);height:auto;overflow:visible;overscroll-behavior:auto}.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);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.settings-container>h1{font-size:var(--font-size-3xl);font-weight:500;margin-bottom:var(--spacing-2xl)}.user-info,.export-section,.danger-zone,.card-usage-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.user-info h2,.export-section h2,.danger-zone h2,.card-usage-section h2{font-size:var(--font-size-xl);font-weight:500;margin-bottom:var(--spacing-lg)}.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);font-weight:500;display:inline-block;min-width:160px}.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);font-style:italic;margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-sm)}.export-spinner{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.export-spinner:before{content:"";width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:export-spin .8s linear infinite}@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);border-left-width:4px;border-radius:0;padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.deletion-warning h2{font-size:var(--font-size-xl);font-weight:500;margin-bottom:var(--spacing-lg);color:var(--color-warning)}.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)}.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{width:100%;padding:.5rem .75rem;background:var(--color-surface-hover);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-base);margin-bottom:var(--spacing-md);transition:border-color var(--transition-fast)}.delete-confirm input:focus{outline:none;border-color:var(--color-danger)}.delete-confirm input::placeholder{color:var(--color-text-muted)}.delete-confirm .btn{margin-right:var(--spacing-sm)}.progress-bar-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.progress-bar{width:100%;height:8px;background:var(--color-surface-hover);border-radius:0;overflow:hidden}.progress-fill{height:100%;background:var(--color-accent);border-radius:0;transition:width var(--transition-normal)}.progress-fill.warning{background:var(--color-warning)}.progress-text{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.start-learning-container{max-width:var(--container-md-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.lesson-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:var(--spacing-2xl);animation:slideUpFade .35s ease-out forwards}.lesson-card>h2{font-size:var(--font-size-3xl);font-family:var(--font-jp);font-weight:500;text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.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);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--spacing-sm)}.lesson-content .section ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.lesson-content .section ul li{background:var(--color-surface-hover);padding:.3rem .75rem;border-radius:0;font-size:var(--font-size-sm)}.lesson-content .section p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6}.lesson-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.learning-complete{text-align:center;padding:var(--spacing-3xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;animation:slideUpFade .4s ease-out forwards}.learning-complete h2{font-size:var(--font-size-3xl);font-weight:500;margin-bottom:var(--spacing-md)}.learning-complete p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl)}.learning-complete-actions{display:flex;justify-content:center;gap:var(--spacing-md)}@media(max-width:768px){.lesson-actions,.learning-complete-actions{flex-direction:column}}
