@font-face{font-family:"Rubik";src:url(/fonts/rubik.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"SS Mono";src:url(/fonts/mono.woff2) format("woff2");font-display:swap}
:root{
  /* Color meanings (one job each). See BRAND.md.
     reset red: the Reset button and reset events only. usage amber: limits, battery, drain.
     source blue: links to real posts on X. paper/ink: everything else. lab colors: only inside the Arena. */
  --reset:#d8261c; --reset-deep:#8f130c; --usage:#c98a00; --usage-soft:#fff1c9; --source:#1a5fc8;
  --paper:#f4efe4; --paper-2:#e9e2d3; --rule:#cfc6b3; --ink:#1b1a17; --ink-2:#5a554b; --win:#fbf9f4;
  --seat:#1d2b4f; --sticky:#ffe680;
  --mb:30px; --dock:64px;
  --ui:"Rubik",system-ui,sans-serif; --mono:"SS Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;font-family:var(--ui);color:var(--ink);background:var(--seat);-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
a{color:var(--source)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--source);outline-offset:2px}

/* Caltrain seat moquette: the wallpaper is the seat the laptop was left on */
.seat,#desktop,#lock{background-color:var(--seat);background-image:
  radial-gradient(circle at 25% 25%,rgba(255,255,255,.07) 0 2px,transparent 2.5px),
  radial-gradient(circle at 75% 75%,rgba(226,74,58,.35) 0 2px,transparent 2.5px),
  repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 6px,transparent 6px 12px),
  repeating-linear-gradient(-45deg,rgba(0,0,0,.12) 0 6px,transparent 6px 12px);
  background-size:22px 22px,22px 22px,auto,auto}

/* LOCK */
#lock{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff;transition:opacity .35s var(--ease),transform .35s var(--ease);padding:20px}
#lock::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(14,20,40,.25),rgba(8,12,26,.78));pointer-events:none}
#lock>*{position:relative}
#lock.gone{opacity:0;transform:scale(1.03);pointer-events:none}
.lk-top{font-size:16px;font-weight:500;opacity:.92}
.lk-clock{font-size:clamp(64px,13vw,120px);font-weight:600;letter-spacing:-.03em;line-height:1.15;padding:0 .06em;font-variant-numeric:tabular-nums}
.lk-card{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:10px}
.lk-avatar{width:76px;height:76px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:34px;font-weight:700;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.lk-name{font-weight:600;font-size:18px}
.lk-form{display:flex;align-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);border-radius:25px;padding:2px 2px 2px 16px;width:260px;backdrop-filter:blur(8px)}
.lk-form input{flex:1;min-width:0;background:none;border:0;color:#fff;font:16px var(--ui);outline:none;height:44px}
.lk-form input::placeholder{color:rgba(255,255,255,.8)}
.lk-go{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ink);font-size:18px;font-weight:700}
.lk-form.shake{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.lk-hint{font-size:14px;min-height:20px;text-align:center;max-width:300px}
.lk-guest{background:none;border:0;color:#fff;text-decoration:underline;text-underline-offset:3px;font-size:15px;min-height:44px;padding:0 12px}
.lk-note{position:absolute!important;left:max(24px,5vw);top:max(24px,9vh);width:210px;background:var(--sticky);color:var(--ink);padding:14px 14px 16px;font-size:14px;line-height:1.4;transform:rotate(-3deg);box-shadow:0 10px 18px rgba(0,0,0,.35)}
.lk-foot{position:absolute!important;bottom:14px;left:0;right:0;margin:0 auto;max-width:640px;padding:0 16px;text-align:center;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.88)}

/* MENU BAR */
#menubar{position:fixed;top:0;left:0;right:0;height:var(--mb);z-index:50;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 6px 0 12px;background:rgba(244,239,228,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);font-size:13.5px}
.mb-l,.mb-r{display:flex;align-items:center;gap:14px;min-width:0;white-space:nowrap}
.mb-r{gap:8px}
.mb-mark{display:block;border-radius:4px}
.mb-brand{font-weight:800;letter-spacing:-.02em}
.mb-app{font-weight:600}
.mb-day{color:var(--ink-2)}
.mb-day i{font-style:normal;text-decoration:line-through;text-decoration-color:var(--reset);text-decoration-thickness:2px}
.mb-btn,.mb-usage{background:none;border:0;height:26px;padding:0 8px;border-radius:5px;font-size:13px}
@media (hover:hover){.mb-btn:hover,.mb-usage:hover{background:rgba(0,0,0,.07)}}
.mb-usage{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.bat{width:26px;height:12px;border:1.5px solid var(--ink);border-radius:3px;padding:1px;position:relative}
.bat::after{content:"";position:absolute;right:-4px;top:3px;width:2px;height:4px;background:var(--ink);border-radius:0 1px 1px 0}
#batfill{display:block;height:100%;width:100%;background:var(--ink);border-radius:1px;transition:width .6s var(--ease),background-color .3s}
.low #batfill{background:var(--usage)}
.mb-clock{font-variant-numeric:tabular-nums;padding:0 4px}
/* the Reset button: modeled on a mushroom-head emergency stop on a yellow-black collar */
.reset{height:26px;padding:0 3px;border:0;border-radius:14px;background:repeating-linear-gradient(-45deg,#1b1a17 0 4px,#f2c230 4px 8px);display:flex;align-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
.reset-cap{display:block;height:20px;line-height:20px;padding:0 12px;border-radius:11px;background:radial-gradient(ellipse at 50% 25%,#dc3024,var(--reset) 55%,var(--reset-deep));color:#fff;font-weight:800;font-size:12px;letter-spacing:.12em;box-shadow:0 2px 0 var(--reset-deep),0 3px 4px rgba(0,0,0,.35);transition:transform .08s,box-shadow .08s;text-shadow:0 1px 0 rgba(0,0,0,.3)}
.reset:active .reset-cap,.reset.hit .reset-cap{transform:translateY(2px);box-shadow:0 0 0 var(--reset-deep),0 1px 2px rgba(0,0,0,.35)}

/* DESKTOP */
#desktop{position:fixed;inset:var(--mb) 0 0 0;overflow:hidden}
#icons{position:absolute;top:14px;right:14px;display:grid;grid-auto-flow:row;grid-template-columns:repeat(2,92px);gap:8px;z-index:2}
.ico{width:92px;display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:0;padding:6px 2px;color:#fff;font-size:12.5px;border-radius:8px}
.ico svg{width:56px;height:56px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));transition:transform .15s var(--ease)}
@media (hover:hover){.ico:hover svg{transform:translateY(-2px)}}
.ico .lbl{background:rgba(10,14,30,.72);padding:2px 7px;border-radius:5px;line-height:1.3;text-align:center}
.ico{position:relative}.ico .lbl{white-space:nowrap}
#stickies{position:absolute;left:22px;top:18px;display:flex;flex-direction:column;gap:16px;z-index:1}
.sticky{display:block;text-align:left;border:0;font:inherit;width:200px;transition:transform .26s var(--ease),opacity .26s;background:var(--sticky);color:var(--ink);padding:12px 13px 14px;font-size:13.5px;line-height:1.4;box-shadow:0 8px 14px rgba(0,0,0,.3)}
.sticky:nth-child(1){transform:rotate(-2deg)}.sticky:nth-child(2){transform:rotate(1.5deg);background:#ffd1dc}.sticky:nth-child(3){transform:rotate(-1deg);background:#c9f0d6}
.sticky small{display:block;margin-top:6px;color:var(--ink-2);font-size:11.5px}
.dt-foot{position:absolute;left:0;right:0;bottom:calc(var(--dock) + 14px);margin:0;text-align:center;font-size:12px;color:rgba(255,255,255,.85);pointer-events:none}
.dt-foot a{color:#cfe0ff;pointer-events:auto}

/* DOCK */
#dock{position:fixed;left:50%;bottom:8px;transform:translateX(-50%);z-index:40;display:flex;gap:6px;padding:6px 8px;background:rgba(244,239,228,.55);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.45);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.dk{width:48px;height:48px;border:0;background:none;padding:0;position:relative}
.dk svg{width:48px;height:48px;display:block;transition:transform .2s var(--ease)}
@media (hover:hover){.dk:hover svg{transform:translateY(-6px) scale(1.08)}}
.dk.on::after{content:"";position:absolute;bottom:-4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ink)}
.dk.bounce svg{animation:bounce .9s var(--ease) 2}
@keyframes bounce{0%,100%{transform:none}35%{transform:translateY(-16px)}60%{transform:translateY(0)}75%{transform:translateY(-6px)}}
.dk-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--reset);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}

/* WINDOWS */
#wins{position:absolute;inset:0;pointer-events:none}
.win{position:absolute;pointer-events:auto;display:flex;flex-direction:column;background:var(--win);border-radius:10px;box-shadow:0 0 0 1px rgba(0,0,0,.22),0 18px 50px rgba(0,0,0,.45);animation:wopen .22s var(--ease)}
@keyframes wopen{from{opacity:0;transform:translateY(8px) scale(.98)}}
.win.min{display:none}
.win.inactive{box-shadow:0 0 0 1px rgba(0,0,0,.18),0 10px 26px rgba(0,0,0,.3)}
.tbar{height:36px;border-radius:10px 10px 0 0;flex:none;display:flex;align-items:center;gap:8px;padding:0 10px;background:linear-gradient(var(--paper),var(--paper-2));border-bottom:1px solid var(--rule);user-select:none;touch-action:none;cursor:grab}
.lights{display:flex;gap:7px}
.lt{width:13px;height:13px;border-radius:50%;border:0;padding:0;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.25);position:relative}
.lt::before{content:"";position:absolute;inset:-8px}
.lt.c{background:#ee5b52}.lt.m{background:#f1b53a}.lt.z{background:#5fc453}
.win.inactive .lt{background:#cfc8ba}
.ttl{flex:1;text-align:center;font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:50px}
.wbody{flex:1;min-height:0;overflow:auto;border-radius:0 0 10px 10px;overscroll-behavior:contain}

/* FEED (Replies.app) */
.feed{display:flex;flex-direction:column;min-height:100%}
.meters{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border-bottom:1px solid var(--rule);flex:none}
.meter{background:var(--paper);padding:10px 12px 9px}
.meter b{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
/* odometer digits, modeled on a mechanical tally counter */
.odo{display:flex;gap:2px;margin-top:5px;font:600 17px var(--mono);font-variant-numeric:tabular-nums}
.odo span{background:#1b1a17;color:#f4efe4;width:15px;text-align:center;border-radius:2px;line-height:24px;box-shadow:inset 0 -6px 6px rgba(255,255,255,.08),inset 0 6px 6px rgba(0,0,0,.4)}
.odo .p{background:none;box-shadow:none;width:auto;padding:0 1px;color:var(--ink)}
.odo .u{background:none;color:var(--ink-2);width:auto;box-shadow:none;font:500 12px var(--ui);line-height:24px;margin-left:3px}
.meter small{display:block;font-size:11px;color:var(--ink-2);margin-top:4px}
.f-empty{padding:28px 22px;text-align:center;color:var(--ink-2);font-size:14.5px;line-height:1.5}
.f-empty .reset{display:inline-flex;vertical-align:middle;margin:0 4px}
.post{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:13px 16px;border-bottom:1px solid var(--paper-2);animation:pin .35s var(--ease)}
@keyframes pin{from{opacity:0;transform:translateY(-6px)}}
.post.tibo{background:#fff6f3;border-left:3px solid var(--reset);padding-left:13px}
.av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;background:var(--paper-2);color:var(--ink)}
.tibo .av{background:var(--ink);color:#fff}
.ph{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;font-size:13.5px}
.ph b{font-weight:700}
.ph span{color:var(--ink-2)}
.pt{margin:3px 0 6px;font-size:14.5px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}
.pf{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}
.pf a{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:28px}
@media (hover:hover){.pf a:hover{text-decoration:underline}}
.ours{display:inline-block;margin:0 0 6px;font-size:12.5px;font-style:italic;color:var(--ink-2);background:var(--paper);border:1px dashed var(--rule);border-radius:5px;padding:2px 7px}
.ours::before{content:"our note: ";font-style:normal;font-weight:600}

/* ARENA */
.arena{padding:16px;display:flex;flex-direction:column;gap:14px}
.ar-head h2{margin:0;font-size:20px;letter-spacing:-.02em}
.ar-head p{margin:4px 0 0;color:var(--ink-2);font-size:13.5px;line-height:1.45}
.ar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ftr{border:1px solid var(--rule);border-radius:10px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.ftr-top{height:112px;display:grid;place-items:center;position:relative;background:var(--lab)}
.ftr-top svg{width:84px;height:84px}
.ftr.lost .ftr-top{filter:grayscale(.85)}
.ftr.won{box-shadow:0 0 0 3px var(--ink)}
.ftr-b{padding:10px 11px 11px;display:flex;flex-direction:column;gap:6px;flex:1}
.ftr-b h3{margin:0;font-size:14.5px}
.ftr-b .lab{font-size:12px;color:var(--ink-2)}
.claim{font-size:13px;line-height:1.4;margin:0}
.ftr-b a{font-size:12.5px;font-weight:600;text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.vote{margin-top:auto;height:36px;border-radius:8px;border:1px solid var(--ink);background:var(--paper);font-weight:600;font-size:13.5px}
@media (hover:hover){.vote:hover{background:var(--ink);color:#fff}}
.vote:disabled{opacity:.55;cursor:default;background:var(--paper);color:var(--ink)}
.whisper{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:12px;line-height:1.35}
.whisper div{border-radius:6px;padding:6px 7px}
.whisper .an{background:#eef4ff}.whisper .dv{background:#fde9e7}
.whisper b{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.ar-res{border-top:1px solid var(--rule);padding-top:12px;display:none}
.ar-res.on{display:block}
.bar{display:grid;grid-template-columns:110px 1fr 44px;align-items:center;gap:8px;font-size:13px;margin:5px 0}
.bar i{display:block;height:14px;border-radius:3px;background:var(--lab);width:0;transition:width .9s var(--ease)}
.bar span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.speech{margin:12px 0 0;padding:12px 14px;background:#f1f3fb;border-left:3px solid #ff8205;font-size:13.5px;line-height:1.5;border-radius:0 8px 8px 0}
.speech cite{display:block;margin-top:6px;font-style:normal;font-size:12px;color:var(--ink-2)}
.ar-note{font-size:12px;color:var(--ink-2);margin:0}
.again{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:600;margin-top:10px}

/* COUNTDOWN */
.cal{padding:16px}
.cal h2{margin:0 0 4px;font-size:20px;letter-spacing:-.02em}
.cal>p{margin:0 0 12px;color:var(--ink-2);font-size:13.5px}
.doors{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.door{height:48px;border:1px solid var(--rule);border-radius:7px;background:var(--paper);font:700 16px var(--ui);position:relative;min-height:44px}
.door.reset-day{background:#fff0ed;border-color:#f2b8b0}
.door.open{background:var(--ink);color:#fff}
.door.today{box-shadow:0 0 0 2px var(--reset)}
.door.none{color:var(--ink-2);background:transparent;border-style:dashed}
.door-view{margin-top:14px;border:1px solid var(--rule);border-radius:10px;padding:12px 14px;background:#fff;font-size:14.5px;line-height:1.45;min-height:84px}
.door-view .stamp{display:inline-block;font:700 11px var(--ui);letter-spacing:.1em;color:#fff;background:var(--reset);padding:2px 7px;border-radius:4px;margin-bottom:6px}

/* TOASTS */
#toasts{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:6px;z-index:60;pointer-events:none;width:min(360px,calc(100vw - 24px))}
.toast{background:rgba(27,26,23,.92);color:#fff;padding:10px 14px;border-radius:10px;font-size:13.5px;line-height:1.4;animation:pin .3s var(--ease);box-shadow:0 8px 20px rgba(0,0,0,.3)}

/* PHONE */
@media (max-width:700px){
  :root{--mb:44px;--dock:62px}
  #menubar{padding:0 6px 0 10px;font-size:13px}
  .mb-app,.mb-day,.mb-clock{display:none}
  .mb-brand{font-size:14px}
  .mb-btn,.mb-usage{height:44px;min-width:44px;flex-shrink:0;white-space:nowrap;padding:0 6px}
  .mb-brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #mbsound .lbl{display:none}
  #batpct{display:none}
  .reset-cap{padding:0 10px}
  .reset{height:44px;border:5px solid transparent;background-clip:padding-box;border-radius:22px;box-shadow:none}.reset::after{content:none}.reset-cap{height:28px;line-height:28px;border-radius:15px;padding:0 14px}
  #stickies{left:14px;right:14px;top:auto;bottom:calc(var(--dock) + 44px)}
  .sticky{width:auto}.sticky:nth-child(n+2){display:none}
  #icons{left:10px;right:10px;top:16px;grid-template-columns:repeat(4,1fr);justify-items:center}
  .ico{width:100%;max-width:92px;font-size:12px}.ico .lbl{padding:2px 5px}
  .win{left:0!important;right:0!important;top:0!important;width:auto!important;height:calc(100% - var(--dock) - 12px)!important;border-radius:0 0 12px 12px}.tbar{border-radius:0}.wbody{border-radius:0 0 12px 12px}
  .tbar{height:44px;cursor:default}
  .lt{width:16px;height:16px}.lt::before{inset:-14px}.lt.m,.lt.z{display:none}.tbar .lights{padding-left:6px}
  .ttl{padding-right:0}
  .ar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .whisper{grid-template-columns:1fr}
  .meters{grid-template-columns:1fr 1fr 1fr}
  .meter{padding:8px}.odo span{width:12px;font-size:14px}
  .lk-note{display:none}
  .dk{width:44px;height:44px}.dk svg{width:44px;height:44px}
  .vote,.again,.ftr-b a,.pf a{min-height:44px}
  .bar{grid-template-columns:84px 1fr 40px}
}

/* shared */
.btn{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--ink);background:var(--paper);font-weight:600;font-size:13.5px}
.btn.dark{background:var(--ink);color:#fff}
@media (hover:hover){.btn:hover{filter:brightness(.95)}}
.src{font-weight:600;text-decoration:none;font-size:12.5px}
@media (hover:hover){.src:hover{text-decoration:underline}}
.mb-markb{background:none;border:0;padding:0;display:flex;align-items:center;height:26px;border-radius:5px}
.sticky.peel{transform:rotate(14deg) translate(30px,-24px)!important;opacity:0}
.sticky .st-t{display:block}
.flash{position:absolute;inset:0;background:radial-gradient(circle at 92% 0,rgba(216,38,28,.35),transparent 60%);pointer-events:none;animation:flash .5s var(--ease) forwards;z-index:55}
@keyframes flash{to{opacity:0}}

/* reactions */
.rx{display:flex;gap:6px;margin-top:6px}
.rxb{height:30px;min-width:44px;padding:0 9px;border-radius:15px;border:1px solid var(--rule);background:#fff;font-size:14px;display:inline-flex;align-items:center;gap:4px}
.rxb span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.rxb.on{border-color:var(--source);background:#eef4ff}
.rxb.pop{animation:pop .3s var(--ease)}
@keyframes pop{40%{transform:scale(1.18)}}

/* USAGE */
.usage{padding:16px;display:flex;flex-direction:column;gap:14px}
.u-lims{background:var(--usage-soft);border:1px solid #ecd58f;border-radius:10px;padding:12px 14px}
.u-row{display:grid;grid-template-columns:104px 1fr 44px;gap:10px;align-items:center;font-size:13.5px;margin:4px 0}
.u-row b{text-align:right;font-variant-numeric:tabular-nums}
.u-bar{height:12px;border-radius:6px;background:rgba(0,0,0,.1);overflow:hidden}
.u-bar i{display:block;height:100%;background:var(--ink);border-radius:6px;transition:width .6s var(--ease)}
.u-row.low .u-bar i{background:var(--usage)}
.u-cap{margin:8px 0 0;font-size:12px;color:var(--ink-2)}
.u-big{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--rule);border-radius:10px;padding:12px 14px;background:#fff}
.u-big b{display:block;font-size:30px;letter-spacing:-.02em;color:#8f6200;font-variant-numeric:tabular-nums}
.u-big span{font-size:12.5px;color:var(--ink-2)}
.u-big .btn{flex:none}
.usage h3{margin:2px 0 0;font-size:15px}
.u-tl{list-style:none;margin:0;padding:0;border-left:2px solid var(--rule);margin-left:6px}
.u-tl li{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:8px 0 10px 14px;position:relative}
.u-tl li::before{content:"";position:absolute;left:-6px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--paper-2);border:2px solid var(--ink-2)}
.u-tl li.hot::before{background:var(--usage);border-color:var(--usage)}
.u-when{font-size:12px;color:var(--ink-2)}.u-when b{display:block;color:var(--ink);font-size:12.5px}
.u-tl .pt{font-size:13.5px;margin:0 0 4px;overflow-wrap:anywhere;white-space:pre-line}

/* the incident pop-up */
.modal-wrap{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(8,12,26,.45);padding:16px;animation:fade .2s var(--ease)}
@keyframes fade{from{opacity:0}}
.modal{width:min(440px,100%);max-height:100%;overflow:auto;background:var(--win);border-radius:14px;padding:20px 20px 18px;box-shadow:0 30px 80px rgba(0,0,0,.5);border-top:6px solid var(--usage);animation:wopen .25s var(--ease)}
.modal.jolt{animation:jolt .35s var(--ease)}
@keyframes jolt{25%{transform:translateX(-10px) rotate(-1deg)}50%{transform:translateX(8px) rotate(.8deg)}75%{transform:translateX(-4px)}}
.mo-ic{width:40px;height:40px;border-radius:50%;background:#8f6200;color:#fff;font-weight:800;font-size:22px;display:grid;place-items:center}
.modal h2{margin:10px 0 8px;font-size:19px;letter-spacing:-.01em}
.modal blockquote{margin:0;font-size:14px;line-height:1.5;padding:10px 12px;background:#fff;border:1px solid var(--rule);border-radius:8px}
.modal cite{display:block;margin-top:6px;font-style:normal;font-size:12px;color:var(--ink-2)}
.mo-count{display:flex;align-items:baseline;gap:8px;margin:14px 0 4px;font-size:13px;color:var(--ink-2)}
.mo-count b{font-size:26px;color:var(--ink);font-variant-numeric:tabular-nums}
.mo-note{min-height:28px;margin:4px 0 12px}
.mo-go{width:100%;height:44px}

/* SLACK */
.slack{display:grid;grid-template-columns:170px 1fr;height:100%}
.sl-side{background:#2b2a27;color:#e9e2d3;padding:12px 10px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.sl-side b{color:#fff;margin-bottom:6px}
.sl-side span{padding:4px 8px;border-radius:5px;opacity:.8}
.sl-side span.on{background:var(--source);opacity:1;color:#fff}
.sl-side small{margin-top:auto;opacity:.65;font-size:11.5px}
.sl-main{display:flex;flex-direction:column;min-height:0;min-width:0}
.sm-b{min-width:0}
.sl-head{display:flex;gap:10px;align-items:baseline;padding:10px 14px;border-bottom:1px solid var(--rule)}
.sl-head span{color:var(--ink-2);font-size:13px}
.sl-banner{margin:0;padding:7px 14px;font-size:12.5px;background:var(--paper);border-bottom:1px dashed var(--rule);color:var(--ink-2)}
.sl-list{flex:1;overflow:auto;padding:8px 0;min-height:0}
.sm{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:6px 14px}
.sm.new{animation:pin .3s var(--ease)}
.sm-av{width:34px;height:34px;border-radius:7px;color:#fff;font-weight:700;display:grid;place-items:center}
.sm-h{display:flex;gap:7px;align-items:baseline;font-size:13.5px;flex-wrap:wrap}
.sm-h span{color:var(--ink-2);font-size:11.5px}
.sm-h .fic{border:1px dashed var(--rule);border-radius:4px;padding:0 5px;font-style:italic}
.sm p{margin:2px 0;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.unfurl{display:block;margin-top:5px;border-left:3px solid var(--source);padding:5px 10px;background:#f6f8fd;border-radius:0 6px 6px 0;text-decoration:none;color:var(--ink)}
.uf-h{display:block;font-weight:700;font-size:13px}.uf-h span{font-weight:500;color:var(--source);font-size:12px}
.uf-t{display:block;overflow-wrap:anywhere;font-size:13.5px;line-height:1.45;white-space:pre-line;margin-top:2px}
.poll{display:flex;gap:8px;margin:6px 0 2px}
.pb{height:36px;padding:0 12px;border-radius:18px;border:1px solid var(--rule);background:#fff;font-weight:600;font-size:13.5px}
.pb span{font-variant-numeric:tabular-nums;color:var(--ink-2);margin-left:4px}
.pb.on{border-color:var(--source);background:#eef4ff}
.pb:disabled{cursor:default}
.poll-r{font-size:12.5px!important;color:var(--ink-2)}
.sl-comp{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--rule)}
.sl-comp input{flex:1;min-width:0;height:36px;border:1px solid var(--rule);border-radius:8px;padding:0 10px;font:14px var(--ui);background:#fff}

/* LEADERBOARD.XLSX */
.sheet{display:flex;flex-direction:column;height:100%;background:#fff}
.fx{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--rule);font:13px var(--mono);background:var(--paper)}
.fx-c{min-width:34px;padding:2px 6px;border:1px solid var(--rule);background:#fff;border-radius:4px;text-align:center}
.fx-f{font-style:italic;color:var(--ink-2)}
.fx-v{flex:1;min-width:0;white-space:nowrap;overflow-x:auto}
.grid-wrap{flex:1;overflow:auto;min-height:0;scroll-padding-left:200px;scroll-padding-top:40px}
.grid{border-collapse:separate;border-spacing:0;font-size:13px;min-width:100%}
.grid th,.grid td{border-right:1px solid #e3ddd0;border-bottom:1px solid #e3ddd0;padding:0 8px;height:34px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.grid thead th{position:sticky;top:0;background:var(--paper-2);z-index:2;padding:0;font-weight:600}
.grid .rn{width:30px;text-align:center;color:var(--ink-2);background:var(--paper);font-size:12px;padding:0 4px}
.grid .lab-h,.grid .lab-c{text-align:left;position:sticky;left:0;z-index:1;background:#fff;min-width:150px}
.grid thead .lab-h{z-index:3;background:var(--paper-2);padding:0 8px}
.lab-c i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;vertical-align:0}
.sort{width:100%;height:44px;border:0;background:none;padding:0 8px;font-weight:600;font-size:12.5px;text-align:right;white-space:nowrap}
.sort small{font-weight:500;color:var(--ink-2)}
.sort.on{background:#dfe8f8;color:var(--source)}
.sort .arr{display:inline-block;width:12px;margin-left:3px}
@media (hover:hover){.sort:hover{background:#ece6da}}
.grid td.sel{background:#f3f7fe}
.grid td a{font-weight:600;text-decoration:none;display:inline-block;min-width:28px}
.grid tr.top td{background:#fff8e1;font-weight:600}
.grid tr.top td.lab-c{background:#fff8e1}
.grid tr.pop td{animation:rowpop .6s var(--ease)}
@keyframes rowpop{from{background:#ffe680}}
.no1{display:inline-block;font-size:10.5px;font-weight:800;background:var(--ink);color:#fff;border-radius:4px;padding:1px 5px;margin-left:5px}
.sh-foot{border-top:1px solid var(--rule);padding:9px 12px;background:var(--paper);font-size:12.5px}
.sh-foot p{margin:4px 0 0;color:var(--ink-2)}
.crown{font-size:13.5px;line-height:1.5}
.crown .rc{color:var(--ink-2)}

/* TRASH */
.trash{display:flex;flex-direction:column;height:100%}
.tr-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--rule);font-size:13px;color:var(--ink-2)}
.tr-empty.nope{animation:shake .4s}
.tr-note{margin:0;padding:7px 12px;font-size:12.5px;color:var(--ink-2);border-bottom:1px dashed var(--rule)}
.tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:1px 5px;flex:none}
.ours-t{background:var(--paper-2);color:var(--ink-2)}.real-t{background:#e3ecfb;color:var(--source)}
.tr-cols{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);min-height:0}
.tr-list{list-style:none;margin:0;padding:6px;overflow:auto;border-right:1px solid var(--rule)}
.tr-i{width:100%;display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px;border:0;background:none;border-radius:6px;text-align:left;font-size:13.5px}
.tr-i.on{background:var(--source);color:#fff}.tr-i.on .tag{background:rgba(255,255,255,.85)}
@media (hover:hover){.tr-i:not(.on):hover{background:var(--paper)}}
.tr-f{flex:1;min-width:0;overflow-wrap:anywhere}
.tr-view{padding:14px;overflow:auto;font-size:14px;color:var(--ink-2)}
.tr-view.in,.door-view.in{animation:pin .3s var(--ease)}
.tr-view h3{margin:0 0 8px;font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.tr-view pre{margin:0;font:13.5px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);background:var(--paper);padding:10px;border-radius:8px}
.tr-real{margin-top:10px;border-left:3px solid var(--source);padding:4px 0 4px 10px;color:var(--ink)}
.tr-real small{color:var(--ink-2)}.tr-real .pt{margin:2px 0 4px}

/* TERMINAL */
.term{background:#14130f;color:#e9e2d3;font:13.5px/1.55 var(--mono);height:100%;display:flex;flex-direction:column;padding:10px 12px}
.t-out{flex:1;overflow:auto;min-height:0}
.t-out a{color:#8fb4ff}
.t-dim{color:#9b958a}.t-p{color:#5fc453}.t-r{color:#e9e2d3;opacity:.85;margin-bottom:4px;white-space:pre-line;overflow-wrap:anywhere}
.t-in{display:flex;gap:8px;align-items:center}
.t-in label{color:#5fc453;white-space:nowrap}
.t-in input{flex:1;min-width:0;background:none;border:0;color:#fff;font:inherit;outline:none;height:32px;caret-color:#5fc453}

/* ABOUT */
.about{padding:20px;text-align:center}
.about h2{margin:10px 0 0;font-size:19px}
.ab-sub{margin:2px 0 12px;color:var(--ink-2);font-size:13px}
.about dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;text-align:left;font-size:13.5px;margin:0 auto;max-width:300px}
.about dt{color:var(--ink-2)}.about dd{margin:0}
.ab-fine{font-size:12px;color:var(--ink-2);margin:14px 0 0;line-height:1.45}

/* ARENA additions */
.ar-steps{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.ar-steps span{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:10px;background:var(--paper-2);color:var(--ink-2)}
.ar-steps span.on{background:var(--ink);color:#fff}.ar-steps span.done{background:#dfe8f8;color:var(--source)}
.vote.picked{background:var(--ink);color:#fff;opacity:1}
.speech{border-left-color:var(--lab,#ff8205)}
.champ{margin:12px 0 4px;padding:12px 14px;border-radius:10px;background:var(--ink);color:#fff;display:flex;flex-direction:column;gap:2px}
.champ span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}.champ b{font-size:22px}.champ small{opacity:.8}
.confetti,.potatoes{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:80;border-radius:inherit}
.confetti i{position:absolute;top:-10px;width:8px;height:12px;border-radius:2px;animation:fall 1.4s var(--ease) forwards}
.potatoes i{position:absolute;top:-50px;font-style:normal;animation:fall 2s ease-in forwards}
@keyframes fall{to{transform:translateY(110vh) rotate(540deg)}}

/* COUNTDOWN additions */
.kick{margin:0 0 8px!important;font-size:13.5px;color:var(--ink)!important;line-height:1.45}
.kick span{color:var(--ink-2)}
.cal-score{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-bottom:10px}
.sw{width:11px;height:11px;border-radius:3px;border:1px solid var(--rule);margin-left:6px}.sw:first-child{margin-left:0}
.sw.r{background:#fff0ed;border-color:#f2b8b0}.sw.s{background:var(--paper)}.sw.n{border-style:dashed}
.door-view .stamp{margin-right:6px}
.door-view .stamp.today{background:var(--ink)}.door-view .stamp.soon{background:var(--ink-2)}
.dv-post+.dv-post{border-top:1px solid var(--paper-2);margin-top:8px;padding-top:8px}
.dv-post .pt{margin:4px 0}
.door{transition:transform .15s var(--ease)}
@media (hover:hover){.door:not(.none):hover{transform:translateY(-2px)}}

@media (min-width:701px){.ar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){
  .ar-grid{grid-template-columns:1fr}
  .ftr{display:grid;grid-template-columns:84px 1fr}
  .ftr-top{height:auto;min-height:100%}.ftr-top svg{width:64px;height:64px}
  .slack{grid-template-columns:1fr}.sl-side{display:none}
  .sl-comp input,.sl-comp .btn,.pb,.btn,.tr-i,.rxb,.sort{min-height:44px}
  .tr-cols{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .tr-list{border-right:0;border-bottom:1px solid var(--rule);max-height:42%}
  .u-big{flex-direction:column;align-items:flex-start}
  .u-tl li{grid-template-columns:1fr;gap:2px}
  .t-in input{height:44px}
  .mb-markb{height:44px;min-width:44px;justify-content:center}
  .grid-wrap{scroll-padding-left:170px}
  .about dd a.src{display:inline-block;min-height:44px;line-height:44px;min-width:44px}
  .grid .lab-h,.grid .lab-c{min-width:0;width:104px;max-width:104px;white-space:normal;line-height:1.2;font-size:12.5px}
  .crown .src{display:inline-flex;min-height:44px;align-items:center}
  .grid td a{min-height:44px;line-height:44px;min-width:44px;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#mbsound i{font-style:normal}
