:root{
  --ground:#141915; --panel:#1d241f; --panel2:#252f27; --line:#34413a;
  --bone:#e7e3d2; --muted:#98a293; --amber:#e3a72f; --ok:#86b45c; --rust:#d2603f;
  --head:"Bahnschrift","Barlow Condensed","Roboto Condensed","Arial Narrow",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
}
:root[data-theme=light]{
  --ground:#e9e6d8; --panel:#f6f4ea; --panel2:#ebe8d9; --line:#c4c0aa;
  --bone:#1d2420; --muted:#5d6757; --amber:#a86f00; --ok:#3f7a1f; --rust:#b2451f;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--bone);font:15px/1.45 var(--body)}
h1,h2,h3{font-family:var(--head);margin:0;font-weight:700;letter-spacing:.02em}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}

.top{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand h1{font-size:22px;line-height:1}
.brand p{margin:3px 0 0;color:var(--muted);font-size:13px}
.mark{display:flex;align-items:flex-end;gap:3px;height:26px}
.mark i{width:6px;border-radius:3px 3px 1px 1px;background:var(--amber)}
.mark i:nth-child(1){height:26px}.mark i:nth-child(2){height:18px;background:var(--ok)}.mark i:nth-child(3){height:11px;background:var(--bone)}
.cash{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.cash input{width:110px;background:var(--panel);border:1px solid var(--line);color:var(--bone);padding:6px 10px;border-radius:6px;font:600 15px var(--head);text-align:right}
.cash input::before{content:"$"}
.save{font-size:12px;color:var(--muted);min-width:70px;text-align:right}
.save.err{color:var(--rust)}

.tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 16px;font:700 16px var(--head);color:var(--muted);letter-spacing:.03em}
.tabs button[aria-selected=true]{color:var(--bone);border-color:var(--amber)}
.tabs button:hover{color:var(--bone)}

main{padding:20px;max-width:1280px;margin:0 auto}
.area{margin-bottom:30px}
.area-head{display:flex;align-items:baseline;gap:14px;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:6px}
.area-head h2{font-size:20px}
.area-head span{color:var(--muted);font-size:13px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}

.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}
.card.ready{border-color:var(--ok)}
.card.maxed{opacity:.72}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-head h3{font-size:18px}
.pips{display:flex;gap:4px}
.pip{width:18px;height:30px;border:1px solid var(--muted);border-radius:9px 9px 3px 3px;background:transparent;padding:0}
.pip[aria-pressed=true]{background:var(--amber);border-color:var(--amber)}
.pip:hover{border-color:var(--bone)}
.lvl{font-size:13px;color:var(--muted)}
.reqs{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.reqs li{display:flex;justify-content:space-between;gap:8px;font-size:14px;padding:3px 8px;border-radius:4px;background:var(--panel2)}
.reqs li b{font-variant-numeric:tabular-nums;font-weight:600}
.reqs .have b{color:var(--ok)}
.reqs .short b{color:var(--rust)}
.note{font-size:12px;color:var(--amber);margin:0}
.card-foot{display:flex;gap:8px;margin-top:auto}
.btn{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:7px 12px;font-weight:600}
.btn:hover{border-color:var(--bone)}
.btn.primary{background:var(--amber);border-color:var(--amber);color:#1a1500}
.btn.go{background:var(--ok);border-color:var(--ok);color:#0e1a05}
.btn.ghost{background:none}
.btn[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}
.grow{flex:1}

.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.seg button{background:none;border:0;padding:7px 14px;font-weight:600;color:var(--muted)}
.seg button[aria-pressed=true]{background:var(--panel2);color:var(--bone)}
.bar label{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:14px}
input[type=search],textarea,.num{background:var(--panel);border:1px solid var(--line);color:var(--bone);border-radius:6px;padding:7px 10px;font:inherit}
input[type=search]{min-width:220px}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}
.tile{border-left:3px solid var(--amber);background:var(--panel);padding:10px 14px;border-radius:0 6px 6px 0}
.tile strong{display:block;font:700 26px/1.1 var(--head)}
.tile span{color:var(--muted);font-size:13px}

.rows{display:grid;gap:6px}
.row{display:grid;grid-template-columns:minmax(150px,1.2fr) 2fr auto;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 12px}
.row.done{opacity:.55}
.row .name{font-weight:600}
.row .uses{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.chip{font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:0 7px}
.meter{height:8px;background:var(--panel2);border-radius:4px;overflow:hidden}
.meter i{display:block;height:100%;background:var(--ok)}
.meter.low i{background:var(--amber)}
.meter.none i{background:var(--rust)}
.figs{font-size:13px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
.figs em{font-style:normal;color:var(--bone);font-weight:600}
.step{display:inline-flex;align-items:center;gap:4px}
.step button{width:30px;height:30px;border:1px solid var(--line);background:var(--panel2);border-radius:6px;font-size:17px;line-height:1}
.step button:hover{border-color:var(--bone)}
.step input{width:54px;text-align:center;background:var(--ground);border:1px solid var(--line);color:var(--bone);border-radius:6px;padding:5px 2px;font:600 15px var(--head)}
.stash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.stash-grid .row{grid-template-columns:1fr auto}
.empty{color:var(--muted);padding:30px 0;text-align:center}

table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:14px}
th{font:700 14px var(--head);color:var(--muted)}
textarea{width:100%;min-height:340px;font:13px/1.4 ui-monospace,Consolas,monospace}
.err-text{color:var(--rust)}

dialog{background:var(--panel);color:var(--bone);border:1px solid var(--line);border-radius:10px;padding:20px;max-width:440px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(0,0,0,.6)}
dialog h3{font-size:20px;margin-bottom:4px}
dialog .btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.sub{color:var(--muted);margin:0 0 12px;font-size:14px}

@media (max-width:640px){
  main{padding:14px}
  .top{padding:12px 14px}
  .tabs{padding:0 8px}
  .row{grid-template-columns:1fr auto}
  .row .meterwrap{grid-column:1 / -1;order:3}
}
@media (prefers-reduced-motion:no-preference){
  .meter i{transition:width .25s}
}

.ico{width:22px;height:22px;object-fit:contain;margin-right:8px;flex:none;vertical-align:middle}
.ico.lg{width:40px;height:40px;margin-right:0}
.with-ico{display:flex;align-items:center;gap:10px}
.reqs .nm{display:flex;align-items:center}
.name{display:flex;align-items:center}

.who-btn{background:none;border:0;padding:0;color:var(--muted);font-size:13px;text-decoration:underline dotted;text-underline-offset:3px}
.who-btn:hover{color:var(--bone)}

.ver{max-width:1280px;margin:10px auto 24px;padding:0 20px;color:var(--muted);font-size:12px}

.row.dis{grid-template-columns:minmax(220px,2fr) auto auto}
.dis-act{display:inline-flex;gap:8px;align-items:center}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.acts{white-space:nowrap;text-align:right}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:18px;align-items:start}
.fld{display:grid;gap:4px;font-size:13px;color:var(--muted)}
.fld.c{}
.fld textarea{min-height:70px}
.form .bar{grid-column:1 / -1}
.num,select.num{min-width:0}
select.num{width:100%}
[hidden]{display:none !important}
@media (max-width:640px){.row.dis{grid-template-columns:1fr}.acts{white-space:normal}}

.parts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.arrow{color:var(--muted);font-size:18px}
.part{display:inline-flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:3px 10px 3px 4px;font-size:13px}
.part .ico.lg{width:32px;height:32px}
.part b{color:var(--amber)}
.part small{color:var(--ok)}
.row.dis .name{gap:10px}
.row.dis .name .ico.lg{width:36px;height:36px}

.tab-dot{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;border-radius:9px;background:var(--rust);color:#fff;font:700 12px/18px var(--body);text-align:center}
.fb{grid-template-columns:1fr auto auto}
.fb-admin{grid-template-columns:1fr 200px;align-items:start}
.fb-ctl{display:grid;gap:8px}
.fb-pub{display:flex;gap:6px;align-items:center;font-size:14px}
.fb-body{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}
.fb-st{font:700 12px var(--head);letter-spacing:.04em;text-transform:uppercase;padding:2px 9px;border-radius:10px;border:1px solid var(--line);color:var(--muted)}
.fb-st.planned{color:var(--amber);border-color:var(--amber)}.fb-st.in-progress{color:var(--amber);border-color:var(--amber)}
.fb-st.done{color:var(--ok);border-color:var(--ok)}.fb-st.declined{color:var(--rust);border-color:var(--rust)}
.fb-new{background:var(--amber);color:#1a1500;font:700 11px var(--head);padding:1px 6px;border-radius:4px;margin-right:8px}
.fb-hint{margin-top:10px;padding:8px 12px;border:1px solid var(--amber);border-radius:6px;font-size:14px}
.fb-hit{color:var(--amber);margin-top:3px}
.fb-vote[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}
.fb-banner{position:fixed;right:16px;bottom:16px;z-index:10;display:flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--amber);border-radius:8px;padding:10px 14px;box-shadow:0 4px 18px rgba(0,0,0,.5)}
@media (max-width:640px){.fb,.fb-admin{grid-template-columns:1fr}}

body.out .cash,body.out .save{display:none}
.auth-box{max-width:380px;margin:30px auto;display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px}
.auth-box h2{font-size:24px}
.auth-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fld small{color:var(--muted);font-size:12px}
.seg button{white-space:nowrap}

/* ---- social ---- */
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:20;background:var(--panel);border:1px solid var(--ok);padding:10px 16px;border-radius:6px;max-width:90vw}
.toast.bad{border-color:var(--rust)}
.fac{font:700 11px var(--head);letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:3px;border:1px solid currentColor}
.fac-lamang{color:#e3a72f}.fac-csi{color:#d2603f}.fac-mithras{color:#6fb0d6}
.tag{font:700 12px var(--head);letter-spacing:.08em;padding:2px 9px;border-radius:3px}
.tag.have{background:var(--ok);color:#0e1a05}.tag.want{background:var(--amber);color:#1a1500}
.listing.hit{border-color:var(--amber)}
.friend .match{padding:8px 10px;border-radius:6px;font-size:13px}
.friend .match.get{border:1px solid var(--ok)}.friend .match.give{border:1px solid var(--amber)}
.friend h4{margin:10px 0 0;font:700 13px var(--head);color:var(--muted)}
.hide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px;margin-top:8px}
.hide-item{font-size:13px;color:var(--muted)}
.row.req{grid-template-columns:1fr auto}
.ok-text{color:var(--ok);margin:4px 0}
.inbox{display:grid;grid-template-columns:300px 1fr;gap:16px;min-height:60vh}
.thread-list{display:grid;gap:6px;align-content:start}
.thread{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 12px}
.thread.on{border-color:var(--amber)}
.tl-top{display:flex;justify-content:space-between;align-items:center}
.clip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv{display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0}
.conv-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.msgs{flex:1;min-height:200px;max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px}
.bubble{max-width:80%;padding:8px 12px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.bubble small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.bubble.me{align-self:flex-end;background:var(--panel2);border:1px solid var(--line)}
.bubble.them{align-self:flex-start;background:var(--ground);border:1px solid var(--line)}
.sys{align-self:center;color:var(--muted);font-size:12px}
.composer{display:flex;gap:8px;align-items:flex-end}.composer textarea{min-height:44px}
.tradebox{border:1px solid var(--amber);border-radius:6px;padding:10px;display:grid;gap:6px}
.ctx{border-left:2px solid var(--line);padding-left:8px;margin:6px 0}
.back{display:none;margin-bottom:8px}
@media (max-width:760px){
  .inbox{grid-template-columns:1fr}.inbox .conv,.inbox .back{display:none}.inbox.showing .thread-list{display:none}.inbox.showing .conv,.inbox.showing .back{display:flex}
  .bubble{max-width:92%}
}

/* ================= MILITARY THEME ================= */
:root{
  --ground:#10130d; --panel:#181d13; --panel2:#222a1a; --line:#3a4429;
  --bone:#e6e2cc; --muted:#a3a982; --amber:#e2a929; --ok:#97b95a; --rust:#d5663f; --tan:#c9b37a;
  --head:"Bahnschrift","Barlow Condensed","Roboto Condensed","Arial Narrow",system-ui,sans-serif;
  --mono:"Cascadia Mono","SF Mono","Roboto Mono",Consolas,ui-monospace,monospace;
}
:root[data-theme=light]{
  --ground:#ded5b8; --panel:#ebe4cc; --panel2:#e0d8bb; --line:#b3a679;
  --bone:#1c2212; --muted:#5a5a3a; --amber:#8a5a00; --ok:#3b6a1c; --rust:#a3361a; --tan:#6e5f2e;
}
body{background-color:var(--ground);
  background-image:linear-gradient(rgba(201,179,122,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(201,179,122,.045) 1px,transparent 1px);
  background-size:36px 36px}
:root[data-theme=light] body{background-image:linear-gradient(rgba(60,50,10,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(60,50,10,.07) 1px,transparent 1px)}
h1,h2,h3{text-transform:uppercase;letter-spacing:.09em}
h1{font-size:22px}
h4{text-transform:uppercase;letter-spacing:.1em}

/* header with hazard stripe */
.top{position:relative;padding-bottom:18px;background:linear-gradient(180deg,var(--panel2),var(--ground));border-bottom:1px solid var(--tan)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:6px;background:repeating-linear-gradient(-45deg,var(--amber) 0 10px,#12150d 10px 20px);opacity:.9}
.brand p{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.mark{width:30px;height:30px;display:block}
.mark svg{width:100%;height:100%;display:block}
.cash{text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.cash input{font-family:var(--mono);border-radius:2px;border-color:var(--tan);background:var(--ground)}
.save{font-family:var(--mono)}

/* tabs: ammo-tab look */
.tabs{background:var(--ground);padding-top:6px;border-bottom:1px solid var(--line);gap:3px}
.tabs button{text-transform:uppercase;letter-spacing:.13em;font-size:14px;padding:10px 14px;border:1px solid transparent;border-bottom:0;border-radius:2px 2px 0 0;position:relative}
.tabs button[aria-selected=true]{background:var(--panel);color:var(--bone);border-color:var(--line);border-top:3px solid var(--amber)}
.tabs button:hover{background:var(--panel2)}

/* panels with corner brackets */
.card,.tile,.row,.conv,.thread,.auth-box,.tradebox,.fb-hint{border-radius:2px}
.card,.auth-box,.conv{position:relative;border-color:var(--line)}
.card::before,.auth-box::before,.conv::before,.card::after,.auth-box::after,.conv::after{content:"";position:absolute;width:11px;height:11px;pointer-events:none;border:0 solid var(--tan)}
.card::before,.auth-box::before,.conv::before{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}
.card::after,.auth-box::after,.conv::after{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}
.card.ready{border-color:var(--ok)}.card.ready::before,.card.ready::after{border-color:var(--ok)}
.card-head h3{font-size:17px}
.area-head{border-bottom:1px solid var(--tan)}
.area-head h2{font-size:19px;display:flex;align-items:center}
.area-head h2::before{content:"";width:9px;height:9px;background:var(--amber);margin-right:10px;transform:rotate(45deg)}
.area-head span{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em}

/* rank-chevron level pips */
.pips{gap:3px}
.pip{width:15px;height:27px;border:0;border-radius:0;background:var(--line);clip-path:polygon(0 0,100% 0,100% 68%,50% 100%,0 68%)}
.pip[aria-pressed=true]{background:var(--amber)}
.pip:hover{background:var(--tan)}
.lvl{font-family:var(--mono);font-size:12px}

/* segmented ammo-style meters */
.meter{height:10px;border-radius:0;background:var(--ground);border:1px solid var(--line)}
.meter i{-webkit-mask:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 9px);mask:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 9px)}

/* buttons & fields */
.btn,.seg,.seg button,.step button,.step input,input[type=search],textarea,.num,select.num,dialog,.chip,.tag,.fac,.who-btn,.part,.fb-st,.tab-dot{border-radius:2px}
.btn{text-transform:uppercase;letter-spacing:.07em;font-size:13px;font-weight:700;padding:7px 12px;border-color:var(--line)}
.btn:hover{border-color:var(--tan)}
.btn.primary{background:var(--amber);border-color:var(--amber)}
.btn.go{background:var(--ok);border-color:var(--ok)}
.seg{border-color:var(--tan)}
.seg button{text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.seg button[aria-pressed=true]{background:var(--tan);color:#171a0e}
.num,input[type=search],textarea,select.num{background:var(--ground);border-color:var(--line)}
.step input,.reqs b,.figs,.tile strong,.part b,.fmt{font-family:var(--mono)}
.tile{border-left:4px solid var(--amber);background:var(--panel)}
.tile span{text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.chip{border-color:var(--line);font-family:var(--mono);text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.fac{font-family:var(--head)}
.tag{font-family:var(--head)}
.tab-dot{background:var(--rust);font-family:var(--mono)}
.reqs li{border-radius:0;border-left:2px solid var(--line)}
.reqs .short{border-left-color:var(--rust)}.reqs .have{border-left-color:var(--ok)}
.row{border-left:3px solid var(--line)}
.row.done{border-left-color:var(--ok)}
.part{background:var(--panel2);border-color:var(--line)}
th{text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.bubble{border-radius:2px}
.bubble.me{border-left:3px solid var(--amber)}.bubble.them{border-left:3px solid var(--tan)}
.thread.on{border-left:4px solid var(--amber)}
.toast{border-radius:2px;border-left:5px solid var(--ok);font-family:var(--mono);font-size:13px}.toast.bad{border-left-color:var(--rust)}
dialog{border-color:var(--tan);border-radius:2px}
dialog::backdrop{background:rgba(6,8,3,.75)}
.ver{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase}
.auth-box{border-top:3px solid var(--amber)}
.fb-banner{border-radius:2px;border-left:5px solid var(--amber)}
.fb-st,.fb-new{font-family:var(--mono)}
::selection{background:var(--amber);color:#14170c}

.rmt{border-left:3px solid var(--rust);padding:6px 10px;margin:8px 0;font-size:13px;color:var(--muted);background:var(--panel)}
.toast{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}

.ts-box{min-height:0}

/* release notes */
.news{max-width:720px;margin:0 auto}
.rel{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:12px 16px;margin-bottom:12px}
.rel.fresh{border-color:var(--amber)}
.rel header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.rel h3{font-size:18px;margin:0}
.rel-date{color:var(--muted);font-size:13px}
.rel ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.rel li{line-height:1.4}
.rel-tag{display:inline-block;min-width:68px;text-align:center;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border:1px solid var(--line);border-radius:2px;margin-right:6px}
.rel-tag.new{color:var(--ok);border-color:var(--ok)}
.rel-tag.better{color:var(--amber);border-color:var(--amber)}
.rel-tag.fixed{color:var(--rust);border-color:var(--rust)}
.chip.bad{color:var(--rust);border-color:var(--rust)}
.mlrow{display:grid;grid-template-columns:76px 1fr;gap:2px 10px;align-items:center;padding:8px 12px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:2px;margin-bottom:6px}
.mlrow .chip{text-align:center}
.mlrow .sub{grid-column:2;margin:0;color:var(--rust);font-size:13px}
.btn.danger{border-color:var(--rust);color:var(--rust)}
.btn.primary.danger{background:var(--rust);color:#fff;border-color:var(--rust)}
.btn.danger:disabled{opacity:.45}
.reqs.live li{align-items:center;flex-wrap:wrap}
.reqs.live li .step{margin-left:auto}
.goalbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:8px}
.goalbar .lvl{flex:1 1 200px}
.chars{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 20px 0}
.chars .char{background:var(--panel,#1c2118);border:1px solid var(--line);color:var(--muted);padding:7px 12px;font:700 14px var(--head);letter-spacing:.03em;cursor:pointer}
.chars .char.on{border-color:var(--amber);color:var(--bone)}
.chars .char-act{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:600 13px var(--head)}
.chars .char-cs{font-weight:400;opacity:.8}
.card{min-width:0}
.card-foot{flex-wrap:wrap}
.card-foot .btn{flex:1 1 auto;padding-left:12px;padding-right:12px}
.card-head{flex-wrap:wrap}
.card-head h3{overflow-wrap:anywhere}
.pendlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(560px,100%),1fr));gap:6px;margin-top:8px}
.pend{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--amber);min-width:0}
.pend-t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.pend .btn{flex:none;padding:4px 10px;font-size:12px;width:auto}
/* landing page */
.land{max-width:1040px;margin:0 auto;padding:12px 20px 40px}
.land-nav{display:flex;gap:18px;align-items:center;justify-content:flex-end;padding:4px 0 8px}
.land-nav .who-btn[aria-current=page]{color:var(--bone);border-bottom:2px solid var(--amber)}
.land-hero{text-align:center;padding:34px 0 26px}
.land-hero h2{font:800 clamp(28px,5vw,44px) var(--head);letter-spacing:.03em;text-transform:uppercase;margin:0 0 12px}
.land-lead{max-width:640px;margin:0 auto 20px;font-size:18px;line-height:1.5;color:var(--muted)}
.land-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.land-row{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}
.land-row.flip{grid-template-columns:1.25fr 1fr}.land-row.flip .land-copy{order:2}
.land-copy h3{font:700 24px var(--head);letter-spacing:.02em;margin:0 0 10px}
.land-copy p{margin:0;line-height:1.6;color:var(--muted)}
.land-row img{width:100%;height:auto;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 28px #0008}
.land-list{margin:0;padding-left:20px;line-height:1.9}
.land-how,.land-faq{padding:26px 0;border-top:1px solid var(--line)}
.land-how h3,.land-faq h3{font:700 24px var(--head);margin:0 0 12px}
.land-how ol{margin:0;padding-left:22px;line-height:1.8}
.land-faq details{padding:8px 0;border-bottom:1px solid var(--line)}.land-faq summary{cursor:pointer;font-weight:700}
.land-faq p{margin:8px 0 2px;color:var(--muted);line-height:1.6}
@media (max-width:760px){.land-row,.land-row.flip{grid-template-columns:1fr}.land-row.flip .land-copy{order:0}}
.tipbtn{margin-left:10px;background:none;border:1px dashed var(--line);color:var(--muted);font:600 11px var(--head);letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;cursor:pointer}
.tipbtn.has{border-style:solid;border-color:var(--amber);color:var(--amber)}
.tips{margin:6px 0 0;padding-left:18px;line-height:1.6}
.tiprow{align-items:flex-start}
.tiprow>.btn{flex:none;width:auto;align-self:flex-start;white-space:nowrap}
.itemlink{background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted var(--muted);text-underline-offset:3px}
.itemlink:hover,.itemlink:focus-visible{color:var(--amber)}
.tipn{margin-left:8px;font:600 11px var(--head);letter-spacing:.04em;text-transform:uppercase;color:var(--amber);border:1px solid var(--amber);padding:1px 6px}
#dlg h4{margin:14px 0 4px;font:700 13px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.imggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:10px}
.imgcard{background:var(--panel);border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.imgcard strong{font-size:14px;overflow-wrap:anywhere}
.imgbox{height:84px;display:flex;align-items:center;justify-content:center;background:#0006;border:1px dashed var(--line)}
.imgbox img{max-width:100%;max-height:100%;object-fit:contain}
.tabs button{white-space:nowrap}

.emojis{display:flex;flex-wrap:wrap;gap:2px;margin:6px 0}
.emo{background:transparent;border:1px solid transparent;border-radius:6px;font-size:18px;line-height:1;padding:3px 5px;cursor:pointer}
.emo:hover,.emo:focus-visible{background:#ffffff14;border-color:var(--line)}
.compose-main{flex:1;min-width:0}
.compose-main textarea{width:100%}

.support{color:var(--amber);text-decoration:underline;text-underline-offset:2px}
.support:hover,.support:focus-visible{color:var(--bone)}
.land-foot{text-align:center;margin:28px 0 0}
