/* Layout: clean ranked feed. Top 3 sit on a podium of large thumbnail cards; everything after is a compact ranked row. Thumbnails open the app in one click. */
:root{
  --bg:#F7F6F2; --surface:#FFFFFF; --ink:#152B62; --text:#1D2433; --soft:#5D6678; --mortar:#8E949C;
  --line:#E7E4DC; --hover:#F1EFE9; --key:#F0544F; --key-ink:#D23C37; --key-soft:#FDECEB;
  --bar:#152B62; --live:#1E8A50; --try:#B7791F;
  --shadow:0 1px 2px rgba(21,43,98,.06),0 8px 24px -16px rgba(21,43,98,.35);
  --f-body:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1530; --surface:#141E3E; --ink:#E9EEF9; --text:#E4E8F2; --soft:#A4AEC6; --mortar:#7F8AA3;
  --line:#22305A; --hover:#1A2650; --key:#F0544F; --key-ink:#FF8681; --key-soft:#3A1E2A;
  --bar:#0A1129; --live:#5FCF91; --try:#E9B45A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px -16px rgba(0,0,0,.7); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0D1530; --surface:#141E3E; --ink:#E9EEF9; --text:#E4E8F2; --soft:#A4AEC6; --mortar:#7F8AA3;
  --line:#22305A; --hover:#1A2650; --key:#F0544F; --key-ink:#FF8681; --key-soft:#3A1E2A;
  --bar:#0A1129; --live:#5FCF91; --try:#E9B45A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px -16px rgba(0,0,0,.7); color-scheme:dark}

body{background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:15px;line-height:1.5}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bar)}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--key);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* top bar */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bar);color:#FFFFFF}
.bar .wrap{display:flex;align-items:center;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:600;font-size:20px;letter-spacing:-.8px}
.bar-spacer{flex:1}
.to-bridge{color:#FFFFFF;text-decoration:none;font-weight:600;font-size:14px;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:6px 14px;white-space:nowrap}
.to-bridge:hover{background:rgba(255,255,255,.12)}
.demo{font-size:12px;color:#AFC0E4;white-space:nowrap}
.sel{background:transparent;color:#FFFFFF;border:1px solid rgba(217,227,246,.28);border-radius:999px;padding:6px 12px;font-size:13.5px;max-width:42vw}
.sel option{color:#152B62;background:#FFFFFF}
@media (max-width:560px){.demo{display:none}.brand span{display:none}.bar .wrap{flex-wrap:wrap;row-gap:8px}.sel{flex:1 1 40%;max-width:none;min-width:0}}

/* header + controls */
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-block:28px 18px;flex-wrap:wrap}
h1{margin:0;font-size:clamp(24px,3.6vw,32px);line-height:1.15;letter-spacing:-1px;color:var(--ink);text-wrap:balance}
.sub{margin:4px 0 0;color:var(--soft);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;padding:9px 16px;font-weight:600;font-size:14px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{background:var(--hover)}
.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn.primary:hover{filter:brightness(1.1)}
.btn.key{background:var(--key);border-color:var(--key);color:#FFFFFF}
.btn.key:hover{filter:brightness(1.06)}
.controls{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:0}
.tabs{display:flex;gap:2px;background:var(--hover);border-radius:999px;padding:3px}
.tabs button{border:0;background:transparent;border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:600;color:var(--soft)}
.tabs button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.depts{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.depts::-webkit-scrollbar{display:none}
.depts button{border:0;background:none;padding:12px 0;font-size:14px;color:var(--soft);border-bottom:2px solid transparent;white-space:nowrap}
.depts button[aria-pressed="true"]{color:var(--ink);font-weight:600;border-color:var(--ink)}
.status-sel{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--soft);margin-block:6px}

/* thumbnails */
.thumb{position:relative;display:block;border:0;padding:0;background:var(--hover);border-radius:10px;overflow:hidden;aspect-ratio:16/10;width:100%;max-width:100%;cursor:pointer}
.thumb svg{display:block;width:100%;height:100%}
.thumb .play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(13,21,48,.0);transition:background .15s}
.thumb .play span{opacity:0;transform:translateY(4px);transition:.15s;background:#FFFFFF;color:#152B62;font-weight:600;font-size:13px;padding:7px 14px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.thumb:hover .play,.thumb:focus-visible .play{background:rgba(13,21,48,.35)}
.thumb:hover .play span,.thumb:focus-visible .play span{opacity:1;transform:none}
@media (hover:none){.thumb .play span{opacity:1;transform:none;font-size:12px;padding:5px 10px}.thumb .play{place-items:end;padding:8px}}

/* podium */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-block:22px 8px}
@media (max-width:760px){.podium{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.podium::-webkit-scrollbar{display:none}.pcard{flex:0 0 78%;scroll-snap-align:start}}
.pcard{background:var(--surface);border-radius:14px;box-shadow:var(--shadow);padding:10px;display:flex;flex-direction:column;gap:10px;min-width:0}
.pcard.first{outline:2px solid var(--key);outline-offset:-2px}
.rank-badge{position:absolute;top:7px;right:8px;background:rgba(255,255,255,.95);color:#152B62;font-family:var(--f-mono);font-weight:500;font-size:12px;padding:3px 8px;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.pcard.first .rank-badge{background:var(--key);color:#FFFFFF}
.pbody{display:flex;gap:10px;align-items:flex-start;padding:0 4px 4px}
.pbody .info{flex:1;min-width:0}

/* rows */
.list{display:flex;flex-direction:column;padding-block:8px 40px}
.row{display:grid;grid-template-columns:28px 112px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 8px;border-radius:12px}
.row:hover{background:var(--hover)}
.row + .row{border-top:1px solid var(--line)}
.row:hover + .row,.row:hover{border-color:transparent}
.rank{font-family:var(--f-mono);font-size:15px;color:var(--mortar);text-align:center;font-variant-numeric:tabular-nums}
.row .thumb{border-radius:8px}
@media (max-width:560px){.row{grid-template-columns:84px minmax(0,1fr) auto;gap:12px;padding-inline:4px}.row .rank{display:none}}

.name{all:unset;cursor:pointer;font-weight:600;font-size:16px;color:var(--ink);letter-spacing:-.3px;line-height:1.3}
.name:hover{text-decoration:underline;text-underline-offset:3px}
.name:focus-visible{outline:2px solid var(--key);outline-offset:2px;border-radius:4px}
.tagline{margin:2px 0 0;color:var(--soft);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:12.5px;color:var(--mortar);flex-wrap:wrap}
.dot{display:inline-flex;align-items:center;gap:5px}
.dot::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.dot.live{color:var(--live)}.dot.tryout{color:var(--try)}
.faces{display:inline-flex;align-items:center}
.faces i{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-style:normal;font-size:9px;font-weight:700;color:#FFFFFF;border:2px solid var(--surface);margin-left:-6px}
.faces i:first-child{margin-left:0}
.row:hover .faces i{border-color:var(--hover)}
.cm{display:inline-flex;align-items:center;gap:4px}
.ready{color:var(--key-ink);font-weight:600}

/* vote */
.vote{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:52px;height:56px;border:1px solid var(--line);background:var(--surface);border-radius:12px;font-weight:700;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;transition:transform .1s}
.vote svg{width:14px;height:14px}
.vote:active{transform:scale(.94)}
.vote[aria-pressed="true"]{background:var(--key-soft);border-color:var(--key);color:var(--key-ink)}
.vote:not([aria-pressed="true"]):hover{border-color:var(--key);color:var(--key-ink)}

/* build page */
.back{display:inline-flex;gap:6px;align-items:center;font-size:14px;color:var(--soft);text-decoration:none;padding-top:20px}
.back:hover{color:var(--ink)}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;padding-block:16px 28px;align-items:center}
@media (max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}}
.hero .thumb{border-radius:14px;box-shadow:var(--shadow)}
.hero h1{font-size:clamp(26px,4vw,36px)}
.hero .desc{margin:10px 0 0;font-size:15.5px;color:var(--soft);max-width:60ch}
.hero .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.hero .actions .btn.key{padding:12px 22px;font-size:15px}
.vote.wide{flex-direction:row;height:auto;padding:11px 16px;gap:8px;min-width:0;border-radius:999px;font-size:14px}
.byline{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--soft);flex-wrap:wrap}
.bp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:28px;padding-block:8px 56px;border-top:1px solid var(--line)}
@media (max-width:860px){.bp{grid-template-columns:minmax(0,1fr)}}
.section-h{font-size:15px;font-weight:600;color:var(--ink);margin:22px 0 12px}
.progress-note{font-size:13.5px;color:var(--soft);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.progress-note.ok{background:var(--key-soft);border-color:transparent;color:var(--text)}
.progress{height:5px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:8px}
.progress span{display:block;height:100%;background:var(--key)}
.profile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:22px;align-self:start}
.profile h2{margin:0 0 2px;font-size:15px;color:var(--ink)}
.profile .from{font-size:12px;color:var(--mortar);margin:0 0 14px}
.profile dl{margin:0;display:flex;flex-direction:column;gap:12px}
.profile dt{font-size:12px;color:var(--mortar)}
.profile dd{margin:1px 0 0;font-size:14px}

.comments{display:flex;flex-direction:column;gap:16px}
.cmt{display:flex;gap:12px;min-width:0}
.av{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#FFFFFF}
.cmt .body{min-width:0}
.cmt .who{font-weight:600;font-size:14px;color:var(--ink)}
.cmt .when{font-size:12px;color:var(--mortar);margin-left:6px}
.cmt p{margin:2px 0 0;font-size:14px;overflow-wrap:anywhere}
.add-cmt{display:flex;gap:10px;align-items:flex-start;margin-top:18px}
.add-cmt textarea{flex:1;min-width:0}
textarea,input[type=text],input[type=url]{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;width:100%;box-sizing:border-box;resize:vertical}

/* share dialog */
dialog{border:0;border-radius:16px;padding:0;max-width:min(440px,calc(100vw - 32px));width:100%;background:var(--surface);color:var(--text);box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
dialog::backdrop{background:rgba(10,20,48,.5)}
.dlg{padding:22px;display:flex;flex-direction:column;gap:14px}
.dlg h3{margin:0;font-size:19px;letter-spacing:-.4px;color:var(--ink)}
.dlg .lede{margin:0;font-size:13.5px;color:var(--soft)}
.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ch{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 4px;font-size:12.5px;display:flex;flex-direction:column;align-items:center;gap:4px}
.ch[aria-pressed="true"]{border-color:var(--key);box-shadow:inset 0 0 0 1px var(--key);color:var(--key-ink)}
.ch svg{width:20px;height:20px}
.lock{font-size:12px;color:var(--mortar);display:flex;gap:6px;align-items:center}
.dlg .row-end{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.field label{display:block;font-size:12.5px;color:var(--soft);margin-bottom:6px}
#share-link{font-family:var(--f-mono);font-size:12.5px}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);opacity:0;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:14px;transition:.2s;pointer-events:none;max-width:calc(100vw - 32px);z-index:20}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.foot{font-size:12px;color:var(--mortar);padding-block:0 32px;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between}
.linkbtn{border:0;background:none;color:var(--soft);text-decoration:underline;padding:0;font:inherit}
.crit-lane{margin-top:22px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:6px 8px}
.crit-lane .lane-h{display:flex;align-items:center;gap:8px;padding:8px 8px 2px;font-size:13px;font-weight:600;color:var(--ink)}
.crit-lane .lane-h small{font-weight:400;color:var(--mortar)}
.crit-lane .row{grid-template-columns:28px 112px minmax(0,1fr) auto}
.crit-lane .row + .row{border-top:1px solid var(--line)}
.shield{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--ink);color:var(--bg)}
.crit{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-weight:600}
.crit-why{margin:4px 0 0;font-size:13px;color:var(--soft)}
.crit-note{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:13.5px;margin-top:12px}
@media (max-width:560px){.crit-lane .row{grid-template-columns:84px minmax(0,1fr) auto}}
.nav{display:flex;gap:4px;margin-left:8px}
.nav a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#C9D5EE;font-size:14px;padding:6px 12px;border-radius:999px}
.nav a[aria-current="true"]{background:rgba(255,255,255,.12);color:#FFFFFF}
.nav a:hover{color:#FFFFFF}
@media (max-width:560px){.nav{margin-left:0}.nav a{padding:6px 8px}}
.rely{color:var(--key-ink);font-weight:600}
.muted-chip{color:var(--mortar);border:1px solid var(--line);border-radius:999px;padding:0 7px}
.you-said{margin:10px 0 0;font-size:13px;color:var(--soft)}
.levels{display:flex;flex-direction:column;gap:8px}
.level{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:11px 14px}
.level strong{font-size:14.5px;color:var(--ink)}
.level span{font-size:12.5px;color:var(--soft)}
.level:hover{border-color:var(--key)}
.level[aria-pressed="true"]{border-color:var(--key);box-shadow:inset 0 0 0 1px var(--key);background:var(--key-soft)}
.signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-block:6px 22px}
@media (max-width:760px){.signals{grid-template-columns:minmax(0,1fr)}}
.sig{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.sig h3{margin:0;font-size:14.5px;color:var(--ink)}
.sig p{margin:0 0 4px;font-size:12.5px;color:var(--soft)}
.sig .none{font-size:13px;color:var(--mortar)}
.sig-item{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border:0;background:var(--hover);border-radius:8px;padding:8px 10px;text-align:left;font-size:13px}
.sig-item strong{color:var(--ink);font-weight:600}
.sig-item span{color:var(--soft);font-size:12px;white-space:nowrap}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.tbl{width:100%;border-collapse:collapse;min-width:640px;font-size:14px}
.tbl th{text-align:left;font-weight:500;font-size:12px;color:var(--mortar);padding:12px 14px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.sub-cell{font-size:12px;color:var(--mortar);margin-top:2px}
.mix{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--line);width:160px;max-width:100%}
.m3{background:var(--key)}.m2{background:#F6A39F}.m1{background:#D9E3F6}
.legend{font-size:12px;color:var(--mortar);display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-block:10px 40px}
.sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-left:8px}
.sw.m3{margin-left:0}
.dec-btn{border:1px dashed var(--mortar);background:transparent;border-radius:999px;padding:5px 12px;font-size:13px;color:var(--soft)}
.dec-btn.set{border-style:solid;border-color:var(--ink);color:var(--ink);font-weight:600}
.dec-btn:hover{border-color:var(--key);color:var(--key-ink)}
.nav .badge{background:var(--key);color:#FFFFFF;font-size:11px;font-weight:700;border-radius:999px;padding:0 6px;margin-left:2px}
.ch-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding:12px 16px;border-radius:12px;background:var(--ink);color:var(--bg);text-decoration:none;font-size:14px}
.ch-strip .prize{font-size:12.5px;opacity:.75}
.ch-strip .go{margin-left:auto;font-weight:600;color:#FF8A84}
.ch-strip:hover{filter:brightness(1.1)}
.ch-chip{display:inline-flex;align-items:center;gap:4px;color:var(--try);font-weight:600}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;padding-block:6px 40px}
.ch-card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);min-width:0}
.ch-card:hover{border-color:var(--ink)}
.ch-card.done{box-shadow:none}
.ch-card h3{margin:0;font-size:18px;color:var(--ink);letter-spacing:-.4px;line-height:1.25}
.ch-card p{margin:0;font-size:13.5px;color:var(--soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ch-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ch-top .dept{font-size:12.5px;color:var(--mortar)}
.ch-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px}
.ch-pill.open{background:var(--key-soft);color:var(--key-ink)}
.ch-pill.judging{background:var(--hover);color:var(--ink)}
.ch-pill.won{background:var(--hover);color:var(--try)}
.ch-foot{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mortar)}
.ch-foot .prize{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;font-size:13.5px}
.ch-hero{padding-block:16px 8px}
.ch-hero h1{font-size:clamp(26px,4vw,36px);margin-top:8px}
.ch-brief{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
@media (max-width:700px){.ch-brief{grid-template-columns:minmax(0,1fr)}}
.ch-brief h4{margin:0;font-size:12px;font-weight:500;color:var(--mortar)}
.ch-brief p{margin:3px 0 0;font-size:14.5px}
.ch-how{font-size:13px;color:var(--soft);margin:12px 0 0;max-width:70ch}
.ch-hero .actions{display:flex;gap:10px;flex-wrap:wrap}
.win-banner{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--key-soft);font-size:14px}
.win-banner svg{flex:none;width:20px;height:20px;color:var(--key-ink)}
.ch-note{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-size:13.5px;color:var(--text)}
.ch-note svg{color:var(--try);flex:none}
.ch-note .go{margin-left:auto;color:var(--soft)}
.ch-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.empty{text-align:center;padding:48px 16px;color:var(--soft)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Steer: open to everyone; leadership tools in a navy panel */
.pulse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-block:4px 10px}
@media (max-width:760px){.pulse{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);min-width:0;position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--c,var(--ink))}
.stat b{display:block;font-size:30px;line-height:1.1;letter-spacing:-1px;color:var(--c,var(--ink));font-variant-numeric:tabular-nums}
.stat span{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-top:2px}
.stat small{display:block;font-size:12px;color:var(--mortar);margin-top:2px}
.you{display:flex;align-items:center;gap:12px;background:var(--key-soft);border-radius:12px;padding:10px 14px;font-size:13.5px;color:var(--text);margin:6px 0 4px}
.you i{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:11px;font-weight:600}
.you a{color:var(--key-ink);font-weight:600}
.st-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 12px;flex-wrap:wrap}
.st-h h2{margin:0;font-size:19px;letter-spacing:-.5px;color:var(--ink)}
.st-h p{margin:2px 0 0;font-size:13px;color:var(--soft)}
.calls{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.call{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--c);border-radius:14px;padding:14px;box-shadow:var(--shadow);min-width:0}
.call .thumb{border-radius:8px;align-self:start}
.kind{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--c);font-family:var(--f-mono)}
.call .name{display:block;margin:2px 0 4px;font-size:16px}
.call q{display:block;font-size:13px;color:var(--text);quotes:"“" "”"}
.call .by{font-size:12px;color:var(--mortar);margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.notnow{margin-top:12px;font-size:13px;color:var(--soft);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.notnow button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--soft)}
.chs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px}
.chx{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow);min-width:0}
.chx.won{box-shadow:none;background:linear-gradient(135deg,var(--surface),var(--hover))}
.chx h3{margin:0;font-size:17px;line-height:1.25;letter-spacing:-.4px}
.chx h3 a{color:var(--ink);text-decoration:none}
.chx h3 a:hover{text-decoration:underline}
.clock{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.clock span{display:block;height:100%;background:var(--key);border-radius:3px}
.clock-l{display:flex;justify-content:space-between;font-size:12px;color:var(--mortar);margin-top:-4px}
.lead{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;background:var(--hover);border-radius:10px;padding:8px}
.lead .thumb{border-radius:6px}
.lead small{display:block;font-size:11px;font-family:var(--f-mono);color:var(--mortar);text-transform:uppercase;letter-spacing:.3px}
.lead strong{display:block;color:var(--ink);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lead span{font-size:12px;color:var(--soft)}
.chx .prize{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;font-size:13.5px}
.chx .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.chx .btn{padding:7px 14px;font-size:13px}
.lp{margin:34px 0 40px;background:var(--bar);border-radius:20px;padding:18px;color:#FFFFFF}
.lp-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.lp-h h2{margin:0;font-size:19px;letter-spacing:-.5px;color:#FFFFFF}
.lp-h p{margin:2px 0 0;font-size:13px;color:#AFC0E4}
.lp-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-family:var(--f-mono);color:#D9E3F6;border:1px solid rgba(217,227,246,.3);border-radius:999px;padding:4px 10px}
.lp .signals{padding-block:0 14px}
.lp .sig{border:0}
.sig h3{display:flex;align-items:center;gap:8px}
.sig h3 i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.sig-item{align-items:center}
.sig-item .thumb{width:46px;flex:none;border-radius:5px}
.sig-item .t{flex:1;min-width:0;display:flex;flex-direction:column}
.sig-item .go{color:var(--key-ink);font-size:12px;font-weight:600;white-space:nowrap}
.lp .tbl-wrap{border:0}
.lp .legend{color:#AFC0E4;padding-block:12px 0}
.tbl .appc{display:flex;gap:12px;align-items:center}
.tbl .appc .thumb{width:64px;flex:none;border-radius:6px}
.dec-btn.set{border-color:var(--c,var(--ink));color:var(--c,var(--ink))}

/* ---------- Quarry Lite additions ---------- */
.brand em{font-style:normal;font-weight:400;color:#AFC0E4;font-size:16px;letter-spacing:-.3px;margin-left:2px}
#who{display:flex;align-items:center;gap:10px;font-size:13px;color:#C9D5EE}
#who img,.av-img{width:26px;height:26px;border-radius:50%;object-fit:cover}
#who .linkbtn{color:#C9D5EE}
.loading{color:var(--soft);padding-block:40px}
.thumb .live{position:absolute;inset:0;overflow:hidden;background:#FFFFFF}
.thumb iframe{position:absolute;top:0;left:0;width:1280px;height:800px;border:0;transform-origin:0 0;pointer-events:none;background:#FFFFFF}
.thumb .ph{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:28px;color:var(--ink);background:var(--grid,#D9E3F6)}
.hero .thumb{aspect-ratio:16/10}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:40px 24px;text-align:center;margin-top:24px}
.empty h2{margin:0 0 6px;color:var(--ink);font-size:20px}
.empty p{margin:0 0 18px;color:var(--soft)}
.signin{max-width:420px;margin:64px auto;background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:32px 28px;text-align:center}
.signin svg{width:96px;height:54px;color:var(--ink)}
.signin h1{margin:12px 0 6px}
.signin p{color:var(--soft);margin:0 0 22px}
.signin .gbtn{display:flex;justify-content:center;min-height:44px}
.signin .note{font-size:13px;color:var(--mortar);margin-top:18px}
.devform{display:flex;flex-direction:column;gap:8px;margin-top:16px;text-align:left}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px dashed var(--mortar);border-radius:14px;padding:22px 12px;text-align:center;cursor:pointer;background:var(--bg)}
.drop.over,.drop:hover{border-color:var(--key);background:var(--key-soft)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop strong{color:var(--ink);font-size:15px;overflow-wrap:anywhere}
.drop span{font-size:12.5px;color:var(--soft)}
.drop.ready{border-style:solid;border-color:var(--live)}
select.full,.field select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.err{margin:0;color:var(--key-ink);font-size:13.5px;background:var(--key-soft);border-radius:10px;padding:10px 12px}
#add-meta{display:flex;flex-direction:column;gap:12px}
.mixrow{display:grid;grid-template-columns:120px minmax(0,1fr) 28px;align-items:center;gap:10px;font-size:13.5px;margin-top:8px}
.mixrow .barx{height:8px;background:var(--line);border-radius:4px;overflow:hidden}
.mixrow .barx span{display:block;height:100%;background:var(--key)}
.mixrow .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--soft)}
.voters{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.voter{display:flex;align-items:center;gap:10px;font-size:14px}
.voter small{color:var(--mortar);margin-left:auto}
.owner{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.btn.small{padding:6px 12px;font-size:13px}
.btn.danger{color:var(--key-ink)}
.score{font-family:var(--f-mono);font-size:12px;color:var(--mortar)}
.linkline{font-family:var(--f-mono);font-size:12px;color:var(--soft);overflow-wrap:anywhere;margin-top:10px}
.howto{font-size:13.5px;color:var(--soft);background:var(--bg);border-radius:12px;padding:10px 12px}
.howto summary{cursor:pointer;color:var(--ink);font-weight:600}
.howto ul{margin:8px 0 2px;padding-left:18px;display:grid;gap:6px}
.howto strong{color:var(--ink)}
.howto code{font-size:12.5px}
#add-mode{align-self:flex-start}
.hint{font-size:13px;color:var(--soft);margin:6px 0 0}
.thumb .ph small{display:block;font-size:12px;font-weight:500;color:var(--soft);margin-top:4px;text-align:center}
.thumb .ph{grid-auto-flow:row;align-content:center}
[hidden]{display:none!important}
.coverpick{display:flex;flex-direction:column;align-items:center;gap:8px;border:1.5px dashed var(--mortar);border-radius:12px;padding:14px;background:var(--bg);font-size:13px;color:var(--soft);text-align:center}
.coverpick img{display:none;max-width:100%;max-height:150px;border-radius:8px}
.coverpick.has img{display:block}
.coverpick .linkbtn{cursor:pointer}
.opt{font-weight:400;color:var(--soft)}
.thumb .live img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
[data-open]{cursor:pointer}
.meta .details{color:var(--soft);text-decoration:underline;text-underline-offset:2px}
.meta .details:hover{color:var(--ink)}

/* ideas (the needs list) */
.irow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 8px;border-radius:12px;cursor:pointer}
.irow:hover{background:var(--hover)}
.irow + .irow{border-top:1px solid var(--line)}
.irow:hover + .irow,.irow:hover{border-color:transparent}
.irow .tagline{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media (max-width:560px){.irow{grid-template-columns:minmax(0,1fr) auto;padding-inline:4px}.irow .rank{display:none}}
.ipill{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--c,var(--mortar))}
.ipill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.ipill[data-st="considering"]{--c:var(--try)}.ipill[data-st="planned"]{--c:var(--ink)}.ipill[data-st="building"]{--c:var(--key-ink)}.ipill[data-st="live"]{--c:var(--live)}
.ihead{padding-block:16px 8px;max-width:760px}
.ihead h1{font-size:clamp(26px,4vw,34px);margin-top:8px}
.ihead .desc{margin:12px 0 0;font-size:15.5px;color:var(--text);white-space:pre-line;overflow-wrap:anywhere}
.ihead .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.decision{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:14px}
.decision small{display:block;color:var(--mortar);font-size:12px;margin-top:4px}
.decision a{color:var(--key-ink);font-weight:600}
.answers{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13.5px;color:var(--soft)}
.answers a{color:var(--ink);font-weight:600}
.similar{font-size:13px;color:var(--soft);background:var(--hover);border-radius:10px;padding:8px 12px}
.similar a{color:var(--ink);font-weight:600}
.ifilter{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.ifilter::-webkit-scrollbar{display:none}
.ifilter button{border:0;background:none;padding:12px 0;font-size:14px;color:var(--soft);border-bottom:2px solid transparent;white-space:nowrap}
.ifilter button[aria-pressed="true"]{color:var(--ink);font-weight:600;border-color:var(--ink)}
.idea-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 0;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:13.5px;color:var(--soft)}
.idea-strip a{color:var(--key-ink);font-weight:600;margin-left:auto}

/* Steer in Quarry Lite */
.dtag{display:inline-flex;align-items:center;gap:5px;font:700 11px/1 var(--f-mono);letter-spacing:.3px;text-transform:uppercase;color:var(--c)}
.dtag::before{content:"";width:7px;height:7px;border-radius:2px;background:currentColor}
.decision[style]{border-left-color:var(--c)}
.sig ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sig h3 .n{margin-left:auto;font:600 12px var(--f-mono);color:var(--mortar)}
.sig-item small{display:block;color:var(--soft);font-size:12px}
.sig-item .t a{color:var(--ink);font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sig-item .t a:hover{text-decoration:underline}
.tbl td small{display:block;font-size:12px;color:var(--mortar)}
.tbl td a{color:var(--ink);font-weight:600;text-decoration:none}
.tbl .none{color:var(--mortar);font-size:13px}
.notnow a{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--soft);text-decoration:none}
#dir .row-end .bar-spacer{flex:1}
.lp .tbl-wrap{color:var(--text)}
.sig-item .t,.sig-item small{white-space:normal}
.sig-item .btn{flex:none}

/* Ideas: comments, claims, suggestions, history, notices */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.claim{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:10px 14px;border-radius:12px;background:var(--key-soft);font-size:13.5px}
.claim span{flex:1;min-width:200px}
.comments{display:flex;flex-direction:column;gap:12px}
.comment{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.comment p{margin:2px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.c-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px}
.c-head strong{color:var(--ink)}
.c-head small{color:var(--mortar)}
.c-head .linkbtn{margin-left:auto;font-size:12px;color:var(--soft)}
.c-form{display:flex;gap:8px;align-items:flex-end;margin-top:14px}
.c-form textarea{flex:1;min-width:0;font:inherit;font-size:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 12px;resize:vertical}
.sugg{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.sugg li{display:flex;flex-direction:column;gap:4px;align-items:flex-start;background:var(--hover);border-radius:10px;padding:10px 12px;font-size:13.5px}
.sugg a{color:var(--ink);font-weight:600}
.sugg small,.hist small{color:var(--mortar);font-size:12px;display:block}
.sugg-form{display:flex;gap:8px;margin-bottom:6px}
.sugg-form select{flex:1;min-width:0;font:inherit;font-size:13.5px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 8px}
.hist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.hist strong{color:var(--ink)}
.bell{position:relative;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#C9D5EE;cursor:pointer}
.bell:hover{background:rgba(255,255,255,.1)}
.bell b{position:absolute;top:0;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--key);color:#FFFFFF;font-size:10.5px;line-height:16px}
.nlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}
.nlist li{background:var(--hover);border-radius:10px;padding:10px 12px;font-size:14px}
.nlist a{color:var(--ink);font-weight:600;text-decoration:none}
.nlist small{display:block;color:var(--mortar);font-size:12px;margin-top:2px}
.nlist .none{background:transparent;color:var(--soft);padding:0}
.profile h2:not(:first-child){margin-top:18px}
.profile .hist{margin-top:8px}
