:root { --ds-gold:#C8A84A; --ds-gold-bright:#D8BE6E; --ds-gold-text:#96731E; --ds-navy:#13233B; --ds-navy-light:#1B3252; --ds-blue:#2A7FB5; --ds-blue-light:#4A9FD4; --ds-danger:#B3543E; --ds-ok:#4C7A46; --ds-bg:#F7F4EC; --ds-bg-elevated:#FFF; --ds-bg-elevated-2:#FDFBF6; --ds-bg-hover:#EFEADF; --ds-ink:#14161B; --ds-text-dim:#4A5160; --ds-text-dim-2:#6B7280; --ds-border:rgba(20,22,27,.14); --ds-border-strong:rgba(20,22,27,.28); --ds-shadow:0 10px 30px rgba(20,22,27,.08); --ds-shadow-deep:0 20px 50px rgba(20,22,27,.14); --ds-font-display:"Fraunces","Playfair Display",Georgia,serif; --ds-font-body:"Inter","Montserrat",system-ui,sans-serif; --ds-font-mono:"JetBrains Mono",monospace; --ds-radius:8px; --ds-radius-lg:14px; --ds-paper:var(--ds-bg); --ds-surface:var(--ds-bg-elevated); --ds-surface-raised:var(--ds-bg-elevated-2); --ds-text:var(--ds-ink); --ds-text-muted:var(--ds-text-dim); --ds-border-subtle:var(--ds-border); --ds-line:var(--ds-border); --ds-border-gold:rgba(200,168,74,.48); --ds-control-bg:var(--ds-bg-elevated-2); --ds-control-border:var(--ds-border-strong); --ds-control-hover:rgba(200,168,74,.12); }
html.theme-dark,html.dark { --ds-gold-bright:#E6C774; --ds-gold-text:#E6C774; --ds-bg:#121317; --ds-bg-elevated:#191B21; --ds-bg-elevated-2:#20232B; --ds-bg-hover:#262A33; --ds-ink:#F2EDE1; --ds-text-dim:#C9C3B4; --ds-text-dim-2:#9A9DA8; --ds-border:#2E323C; --ds-border-strong:#3D414D; --ds-shadow:0 10px 30px rgba(0,0,0,.35); --ds-shadow-deep:0 24px 60px rgba(0,0,0,.5); }
html.theme-dark,html.theme-dark body,html.dark,html.dark body { color-scheme:dark; }
body { background:var(--ds-bg); color:var(--ds-ink); font-family:var(--ds-font-body); }
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--ds-font-body);font-weight:600;font-size:13px;padding:9px 16px;border-radius:var(--ds-radius);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s}.ds-btn:active{transform:translateY(1px)}.ds-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.ds-btn:focus-visible{outline:2px solid var(--ds-gold);outline-offset:2px}.ds-btn-primary{background:var(--ds-navy);color:#F7F4EC;border-color:var(--ds-navy)}.ds-btn-primary:hover:not(:disabled){background:var(--ds-navy-light)}html.theme-dark .ds-btn-primary{background:var(--ds-bg-elevated-2);color:var(--ds-ink);border-color:var(--ds-border-strong)}html.theme-dark .ds-btn-primary:hover:not(:disabled){border-color:var(--ds-gold)}.ds-btn-gold{background:linear-gradient(180deg,var(--ds-gold-bright),var(--ds-gold));color:#14161B;border:0;font-weight:700}.ds-btn-gold:hover:not(:disabled){filter:brightness(1.06)}.ds-btn-ghost{background:transparent;color:var(--ds-ink);border-color:var(--ds-border-strong)}.ds-btn-ghost:hover:not(:disabled){border-color:var(--ds-gold);color:var(--ds-gold-text);background:rgba(200,168,74,.08)}.ds-btn-danger{background:transparent;color:var(--ds-danger);border-color:var(--ds-danger)}.ds-btn-danger:hover:not(:disabled){background:rgba(179,84,62,.1)}.ds-text-primary{color:var(--ds-ink)}.ds-text-dim{color:var(--ds-text-dim)}.ds-text-dim-2{color:var(--ds-text-dim-2)}.ds-text-gold{color:var(--ds-gold-text)}.ds-text-mono{font-family:var(--ds-font-mono)}.ds-panel{background:var(--ds-bg-elevated);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow)}.ds-panel-nested{background:var(--ds-bg-elevated-2);border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.ds-input{background:var(--ds-bg-elevated-2);border:1px solid var(--ds-border-strong);color:var(--ds-ink);border-radius:var(--ds-radius);padding:8px 10px;font-family:var(--ds-font-body)}.ds-input:focus-visible{outline:2px solid var(--ds-gold);outline-offset:1px;border-color:var(--ds-gold)}.ds-gold-rail{border-bottom:2px solid var(--ds-gold)}.ds-dark-surface{background:var(--ds-surface);color:var(--ds-text)}.ds-control-active{color:var(--ds-gold);background:rgba(200,168,74,.15);border-color:var(--ds-gold)}.ds-button-primary{background:var(--ds-blue);color:#fff;border:1px solid var(--ds-blue);border-radius:var(--ds-radius);font-family:var(--ds-font-body)}.ds-button-accent{background:var(--ds-gold);color:var(--ds-ink);border:1px solid var(--ds-gold);border-radius:var(--ds-radius);font-family:var(--ds-font-body)}
