:root{--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-bg-base: #0f172a;--color-bg-radial-start: #111827;--color-bg-radial-end: #0b1020;--color-text-primary: #e5e7eb;--color-text-muted: #94a3b8;--color-brand-primary: #22c55e;--color-brand-primary-dark: #16a34a;--color-brand-secondary: #38bdf8;--color-danger: #ef4444;--color-danger-soft-text: #fecaca;--color-surface-base: #0b1228;--color-surface-card-start: #111827;--color-surface-card-end: #0f1a33;--color-border-strong: #1f2937;--color-border-medium: #334155;--color-border-soft: #243248;--color-border-accent: #0ea5e9;--color-border-hover: #60a5fa;--color-header-overlay: rgba(11, 16, 32, .9);--color-shadow-card: rgba(0, 0, 0, .25);--color-btn-primary-text: #04110b;--color-success-bg: rgba(34, 197, 94, .12);--color-success-border: rgba(34, 197, 94, .4);--color-danger-bg: rgba(239, 68, 68, .18);--color-danger-border: rgba(239, 68, 68, .5);--color-error-bg: rgba(239, 68, 68, .12);--color-error-border: rgba(239, 68, 68, .4)}:root[data-theme=light]{--color-bg-base: #fdfdfd;--color-bg-radial-start: #fdfdfd;--color-bg-radial-end: #ece5f3;--color-text-primary: #665c3b;--color-text-muted: #bcb9bd;--color-brand-primary: #d39258;--color-brand-primary-dark: #665c3b;--color-brand-secondary: #665c3b;--color-danger-soft-text: #665c3b;--color-surface-base: #fdfdfd;--color-surface-card-start: #fdfdfd;--color-surface-card-end: #ece5f3;--color-border-strong: #dbd5df;--color-border-medium: #dbd5df;--color-border-soft: #bcb9bd;--color-border-accent: #d39258;--color-border-hover: #665c3b;--color-header-overlay: rgba(253, 253, 253, .94);--color-shadow-card: rgba(102, 92, 59, .12);--color-btn-primary-text: #fdfdfd;--color-success-bg: rgba(211, 146, 88, .15);--color-success-border: rgba(211, 146, 88, .35);--color-danger-bg: rgba(188, 185, 189, .2);--color-danger-border: rgba(188, 185, 189, .5);--color-error-bg: rgba(102, 92, 59, .1);--color-error-border: rgba(102, 92, 59, .35)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:radial-gradient(circle at top,var(--color-bg-radial-start),var(--color-bg-radial-end) 65%);color:var(--color-text-primary)}.container{width:min(980px,92%);margin:0 auto}.app-frame{min-height:100vh}.app-shell{min-height:calc(100vh - 61px);display:grid;grid-template-columns:280px 1fr;transition:grid-template-columns .2s ease}.app-shell.sidebar-closed{grid-template-columns:0 1fr}.sidebar{border-right:1px solid var(--color-border-strong);background:var(--color-header-overlay);padding:18px 14px;display:flex;flex-direction:column;gap:14px;position:sticky;top:61px;height:calc(100vh - 61px);overflow:auto;transition:transform .2s ease,opacity .2s ease}.app-shell.sidebar-closed .sidebar{transform:translate(-100%);opacity:0;pointer-events:none}.sidebar-brand h1{margin:0}.brand-logo{width:144px;height:auto;max-height:144px;border-radius:12px;object-fit:contain;margin-bottom:8px}.sidebar-controls{display:grid;gap:10px}.sidebar-nav{display:grid;gap:8px}.sidebar-nav a{display:block;color:var(--color-text-primary);text-decoration:none;border:1px solid var(--color-border-medium);background:var(--color-surface-base);border-radius:10px;padding:10px 12px;font-weight:600}.sidebar-nav a:hover{border-color:var(--color-border-hover)}.content-shell{padding:20px 28px 28px}.main-layout{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--color-border-strong);background:var(--color-header-overlay);position:sticky;top:0;z-index:20}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px}.hamburger-btn{width:36px;height:36px;border:1px solid var(--color-border-medium);background:var(--color-surface-base);color:var(--color-text-primary);border-radius:8px;cursor:pointer;font-size:1.1rem}.topbar-logo{width:32px;height:32px;object-fit:contain}.topbar-brand{font-weight:700}.user-avatar{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;font-weight:700;border:1px solid var(--color-border-medium);background:var(--color-surface-base);color:var(--color-text-primary)}.header{border-bottom:1px solid var(--color-border-strong);position:sticky;top:0;background:var(--color-header-overlay)}.nav-wrap{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.nav-wrap h1{margin:0}.locale-badge{margin:4px 0 0;color:var(--color-text-muted);font-size:.86rem}.header-controls{display:flex;align-items:center;gap:10px}.language-switch{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.88rem}.language-switch select{border:1px solid var(--color-border-medium);background:var(--color-surface-base);color:var(--color-text-primary);border-radius:8px;padding:6px 10px}.theme-toggle{border:1px solid var(--color-border-medium);background:var(--color-surface-base);color:var(--color-text-primary);border-radius:8px;padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.88rem}.theme-toggle strong{color:var(--color-brand-secondary)}nav a{color:var(--color-text-primary);text-decoration:none;margin-left:14px}.nav-btn{margin-left:14px}main{padding:28px 0 40px}.card{background:linear-gradient(145deg,var(--color-surface-card-start),var(--color-surface-card-end));border:1px solid var(--color-border-strong);border-radius:14px;padding:20px;box-shadow:0 12px 24px var(--color-shadow-card)}.auth-card{max-width:560px;margin:0 auto}.auth-subtitle{color:var(--color-text-muted);margin-top:4px}.social-block{display:grid;gap:8px;margin-top:12px}.social-btn{width:100%;border:1px solid var(--color-border-medium);border-radius:10px;background:var(--color-surface-base);color:var(--color-text-primary);cursor:pointer;font-weight:600;padding:10px 12px}.social-btn:hover{border-color:var(--color-border-hover)}.auth-divider{display:flex;align-items:center;text-align:center;margin:14px 0 10px;color:var(--color-text-muted);font-size:.92rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border-medium)}.auth-divider span{padding:0 10px}.checkbox-line{display:flex;align-items:flex-start;gap:8px;margin-top:4px;color:var(--color-text-muted);font-size:.92rem}.checkbox-line input{width:auto;margin-top:3px}.auth-footnote{margin:2px 0 0;color:var(--color-text-muted);font-size:.88rem}.grid.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form{display:grid;gap:8px}input,textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border-medium);background:var(--color-surface-base);color:var(--color-text-primary);border-radius:10px}.actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.btn,.btn-outline,.btn-danger{border:none;cursor:pointer;border-radius:10px;padding:10px 14px;font-weight:600}.btn{background:linear-gradient(135deg,var(--color-brand-primary),var(--color-brand-primary-dark));color:var(--color-btn-primary-text)}.btn-outline{background:transparent;color:var(--color-brand-secondary);border:1px solid var(--color-border-accent)}.btn-danger{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-soft-text)}.notice{padding:10px 12px;border-radius:10px;margin-top:10px}.notice.success{background:var(--color-success-bg);border:1px solid var(--color-success-border)}.notice.error{background:var(--color-error-bg);border:1px solid var(--color-error-border)}.word-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.word-list li{border:1px solid var(--color-border-soft);border-radius:10px;padding:10px;display:flex;justify-content:space-between;gap:10px}.sub{margin:4px 0 0;color:var(--color-text-muted);font-size:.92rem}.flashcard{min-height:170px;display:grid;place-items:center;border:1px solid var(--color-border-medium);border-radius:14px;margin-top:8px;margin-bottom:12px;background:var(--color-surface-base);padding:20px;text-align:center}.flashcard p{font-size:1.3rem}@media (max-width: 900px){.app-shell{grid-template-columns:1fr;min-height:calc(100vh - 57px)}.sidebar{position:fixed;left:0;top:57px;z-index:40;width:min(280px,85vw);height:calc(100vh - 57px);border-right:1px solid var(--color-border-strong);border-bottom:none;transform:translate(-100%);opacity:0;pointer-events:none}.app-shell.sidebar-open .sidebar{transform:translate(0);opacity:1;pointer-events:auto}.content-shell{padding:16px}.sidebar-controls,.sidebar-nav{grid-template-columns:1fr 1fr}.topbar{padding:10px 14px}}@media (max-width: 760px){.grid.two-col{grid-template-columns:1fr}}
