:root{--text:#334155;--text-soft:#5f6d83;--text-h:#0f172a;--bg:#f8fafc;--surface:#fff;--border:#d9e2ec;--accent:#6f4cff;--accent-strong:#4f46e5;--focus-ring:#6f4cff59;--tag-border:#dbe4ff;--tag-bg:#eef2ff;letter-spacing:.01em;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.45 Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--text:#cbd5e1;--text-soft:#94a3b8;--text-h:#f8fafc;--bg:#0f172a;--surface:#111c30;--border:#25324a;--accent:#8b7bff;--accent-strong:#6366f1;--focus-ring:#8b7bff73;--tag-border:#313f63;--tag-bg:#1b2742}}*{box-sizing:border-box}body,h1,h2,p,body{margin:0}#root{text-align:center;min-height:100svh}h1{letter-spacing:-.02em;color:var(--text-h);font-size:clamp(2rem,4vw,2.8rem);line-height:1.15}.app-shell{max-width:1100px;margin:0 auto;padding:2.75rem 1.25rem 2rem}.app-header{text-align:left;margin-bottom:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.35rem;font-size:.82rem;font-weight:600}.subtitle{max-width:65ch;color:var(--text-soft);font-size:1rem}.control-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:1fr 220px auto;align-items:end;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.field{text-align:left;flex-direction:column;gap:.45rem;display:flex}.field span{color:var(--text-soft);font-size:.86rem;font-weight:600}input,select,button{font:inherit}input,select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:10px;padding:.65rem .75rem}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.actions{gap:.6rem;display:flex}button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.66rem .88rem;transition:transform .18s,box-shadow .2s,opacity .2s;box-shadow:0 8px 20px #6f4cff40}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6}.status{text-align:left;color:var(--text-soft);margin:0 0 1rem}.error{text-align:left;color:#7f1d1d;background:#fff1f2;border:1px solid #fca5a5;border-radius:12px;margin-bottom:1rem;padding:.85rem 1rem}.spotlight{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:14px;margin-bottom:1.1rem;padding:1rem}.spotlight-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.8rem;font-weight:700}.spotlight blockquote{margin:0;font-size:1.06rem;line-height:1.5}.spotlight footer{color:var(--text-soft);margin-top:.65rem}.quote-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem;margin-bottom:1.1rem;display:grid}.quote-card{border:1px solid var(--border);text-align:left;background:var(--surface);border-radius:14px;padding:1rem;transition:transform .2s,box-shadow .2s;animation:.25s fadeIn;box-shadow:0 6px 16px #0f172a0a}.quote-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a14}.quote-content{color:var(--text-h);margin:0 0 .75rem;line-height:1.55}.quote-author{color:var(--text-soft);margin:0;font-weight:600}.tag-list{flex-wrap:wrap;gap:.4rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--tag-border);color:var(--text-soft);background:var(--tag-bg);border-radius:100px;padding:.24rem .52rem;font-size:.74rem}.empty-state{border:1px dashed var(--border);color:var(--text-soft);border-radius:14px;margin:0;padding:1rem}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-top:1rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.control-panel{grid-template-columns:1fr}.actions{flex-wrap:wrap}.pagination{flex-direction:column;align-items:flex-start}}
