:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2933;--bg:#f5f7fa;--surface:#fff;--surface-soft:#eef2f6;--line:#d8dee6;--text:#1f2933;--muted:#667085;--primary:#246b5b;--primary-dark:#174a40;--danger:#b42318;--success:#147a4b;--warning:#b45309;--focus:#2e90fa;--shadow:0 12px 30px #11182714;background:#f5f7fa;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}.app-shell{grid-template-columns:248px minmax(0,1fr);align-items:start;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);color:#f9fafb;background:#101828;flex-direction:column;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0}.brand,.auth-brand{align-items:center;gap:10px;font-weight:800;display:inline-flex}.brand-mark{color:#fff;letter-spacing:0;background:#31a487;border-radius:8px;place-items:center;width:34px;height:34px;font-size:13px;display:inline-grid}.nav-list{gap:6px;margin-top:28px;display:grid}.nav-link{color:#cbd5e1;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.nav-link.active,.nav-link:hover{color:#fff;background:#1d2939}.sidebar-footer{border-top:1px solid #ffffff1f;align-items:center;gap:10px;margin-top:auto;padding-top:16px;display:flex}.user-mini{flex:1;min-width:0}.user-mini strong,.user-mini span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-mini span{color:#cbd5e1;font-size:12px}.content{min-width:0;padding:32px}.page{gap:24px;width:min(1180px,100%);margin:0 auto;display:grid}.page.narrow{width:min(820px,100%)}.page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header h1,.auth-panel h1{color:var(--text);margin:0;font-size:30px;line-height:1.15}.page-header p,.muted{color:var(--muted);margin:4px 0 0}.status-summary{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.status-summary>span{border:1px solid var(--line);background:#fff;border-radius:8px;gap:2px;min-width:190px;padding:9px 11px;display:grid}.status-summary strong{font-size:14px}.status-summary small,.field-help{color:var(--muted);font-size:12px;line-height:1.45}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;min-height:104px;padding:18px;display:grid}.metric span{color:var(--muted);font-size:14px}.metric strong{color:var(--text);font-size:32px;line-height:1}.two-column{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:18px;display:grid}.panel,.auth-panel,.review-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.panel{padding:20px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-heading h2{margin:0;font-size:18px}.stack-form{gap:14px;display:grid}.stack-form label,.toolbar label{color:var(--muted);gap:6px;font-size:13px;display:grid}.stack-form input,.stack-form select,.stack-form textarea,.toolbar input,.toolbar select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:9px 11px}.stack-form textarea{resize:vertical}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--focus);box-shadow:0 0 0 3px #2e90fa24}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.check-row{align-items:center;color:var(--text)!important;grid-template-columns:none!important;gap:8px!important;display:flex!important}.check-row input{width:16px;min-height:16px}.check-row.tight{min-height:42px;padding:0 4px}.primary-button,.secondary-button,.danger-button,.success-button,.action-strip button,.icon-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;font-weight:700;display:inline-flex}.primary-button{background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-dark)}.secondary-button,.action-strip button{border-color:var(--line);color:var(--text);background:#fff}.danger-button{color:var(--danger);background:#fee4e2}.success-button{color:var(--success);background:#dcfae6}.icon-button{color:#fff;background:#ffffff14;border-color:#ffffff2e;width:40px;padding:0}.text-link{color:var(--primary);font-weight:700}.dev-link{border:1px dashed var(--primary);min-height:40px;color:var(--primary);border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;font-weight:800;display:inline-flex}.form-error,.form-success{border-radius:8px;margin:0;padding:9px 11px;font-size:14px}.form-error{color:var(--danger);background:#fee4e2}.form-success{color:var(--success);background:#dcfae6}.sentence-word-picker{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:10px;padding:12px;display:grid}.sentence-word-picker-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sentence-word-picker-heading span{color:var(--text);font-size:13px;font-weight:800;display:block}.sentence-word-picker-heading small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.sentence-word-picker-actions,.sentence-word-list{flex-wrap:wrap;gap:8px;display:flex}.sentence-word-picker-actions .secondary-button{min-height:32px;padding:6px 10px}.sentence-word-chip{border:1px solid var(--line);min-height:34px;color:var(--text);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-weight:700;display:inline-flex}.sentence-word-chip.selected{color:var(--success);background:#dcfae6;border-color:#10b9815c}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.toolbar{grid-template-columns:minmax(220px,1fr) 150px 150px 130px auto;align-items:end;gap:10px;display:grid}.toolbar label:not(.check-row){position:relative}.toolbar label>svg,.search-box>svg{color:var(--muted);position:absolute;bottom:11px;left:11px}.toolbar input,.toolbar select{padding-left:36px}.word-list{gap:10px;display:grid}.word-list.compact{gap:8px}.word-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:14px;display:grid}.word-row:hover{border-color:#9fb7c8}.word-title{align-items:center;gap:8px;min-width:0;display:flex}.word-title strong{overflow-wrap:anywhere;font-size:18px}.word-row p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;display:-webkit-box;overflow:hidden}.tag-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tag-row span,.status-badge,.date-pill{border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.tag-row span{background:var(--surface-soft);color:#344054}.status-new{color:#175cd3;background:#dbeafe}.status-learning{color:#b54708;background:#fef0c7}.status-familiar{color:#067647;background:#d1fadf}.status-mastered{color:#3538cd;background:#e0e7ff}.date-pill{background:var(--surface-soft);color:var(--muted);white-space:nowrap}.empty-state{border:1px dashed var(--line);min-height:180px;color:var(--muted);background:#ffffff8c;border-radius:8px;place-items:center;display:grid}.empty-state.large{min-height:220px}.empty-state.compact{min-height:88px}.related-words-panel{gap:16px;display:grid}.relation-suggestions,.related-word-list{gap:8px;display:grid}.relation-suggestions button{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff;border-radius:8px;gap:2px;padding:9px 11px;display:grid}.relation-suggestions button.selected{background:#dcfae6;border-color:#10b9815c}.relation-suggestions span,.related-word-item p,.related-word-item small{color:var(--muted);font-size:13px}.related-word-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.related-word-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.related-word-title strong{font-size:17px}.related-word-title span{background:var(--surface-soft);color:#344054;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.related-word-item p,.related-word-item small{margin:4px 0 0;display:block}.related-word-actions,.related-word-edit{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.related-word-edit select,.related-word-edit input{border:1px solid var(--line);border-radius:8px;min-height:40px;padding:8px 10px}.answer-relations{gap:8px;margin-top:4px;display:grid}.answer-relations>span{color:var(--text);font-weight:800}.answer-relations a{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.answer-relations small{color:var(--primary);font-weight:800}.answer-relations em{color:var(--muted);font-style:normal}.auth-layout{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{gap:18px;width:min(420px,100%);padding:26px;display:grid}.auth-brand h1{font-size:24px}.segmented{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;display:grid}.segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:800}.segmented button.active{color:var(--text);background:#fff}.action-strip{flex-wrap:wrap;gap:10px;display:flex}.action-strip.center{justify-content:center}.action-group{gap:10px;display:grid}.action-group-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.action-group-title strong{font-size:15px}.action-group-title span{color:var(--muted);font-size:13px}.review-page{width:min(860px,100%)}.review-card{gap:22px;padding:28px;display:grid}.review-word{text-align:center;gap:10px;display:grid}.review-word span{color:var(--muted);font-weight:800}.review-word h2{overflow-wrap:anywhere;max-width:720px;margin:0 auto;font-size:30px;line-height:1.25}.answer-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:8px;padding:18px 0;display:grid}.answer-block strong{font-size:24px}.answer-block p,.answer-block blockquote{color:var(--muted);margin:0}.answer-block blockquote{border-left:3px solid var(--primary);padding-left:12px}.spelling-check{gap:8px;display:grid}.spelling-check label{color:var(--muted);font-size:13px;font-weight:800}.spelling-hint{color:var(--muted);margin:0;font-size:14px}.spelling-check-unavailable{border:1px dashed var(--line);background:var(--surface-soft);border-radius:8px;gap:6px;padding:12px 14px}.spelling-check-unavailable span{color:var(--muted);font-size:13px;font-weight:800}.spelling-check-unavailable p{color:var(--muted);margin:0}.spelling-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.spelling-row input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);border-radius:8px;outline:none;padding:9px 11px}.spelling-row input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #2e90fa24}.review-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.review-actions button{min-height:48px}.loading-screen{min-height:60vh;color:var(--primary);place-items:center;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:12px;position:static}.brand{margin-bottom:10px}.nav-list{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0}.nav-link{justify-content:center;min-height:44px;padding:8px}.nav-link span,.sidebar-footer{display:none}.content{padding:20px 14px 28px}.metric-grid,.two-column,.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{grid-template-columns:1fr 1fr}}@media (width<=620px){.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:26px}.metric-grid,.two-column,.form-grid,.form-grid.four,.toolbar,.review-actions,.word-row,.related-word-item{grid-template-columns:1fr}.related-word-actions,.related-word-edit{justify-content:flex-start}.date-pill{justify-self:start}.review-card{padding:20px}.review-word h2{font-size:24px}.sentence-word-picker-heading,.spelling-row{grid-template-columns:1fr}.sentence-word-picker-heading{display:grid}}
