:root{--color-bg: #f7f7f8;--color-surface: #ffffff;--color-surface-muted: #f4f4f6;--color-border: #e5e5e9;--color-text: #18181b;--color-text-muted: #71717a;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-contrast: #ffffff;--color-success-bg: #ecfdf5;--color-success-text: #047857;--color-success-border: #a7f3d0;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-bg: #fef2f2;--color-danger-text: #b91c1c;--color-danger-border: #fecaca;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(15, 15, 20, .04);--shadow-md: 0 6px 20px rgba(15, 15, 20, .06);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--color-bg: #0c0c0e;--color-surface: #18181b;--color-surface-muted: #202024;--color-border: #2c2c31;--color-text: #f4f4f5;--color-text-muted: #a1a1aa;--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-accent-contrast: #0c0c0e;--color-success-bg: #052e21;--color-success-text: #6ee7b7;--color-success-border: #065f46;--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-danger-bg: #2a0f0f;--color-danger-text: #fca5a5;--color-danger-border: #7f1d1d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 20px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2{letter-spacing:-.01em}h1{font-size:26px;margin:0 0 4px}h2{font-size:15px;font-weight:600;margin:20px 0 10px}a{color:var(--color-accent)}.nav-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:10}.nav-brand{font-weight:700;font-size:15px;text-decoration:none;color:var(--color-text)}.nav-links,.nav-user{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--color-text-muted)}.nav-links a{text-decoration:none;color:var(--color-text)}.page{max-width:680px;margin:0 auto;padding:40px 20px}.page-center{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--color-text-muted);font-size:14px}.auth-page{display:flex;justify-content:center;padding:72px 20px}.auth-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.auth-form h1{margin-bottom:8px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--color-text-muted)}.field-hint{color:var(--color-text-muted);font-size:12px;font-weight:400}input,textarea{padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:14px;font-family:inherit;transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 20%,transparent)}button{padding:9px 16px;border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-contrast);font-size:14px;font-weight:500;cursor:pointer;transition:background .12s ease,transform .05s ease}button:hover:not(:disabled){background:var(--color-accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button.danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger-border)}button.danger:hover:not(:disabled){background:var(--color-danger-bg)}.oauth-button{display:block;text-align:center;padding:9px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);text-decoration:none;background:var(--color-surface);color:var(--color-text);font-size:14px;font-weight:500}.oauth-button:hover{border-color:var(--color-text-muted)}.auth-links{display:flex;justify-content:space-between;font-size:13px}.auth-links a{text-decoration:none}.auth-links a:hover{text-decoration:underline}.form-error{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.deck-list{list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:8px}.deck-list li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color .12s ease}.deck-list li:hover{border-color:var(--color-accent)}.deck-row{display:flex;justify-content:space-between;align-items:center;padding:6px 18px}.deck-row a{padding:8px 0;text-decoration:none;color:var(--color-text);font-weight:500}.deck-row .study-link{font-size:13px;font-weight:500;color:var(--color-accent);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:5px 12px}.deck-row .study-link:hover{border-color:var(--color-accent);background:var(--color-surface-muted)}.badge{margin-left:8px;font-size:11px;font-weight:500;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;padding:2px 7px}.inline-form{display:flex;gap:8px}.inline-form input{flex:1}.deck-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card-form{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.hint{color:var(--color-text-muted);font-size:13px}.import-summary{margin-top:10px;font-size:14px;color:var(--color-text-muted)}.import-summary ul{margin:6px 0 0;padding-left:18px}.card-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.card-list li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:14px 18px}.card-view{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-view p{margin:4px 0 0;color:var(--color-text-muted);font-size:14px}.card-actions,.card-edit-actions{display:flex;gap:8px;flex-shrink:0}.card-edit{display:flex;flex-direction:column;gap:8px}.deck-header-actions{display:flex;gap:8px}.mode-tabs{display:flex;gap:4px;margin:20px 0 0;background:var(--color-surface-muted);padding:4px;border-radius:var(--radius-md)}.mode-tab{flex:1;background:transparent;color:var(--color-text-muted);border:none;border-radius:var(--radius-sm);font-weight:500;padding:8px 12px}.mode-tab:hover:not(.active){background:color-mix(in srgb,var(--color-text-muted) 10%,transparent)}.mode-tab.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.due-count{padding:12px 4px 4px;margin-top:0;color:var(--color-text-muted);font-size:13px}.study-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);padding:32px;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center}.study-word{font-size:30px;font-weight:700;letter-spacing:-.01em}.study-definition{font-size:16px;color:var(--color-text-muted)}.study-sentence{font-size:17px;line-height:1.55}.study-extra{width:100%;background:var(--color-surface-muted);border-radius:var(--radius-sm);padding:12px 16px;text-align:left}.study-extra-label{font-size:11px;font-weight:700;color:var(--color-text-muted);letter-spacing:.06em;margin-bottom:4px}.study-extra p{margin:0}.option-list{width:100%;display:flex;flex-direction:column;gap:8px}.option{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);text-align:left;font-weight:400}.option:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface)}.option.correct{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text);font-weight:500}.option.incorrect{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.recall-card{width:100%;min-height:130px;display:flex;flex-direction:column;justify-content:center;gap:10px;cursor:pointer}.recall-actions{display:flex;gap:8px;width:100%}.recall-actions button{flex:1}
