/* DC73 Stream Weekend: Clean layout + DadCraft flannel accents + a light seasonal layer.
   Swap season with a body class: theme-oct | theme-nov | theme-dec (vars below). Admin uses .admin (flannel only, no season layer). */
@font-face{font-family:"Inter";src:url("/fonts/Inter-Variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
:root{
  /* DadCraft flannel */
  --plaid:#c62828; --plaid-dark:#1c1512; --brown:#7a4a26; --brown-soft:#f3e8dc; --cream:#fbf6ec;
  /* neutrals */
  --card:#fff; --line:#ebe3d8; --line-2:#dcd2c5; --text:#231c17; --muted:#6f655c; --faint:#a1978d;
  /* status */
  --ok:#2f8f5b; --ok-soft:#e8f5ee; --warn:#a86b00; --warn-soft:#fdf4e1; --bad:#c2412d; --bad-soft:#fbeceb; --mine:#2f6fdb; --mine-soft:#eaf1fd;
  /* season (default = Nov) */
  --season:#d9822b; --season-ink:#9a5410; --season-soft:#fdf0e1; --bg:#fbf6ef; --bg-glow:rgba(232,150,60,.14); --deco:none;
  --r:14px; --font:"Inter","Roboto","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
}
/* NOV · autumn: warm amber, falling leaves */
.theme-nov{--season:#d9822b;--season-ink:#9a5410;--season-soft:#fdf0e1;--bg:#fbf6ef;--bg-glow:rgba(232,150,60,.16);
  --deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='120' viewBox='0 0 260 120'%3E%3Cg opacity='.9'%3E%3Cpath transform='translate(40 30) rotate(-25)' fill='%23d9822b' d='M0-14C9-9 9 9 0 14C-9 9-9-9 0-14Z'/%3E%3Cpath transform='translate(40 30) rotate(-25)' stroke='%239a5410' stroke-width='1.2' d='M0-12V18'/%3E%3Cpath transform='translate(120 70) rotate(35)' fill='%23c62828' opacity='.75' d='M0-11C7-7 7 7 0 11C-7 7-7-7 0-11Z'/%3E%3Cpath transform='translate(120 70) rotate(35)' stroke='%237a2020' stroke-width='1' d='M0-9V14'/%3E%3Cpath transform='translate(200 24) rotate(60)' fill='%23e8a23a' d='M0-13C8-8 8 8 0 13C-8 8-8-8 0-13Z'/%3E%3Cpath transform='translate(200 24) rotate(60)' stroke='%239a5410' stroke-width='1.2' d='M0-11V16'/%3E%3Cpath transform='translate(236 88) rotate(-50)' fill='%237a4a26' opacity='.7' d='M0-9C6-6 6 6 0 9C-6 6-6-6 0-9Z'/%3E%3Cpath transform='translate(80 96) rotate(10)' fill='%23e8a23a' opacity='.6' d='M0-8C5-5 5 5 0 8C-5 5-5-5 0-8Z'/%3E%3C/g%3E%3C/svg%3E")}
/* DEC · snowy: pine green, light snowflakes */
.theme-dec{--season:#2f6b4a;--season-ink:#22513a;--season-soft:#e7f2ec;--bg:#f5f8f9;--bg-glow:rgba(150,190,220,.18);
  --deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='120' viewBox='0 0 260 120'%3E%3Cg stroke='%2390b4cc' stroke-width='2' stroke-linecap='round' fill='none'%3E%3Cg transform='translate(50 34)'%3E%3Cpath d='M0-12V12M-10-6L10 6M-10 6L10-6'/%3E%3C/g%3E%3Cg transform='translate(140 76) scale(.7)'%3E%3Cpath d='M0-12V12M-10-6L10 6M-10 6L10-6'/%3E%3C/g%3E%3Cg transform='translate(210 28) scale(.9)'%3E%3Cpath d='M0-12V12M-10-6L10 6M-10 6L10-6'/%3E%3C/g%3E%3C/g%3E%3Cg fill='%23b9d0de'%3E%3Ccircle cx='100' cy='20' r='3'/%3E%3Ccircle cx='240' cy='90' r='3'/%3E%3Ccircle cx='180' cy='104' r='2'/%3E%3Ccircle cx='20' cy='86' r='2'/%3E%3C/g%3E%3C/svg%3E")}
/* OCT · pumpkin orange + purple */
.theme-oct{--season:#e3681b;--season-ink:#5b3a8a;--season-soft:#f6eefb;--bg:#faf6f8;--bg-glow:rgba(140,90,190,.12);
  --deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='120' viewBox='0 0 260 120'%3E%3Cg transform='translate(60 70)'%3E%3Cellipse rx='16' ry='12' fill='%23e3681b'/%3E%3Cpath d='M0-12V-18' stroke='%235a7a2a' stroke-width='3'/%3E%3C/g%3E%3Cg transform='translate(190 40) scale(.7)'%3E%3Cellipse rx='16' ry='12' fill='%23e3681b' opacity='.8'/%3E%3Cpath d='M0-12V-18' stroke='%235a7a2a' stroke-width='3'/%3E%3C/g%3E%3Cg fill='%238a6ab8'%3E%3Ccircle cx='120' cy='22' r='2.5'/%3E%3Ccircle cx='236' cy='96' r='2'/%3E%3Ccircle cx='20' cy='30' r='2'/%3E%3C/g%3E%3C/svg%3E")}

*{box-sizing:border-box}
html,body{margin:0;overflow-x:hidden}
body{font-family:var(--font);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 420px at 90% -80px,var(--bg-glow),transparent 70%),var(--bg)}
body.admin{background:#f8f5f0}
/* thin buffalo-plaid band */
.plaid{height:10px;background:
  linear-gradient(90deg,rgba(28,21,18,.62) 50%,transparent 50%) 0 0/18px 18px,
  linear-gradient(rgba(28,21,18,.62) 50%,transparent 50%) 0 0/18px 18px,var(--plaid)}
.wrap{max-width:1080px;margin:0 auto;padding:26px 20px 64px}
.head{position:relative;display:flex;align-items:center;gap:14px;margin-bottom:26px}
.head img{width:56px;height:56px;object-fit:contain}
.wordmark{font-weight:750;font-size:18px;letter-spacing:-.01em;margin:0;color:var(--plaid-dark)}
.wordmark span{color:var(--plaid)}
.head .meta{color:var(--brown);font-size:14px;font-weight:600}
.head .spacer{flex:1}
.deco{position:absolute;right:-10px;top:-20px;width:260px;height:120px;background:var(--deco) no-repeat right top;pointer-events:none;z-index:0}
.head>*:not(.deco){position:relative;z-index:1}
h1{font-size:clamp(26px,3.6vw,34px);font-weight:750;letter-spacing:-.02em;margin:0 0 6px;color:var(--plaid-dark)}
h2{font-size:17px;font-weight:650;letter-spacing:-.01em;margin:0 0 4px;color:var(--plaid-dark)}
h3{font-size:15px;font-weight:650;margin:0 0 10px;color:var(--plaid-dark)}
.lead{color:var(--muted);margin:0 0 26px;max-width:660px}
.lead b{color:var(--brown)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.card .sub{color:var(--muted);font-size:14px;margin:0 0 16px}
.stack{display:grid;gap:20px;align-content:start}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2>*,.grid3>*{min-width:0}
@media(max-width:820px){.grid2,.grid3{grid-template-columns:1fr}.wrap{padding:20px 14px 48px}.card{padding:18px}.deco{width:150px;height:70px;background-size:150px auto;top:-22px;right:-8px;opacity:.55}}
label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--plaid-dark)}
label .opt{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;outline:none;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--plaid);box-shadow:0 0 0 3px rgba(198,40,40,.14)}
input::placeholder{color:var(--faint)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row>input{flex:1;min-width:140px}
.btn{font:inherit;font-weight:600;font-size:14px;cursor:pointer;border-radius:10px;padding:9px 16px;border:1px solid transparent;background:var(--plaid);color:#fff;white-space:nowrap;transition:background .15s,box-shadow .15s}
.btn:hover{background:#a81f1f}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(198,40,40,.25)}
.btn.ghost{background:#fff;color:var(--plaid-dark);border-color:var(--line-2)}.btn.ghost:hover{background:var(--cream)}
.btn.brown{background:#fff;color:var(--brown);border-color:#d9c3ac}.btn.brown:hover{background:var(--brown-soft)}
.btn.danger{background:#fff;color:var(--bad);border-color:#efc9c3}.btn.danger:hover{background:var(--bad-soft)}
.btn.sm{padding:5px 10px;font-size:13px;border-radius:8px}
.pill{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;background:#f1ece6;color:var(--muted);white-space:nowrap}
.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.mine{background:var(--mine-soft);color:var(--mine)}.pill.backup{background:var(--season-soft);color:var(--season-ink)}.pill.primary{background:var(--brown-soft);color:var(--brown)}
.note{font-size:13px;color:var(--muted);background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:16px 0 0}
.note.logged{border-left:4px solid var(--brown);color:var(--brown);font-weight:600}
.muted{color:var(--muted);font-size:13px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--line)}
th{font-size:12px;font-weight:600;color:var(--muted)}
tr:last-child td{border-bottom:0}
.avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;color:#fff;background:#9146ff}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--plaid-dark);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.hide{display:none!important}
footer{margin-top:40px;text-align:center;color:var(--faint);font-size:12px}
/* live build additions */
.avatar img{width:40px;height:40px;border-radius:50%;display:block}
.pill.test{background:#eee6ff;color:#5b3a8a}
.err{color:var(--bad);font-size:13px;font-weight:600;margin:8px 0 0}
.btn[disabled]{opacity:.55;cursor:not-allowed}
