:root{--bg:#faf8f4;--bg-card:#fff;--bg-raised:#f3efe8;--bg-sunken:#ebe6dc;--bg-input:#f7f4ef;--text:#1c1a14;--text-2:#4a4535;--text-3:#7a7260;--border:#d4cdb8;--border-2:#e8e3d8;--accent:#735c00;--accent-dim:#735c001f;--accent-fg:#fff;--error:#ba1a1a;--error-dim:#ba1a1a1a;--success:#2d6a4f;--shadow:0 1px 4px #0000000f, 0 4px 16px #0000000f;--shadow-lg:0 8px 32px #0000001a;--r:.75rem;--r-sm:.5rem;--r-full:9999px}.dark{--bg:#16130b;--bg-card:#231f17;--bg-raised:#2d2a21;--bg-sunken:#1a1710;--bg-input:#2d2a21;--text:#eae1d4;--text-2:#d0c5af;--text-3:#99907c;--border:#4d4635;--border-2:#38342b;--accent:#f2ca50;--accent-dim:#f2ca501f;--accent-fg:#3c2f00;--error:#ffb4ab;--error-dim:#ffb4ab1f;--success:#52b788;--shadow:0 1px 4px #0003, 0 4px 16px #0003;--shadow-lg:0 8px 32px #0006}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.6;transition:background .2s,color .2s}h1,h2,h3,h4{color:var(--text);margin:0;font-family:Noto Serif,Georgia,serif;line-height:1.3}p{margin:0}ul,ol{margin:0;padding:0}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}.card-raised{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r)}.btn{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{opacity:.88;box-shadow:0 4px 16px var(--accent-dim)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--bg-raised);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{color:var(--text-2);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-raised);color:var(--text)}.btn-danger{background:var(--error-dim);color:var(--error);border:1px solid var(--error)}.btn-danger:hover{background:var(--error);color:#fff}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);outline:none;padding:.65rem 1rem;font-size:.875rem;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-3)}.badge{border-radius:var(--r-full);letter-spacing:.04em;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-dim);color:var(--accent)}.badge-error{background:var(--error-dim);color:var(--error)}.badge-success{color:var(--success);background:#52b78826}.badge-gray{background:var(--bg-raised);color:var(--text-3)}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.divider{background:var(--border);border:none;height:1px;margin:0}.ai-insight{background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--r);border-left-width:3px;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.progress-bar{background:var(--border);border-radius:var(--r-full);height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:var(--r-full);height:100%;transition:width .5s}.sidebar-item{border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:.55rem .875rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.sidebar-item:hover{background:var(--bg-raised);color:var(--text)}.sidebar-item.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;font-size:20px;line-height:1;display:inline-flex}.flip-card{perspective:1000px}.flip-card-inner{transform-style:preserve-3d;transition:transform .6s;position:relative}.flip-card-inner.flipped{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden}.flip-card-back{width:100%;height:100%;position:absolute;top:0;left:0;transform:rotateY(180deg)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.tabular{font-variant-numeric:tabular-nums}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}button:active:not(:disabled){transform:scale(.99)}
