@font-face{font-family:"Red Hat Display";src:url(/fonts/RedHatDisplay-latin.woff2) format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Red Hat Display";src:url(/fonts/RedHatDisplay-latin-ext.woff2) format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Red Hat Text";src:url(/fonts/RedHatText-latin.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Red Hat Text";src:url(/fonts/RedHatText-latin-ext.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --bg:#f4efe6; --panel:#fffdf8; --panel-2:#f7f1e6; --line:#e3d9c6; --ink:#1d1a15; --muted:#7a6f5d;
  --gold:#b0841f; --gold-soft:#f3e4bd; --hp:#c0392b; --mp:#2e6fd1; --exp:#7b5cc7;
  --good:#2f8f5b; --warn:#c98a0b; --bad:#c0392b; --stale:#8a8a8a;
  --shadow:0 1px 2px rgba(40,30,10,.06),0 6px 20px rgba(40,30,10,.06);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f0e0c; --panel:#191713; --panel-2:#211e18; --line:#2e2a22; --ink:#ece5d6; --muted:#9a8f7b;
    --gold:#e2b44c; --gold-soft:#3a2f17; --hp:#e05a4a; --mp:#4f8ff0; --exp:#a084f0;
    --good:#4cc283; --warn:#e8ad35; --bad:#ef5a4a; --stale:#6f6f6f;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 'Red Hat Text',system-ui,sans-serif}
.wrap{max-width:1400px;margin:0 auto;padding:20px 16px 40px}
header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
h1{font-family:'Red Hat Display',system-ui,sans-serif;font-weight:800;font-size:26px;letter-spacing:.02em;margin:0}
h1 span{color:var(--gold)}
.sub{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 var(--good);animation:p 2s infinite}
.pulse.off{background:var(--bad);animation:none}
@keyframes p{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--good) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}
.stat .k{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.stat .v{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px;margin-top:4px}
.stat.goldstat{background:linear-gradient(135deg,var(--gold-soft),var(--panel))}
.stat.goldstat .v{color:var(--gold)}

.layout{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
@media (max-width:1000px){.layout{grid-template-columns:1fr}}

.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:14px;padding:14px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--good)}
.card.warn::before{background:var(--warn)} .card.bad::before{background:var(--bad)} .card.stale::before{background:var(--stale)}
.card.bad{border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}
.top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.lvl{position:relative;width:52px;height:52px;flex:none}
.lvl svg{width:52px;height:52px;transform:rotate(-90deg)}
.lvl .n{position:absolute;inset:0;display:grid;place-items:center;font-family:'Red Hat Display',system-ui,sans-serif;font-weight:700;font-size:17px}
.who{min-width:0;flex:1}
.name{font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;flex:none}
.pill.botting{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}
.pill.idle{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}
.pill.dead,.pill.offline{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}
.pill.stale{background:color-mix(in srgb,var(--stale) 18%,transparent);color:var(--stale)}

.bar{margin:7px 0}
.bar .lab{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:3px}
.bar .lab b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500;color:var(--ink)}
.track{height:7px;border-radius:99px;background:var(--panel-2);overflow:hidden}
.fill{height:100%;border-radius:99px;transition:width .6s ease}
.hp .fill{background:var(--hp)} .mp .fill{background:var(--mp)} .ex .fill{background:var(--exp)}

.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.kv div{min-width:0}
.kv .k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.kv .v{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v.gold{color:var(--gold)} .v.bad{color:var(--bad)} .v.warn{color:var(--warn)}

aside{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);position:sticky;top:16px;max-height:calc(100vh - 32px);display:flex;flex-direction:column}
aside h2{font-family:'Red Hat Display',system-ui,sans-serif;font-size:15px;letter-spacing:.06em;margin:0;padding:14px 16px;border-bottom:1px solid var(--line)}
.feed{overflow:auto;padding:6px 0}
.ev{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:start;padding:8px 16px}
.ev .dot{width:8px;height:8px;border-radius:50%;margin-top:5px;background:var(--muted)}
.ev.good .dot{background:var(--good)} .ev.warn .dot{background:var(--warn)} .ev.bad .dot{background:var(--bad)}
.ev .t{font-size:11px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ev .what{font-weight:600}
.ev .det{color:var(--muted);font-size:12px}
.pills{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.pill.stuck{background:color-mix(in srgb,var(--bad, #e5484d) 18%,transparent);color:var(--bad, #e5484d);text-transform:none;letter-spacing:.02em}
.pill.town{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold);text-transform:none;letter-spacing:.02em}
.pill.trace{background:color-mix(in srgb,var(--mp) 16%,transparent);color:var(--mp)}
.jb .fill{background:var(--gold)}
.alerts{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 8px}
.al{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px}
.al.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}
.al.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.sec{margin-top:14px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:8px}
.sec::after{content:"";flex:1;height:1px;background:var(--line)}
.sec + .kv{margin-top:8px;padding-top:0;border-top:0}
details{margin-top:12px;border-top:1px dashed var(--line);padding-top:8px}
summary{cursor:pointer;font-size:12px;color:var(--muted)}
.raw{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin-top:8px;font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.raw .rk{color:var(--muted)} .raw .rv{word-break:break-all}
.alertstat{grid-column:span 2}
.alist{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.alist .al{font-weight:500}
.side{display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}
.side aside{position:static;max-height:none}
.feed{max-height:calc(100vh - 120px)}
@media (max-width:1000px){.side{position:static}.feed{max-height:none}}

.empty{color:var(--muted);padding:40px 16px;text-align:center}

/* ---- header actions ---- */
.hright{display:flex;align-items:center;gap:12px}
.iconbtn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;font-size:16px;display:grid;place-items:center}
.iconbtn:hover{border-color:var(--gold)}
.banner{background:color-mix(in srgb,var(--bad) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--bad) 40%,var(--line));color:var(--ink);border-radius:12px;padding:10px 14px;margin-bottom:16px;font-size:13px}
.banner[hidden]{display:none}

/* ---- lock screen ---- */
html{background:var(--bg);touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}
/* Locked: the board isn't drawn at all, so pulling the lock screen (iOS rubber-band) shows nothing behind it. */
body.locked{overflow:hidden;overscroll-behavior:none}
body.locked .wrap{display:none}
body.locked .view-nav{display:none!important}
#lock-screen{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;padding:16px;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));min-height:100dvh;overscroll-behavior:none;touch-action:none}
#lock-screen[hidden]{display:none}
.lock-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 24px;text-align:center;box-shadow:var(--shadow)}
.lock-card h1{font-size:28px;margin-bottom:6px}
.lock-desc{color:var(--muted);margin:0 0 20px}
.btn{font:600 14px 'Red Hat Text',system-ui,sans-serif;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);padding:10px 16px;cursor:pointer}
.btn:hover{border-color:var(--gold)}
.btn.primary{background:var(--gold);border-color:var(--gold);color:#1a1408;width:100%;padding:12px 16px}
.btn.primary:disabled{opacity:.6;cursor:default}
.btn.danger{color:var(--bad)}
.btn.small{padding:5px 10px;font-size:12px}
.lock-error{color:var(--bad);font-size:13px;min-height:18px;margin:12px 0 0}

/* ---- settings dialog ---- */
dialog{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);box-shadow:0 20px 60px rgba(0,0,0,.4)}
dialog::backdrop{background:rgba(0,0,0,.5)}
.dlg-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}
.dlg-head h2{font-family:'Red Hat Display',system-ui,sans-serif;font-size:17px;margin:0}
.dlg-body{padding:6px 18px 18px}
.dlg-sec{margin-top:16px}
.dlg-sec h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.dlg-sec p{color:var(--muted);font-size:13px;margin:0 0 8px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pk-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.pk-row:last-child{border-bottom:0}
.pk-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.pk-main small{color:var(--muted)}
.pk-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:5px;background:var(--panel-2);color:var(--muted);margin-left:4px}
.pk-role.admin{color:var(--gold);background:var(--gold-soft)}
.pk-acts{display:flex;gap:6px;align-items:flex-start;flex:none}
.audit{font-size:12px;max-height:240px;overflow:auto}
.audit div{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line)}
.audit b{font-weight:600}
.audit small{color:var(--muted);display:block}
.stat-line{display:flex;align-items:center;gap:8px;font-size:13px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.dot.on{background:var(--good)} .dot.off{background:var(--bad)}
body[data-role="viewer"] .admin-only{display:none}

#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:200;padding:10px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13px;max-width:calc(100vw - 32px)}
#toast[hidden]{display:none}
#toast.success{border-color:var(--good)} #toast.error{border-color:var(--bad)}

/* ---- Bilgisayar (LibreHardwareMonitor) ---- */
#pc[hidden]{display:none}
.pc-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.pc-head h2{border:0;padding:0;margin:0}
.pc-host{color:var(--muted);font-size:12px}
.pc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px 4px}
.pc-tile{background:var(--panel-2);border-radius:10px;padding:10px 12px;min-width:0}
.pc-tile .k{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-tile .v{font:600 24px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin-top:2px}
.pc-tile .v small{font-size:13px;color:var(--muted);font-weight:500;margin-left:4px}
.pc-tile .track{margin-top:6px;height:5px}
.pc-tile.ok .v{color:var(--good)} .pc-tile.warn .v{color:var(--warn)} .pc-tile.bad .v{color:var(--bad)}
.pc-tile.ok .fill{background:var(--good)} .pc-tile.warn .fill{background:var(--warn)} .pc-tile.bad .fill{background:var(--bad)}
.pc-tile.na .v{color:var(--muted)}
.pc-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 10px;padding:8px 16px 4px}
.pc-mini .k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.pc-mini .v{font:500 13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.pc-chart{padding:6px 12px 2px}
.pc-chart svg{width:100%;height:84px;display:block}
.pc-chart .lab{display:flex;gap:12px;font-size:11px;color:var(--muted);padding:0 4px 6px}
.pc-chart .lab i{display:inline-block;width:10px;height:3px;border-radius:2px;vertical-align:middle;margin-right:4px}
#pc details{margin:4px 16px 14px;border-top:1px dashed var(--line);padding-top:8px}
.pc-hw{margin-top:8px}
.pc-hw b{font-size:12px}
.pc-hw .row2{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:12px;margin-top:4px}
.pc-hw .row2 span:nth-child(odd){color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-hw .row2 span:nth-child(even){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:right}

/* ---- karakter analizi ---- */
/* ---- genel durum ---- */
.status{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin:0 0 16px;overflow:hidden}
.status[hidden]{display:none}
.status .st-head{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:14px}
.status .st-head small{color:var(--muted);font-size:12px}
.status .st-dot{width:10px;height:10px;border-radius:50%;background:var(--good);flex:none}
.status.warn .st-dot{background:var(--warn)} .status.bad .st-dot{background:var(--bad)}
.status.bad{border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}
.status.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}
.status .st-lv{padding:0 16px 10px 36px;font-size:12.5px;line-height:1.6}
.status .st-lv small{color:var(--muted)}
.status .st-list{display:block;margin:0;padding:0 16px 10px 36px;font-size:13px;line-height:1.5}
.status .st-list li.bad{color:var(--bad);font-weight:600} .status .st-list li.warn{color:var(--warn)} .status .st-list li.info{color:var(--muted)}
/* ---- telefonda kartlar katlanır: başlığa dokun ---- */
@media (max-width:640px){
  .fold > :first-child{cursor:pointer;position:relative;padding-right:28px}
  .fold > :first-child::after{content:"▾";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px}
  .fold.open > :first-child::after{content:"▴"}
  .fold:not(.open) > :not(:first-child){display:none}
  .fold:not(.open){padding-bottom:0}
}
.analysis{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin:-6px 0 20px;padding:12px 0 6px}
.analysis[hidden]{display:none}
.analysis h2{font-family:'Red Hat Display',system-ui,sans-serif;font-size:15px;letter-spacing:.06em;margin:0 16px 8px}
.an-notes{display:flex;flex-direction:column;gap:4px;margin:0 16px 10px;font-size:13px}
.an-notes .al{font-weight:500}
.an-scroll{overflow-x:auto}
.an-table{border-collapse:collapse;width:100%;font-size:12.5px;min-width:640px}
.an-table th{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:right;padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.an-table th:first-child,.an-table td:first-child{text-align:left;padding-left:16px;position:sticky;left:0;background:var(--panel)}
.an-table td{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:right;padding:6px 10px;border-bottom:1px dashed var(--line);white-space:nowrap}
.an-table td:first-child{font-family:'Red Hat Text',system-ui,sans-serif;font-weight:600}
.an-table tr:last-child td{border-bottom:0}
.an-table td.hot{color:var(--bad);font-weight:700}
.an-table td.warm{color:var(--warn);font-weight:600}
.an-table td.good{color:var(--good);font-weight:700}
.an-table td small{color:var(--muted);font-size:10.5px}
.analysis .mk-head{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:16px}
.an-foot{color:var(--muted);font-size:11px;margin:8px 16px 4px}
#gear h3{font-size:12.5px;margin:14px 16px 6px;font-weight:700}
#gear h3 small,#gear summary small{color:var(--muted);font-weight:400;font-size:11px}
#gear details{margin:10px 0 0}
#gear summary{cursor:pointer;font-size:12.5px;font-weight:700;padding:6px 16px}
.gear-t{min-width:560px}
.gear-t th,.gear-t td{text-align:left}
.gear-t td{font-family:'Red Hat Text',system-ui,sans-serif}
.gear-t td.wrap{white-space:normal;min-width:160px}
.gear-t .good{color:var(--good);font-weight:600}
.gear-t .move-status,.gear-t .move-comparison{display:block;margin-top:6px;line-height:1.65;overflow-wrap:anywhere}
.gear-t .move-comparison{padding-top:8px;border-top:1px dashed var(--line)}
#inv h3{font-size:12px;margin:10px 16px 4px;font-weight:700}
#inv h3 small{color:var(--muted);font-weight:400}
.inv-search{margin:4px 16px 8px}
.price-form{display:flex;flex-wrap:wrap;gap:6px;margin:8px 16px 0}
.price-form input{flex:1 1 120px;min-width:0;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
.price-form #pr-name{flex:2 1 220px}
.btn.mini{padding:3px 9px;font-size:11.5px}
.inv-search input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
.inv-char{border-top:1px dashed var(--line)}
.inv-char summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:8px 16px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.inv-char summary .inv-name{font-family:'Red Hat Text',system-ui,sans-serif;font-weight:700;min-width:120px}
.inv-char summary small{color:var(--muted)}
.inv-char summary .hot{color:var(--bad);font-weight:700}
.inv-char summary .warm{color:var(--warn);font-weight:600}
.inv-items{display:flex;flex-wrap:wrap;gap:4px;margin:0 16px 6px}
.inv-items span{font-size:11.5px;padding:2px 7px;border:1px solid var(--line);border-radius:7px;background:var(--bg)}
.inv-items small{color:var(--muted)}
@media (max-width:640px){
  .gear-t{min-width:0}
  .gear-t tr:first-child{display:none}
  .gear-t tr{display:block;border-bottom:1px solid var(--line);padding:8px 16px}
  .gear-t td,.gear-t td:first-child{display:flex;gap:8px;padding:2px 0;border:0;white-space:normal;position:static;background:none;min-width:0}
  .gear-t td[data-l]::before{content:attr(data-l);color:var(--muted);font-size:11px;min-width:78px;flex:none}
  .gear-t td:first-child::before{display:none}
  .gear-t td.wrap{min-width:0}
}

/* ---- mute ---- */
.mute-label{font-size:12px;color:var(--muted)}
.muted-ind{font-size:13px}
.muted-ind[hidden]{display:none}
.check-line{display:flex;gap:8px;align-items:center;font-size:13px;margin-top:10px;color:var(--ink)}
.check-line input{accent-color:var(--gold)}

/* ---- parties ---- */
.tabs{display:flex;gap:6px;overflow-x:auto;margin:-4px 0 14px;padding-bottom:2px;scrollbar-width:none}
.tabs[hidden]{display:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;font:600 13px 'Red Hat Text',system-ui,sans-serif;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer}
.tab:hover{border-color:var(--gold)}
.tab.on{background:var(--gold);border-color:var(--gold);color:#1a1408}
.tab small{font-weight:500;opacity:.75;margin-left:4px}
.tab-warn{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);margin-right:6px;vertical-align:1px}
.v.good{color:var(--good)}
.stat .sub2{color:var(--muted);font-size:11px;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.stat.trend{grid-column:span 2}
.stat.trend svg{width:100%;height:46px;display:block;margin-top:6px}
.v.good{color:var(--good)}
.input{width:100%;font:16px 'Red Hat Text',system-ui,sans-serif;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink)}
.input:focus{outline:none;border-color:var(--gold)}
.pf-chars{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px;margin-top:10px;max-height:260px;overflow:auto}
.pf-chars label{display:flex;gap:6px;align-items:center;font-size:13px;padding:3px 0;min-width:0}
.pf-chars label span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-chars label small{color:var(--muted)}
.pf-chars input{accent-color:var(--gold)}
@media (max-width:520px){.stat.trend{grid-column:1/-1}}

/* analiz: sütun sıfırlama */
.an-reset{all:unset;cursor:pointer;color:inherit;font:inherit;border-bottom:1px dashed var(--muted)}
.an-since{display:block;font-weight:400;color:var(--muted);font-size:10px}
.an-why{display:block;color:var(--muted);font-size:10px;white-space:nowrap;font-family:inherit}
.an-resetall{display:flex;justify-content:flex-end;margin:-4px 0 8px}

.live-bar{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px;align-items:center}
.live-bar .btn.on{border-color:var(--gold);color:var(--gold)}
.live-exp{font-size:12px;color:var(--muted);margin-left:auto;display:flex;gap:4px;align-items:center}
.live-log{max-height:420px;overflow:auto;font:11px/1.45 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px}
.live-log .bad{color:var(--bad)}
.live-log .warn{color:var(--warn)}
.btn.mini.on{border-color:var(--good);color:var(--good)}

/* Navigation: one workspace at a time, desktop toolbar and mobile dock. */
[hidden]{display:none!important}
.view-nav{display:flex;gap:6px;padding:7px;border:1px solid var(--line);background:var(--panel);border-radius:16px;position:sticky;top:10px;z-index:20;box-shadow:var(--shadow);margin-bottom:24px}
.view-nav button{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:10px;padding:12px 16px;color:var(--muted);background:transparent;font:600 14px 'Red Hat Text',system-ui;cursor:pointer;min-height:46px}
.view-nav button[aria-pressed=true]{background:var(--gold-soft);color:var(--ink)}
.nav-symbol{font-size:20px;color:var(--gold)}
.view-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px}
.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--gold);margin-bottom:6px}
.view-heading h2{font-family:'Red Hat Display',system-ui;font-size:30px;letter-spacing:-.03em;margin:0}
.view-heading p{color:var(--muted);margin:6px 0 0;font-size:14px}
.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.quick-links button{display:flex;align-items:center;gap:14px;text-align:left;padding:20px 16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;color:var(--ink);font:600 14px 'Red Hat Text',system-ui;cursor:pointer;box-shadow:var(--shadow)}
.quick-links button:hover{border-color:var(--gold)}
.quick-links strong{font:700 30px 'Red Hat Display',system-ui;color:var(--gold)}
.quick-links small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:5px}
.quick-links b{margin-left:auto;color:var(--gold)}
.equipment-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.equipment-nav button{font:600 14px 'Red Hat Text',system-ui;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);cursor:pointer}
.equipment-nav button[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
body[data-view]:not([data-view=overview]) :is(#status,#stats,#quick-links,#town-queue),
body[data-view]:not([data-view=analysis]) :is(#analysis,#spots,#skills),
body[data-view]:not([data-view=system]) :is(#live,.side),
body[data-view]:not([data-view=party]) #grid,
body[data-view]:not([data-view=equipment]) :is(#inv,#gear),
body[data-view=equipment]:not([data-equipment=inventory]) #inv,
body[data-view=equipment][data-equipment=inventory] #gear{display:none!important}
body[data-view]:not([data-view=party]):not([data-view=system]) .layout{display:none}
body[data-view=party] .layout,body[data-view=system] .layout{display:block}
body[data-view=system] .side{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:start}
body[data-equipment=plan] #gear [data-gear-panel]:not([data-gear-panel=plan]),
body[data-equipment=moves] #gear [data-gear-panel]:not([data-gear-panel=moves]),
body[data-equipment=decisions] #gear [data-gear-panel]:not([data-gear-panel=decisions]){display:none}
#decision-search{margin:0 0 20px;scroll-margin-top:90px}
#decision-search label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.decision-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;flex-wrap:wrap}
.decision-pager span{margin-right:auto;font-size:13px;color:var(--muted)}
.decision-pager button:disabled{opacity:.4;cursor:default}
body[data-view] section.analysis.fold>:not(:first-child){display:revert}
body[data-view] section.analysis.fold>:first-child::after{display:none}
body[data-view] section.analysis.fold>:first-child{cursor:default}
.an-table th{font-size:12px;padding-top:12px;padding-bottom:12px}
.an-table td{font-size:13px;line-height:1.6;padding-top:12px;padding-bottom:12px}
#gear h3{font-size:16px;margin:22px 20px 12px}
#gear h3 small{display:block;line-height:1.6;font-size:12px;margin-top:5px}
#gear summary{font-size:15px;padding:16px 20px}
#gear summary small{display:block;font-size:12px;line-height:1.6;margin-top:4px}
#gear .an-foot{font-size:12px;line-height:1.65;margin:12px 20px}
@media(min-width:1001px){.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.wrap{padding-top:28px}.an-table tr:hover td{background:var(--panel-2)}}
@media(max-width:850px){.quick-links{grid-template-columns:repeat(2,1fr)}body[data-view=system] .side{grid-template-columns:1fr}}
@media(max-width:640px){
  .wrap{padding:16px 12px calc(100px + env(safe-area-inset-bottom))}
  .view-nav{position:fixed;inset:auto 8px calc(8px + env(safe-area-inset-bottom));margin:0;padding:5px;gap:0;border-radius:18px;box-shadow:0 4px 24px #0003}
  .view-nav button{flex-direction:column;gap:3px;min-width:0;padding:7px 2px;font-size:10px;min-height:53px}
  .nav-symbol{font-size:20px;line-height:1.1}
  .view-heading{margin:20px 2px}.view-heading h2{font-size:27px}.view-heading p{font-size:13px;line-height:1.6}
  .quick-links{gap:9px}.quick-links button{padding:14px 12px;gap:10px;font-size:12px;align-items:flex-start}.quick-links strong{font-size:25px}.quick-links small{font-size:11px}.quick-links b{display:none}
  .equipment-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equipment-nav button{font-size:12px;padding:10px 8px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  #gear summary{padding:14px;font-size:14px}#gear h3{margin:18px 14px 10px;font-size:15px}
  .gear-t td[data-l]{display:block;line-height:1.6}.gear-t td[data-l]::before{display:block;font-size:10px;letter-spacing:.05em;text-transform:uppercase;margin:6px 0 2px}.gear-t td:first-child::before{display:none}
  .gear-t td small{font-size:12px}.gear-t tr{padding:14px;border-bottom:1px solid var(--line)}
  .an-foot{font-size:12px;line-height:1.6}.inv-char summary{font-size:14px;padding:14px}
  .live-log{font-size:12px;max-height:60vh}.decision-pager{padding:12px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body[data-equipment=decisions] #gear>.mk-head,body[data-equipment=moves] #gear>.mk-head,
body[data-equipment=decisions] #gear>.an-foot,body[data-equipment=moves] #gear>.an-foot{display:none!important}

#spots .an-table small{display:block;margin-top:5px;line-height:1.5;color:var(--muted);font-size:12px} #spots .spot-coordinates{white-space:nowrap;font-variant-numeric:tabular-nums}
#spots .spot-coordinates code{user-select:all;font-size:12px} #spots .spot-coordinates button{margin-left:6px}
.balance-table small{display:block;margin-top:4px;line-height:1.5;white-space:normal;color:var(--muted);font-size:12px}.balance-table td{min-width:105px;max-width:240px}


.town-queue{padding-left:24px;margin:16px 0 0}.town-queue>li{padding:14px 8px;border-top:1px solid var(--line)}.town-queue>li>div{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.town-queue ul{padding-left:18px;margin:8px 0 0;line-height:1.65;overflow-wrap:anywhere}.town-queue small{display:block;color:var(--muted)}

/* Sales workspace: one state at a time, item-wide pricing and explicit approval. */
.trade-toolbar{padding:16px 20px;border-bottom:1px solid var(--line)}
.trade-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.trade-tabs .btn{min-height:44px;padding:9px 12px;font-size:13px}
.trade-tabs [aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold);color:var(--ink)}
.trade-tabs span{font-size:11px;opacity:.7;margin-left:4px}
.trade-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.trade-filters label,.price-editor-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}
.trade-search{flex:1;min-width:190px}
.trade-filters input,.trade-filters select,.price-editor-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:16px 'Red Hat Text',system-ui}
.trade-note{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 20px}
.trade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px}
.trade-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);min-width:0}
.trade-card header{align-items:flex-start;flex-wrap:wrap;gap:12px;margin:0 0 14px}
.trade-card h3,#inv .trade-card h3{font-size:15px;line-height:1.5;overflow-wrap:anywhere;margin:0 0 8px}
.trade-card small{display:block;color:var(--muted);line-height:1.6;font-size:12px}
.trade-card p{font-size:13px;line-height:1.6;margin:10px 0}
.trade-price{margin-left:auto;text-align:right}.trade-money{font-size:18px;font-variant-numeric:tabular-nums;color:var(--gold)}
.trade-money small{display:inline;font-size:11px;font-weight:400}
.trade-tag{display:inline-block;border:1px solid currentColor;border-radius:20px;padding:3px 9px;font-size:11px;color:var(--muted)}
.trade-tag.good{color:var(--good)}.trade-tag.warm{color:var(--warn)}
.trade-card details{font-size:13px;line-height:1.6}.trade-card summary{cursor:pointer;padding:8px 0}
.trade-card ul{padding-left:18px}.trade-card li{padding:4px 0}
.trade-card footer{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.trade-card footer .btn{min-height:42px;font-size:12px;padding:9px 12px}
.trade-total{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;margin:16px 20px;padding:14px;background:var(--gold-soft);border-radius:12px}.trade-total span{font-weight:700;color:var(--gold)}
.trade-empty{padding:24px;color:var(--muted);grid-column:1/-1}
#price-editor{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:0}
.price-editor-form{padding:24px}.price-editor-form h2{margin:0 0 20px;font-size:22px}.price-editor-form>label{margin-bottom:16px}
.price-fields{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.price-editor-form p{font-size:13px;line-height:1.65;color:var(--muted)}
.price-editor-form #price-error{color:var(--bad)}.price-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.price-editor-actions .btn{min-height:44px}
.trade-card footer .btn.primary,.price-editor-actions .btn.primary{width:auto}
#price-delete{margin-top:20px;color:var(--bad)}
@media(max-width:700px){.trade-grid{grid-template-columns:1fr;padding:0 12px 16px;gap:10px}.trade-toolbar{padding:14px 12px}.trade-note{margin:14px 12px}.trade-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.trade-tabs .btn{font-size:11px;padding:8px 4px}.trade-filters{gap:10px}.trade-search{flex-basis:100%}.trade-card{padding:15px}.trade-price{max-width:100%}.price-editor-form{padding:20px 16px}.price-fields{grid-template-columns:1fr}}

/* Shared workspace language: focused views, readable cards, explicit actions. */
.workspace-nav,.equipment-nav{display:flex;flex-wrap:wrap;gap:7px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin:0 0 18px}
.workspace-nav .btn,.equipment-nav button,.workspace-inline-tabs .btn{min-height:44px;padding:10px 14px;font-size:13px}
.workspace-nav [aria-pressed=true],.equipment-nav button[aria-pressed=true],.workspace-inline-tabs [aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold);color:var(--ink)}
.workspace-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 0 18px}
.workspace-tools label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;flex:1;min-width:150px}
.workspace-tools input,.workspace-tools select{min-height:44px;width:100%;font:16px 'Red Hat Text',system-ui;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.workspace-tools>span{font-size:12px;color:var(--muted);padding-bottom:12px}
.workspace-inline-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:16px 20px}
.workspace-options{margin:16px 20px;font-size:13px}.workspace-options>summary{cursor:pointer;padding:10px 0;color:var(--muted)}
.workspace-empty{padding:28px 20px;color:var(--muted);line-height:1.7;font-size:14px}
.analysis,.status,.card,aside,.stat{border-radius:16px}
.analysis>h2,.analysis>[data-analysis-section]>h2{font-family:'Red Hat Display',system-ui;font-size:20px;margin:8px 20px 16px}
.analysis .an-foot{font-size:13px;line-height:1.7;margin:14px 20px}.analysis .mk-head{margin:8px 20px 16px}
.analysis .mk-head h2{font-size:20px;margin:0}.analysis .mk-head .an-foot{margin:0}
.stat{padding:17px 16px}.stat .k{font-size:11px;line-height:1.6}.stat .v{font-size:24px;overflow-wrap:anywhere}.stat .sub2{font-size:12px;line-height:1.65;margin-top:7px;color:var(--muted)}
.card{padding:20px}.character-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.character-summary .k{font-size:11px;color:var(--muted)}.character-summary .v{font-size:16px;margin-top:3px;font-variant-numeric:tabular-nums}
.character-details{border-top:1px solid var(--line);padding-top:8px}.character-details>summary{font-size:12px;cursor:pointer;padding:10px 0;color:var(--muted)}.character-details .kv{gap:12px}
.character-details .sec{font-size:11px;margin-top:20px}.character-details>.bar:first-of-type{margin-top:12px}
#town-queue .town-queue{list-style-position:inside;padding:0 16px;margin:12px 0}.town-queue>li{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:16px;background:var(--panel-2);font-size:14px}.town-queue>li>div{margin:6px 0}.town-queue ul{font-size:13px;line-height:1.8}
.quick-links button{border-radius:16px}.quick-links button:focus-visible,.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
body[data-view=analysis][data-analysis-pane=characters] :is(#spots,#skills),body[data-view=analysis][data-analysis-pane=skills] :is(#analysis,#spots),body[data-view=analysis]:is([data-analysis-pane=spots],[data-analysis-pane=changes]) :is(#analysis,#skills){display:none!important}
body[data-analysis-pane=spots] #spots [data-analysis-section=changes],body[data-analysis-pane=changes] #spots [data-analysis-section=spots]{display:none}
body[data-view=system][data-system-pane=live] .side,body[data-view=system]:not([data-system-pane=live]) #live,body[data-view=system][data-system-pane=computer] #events,body[data-view=system][data-system-pane=events] #pc{display:none!important}
body[data-view=system] .side{display:block;max-width:1000px;margin:auto}body[data-view=system] aside{position:static;max-height:none}
body[data-view=system] .fold>:not(:first-child){display:revert}body[data-view=system] .fold>:first-child::after{display:none}
#events .workspace-tools{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}#events .feed{max-height:none}#events .ev{padding:16px;gap:12px}#events .what{font-size:14px}#events .det{line-height:1.7;overflow-wrap:anywhere}#events .t{font-size:11px;white-space:nowrap}
#live .live-bar{padding:8px 20px;gap:8px}#live .live-bar .btn{min-height:40px;padding:8px 12px}#live .live-exp{font-size:12px}#live .live-log{margin:8px 20px 16px;max-height:60dvh;line-height:1.7;padding:14px}
#pc .pc-tile{padding:18px}#pc .pc-tile .k{font-size:11px}#pc .pc-tile .v{font-size:28px}#pc .pc-mini{gap:18px;padding:20px}#pc #pc-all{font-size:14px}#pc #pc-all>summary{padding:12px 0;cursor:pointer}
body[data-view=equipment] #gear>[data-gear-panel]{display:none!important}
body[data-equipment=plan] #gear>[data-gear-panel=plan],body[data-equipment=balance] #gear>[data-gear-panel=balance],body[data-equipment=moves] #gear>[data-gear-panel=moves],body[data-equipment=decisions] #gear>[data-gear-panel=decisions]{display:block!important}
.dlg-sec{padding-top:18px;margin-top:18px}.dlg-sec input:not([type=checkbox]),.dlg-sec select{min-height:42px}.dlg-sec .btn{min-height:42px}
@media(max-width:700px){
 .workspace-nav,.equipment-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:6px}.workspace-nav .btn,.equipment-nav button{font-size:12px;padding:10px 6px}
 .equipment-nav,body[data-view=system] .workspace-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.equipment-nav button{font-size:11px}
 .workspace-tools{padding:12px;gap:10px}.workspace-tools label:first-child{flex-basis:100%}.workspace-inline-tabs{margin:14px 12px;gap:6px}.workspace-inline-tabs .btn{font-size:11px;padding:8px 10px}
 .card{padding:17px}.stat{padding:14px 12px}.stat .v{font-size:21px}.analysis .an-foot{margin:12px;font-size:12px}.analysis>h2,.analysis>[data-analysis-section]>h2{margin:8px 12px 14px;font-size:18px}.analysis .mk-head{margin:8px 12px 14px;flex-wrap:wrap}
 :is(#gear,#analysis,#spots,#skills) .an-scroll{overflow:visible}
 :is(#gear,#analysis,#spots,#skills) .an-table{display:block;min-width:0;width:100%}
 :is(#gear,#analysis,#spots,#skills) .an-table tbody{display:block}
 :is(#gear,#analysis,#spots,#skills) .an-table tr:first-child{display:none}
 :is(#gear,#analysis,#spots,#skills) .an-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;margin:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
 :is(#gear,#analysis,#spots,#skills) .an-table td,:is(#gear,#analysis,#spots,#skills) .an-table td:first-child{display:block;position:static;text-align:left;border:0;padding:0;min-width:0;max-width:none;white-space:normal;font-family:'Red Hat Text',system-ui;font-size:13px;background:transparent;overflow-wrap:anywhere}
 :is(#gear,#analysis,#spots,#skills) .an-table td:first-child{grid-column:1/-1;font-size:15px;font-weight:700;padding-bottom:10px;border-bottom:1px solid var(--line)}
 :is(#gear,#analysis,#spots,#skills) .an-table td[data-l]::before{display:block;content:attr(data-l);font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.03em;margin:0 0 4px}
 :is(#gear,#analysis,#spots,#skills) .an-table td:first-child::before{display:none}
 #skills .an-table td:nth-child(2),#gear .gear-t td[data-l=Yön],#gear .gear-t td[data-l=Eşyalar]{grid-column:1/-1}
 #live .live-log{margin:8px 12px 14px;font-size:12px;padding:10px}.workspace-options{margin:12px}#events .ev{padding:14px 12px}#events .t{font-size:10px}
}
#gear [data-gear-panel=balance]>h3:first-child{display:none}
#gear .workspace-options{margin:8px 16px}#gear .workspace-options>summary{padding:8px 0;min-height:40px;font-size:12px}
body[data-view=system] #pc .pc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-view=system] #pc .pc-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-view=analysis] #analysis>.workspace-inline-tabs{display:flex}
.notice-bell{position:relative}.notice-bell>span{position:absolute;top:-5px;right:-5px;background:var(--gold);color:var(--bg);font-size:10px;border-radius:20px;padding:2px 5px;font-weight:700}
#notice-center{width:min(600px,calc(100vw - 24px));max-height:82dvh;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink)}
#notice-center::backdrop{background:#0008}.notice-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
#notice-list{max-height:62dvh;overflow:auto}.notice-row{padding:16px 18px;border-bottom:1px solid var(--line)}.notice-row.unread{border-left:3px solid var(--gold);background:var(--panel-2)}.notice-row>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.notice-row time{font-size:11px;color:var(--muted);white-space:nowrap}.notice-row p{margin:8px 0 0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
#notice-popups{position:fixed;top:85px;right:16px;width:min(360px,calc(100vw - 32px));z-index:1000;display:grid;gap:8px}.notice-popup{display:grid;gap:6px;text-align:left;padding:16px;border:1px solid var(--gold);border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:0 8px 30px #0003;cursor:pointer}.notice-popup span{font-size:12px;line-height:1.5;white-space:pre-wrap;max-height:110px;overflow:hidden}
body.locked #notice-popups{display:none}
.trade-owners{padding:0;list-style:none}.trade-owners>li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.trade-owners small{display:block;margin-top:5px;color:var(--muted)}.trade-owner-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.trade-owners p{font-size:12px}
@media(max-width:640px){.trade-owners>li{flex-direction:column}.trade-owner-actions .btn{flex:1}}
body[data-equipment=adv] #gear>[data-gear-panel=adv]{display:block!important}
body[data-equipment=adv] #gear>.an-foot{display:none!important}
.adv-links{display:flex;gap:8px;flex-wrap:wrap;padding:4px 20px 12px}.adv-links .btn{text-decoration:none;color:var(--gold)}
.adv-grid{padding-top:12px}.adv-card header{display:flex;justify-content:space-between}.adv-plus{color:var(--gold)}
.adv-meta{color:var(--muted);font-size:12px}.adv-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px}
.adv-facts dt{color:var(--muted)}.adv-facts dd{margin:0;overflow-wrap:anywhere}.adv-note{color:var(--muted);font-size:12px;margin:12px 0 0}
@media(max-width:700px){.adv-links{padding:4px 12px 12px}}
.adv-intro{padding:12px 20px 0}.adv-intro h3{margin:0;font-size:21px}.adv-intro p{color:var(--muted);margin:6px 0 16px;font-size:13px}
.adv-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 20px 8px;flex-wrap:wrap}.adv-filters{display:flex;gap:7px;flex-wrap:wrap}.adv-filters .btn{font-size:12px;min-height:42px}.adv-filters [aria-pressed=true]{background:var(--gold-soft);border-color:var(--gold);color:var(--ink)}.adv-filters b{margin-left:5px}.adv-toolbar label{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}.adv-toolbar select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;min-height:42px;padding:8px}
.adv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:8px 20px 16px}.adv-card{display:flex;flex-direction:column}.adv-card header{gap:8px}.adv-card header>div{flex:1;min-width:0}.adv-card h3{font-size:17px;margin:5px 0 0}.adv-owner{font-size:12px;font-weight:700}.adv-owner span{color:var(--muted);font-weight:400}.adv-stage{font-size:10px;padding:5px 8px;border-radius:20px;background:var(--gold-soft);color:var(--gold);white-space:nowrap}.adv-card[data-adv-kind=candidate] .adv-stage{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}
.adv-result{display:flex;align-items:center;gap:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.adv-result>strong{font-size:23px;color:var(--gold);font-family:'Red Hat Display',sans-serif}.adv-result>span{color:var(--muted)}.adv-result b{font-size:15px}.adv-result small{font-size:11px}.adv-next{flex:1}.adv-storage{font-size:12px;padding-top:10px;color:var(--good)}.adv-detail{border-top:1px solid var(--line);margin-top:12px}.adv-detail>summary{color:var(--muted);font-size:12px;min-height:42px}.adv-detail p{color:var(--muted)}.adv-detail ul{list-style:none;padding:0}.adv-detail li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.adv-detail small{font-size:11px}
.adv-help{margin:8px 20px 20px;border:1px solid var(--line);border-radius:12px;padding:0 14px;color:var(--muted);font-size:12px}.adv-help>summary{min-height:44px;cursor:pointer;padding:13px 0}.adv-help p{line-height:1.7}
body[data-equipment=adv] #gear>details[data-gear=adv]>summary{display:none}
.decision-adv{display:inline-block;margin-top:9px;padding:8px 10px;border:1px solid var(--gold);border-radius:9px;background:var(--gold-soft);font-size:12px;color:var(--ink)}.decision-adv small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:700px){.adv-grid{grid-template-columns:1fr;padding:8px 12px 16px;gap:12px}.adv-intro{padding:12px 12px 0}.adv-toolbar{padding:0 12px 8px}.adv-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.adv-filters .btn{padding:9px 7px}.adv-help{margin:8px 12px 16px}.adv-card h3{font-size:16px}}

/* Pull to refresh (public/pull.js). overscroll-behavior stops the browser's own reload pull. */
html,body{overscroll-behavior-y:contain}
#pull-refresh{position:fixed;top:env(safe-area-inset-top);left:50%;z-index:60;display:flex;align-items:center;gap:8px;
  margin-left:-90px;width:180px;justify-content:center;padding:8px 12px;border-radius:99px;background:var(--panel);border:1px solid var(--line);
  box-shadow:var(--shadow);color:var(--muted);font-size:13px;opacity:0;transform:translateY(-50px);pointer-events:none;transition:transform .2s,opacity .2s}
#pull-refresh.dragging{transition:none}
#pull-refresh .pull-icon{display:inline-block;transition:transform .2s}
#pull-refresh.ready .pull-icon{transform:rotate(180deg)}
#pull-refresh.ready{color:var(--fg,inherit)}
#pull-refresh.spinning .pull-icon{animation:pull-spin .8s linear infinite}
@keyframes pull-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

.status .st-list li.st-click{cursor:pointer}.status .st-list li.st-space{list-style:none;margin:4px 0 8px -18px;padding:8px 10px;background:var(--card,rgba(127,127,127,.1));border-radius:8px;color:var(--text,inherit);font-weight:400}.st-space ul{margin:2px 0 6px;padding-left:18px}.st-space .btn{padding:1px 8px;font-size:12px}

.sum-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px;margin:0 0 12px;padding:10px 14px;background:linear-gradient(135deg,var(--gold-soft),var(--panel));border:1px solid var(--line);border-radius:12px}
.sum-c{display:flex;flex-direction:column;min-width:0}
.sum-k{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}
.sum-v{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:17px}
.sum-gold{color:var(--gold)}
.sum-v.bad{color:var(--bad)}
.sum-wait{font:500 12px 'Red Hat Text',system-ui,sans-serif;color:var(--muted)}
.sum-c small{color:var(--muted);font-size:10.5px}
@media (min-width:700px){.sum-strip{grid-template-columns:repeat(4,1fr)}}

.trade-supply{margin:8px 0 16px}.trade-supply>summary{cursor:pointer;margin:0 20px 10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-weight:700;color:var(--muted)}.trade-supply>summary span{font-weight:400}.trade-supply[open]>summary{color:inherit}
@media(max-width:700px){.trade-supply>summary{margin:0 12px 10px}}
