/* Gavel design system.
   Type: Besley (a Clarendon, the face of diplomas and chapter-house plaques) for names, titles and numerals;
   Instrument Sans for everything you read or press.
   Color: a neutral mat-board ground with ink text. The chapter's own two colors are the only accents:
   --p for the thing to do next, --s for marks of rank. Both are set from chapter settings at run time. */
@font-face{font-family:Besley;src:url(fonts/besley.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-display:swap}

:root{
  --ground:#eef0f3; --surface:#fff; --sunk:#e3e6ea; --raise:#f6f7f9;
  --ink:#12161c; --ink2:#465060; --ink3:#687180; --line:#d8dce2;
  --p:#c8102e; --p-ink:#fff; --p-text:#b00d27; --s:#f1bd19; --s-ink:#231a00;
  --good:#0b7a63; --warn:#a8480a; --bad:#b42318; --scrim:rgba(18,22,28,.45);
  --shadow:0 18px 50px -12px rgba(18,22,28,.28),0 2px 6px rgba(18,22,28,.08);
  --disp:Besley,"Clarendon LT Std",Georgia,serif; --ui:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r1:6px; --r2:8px; --r3:12px; --r4:16px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --ground:#0d1014; --surface:#161a20; --sunk:#090b0e; --raise:#1d222a;
  --ink:#f1f3f6; --ink2:#b4bbc6; --ink3:#8a94a3; --line:#272d37;
  --good:#3fcfae; --warn:#f0a35a; --bad:#ff8577; --scrim:rgba(0,0,0,.62);
  --shadow:0 18px 50px -12px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.4);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
html.big{font-size:112.5%}
body{background:var(--ground);color:var(--ink);font:400 .9375rem/1.5 var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[hidden]{display:none!important}
h1,h2,h3,p,dl,dd{margin:0}
h1{font:700 2.75rem/1.05 var(--disp);letter-spacing:-.012em;text-wrap:balance;overflow-wrap:anywhere}
h2{font:700 1.3rem/1.2 var(--disp);letter-spacing:-.005em}
h3{font:700 1.5rem/1.15 var(--disp)}
a{color:var(--p-text);text-underline-offset:2px}
b{font-weight:600}
.ic{width:18px;height:18px;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--ground);padding:10px 14px;border-radius:var(--r2);font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--p-text);outline-offset:2px;border-radius:4px}
::selection{background:var(--s);color:var(--s-ink)}

/* ---------- sign in ---------- */
.gate{min-height:100%;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top,0px)) 20px 32px}
.gatebox{width:min(400px,100%);display:flex;flex-direction:column;gap:16px}
.gatebox form{display:flex;flex-direction:column;gap:14px}
.gbrand{display:flex;flex-direction:column;gap:6px;padding-bottom:18px;border-bottom:3px solid var(--p);margin-bottom:4px}
.gbrand b{font:800 4.4rem/.9 var(--disp);letter-spacing:-.025em}
.gbrand .kicker{font:500 1rem/1.3 var(--ui);color:var(--ink2)}
.gpitch{font-size:1.02rem;color:var(--ink2)}
.glinks{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.err{color:var(--bad);font-size:.9rem;font-weight:500}
.linkbtn{background:none;border:0;padding:0;font:600 .9rem var(--ui);color:var(--p-text);cursor:pointer;text-align:left}
.linkbtn:hover{text-decoration:underline;text-underline-offset:2px}

/* ---------- shell: a rail on a laptop, a tab bar on a phone ---------- */
.app{min-height:100%;display:grid;grid-template-columns:264px minmax(0,1fr)}
.side{background:var(--surface);border-right:1px solid var(--line);padding:20px 12px 14px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;scrollbar-width:thin}
.chap{display:flex;gap:12px;align-items:center;padding:2px 8px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r2)}
.chap b{font:700 1.08rem/1.15 var(--disp);display:block;overflow-wrap:anywhere}
.chap span.app-name{font-size:.82rem;color:var(--ink3)}
.shield{width:36px;height:42px;flex:none;color:var(--p)}
.bmark{display:flex}
.find{display:flex;align-items:center;gap:9px;margin:0 4px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r2);color:var(--ink3);font:400 .9rem var(--ui);background:var(--ground);cursor:pointer;text-align:left}
.find:hover{border-color:var(--ink3);color:var(--ink2)}
.find kbd{margin-left:auto;font:500 .72rem var(--ui);border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--surface);color:var(--ink3)}
.nav,.sidegroups{display:flex;flex-direction:column;gap:1px}
.nav button,.sidegroups button{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--r2);border:0;background:none;color:var(--ink2);font:500 .94rem/1.2 var(--ui);cursor:pointer;text-align:left;width:100%}
.nav button:hover,.sidegroups button:hover{background:var(--raise);color:var(--ink)}
.nav button[aria-current="page"],.sidegroups button[aria-current="page"]{background:var(--sunk);color:var(--ink);font-weight:600}
.nav button[data-tab="more"]{display:none}
.sidegroups h6{margin:14px 10px 4px;font:500 .8rem var(--ui);color:var(--ink3)}
.count{font:600 .74rem/1 var(--ui);background:var(--p);color:var(--p-ink);border-radius:20px;padding:3px 7px;margin-left:auto;font-variant-numeric:tabular-nums}
.who{margin-top:auto;border-top:1px solid var(--line);padding-top:12px}
.avbtn{display:flex;align-items:center;gap:11px;background:none;border:0;padding:6px 8px;cursor:pointer;color:var(--ink);font:inherit;width:100%;text-align:left;border-radius:var(--r2)}
.avbtn:hover{background:var(--raise)}
.whon{display:flex;flex-direction:column;min-width:0;order:2;font-weight:600;line-height:1.25}
.whon small{font-weight:400;font-size:.82rem;color:var(--ink3)}
.mtop{display:none}
.main{min-width:0;padding:44px 48px 96px}
.col{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:26px}
.col.narrow{max-width:720px}
.hello{display:flex;flex-direction:column;gap:6px}
.hello .hrow{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
#sub{color:var(--ink3);font-size:.9rem}
.pact{display:flex;gap:8px;flex-wrap:wrap}
.view{display:flex;flex-direction:column;gap:30px;animation:rise .16s ease-out}
@keyframes rise{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:48px;align-items:start}
.stack{display:flex;flex-direction:column;gap:30px;min-width:0}
.back{align-self:flex-start;margin-bottom:-12px}
.monly{display:none}

/* ---------- sections and rows ---------- */
.panel{display:flex;flex-direction:column;gap:10px;min-width:0}
.shead{display:flex;align-items:baseline;gap:12px}
.rule{flex:1}
.pright{font:500 .86rem var(--ui);color:var(--ink3);text-align:right}
.pright .linkbtn{font-size:.86rem}
.pbody{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);overflow:hidden}
.pbody>.head{padding:12px 16px;border-bottom:1px solid var(--line)}
.head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.muted{color:var(--ink2);font-size:.88rem}
.pbody>p.muted{padding:12px 16px}
.view>p.muted{margin-top:-14px;max-width:68ch}
.empty{color:var(--ink2);font-size:.92rem;padding:22px 16px}
.view>.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r3);text-align:center;padding:34px 20px}
.row{display:flex;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}
.list>.row:first-child{border-top:0}
.row .grow{flex:1 1 200px;min-width:0}
.row .grow b{display:block}
.grow{min-width:0}
.when{font:500 .86rem var(--ui);color:var(--ink3);flex:0 0 96px}
.amt{font:700 1.15rem/1 var(--ui);font-variant-numeric:tabular-nums}
.date{width:42px;text-align:center;flex:none}
.date i{display:block;font:600 .72rem/1 var(--ui);font-style:normal;color:var(--p-text)}
.date b{display:block;font:700 1.45rem/1.05 var(--ui);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px}
.st{font:600 .84rem/1.2 var(--ui);white-space:nowrap;display:inline-flex;align-items:center;gap:7px;color:var(--ink2)}
.st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st.good{color:var(--good)} .st.warn{color:var(--warn)} .st.wait{color:var(--ink2)}
.st.wait::before{background:var(--s);box-shadow:0 0 0 1px var(--line)}
.callout{border:1px solid var(--line);border-left:3px solid var(--s);border-radius:var(--r3);background:var(--surface);padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.callout b{font:700 1.15rem/1.2 var(--disp)}
.tools{display:flex;flex-direction:column}
.tools a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.tools>a:first-child{border-top:0}
.tools a:hover{background:var(--raise)}
.tools b{font-weight:600}
.tools span{font-size:.86rem;color:var(--ink3)}
.docrow{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-right:10px}
.docrow:first-child{border-top:0}
.docrow a{flex:1;border-top:0!important;min-width:0}
.docrow a b{overflow-wrap:anywhere}
.roll{display:flex;flex-wrap:wrap;gap:6px;padding:14px 16px;border-bottom:1px solid var(--line)}
.seat{min-width:38px;height:34px;padding:0 8px;display:grid;place-items:center;font:600 .78rem var(--ui);border:1px solid var(--line);color:var(--ink3);border-radius:var(--r1)}
.seat.in{background:var(--good);border-color:var(--good);color:#fff}
:root[data-theme="dark"] .seat.in{color:#04231d}
.ptag{font:600 .78rem/1 var(--ui);padding:5px 8px;border-radius:var(--r1);white-space:nowrap;background:var(--sunk);color:var(--ink2)}
.ptag.eb{background:var(--p);color:var(--p-ink)}
.ptag.gb{background:var(--s);color:var(--s-ink)}
.clinks{display:flex;flex-direction:column;gap:4px;font-size:.92rem;min-width:0}
.clinks a,.clinks span{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.search{max-width:440px}
.nick{font-weight:400;color:var(--ink3)}
.cbio{display:block;font-size:.95rem;overflow-wrap:anywhere}

/* disclosure rows: meals, and anything that opens in place */
.crow{border-top:1px solid var(--line)}
.list>.crow:first-child{border-top:0}
.chead{display:flex;gap:14px;align-items:center;width:100%;padding:12px 16px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.chead:hover{background:var(--raise)}
.chead .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.chev{color:var(--ink3);font-size:1.2rem;line-height:1;transition:transform .15s}
.chead[aria-expanded="true"] .chev{transform:rotate(90deg)}
.chead .when{flex:0 0 96px}
.cmore{padding:0 16px 16px 126px;display:flex;flex-direction:column;gap:10px}
.cmore p{font-size:.94rem;overflow-wrap:anywhere;color:var(--ink2)}
.cmore .inline{gap:12px}

/* ---------- today: the docket ---------- */
.needs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);overflow:hidden}
.need{display:flex;align-items:center;gap:14px;padding:13px 16px;border-top:1px solid var(--line)}
.need:first-child{border-top:0}
.need>i{width:8px;height:8px;border-radius:50%;background:var(--line);flex:none}
.need.hot>i{background:var(--p)}
.need .grow{flex:1;min-width:0}
.need .grow b{display:block}
.need .grow span{color:var(--ink2);font-size:.88rem;display:block}
.alerts{display:contents}
.dayhead{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}
.dayhead span{color:var(--ink3);font-size:.9rem}
.tl{position:relative}
.tl::before{content:"";position:absolute;left:87px;top:16px;bottom:16px;width:1px;background:var(--line)}
.slot{display:grid;grid-template-columns:70px 14px minmax(0,1fr) auto;gap:0 12px;align-items:start;padding:9px 0}
.slot time,.slot .lab{font:500 .88rem/1.5 var(--ui);color:var(--ink3);font-variant-numeric:tabular-nums;text-align:right}
.slot .dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--ink3);margin:6px auto 0;background:var(--ground);position:relative;z-index:1}
.slot.ev .dot{border-color:var(--p);background:var(--p)}
.slot.past{opacity:.5}
.slot .grow b{display:block}
.slot .grow span{color:var(--ink2);font-size:.88rem;display:block}
.slot .side-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.slot button.what{background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;display:block;width:100%}
.slot button.what:hover b{text-decoration:underline;text-underline-offset:3px}
.nowline{display:grid;grid-template-columns:70px 14px minmax(0,1fr);gap:0 12px;align-items:center;color:var(--p-text);font:600 .8rem var(--ui);padding:3px 0}
.nowline::after{content:"";height:2px;background:var(--p);grid-column:3;border-radius:2px}
.nowline span{text-align:right;font-variant-numeric:tabular-nums}
.nowline i{width:9px;height:9px;background:var(--p);border-radius:50%;margin:auto;position:relative;z-index:1}
.quiet{color:var(--ink3);font-size:.92rem;padding:6px 0 0 96px}
.aside .panel .pbody{background:none;border:0;border-radius:0}
.aside .row,.aside .tools a,.aside .crow .chead{padding-left:0;padding-right:0}
.aside .empty{padding:6px 0}
.aside .row{flex-wrap:nowrap}
.aside .row .grow{flex:1 1 0}
.aside details.add{padding:10px 0 0}
.note b{display:block}
.note p{color:var(--ink2);font-size:.9rem}
.setup{border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);overflow:hidden}
.setup header{display:flex;align-items:baseline;gap:12px;padding:14px 16px;flex-wrap:wrap}
.setup header b{font:700 1.2rem/1.2 var(--disp)}
.setup header span{color:var(--ink3);font-size:.88rem;flex:1}
.srow{display:flex;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.srow .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.srow .grow span{font-size:.88rem;color:var(--ink2)}
.tick{width:22px;height:22px;flex:none;border:1.500px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700}
.srow.done .tick{background:var(--good);border-color:var(--good);color:#fff}
.srow.done .grow{opacity:.55}

/* ---------- brothers: the composite ---------- */
.comp{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,132px));gap:24px 18px}
.comp.lead{grid-template-columns:repeat(auto-fill,minmax(136px,156px))}
.person{display:flex;flex-direction:column;gap:8px;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}
.person .av{width:100%;height:auto;aspect-ratio:4/5;font-size:2rem;border-radius:var(--r2)}
.person b{font:700 1rem/1.2 var(--disp);overflow-wrap:anywhere}
.person span{font-size:.84rem;color:var(--ink2);line-height:1.3}
.person:hover .av{box-shadow:0 0 0 2px var(--ink)}
.person:hover b{text-decoration:underline;text-underline-offset:3px}
.av{width:36px;height:45px;flex:none;display:grid;place-items:center;border-radius:5px;background:var(--sunk);font:700 .9rem/1 var(--disp);color:var(--ink2);overflow:hidden;position:relative}
.av img{width:100%;height:100%;object-fit:cover;display:block}
.av.eb::after,.av.gb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--p)}
.av.gb::after{background:var(--s)}
.av.sm{width:30px;height:37px;font-size:.74rem;border-radius:4px}
.av.xs{width:20px;height:25px;font-size:.56rem;border-radius:3px}
.av.xs::after{height:2px}
.av.lg{width:120px;height:150px;font-size:2.4rem;border-radius:var(--r2)}
.av.lg::after{height:5px}

.person.crow{border:0}
.mdetail{display:flex;flex-direction:column;gap:10px;padding:6px 0 4px}
.note p{margin-top:1px}

/* ---------- sheets, dialogs, search ---------- */
.overlay{position:fixed;inset:0;background:var(--scrim);display:grid;place-items:center;padding:16px;z-index:40;animation:fade .12s ease-out}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r4);width:min(520px,100%);max-height:100%;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}
.overlay.right{place-items:stretch end;padding:0}
.sheet{background:var(--surface);border-left:1px solid var(--line);width:min(420px,100%);height:100%;overflow:auto;padding:28px 26px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow);animation:slide .16s ease-out}
@keyframes slide{from{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}
.sheet .av.lg{width:150px;height:188px}
.sheet h3{font-size:1.7rem}
.sheet .facts{padding:0;border:0;gap:14px 28px}
.sheet .facts dd{font:600 1rem/1.3 var(--ui);color:var(--ink);margin-top:2px}
.sheet .actions{display:flex;gap:8px;flex-wrap:wrap}
.xbtn{align-self:flex-end;margin:-8px -8px -14px 0}
.overlay.top{place-items:start center;padding-top:12vh}
.palette{background:var(--surface);border:1px solid var(--line);border-radius:var(--r4);width:min(600px,100%);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:70vh}
.palette input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 18px;font-size:1.05rem;background:none}
.palette input:focus{outline:0}
.pres{overflow:auto;padding:6px}
.pres button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;border-radius:var(--r2);cursor:pointer}
.pres button[aria-selected="true"]{background:var(--sunk)}
.pres button .ic{color:var(--ink3)}
.pres button span{color:var(--ink3);font-size:.86rem;margin-left:auto;white-space:nowrap}
.pres button b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pres .empty{padding:18px 12px}
.phint{border-top:1px solid var(--line);padding:8px 14px;font-size:.78rem;color:var(--ink3);display:flex;gap:14px}
.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--ground);padding:11px 16px;border-radius:var(--r2);font-size:.9rem;font-weight:500;z-index:60;max-width:calc(100% - 32px);box-shadow:var(--shadow)}
.offline{background:var(--s);color:var(--s-ink);font:500 .86rem var(--ui);padding:7px 16px;border-radius:var(--r2);align-self:flex-start}

/* ---------- controls ---------- */
.btn{font:600 .9rem/1.1 var(--ui);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r2);padding:9px 14px;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--ink3)}
.btn:disabled{opacity:.45;cursor:default}
.btn.primary{background:var(--p);border-color:var(--p);color:var(--p-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.btn.ghost{border-color:transparent;background:none;color:var(--ink2)}
.btn.ghost:hover{color:var(--ink);background:var(--raise)}
.btn.danger{border-color:var(--bad);color:var(--bad)}
.btn.sm{padding:7px 11px;font-size:.84rem}
.btn.big{padding:13px 14px;font-size:1rem}
a.btn{text-decoration:none;display:inline-block}
select,input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],input[type=time],input[type=search],input[type=color],textarea{font:400 16px/1.3 var(--ui);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:9px 11px;width:100%;min-width:0}
input[type=color]{padding:3px;height:40px;width:64px}
select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--p-text);outline-offset:0;border-color:transparent}
input::placeholder,textarea::placeholder{color:var(--ink3);opacity:.75}
textarea{resize:vertical;min-height:72px}
input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--p);flex:none}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
label.f,div.f{display:flex;flex-direction:column;gap:6px;font:500 .84rem var(--ui);color:var(--ink2);min-width:0}
.two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:8px}
.inline{display:flex;gap:8px;align-items:center;font-size:.9rem;flex-wrap:wrap}
.form{display:flex;flex-direction:column;gap:14px;padding:16px}
.list+.form,.empty+.form{border-top:1px solid var(--line)}
.composer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);box-shadow:0 0 0 3px var(--sunk)}
.composer>header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0}
.composer>header b{font:700 1.15rem/1.2 var(--disp)}
details.add{padding:12px 16px;border-top:1px solid var(--line)}
details.add[open]{display:flex;flex-direction:column;gap:14px}
details summary{cursor:pointer;font:600 .9rem var(--ui);color:var(--p-text)}
details.help p{margin-top:10px}
.pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pick label{display:flex;gap:8px;align-items:center;font-size:.92rem}
.bar{height:6px;background:var(--sunk);overflow:hidden;margin-top:8px;max-width:280px;border-radius:3px}
.bar i{display:block;height:100%;background:var(--p)}
.sub{background:var(--raise);border-top:1px solid var(--line);padding:4px 0 4px 16px}
.sub>p,.sub>.inline{padding:8px 16px 8px 0}
.sub .row{padding-left:0}
.sub .row:first-child{border-top:0}
.upd{font-size:.92rem;display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 12px;margin-top:8px}
.upd dt{font:500 .84rem/1.6 var(--ui);color:var(--ink3)}
.upd dd{white-space:pre-wrap;overflow-wrap:anywhere}
.facts{display:flex;flex-wrap:wrap;gap:14px 44px;padding:18px 16px;border-top:1px solid var(--line)}
.facts dt{font:500 .84rem var(--ui);color:var(--ink3)}
.facts dd{font:700 1.9rem/1.1 var(--ui);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:3px}
.facts.solo{border:1px solid var(--line);border-radius:var(--r3);background:var(--surface)}
.facts dd.word{font:inherit;padding-top:8px}
.facts.invite dd{letter-spacing:.12em}
.weeknav{display:flex;align-items:center;gap:10px;font:700 1.1rem var(--disp)}
.segs{display:inline-flex;background:var(--sunk);border-radius:10px;padding:3px;gap:2px;overflow-x:auto;align-self:flex-start;max-width:100%}
.segs button{font:500 .88rem/1 var(--ui);background:none;border:0;color:var(--ink2);padding:8px 13px;cursor:pointer;white-space:nowrap;display:flex;gap:8px;align-items:center;border-radius:7px}
.segs button:hover{color:var(--ink)}
.segs button[aria-selected="true"],.segs button[aria-pressed="true"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.14)}
.segs .count{margin-left:0}
.rank{font:700 1rem/1 var(--ui);color:var(--ink3);width:26px;text-align:center;font-variant-numeric:tabular-nums}
.list>.row:first-child>.rank{color:var(--p-text)}

/* ---------- calendar ---------- */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:12px 16px}
.dow{font:500 .78rem var(--ui);color:var(--ink3);text-align:center;padding:2px 0 6px}
.day{min-height:58px;background:var(--ground);border:1px solid transparent;border-radius:var(--r2);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:6px 8px;font:inherit;min-width:0}
.day b{font:500 .94rem/1 var(--ui);font-variant-numeric:tabular-nums}
.day:hover{border-color:var(--ink3)}
.day.today b{background:var(--p);color:var(--p-ink);border-radius:20px;padding:4px 7px;margin:-3px -5px;font-weight:600}
.day.sel{border-color:var(--ink);background:var(--surface)}
.dots{display:flex;gap:3px;min-height:8px;flex-wrap:wrap}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:2px 16px 14px}
.cat{font:500 .82rem var(--ui);color:var(--ink2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cat::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.c-chapter{--c:var(--p)} .c-social{--c:#d9822b} .c-rush{--c:#0b9a7d} .c-philanthropy{--c:#8b5cf6} .c-service{--c:#2f7fe0} .c-other{--c:var(--ink3)}
.evp{padding-top:8px;padding-bottom:8px}

/* ---------- social, polls, standing ---------- */
.nextup{background:var(--p);color:var(--p-ink);border-radius:var(--r3);padding:26px;display:flex;flex-direction:column;gap:6px}
.nextup .kicker{font:500 .9rem var(--ui);opacity:.85}
.nextup b{font:800 2.6rem/1 var(--disp);overflow-wrap:anywhere;letter-spacing:-.01em}
.nextup p{font-size:.94rem;opacity:.9}
.opts{padding:6px 16px 2px}
.opt{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,180px) 34px;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.opt:first-child{border-top:0}
.opt label{display:flex;align-items:center;gap:10px;min-width:0;overflow-wrap:anywhere}
.opt .qty{width:68px;flex:none;padding:6px 8px}
.obar{height:8px;background:var(--sunk);overflow:hidden;border-radius:4px}
.obar i{display:block;height:100%;background:var(--p)}
.opt b{font:700 1rem/1 var(--ui);text-align:right;font-variant-numeric:tabular-nums}
.pfoot{padding:12px 16px;border-top:1px solid var(--line)}
.nbody{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem;margin-top:8px}
.brow label.f{flex:0 1 120px}
.brow label.bnote{flex:1 1 180px}
.brow{align-items:flex-end}
.row select{font-size:.9rem;padding:6px 8px}

/* ---------- more ---------- */
.moregrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.morerow{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:13px 16px;color:var(--ink);cursor:pointer;text-align:left;font:inherit}
.morerow:first-child{border-top:0}
.morerow:hover{background:var(--raise)}
.morerow .ic{color:var(--ink3);width:20px;height:20px}
.morerow .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.morerow .grow span{font-size:.86rem;color:var(--ink2)}

/* ---------- chats ---------- */
.chead-bar{align-items:center}
.chead-bar .back{margin:0}
.access{gap:8px 22px;padding-bottom:4px}
.chatrow .grow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmark{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:var(--r2);background:var(--sunk);font:700 .95rem/1 var(--disp);color:var(--ink2)}
.ctime{font:400 .82rem var(--ui);color:var(--ink3);white-space:nowrap}
.pins{display:flex;flex-wrap:wrap;gap:8px;margin-top:-10px}
.pin{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:7px 13px;color:var(--ink);text-decoration:none;font:500 .88rem var(--ui)}
.pin:hover{border-color:var(--ink3)}
.pin .ic{width:15px;height:15px;color:var(--ink3)}
.chatlog{height:min(56vh,580px);overflow-y:auto;padding:6px 16px 14px;overscroll-behavior:contain}
.chatlog .empty{padding:18px 0}
.cnote{text-align:center;padding-top:10px}
.cday{display:flex;align-items:center;gap:12px;margin:16px 0 4px;font:500 .8rem var(--ui);color:var(--ink3)}
.cday::before,.cday::after{content:"";flex:1;height:1px;background:var(--line)}
.msg{padding:1px 8px 1px 32px;border-radius:var(--r1)}
.msg.first{margin-top:10px}
.msg.can{cursor:pointer}
.msg.sel{background:var(--raise)}
.mwho{display:flex;align-items:center;gap:10px;margin-left:-32px}
.mwho .av{margin-right:2px}
.mwho b{font-weight:600}
.msg.mine .mwho b{color:var(--p-text)}
.mwho span{font-size:.78rem;color:var(--ink3);font-variant-numeric:tabular-nums}
.msg p{white-space:pre-wrap;overflow-wrap:anywhere}
.msg .linkbtn{color:var(--bad);padding:4px 0}
.compose{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.compose input{flex:1}

/* ---------- settings ---------- */
.pcard{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.pinfo{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1 220px}
.pname{font:700 2rem/1.1 var(--disp);overflow-wrap:anywhere}
.pinfo .btn{display:inline-block}
.pchecks{display:flex;gap:6px 18px;flex-wrap:wrap}
.barrow .ic{color:var(--ink3);width:20px;height:20px}
.barrow.fixed{opacity:.6}
.barbtns{display:flex;gap:6px;align-items:center}
.barrow .grow{flex:1 1 120px}
.swatches{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.swatch{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font:600 .84rem var(--ui)}
.titles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px}

@media (prefers-reduced-motion:reduce){ .view,.overlay,.sheet{animation:none} .chev{transition:none} }

/* ---------- phone ---------- */
@media (max-width:860px){
  .app{display:block}
  .side{display:contents}
  .side>.chap,.side>.find,.side>.sidegroups,.side>.who{display:none}
  .nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:5px 6px calc(6px + env(safe-area-inset-bottom,0px));flex-direction:row;gap:0}
  .nav button,.nav button[data-tab="more"]{display:flex;flex:1 1 0;min-width:0;flex-direction:column;gap:3px;padding:6px 2px;font-size:.68rem;font-weight:500;text-align:center;position:relative;color:var(--ink3);background:none!important}
  .nav button .ic{width:22px;height:22px}
  .nav button .nlabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .nav button[aria-current="page"]{color:var(--ink);font-weight:600}
  .nav .count{position:absolute;top:1px;left:calc(50% + 4px);margin:0;padding:2px 6px}
  .mtop{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;position:sticky;top:0;z-index:15;background:var(--ground)}
  .mtop .chap{flex:1;padding:0;min-width:0}
  .mtop .chap b{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mtop .shield{width:26px;height:31px}
  .mtop .iconbtn{display:grid;place-items:center;width:38px;height:38px;border:0;background:none;color:var(--ink2);border-radius:50%;cursor:pointer}
  .mavbtn{background:none;border:0;padding:0;cursor:pointer;display:flex;border-radius:5px}
  .main{padding:8px 16px calc(104px + env(safe-area-inset-bottom,0px))}
  h1{font-size:2.05rem}
  .monly{display:inline-block}
  .col,.view,.stack{gap:24px}
  .split{grid-template-columns:minmax(0,1fr);gap:28px}
  .moregrid{grid-template-columns:minmax(0,1fr);gap:24px}
  .btn.sm{padding:9px 12px}
  .tl::before{left:75px}
  .slot{grid-template-columns:58px 14px minmax(0,1fr) auto}
  .slot time,.slot .lab{font-size:.8rem;line-height:1.65}
  .nowline{grid-template-columns:58px 14px minmax(0,1fr)}
  .quiet{padding-left:84px}
  .cmore{padding-left:16px}
  .chead .when{flex-basis:76px;font-size:.8rem}
  .upd{grid-template-columns:minmax(0,1fr)}
  .cal{padding:8px;gap:3px}
  .day{min-height:48px;padding:5px}
  .dots i{width:6px;height:6px}
  .nextup b{font-size:2rem}
  .gbrand b{font-size:3.6rem}
  .comp,.comp.lead{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}
  .person b{font-size:.92rem}
  .overlay.right{place-items:end stretch}
  .sheet{width:100%;height:auto;max-height:92%;border-left:0;border-top:1px solid var(--line);border-radius:var(--r4) var(--r4) 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px));animation-name:up}
  @keyframes up{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
  .overlay.top{padding:10px;place-items:start stretch}
  .palette{max-height:80vh}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .chatlog{height:max(220px,calc(100dvh - 430px));padding:6px 12px 12px}
  .compose{padding:10px 12px}
  .phint{display:none}
}

/* ---------- the weekly menu: posting from a photo ---------- */
.mtime{font:500 .86rem var(--ui);color:var(--ink3);font-variant-numeric:tabular-nums;white-space:nowrap}
.when.wide{flex:0 0 150px;font-variant-numeric:tabular-nums}
.c-meal{--c:transparent}
.dots i.c-meal{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink3)}
.cat.c-meal::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink3)}
.mpost h2{font:700 1.3rem/1.2 var(--disp)}
.mpost .tip{font-size:.86rem}
.mbusy{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 20px;text-align:center}
.spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--p);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}
.mwarn{border-left:3px solid var(--warn);background:var(--ground);padding:9px 12px;border-radius:var(--r2);font-size:.92rem}
.mcards{display:flex;flex-direction:column;gap:10px}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.mcard.flag{border-color:var(--warn);box-shadow:inset 3px 0 0 var(--warn)}
.mcard textarea{min-height:0;field-sizing:content}
.mdrop{display:flex;justify-content:flex-end;margin:-2px 0 -4px}
.mcheck{font-size:.9rem;color:var(--ink2)} .mcheck b{color:var(--warn)}
.mrow{display:grid;grid-template-columns:150px 170px minmax(0,1fr);gap:12px}
.mphoto summary{cursor:pointer;font-size:.92rem;color:var(--ink2)}
.mphoto img{display:block;max-width:100%;margin-top:10px;border:1px solid var(--line);border-radius:var(--r2)}
.mfoot{padding:4px 0 8px;gap:10px;flex-wrap:wrap;align-items:center}
.medit{padding:14px 16px}
.mtimes{border:1px solid var(--line);border-radius:var(--r2);padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.mtimes legend{font:600 .9rem var(--ui);padding:0 6px}
.mt{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
.mt>span{font-weight:600;padding-bottom:10px}
@media (max-width:860px){
  .mrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mrow .grow2{grid-column:1/-1}
  .mcard textarea{min-height:6.4em}
  .chead .mtime{display:none}
  .when.wide{flex-basis:96px}
  .mt{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr)}
}

/* ---------- apparel ---------- */
.apcard{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);align-items:start}
.apcard:not(:has(.apimg)){grid-template-columns:minmax(0,1fr)}
.apimg{padding:16px 0 16px 16px}
.apimg img{display:block;width:100%;border-radius:var(--r2);border:1px solid var(--line);background:#fff}
.apcard.done .apimg img{opacity:.75}
.apmain{padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.apmain h3{font:700 1.3rem/1.2 var(--disp);overflow-wrap:anywhere}
.apmeta{font:500 .9rem var(--ui);color:var(--ink2);margin-top:-6px}
.apdetail{color:var(--ink2);font-size:.94rem;overflow-wrap:anywhere}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.sz{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px 4px 3px 12px;background:var(--ground)}
.sz.on{border-color:var(--ink);background:var(--surface)}
.sz .szn{font:600 .9rem var(--ui);min-width:30px}
.sz b{font:600 1rem var(--ui);font-variant-numeric:tabular-nums;min-width:22px;text-align:center}
.stepb{width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:var(--ink);font:500 1.25rem/1 var(--ui);cursor:pointer;display:grid;place-items:center}
.stepb:hover:not(:disabled){background:var(--line)}
.stepb:disabled{color:var(--ink3);opacity:.45;cursor:default}
.aptotal{font-size:.94rem;font-variant-numeric:tabular-nums}
.apmine{font-size:.94rem}
.appay{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;font-variant-numeric:tabular-nums}
.appaybox{border:1px solid var(--line);border-radius:var(--r2);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.apmgr{grid-column:1/-1;display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:var(--raise);border:0;border-top:1px solid var(--line);color:inherit;font:inherit;text-align:left;cursor:pointer}
.apmgr .grow{flex:1;min-width:0}
.apmgr .grow b{display:block;font-size:.94rem}
.apmgr .grow span{color:var(--ink2);font-size:.86rem}
.apmgr[aria-expanded="true"] .chev{transform:rotate(90deg)}
.apmbody{grid-column:1/-1;border-top:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:14px;min-width:0}
.apmbody .list{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.sizetotals{display:flex;flex-wrap:wrap;gap:8px}
.sizetotals div{border:1px solid var(--line);border-radius:var(--r2);padding:8px 12px;min-width:58px;text-align:center}
.sizetotals span{display:block;font:500 .78rem var(--ui);color:var(--ink2)}
.sizetotals b{font:700 1.25rem var(--ui);font-variant-numeric:tabular-nums}
.sizetotals .tot{background:var(--ink);border-color:var(--ink)} .sizetotals .tot span,.sizetotals .tot b{color:var(--surface)}
.apfor{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.apfor select{max-width:320px}
.apedit{padding:14px 0 0;border-top:1px solid var(--line)}
.apacts{flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.szpick{border:1px solid var(--line);border-radius:var(--r2);padding:10px 14px;display:flex;flex-wrap:wrap;gap:8px 18px;min-width:0}
.szpick legend{font:600 .9rem var(--ui);padding:0 6px}
.apold{margin-top:14px}
@media (max-width:860px){
  .apcard{grid-template-columns:minmax(0,1fr)}
  .apimg{padding:16px 16px 0}
  .apimg img{max-height:300px;object-fit:contain}
  .stepb{width:40px;height:40px}
}

/* one shirt per brother: sizes become a single choice */
.sizes.one{gap:8px}
.szpill{min-width:52px;height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--ground);color:var(--ink);font:600 .94rem var(--ui);cursor:pointer}
.szpill:hover{border-color:var(--ink3)}
.szpill.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.ckrow{align-items:flex-start;gap:10px}
.ckrow input{margin-top:3px}
.ckrow>span{display:flex;flex-direction:column;gap:2px}
.ckrow .muted{font-size:.86rem}
.prefill img{width:64px;height:64px;object-fit:cover;border-radius:var(--r2);border:1px solid var(--line)}
/* design votes */
.dvcard{padding:16px;display:flex;flex-direction:column;gap:14px}
.dvhead h3{font:700 1.3rem/1.2 var(--disp);overflow-wrap:anywhere}
.dvhead .apmeta{margin-top:4px}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.dtile{margin:0;border:1px solid var(--line);border-radius:var(--r3);padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--surface);min-width:0}
.dtile img,.dnoimg{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:var(--r2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink3);font-size:.86rem}
.dtile figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.dtile figcaption b{font-size:.96rem;overflow-wrap:anywhere}
.dtile figcaption span{font-size:.84rem;color:var(--ink2)}
.dtile .tag{background:var(--s);color:var(--s-ink);border-radius:999px;padding:2px 9px;font:600 .76rem var(--ui)}
.dtile.picked{border-color:var(--p);box-shadow:inset 0 0 0 1px var(--p)}
.dtile.win{border-color:var(--s);box-shadow:inset 0 0 0 2px var(--s)}
.dbar{height:6px;background:var(--sunk);border-radius:6px;overflow:hidden}
.dbar i{display:block;height:100%;background:var(--p);border-radius:6px}
.dn{font:500 .84rem var(--ui);color:var(--ink2);font-variant-numeric:tabular-nums;margin-top:-2px}
.dacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.dadd{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.dadd .f{flex:1 1 220px}
@media (max-width:860px){ .dgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} .dtile{padding:8px} }

/* ---------- modules ---------- */
.modrow{cursor:pointer;align-items:center}
.switch{position:relative;flex:none;width:46px;height:28px}
.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.switch i{position:absolute;inset:0;border-radius:999px;background:var(--sunk);border:1px solid var(--line);transition:background .15s}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.switch input:checked+i{background:var(--p);border-color:var(--p)}
.switch input:checked+i::after{transform:translateX(18px)}
.switch input:focus-visible+i{outline:2px solid var(--ink);outline-offset:2px}
.pad{padding:8px 2px}
/* ---------- location check-in ---------- */
.locpick{display:flex;flex-direction:column;gap:8px;min-width:0}
.lprow{gap:8px;flex-wrap:wrap}
.lprow input{flex:1 1 240px;width:auto}
.lpfound{font-size:.9rem;overflow-wrap:anywhere}
.locmap{height:240px;border-radius:var(--r2);border:1px solid var(--line);overflow:hidden;background:var(--sunk);z-index:0}
.locedit{border-top:1px solid var(--line);padding:12px 0 0}
.locfail{border-left:3px solid var(--warn);background:var(--ground);padding:10px 12px;border-radius:var(--r2);display:flex;flex-direction:column;gap:6px;margin-top:8px}
.locfail b{color:var(--warn)}
.checks{border:1px solid var(--warn);border-radius:var(--r2);padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.checks .row{padding:6px 0}
/* ---------- recruitment ---------- */
.rushstats{display:flex;flex-wrap:wrap;gap:8px}
.rushstats div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:10px 14px;min-width:86px}
.rushstats b{display:block;font:700 1.4rem var(--ui);font-variant-numeric:tabular-nums}
.rushstats span{font:500 .8rem var(--ui);color:var(--ink2)}
.rushbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.rushbar .inline{gap:8px;flex-wrap:wrap}
.rushbar select,.rushbar input{width:auto;min-width:150px}
.pnmpic{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line);background:var(--sunk)}
.pnmpic.none{display:grid;place-items:center;font:600 .86rem var(--ui);color:var(--ink2)}
.pnmpic.big{width:132px;height:132px;border-radius:var(--r3);font-size:1.6rem}
.crow.pnm .chead{gap:12px}
.crow.pnm .tally{font:500 .84rem var(--ui);color:var(--ink2);white-space:nowrap}
.crow.pnm .nn{font-size:.84rem;white-space:nowrap}
.pnmbody{padding:4px 16px 16px;display:flex;flex-direction:column;gap:14px}
.pnmtop{display:flex;gap:16px;align-items:flex-start}
.pnminfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.pnmsteps{display:flex;flex-direction:column;gap:6px}
.rounds{display:flex;flex-wrap:wrap;gap:6px}
.rnd{border:1px solid var(--line);background:var(--ground);color:var(--ink2);border-radius:999px;padding:7px 13px;font:500 .88rem var(--ui);cursor:pointer}
.rnd.past{color:var(--ink);background:var(--surface)}
.rnd.on{background:var(--ink);border-color:var(--ink);color:var(--surface);font-weight:600}
.pnmdec,.pnmvoteopt{gap:8px;flex-wrap:wrap;align-items:center}
.pnmnotes{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.pnmnotes .note{background:var(--ground);border-radius:var(--r2);padding:8px 12px}
.pnmnotes .note p{overflow-wrap:anywhere}
.pnmnotes .note span{font-size:.82rem}
.pnmvote .yn{gap:6px;flex-wrap:nowrap}
.rushset{margin-top:6px}
/* ---------- brotherhood ---------- */
.brocard{padding:16px;display:flex;flex-direction:column;gap:12px}
.brocard.plan{border-left:3px solid var(--p)}
.brohead{display:flex;gap:12px;align-items:flex-start}
.brohead h3{font:700 1.25rem/1.25 var(--disp);overflow-wrap:anywhere}
.brohead .apmeta{margin-top:4px}
.broact{gap:8px;flex-wrap:wrap;align-items:center}
.broact .muted{font-size:.9rem}
.broppl{display:flex;flex-direction:column;gap:4px;font-size:.92rem}
.broppl .muted{overflow-wrap:anywhere}
.broplan{border-top:1px solid var(--line);padding:12px 0 0}
@media (max-width:860px){
  .pnmtop{flex-direction:column}
  .pnmpic.big{width:110px;height:110px}
  .crow.pnm .tally,.crow.pnm .nn{display:none}
  .rushbar select,.rushbar input{flex:1 1 140px}
}

.pnmfacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 18px;margin:0}
.pnmfacts dt{font:500 .78rem var(--ui);color:var(--ink2)}
.pnmfacts dd{margin:2px 0 0;font:500 .96rem var(--ui);overflow-wrap:anywhere}
.pnmfacts a{color:var(--p-text);text-decoration:underline;text-underline-offset:3px}
