/* Options Mood: shared styles for the website, account and admin pages */
:root{
  --bg:#000000; --panel:#0D0D0F; --raise:#18181B; --line:#27272A; --text:#F4F4F5; --muted:#A1A1AA; --faint:#63636B;
  --gold:#D9AE45; --gold-hi:#F2D27A; --gold-ink:#1A1405;
  --bull:#2BC48A; --bear:#F0625A; --flat:#F2B33D; --accent:#7AA7FF;
  --bull-soft:rgba(43,196,138,.14); --bear-soft:rgba(240,98,90,.14); --flat-soft:rgba(242,179,61,.14);
  --num:"Big Shoulders Display","Arial Narrow",system-ui,sans-serif;
  --ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 var(--ui);-webkit-font-smoothing:antialiased}
a{color:var(--gold-hi)}
a:hover{color:var(--gold)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
@media (max-width:600px){.wrap{padding:0 16px}}

/* top bar */
.bar{position:sticky;top:0;z-index:20;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.brand{display:flex;align-items:center;min-width:0}
.brand img{display:block;height:44px;width:auto}
.nav{display:flex;align-items:center;gap:6px}
.nav a{color:var(--muted);text-decoration:none;font-weight:500;padding:8px 12px;border-radius:8px;white-space:nowrap}
.nav a:hover{color:var(--text);background:var(--raise)}
@media (max-width:640px){.nav a.hide-s{display:none}.brand img{height:36px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:10px;border:1px solid var(--line);background:var(--raise);
  color:var(--text);font-weight:600;text-decoration:none;cursor:pointer;line-height:1.2;white-space:nowrap}
.btn:hover{border-color:#3F3F46;color:var(--text)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.btn.gold:hover{background:var(--gold-hi);border-color:var(--gold-hi);color:var(--gold-ink)}
.btn.sm{padding:7px 12px;font-size:14px;border-radius:8px}
.btn.danger{color:var(--bear)}
.btn[disabled]{opacity:.5;cursor:default}
.nav .btn{padding:8px 14px}

/* forms */
label.f{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--muted);font-weight:500}
input.i,select.i,textarea.i{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:16px}
input.i:focus,select.i:focus,textarea.i:focus{border-color:var(--gold);outline:none}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--text)}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--gold);flex:none}
.msg{font-size:14px;min-height:1.2em;margin:4px 0}
.msg.err{color:var(--bear)} .msg.ok{color:var(--bull)}

/* panels and text */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
.muted{color:var(--muted)} .faint{color:var(--faint)} .small{font-size:14px}
.good{color:var(--bull)} .badc{color:var(--bear)} .warnc{color:var(--flat)}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--raise);color:var(--muted);white-space:nowrap}
.pill.good{background:var(--bull-soft);color:var(--bull)} .pill.bad{background:var(--bear-soft);color:var(--bear)} .pill.warn{background:var(--flat-soft);color:var(--flat)}
h1,h2,h3{line-height:1.15;margin:0}
.display{font-family:var(--num);font-weight:800;letter-spacing:.005em}

/* footer */
.foot{border-top:1px solid var(--line);margin-top:80px;padding:32px 0 48px;color:var(--muted);font-size:14px}
.foot .wrap{display:grid;grid-template-columns:1fr auto;gap:18px 40px}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot nav a{color:var(--muted);text-decoration:none} .foot nav a:hover{color:var(--text)}
.foot .fine{grid-column:1/-1;font-size:13px;color:var(--faint);max-width:860px}
@media (max-width:700px){.foot .wrap{grid-template-columns:1fr}}

/* tables (admin) */
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;color:var(--muted);font-weight:600;font-size:12.5px;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:hover td{background:rgba(255,255,255,.02)}
.scroll{overflow-x:auto}

@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
