:root{
  --ink:#0f1114; --panel:#16191e; --raise:#1d2127; --line:#2a2f37;
  --text:#e7e9ec; --mute:#8d97a3; --steel:#7f93a8;
  --gold:#d4a73f; --gold-hi:#f0c95c; --gold-lo:#9c7518;
  --ok:#5fb88a; --bad:#e0645c;
  --r-sm:4px; --r-md:8px;
  --ease:cubic-bezier(.22,.8,.3,1);
  --t-fast:.16s; --t-mid:.28s;
}
*,*::before,*::after{box-sizing:border-box;margin:0}
html{color-scheme:dark}
body{font:400 15px/1.5 "Schibsted Grotesk",system-ui,sans-serif;background:var(--ink);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
::selection{background:var(--gold);color:#15120a}
.icon-btn{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-md);color:var(--mute);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}
.icon-btn:hover{background:var(--raise);color:var(--text)}
.icon-btn:active{transform:scale(.92)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:var(--r-md);border:1px solid var(--line);background:var(--raise);font-weight:600;transition:transform var(--t-fast),border-color var(--t-fast),background var(--t-fast)}
.btn:hover{border-color:var(--gold);transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-gold{background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#15120a;border-color:transparent}
.toasts{position:fixed;right:1.25rem;bottom:1.25rem;display:grid;gap:.5rem;z-index:60;max-width:min(420px,calc(100vw - 2.5rem))}
.toast{display:flex;align-items:center;gap:.9rem;padding:.7rem 1rem;box-shadow:0 14px 34px -14px rgba(0,0,0,.75);background:var(--raise);border:1px solid var(--line);border-left:3px solid var(--steel);border-radius:var(--r-md);animation:toast-in .3s var(--ease)}
.toast.ok{border-left-color:var(--ok)}.toast.error{border-left-color:var(--bad)}
.toast span{flex:1;min-width:0}
.toast-act{flex:none;padding:.3rem .7rem;border:1px solid var(--gold-lo);border-radius:var(--r-sm);color:var(--gold);font-weight:600;font-size:.85rem;transition:background var(--t-fast),color var(--t-fast)}
.toast-act:hover{background:var(--gold);color:#15120a}
@media (max-width:560px){.toasts{left:1rem;right:1rem;bottom:1rem;max-width:none}}
.toast.out{opacity:0;transform:translateX(12px);transition:opacity .25s,transform .25s}
@keyframes toast-in{from{opacity:0;transform:translateX(16px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
[hidden]{display:none!important}
