:root{--teal: #12B886;--teal-deep: #0CA678;--coral: #FF8787;--ink: #1E2A32;--bg: #F8FAFB;--bg-tint: #E6F4FE;--card: #FFFFFF;--muted: #5A6B75;--border: #E3EAEF;--to-learn: #FF6B00;--practiced: #00BCD4;--learned: #4CAF50;--error: #FF5252;--success: #4CAF50;--series-added: #7E57C2;--series-checked: #EC407A;--tint-primary: #E0F7FA;--tint-primary-strong: #F2FCFD;--tint-success: #E7F6EC;--tint-warning: #FFF4E0;--tint-orange: #FFE8D6;--tint-error: #FDE8E8;--tint-error-soft: #FFF8F6;--tint-error-border: #FFB4A8;--tint-purple: #EDE7F6;--primary-ink: #0097A7;--purple-ink: #5E35B1;--hover: rgba(30, 42, 50, .04);--scrim: rgba(30, 42, 50, .32);color-scheme:light;--radius: 16px;--shadow: 0 10px 30px rgba(30, 42, 50, .08);--shadow-lg: 0 20px 50px rgba(30, 42, 50, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--tutor-w: 380px;--topbar-h: 62px}:root[data-theme=dark]{--ink: #ECEFF1;--bg: #0F1418;--bg-tint: #17252C;--card: #1B2228;--muted: #9AA9B2;--border: #2A333A;--series-added: #9575CD;--series-checked: #F06292;--tint-primary: #12343A;--tint-primary-strong: #0F2C31;--tint-success: #183A24;--tint-warning: #3A2E14;--tint-orange: #3D2717;--tint-error: #3D1D1D;--tint-error-soft: #2E1C1A;--tint-error-border: #8A4A40;--tint-purple: #2A2340;--primary-ink: #4DD0E1;--purple-ink: #B39DDB;--hover: rgba(255, 255, 255, .06);--scrim: rgba(0, 0, 0, .55);--shadow: 0 10px 30px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 50px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;font-weight:700;font-size:15px;padding:11px 20px;border-radius:999px;border:none;box-shadow:0 8px 20px #12b88642;transition:transform .16s ease,box-shadow .16s ease,opacity .16s}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #12b88657}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:var(--card);color:var(--ink);border:1px solid var(--border);box-shadow:none}.btn.secondary:hover:not(:disabled){box-shadow:var(--shadow);transform:none}.btn.danger{background:var(--error);box-shadow:none}.btn.small{padding:7px 14px;font-size:13px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:600;color:var(--muted)}.input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:11px 14px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #12b8861f}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235A6B75' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px;cursor:pointer}:root[data-theme=dark] select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%239AA9B2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--bg-tint);color:var(--ink);border:1px solid transparent;cursor:pointer}.chip.active{background:var(--teal);color:#fff}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.to_learn{background:var(--to-learn)}.dot.practiced{background:var(--practiced)}.dot.learned{background:var(--learned)}.tutor-panel{width:var(--tutor-w);flex-shrink:0;background:var(--card);border-left:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));padding:14px 16px}.tutor-backdrop{display:none}@media(max-width:1000px){.tutor-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;width:auto;height:auto;max-width:480px;margin-left:auto;border-left:1px solid var(--border);box-shadow:var(--shadow-lg);padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.tutor-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:var(--scrim);border:none;width:100%}}.muted{color:var(--muted)}.center{display:flex;align-items:center;justify-content:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--teal);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topnav::-webkit-scrollbar{display:none}.nav-item{cursor:pointer}.nav-item:hover{color:var(--ink);background:var(--hover)}.nav-item:focus{outline:none}.nav-item:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.stage-btn:focus{outline:none}.stage-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.stage-btn:hover:not([aria-pressed=true]){background-color:var(--hover)!important}@media(max-width:1360px){.account-name{display:none}}@media(max-width:1180px){.nav-label{display:none}.nav-item{padding:8px 10px!important}}.word-page{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.word-col{display:flex;flex-direction:column;gap:16px;min-width:0}@media(min-width:1100px){.word-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.thinking-dots{display:inline-flex;gap:4px;flex-shrink:0}.thinking-dots span{width:7px;height:7px;border-radius:50%;background:var(--practiced);animation:thinking-pulse 1.1s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.16s}.thinking-dots span:nth-child(3){animation-delay:.32s}@keyframes thinking-pulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.15)}}.grammar-input:focus{border-color:var(--teal)!important;background:var(--card)!important}.grammar-input:disabled{opacity:.7}.grammar-option:not(:disabled):hover{border-color:var(--teal)!important;background:var(--tint-primary-strong)!important}
