/* THUMOS game_app — reskinned to match Funnel A landing (dark void · violet+cyan · Geist). */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --void:#080911;--void-2:#0D0F1A;--text:#EAEDF6;--text-2:#A6ABC2;--text-3:#878DA8;
  --glass:rgba(255,255,255,.04);--glass-2:rgba(255,255,255,.06);--brd:rgba(255,255,255,.09);--brd-2:rgba(255,255,255,.15);
  --cyan:#3AD7E8;--violet:#8E7BF6;--gold:#E8C45C;--rose:#E8709C;--green:#3ED66B;--blue:#5E8FA8;
  --disp:'Geist',sans-serif;--mono:'Space Mono',monospace;--sans:'Geist',sans-serif;
}
html,body{height:100%}
html{color-scheme:dark}   /* native <select> dropdowns + scrollbars render dark, not white */
body{background:var(--void);color:var(--text);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden;line-height:1.5}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(40% 32% at 12% 0%,rgba(142,123,246,.14),transparent 60%),
  radial-gradient(38% 30% at 94% 2%,rgba(58,215,232,.10),transparent 62%),var(--void)}
::selection{background:var(--violet);color:var(--void)}
.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}

/* ── portal top bar (was .hud) ── */
.hud{display:flex;align-items:center;gap:14px;padding:13px 22px;border-bottom:1px solid var(--brd);background:rgba(255,255,255,.015)}
.sigil{font-family:var(--disp);font-weight:700;font-size:18px;letter-spacing:-.02em}.sigil .t{color:var(--violet)}
.rank{display:flex;align-items:center;gap:9px;padding:5px 11px;background:var(--glass);border:1px solid var(--brd);border-radius:9px}
.belt{width:22px;height:7px;border-radius:3px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.rank .who{font-family:var(--disp);font-size:14px;font-weight:600;line-height:1}
.rank .grade{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--violet);text-transform:uppercase}
.stats{margin-left:auto;display:flex;gap:8px;align-items:center}
.stat{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:5px 10px;background:var(--glass);border:1px solid var(--brd);border-radius:9px}
.stat .v{font-family:var(--mono);font-weight:700;font-size:14px;color:var(--cyan);line-height:1}
.stat .l{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;margin-top:3px}
.stat.flame .v{color:var(--gold)}
.meters{display:flex;flex-direction:column;gap:4px;justify-content:center;padding:5px 10px;background:var(--glass);border:1px solid var(--brd);border-left:2px solid var(--violet);border-radius:9px}
.meter{display:flex;align-items:center;gap:6px}
.meter .ml{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);width:58px}
.meter .mb{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;min-width:46px}
.meter .mb i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan))}
.meter .mv{font-family:var(--mono);font-size:8px;color:var(--cyan)}
.squadtag{display:flex;flex-direction:column;gap:2px;justify-content:center;padding:5px 11px;background:var(--glass);border:1px solid var(--brd);border-radius:9px}
.squadtag .l{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase}
.squadtag .v{font-family:var(--disp);font-size:14px;font-weight:600}

/* ── tab bar (was .topnav) ── */
.topnav{display:flex;align-items:center;gap:2px;padding:0 14px;border-bottom:1px solid var(--brd);background:rgba(255,255,255,.012)}
.topnav a{padding:12px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.topnav a:hover{color:var(--text-2)}
.topnav a.on{color:var(--violet);border-bottom-color:var(--violet)}
.topnav .spacer{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--text-3);letter-spacing:.08em;padding-right:6px}

/* ── grid ── */
.grid{display:grid;grid-template-columns:230px 1fr 248px;flex:1;min-height:0}
.rail{padding:14px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.rail.left{border-right:1px solid var(--brd)}
.rail.right{border-left:1px solid var(--brd)}
.center{position:relative;overflow-y:auto;display:flex;flex-direction:column}

.card{background:var(--glass);border:1px solid var(--brd);border-radius:13px;overflow:hidden}
.card-h{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding:10px 13px;border-bottom:1px solid var(--brd);display:flex;align-items:center;justify-content:space-between}
.card-h .pip{color:var(--violet)}
.card-b{padding:12px 13px}
.rite{border-color:rgba(142,123,246,.25)}.rite .card-h{color:var(--violet);border-bottom-color:rgba(142,123,246,.2)}
.rite-line{font-family:var(--mono);font-size:11px;background:rgba(0,0,0,.25);border:1px solid var(--brd);border-radius:6px;padding:7px 9px;margin-bottom:7px}.rite-line .k{color:var(--violet)}
.btn{display:block;width:100%;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:9px;border:none;border-radius:8px;cursor:pointer;background:linear-gradient(180deg,#9A86FF,#6E54D8);color:#0A0716;transition:filter .15s}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border:1px solid var(--brd-2);color:var(--violet)}
.quest{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.quest:last-child{border-bottom:none}
.q-ico{flex:none;width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;background:var(--glass);border:1px solid var(--brd)}
.q-name{font-size:11.5px;font-weight:600;line-height:1.25}.q-meta{font-family:var(--mono);font-size:9px;color:var(--text-3);margin-top:2px}.q-bet{font-family:var(--mono);font-size:9px;color:var(--cyan)}

/* ── Colosseum (Believe/Doubt market rows) ── */
.board{padding:18px 20px;overflow-y:auto}
.board-head{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}
.board-title{font-family:var(--disp);font-size:22px;font-weight:700;letter-spacing:-.03em}
.board-sub{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--text-3);text-transform:uppercase}
.board-tabs{display:flex;gap:4px;margin:14px 0 14px}
.board-tabs b{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:7px 12px;border:1px solid var(--brd);border-radius:8px;cursor:pointer}
.board-tabs b.on{color:var(--violet);border-color:rgba(142,123,246,.4);background:rgba(142,123,246,.1)}
.pm-list{display:flex;flex-direction:column}
.pm-row{display:flex;align-items:center;gap:13px;padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.05)}
.pm-row:last-child{border-bottom:none}
.pm-row.you{background:rgba(232,196,92,.05);border:1px solid rgba(232,196,92,.18);border-radius:11px;padding:13px 12px;margin-bottom:6px}
.pm-av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2c2a48,#181a28);border:1px solid var(--brd-2);flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:var(--text-2)}
.pm-mid{flex:1;min-width:0}
.pm-who{font-family:var(--mono);font-size:11px;color:var(--text-3)}
.pm-q{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:-.02em;margin-top:2px}
.pm-pct{text-align:center;white-space:nowrap;min-width:62px}
.pm-pct .n{font-family:var(--disp);font-weight:700;font-size:19px}
.pm-pct .l{font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);display:block;margin-top:2px}
.pm-stakes{display:flex;gap:6px}
.pm-btn{font-family:var(--mono);font-size:11px;font-weight:700;padding:8px 12px;border-radius:8px;border:1px solid;cursor:pointer;white-space:nowrap;transition:transform .12s}
.pm-btn:hover{transform:translateY(-1px)}
.pm-btn.back{color:var(--cyan);border-color:rgba(58,215,232,.35);background:rgba(58,215,232,.08)}
.pm-btn.fade{color:var(--rose);border-color:rgba(232,112,156,.35);background:rgba(232,112,156,.08)}
.pm-btn.you{color:var(--gold);border-color:rgba(232,196,92,.35);background:rgba(232,196,92,.08)}
/* colo control bar + staking */
.colo-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 14px;font-family:var(--mono);font-size:11px;color:var(--text-3)}
.colo-bal{color:var(--text-2)}.colo-bal b{color:var(--gold);font-size:14px}
.stake-sizes{display:flex;align-items:center;gap:5px;letter-spacing:.04em;text-transform:uppercase;font-size:9px}
.stake-sizes b{font-family:var(--mono);font-size:11px;color:var(--text-3);padding:4px 9px;border:1px solid var(--brd);border-radius:7px;cursor:pointer}
.stake-sizes b.on{color:var(--cyan);border-color:rgba(58,215,232,.4);background:rgba(58,215,232,.1)}
.colo-line{margin-left:auto;color:var(--violet);cursor:pointer;letter-spacing:.04em}
.colo-reset{color:var(--text-3);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-size:9px}
.create-form{display:flex;gap:8px;margin:0 0 14px;align-items:center}
.create-form input{font-family:var(--sans);font-size:13px;background:rgba(0,0,0,.25);border:1px solid var(--brd);border-radius:9px;padding:10px 12px;color:var(--text)}
.create-form input:focus{outline:none;border-color:var(--violet)}
.create-form #cfQuest{flex:1}.create-form #cfStake{width:80px;font-family:var(--mono)}
.create-form .pm-btn{padding:10px 14px}
.pm-mineline{margin-top:4px;display:flex;gap:8px}
.pm-mine{font-family:var(--mono);font-size:9px;letter-spacing:.04em;padding:2px 7px;border-radius:6px}
.pm-mine.believe{color:var(--cyan);background:rgba(58,215,232,.1)}.pm-mine.doubt{color:var(--rose);background:rgba(232,112,156,.1)}
.pm-settle{display:flex;gap:4px;margin-left:8px}
.pm-settle span{width:22px;height:22px;border-radius:6px;border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-3);cursor:pointer}
.pm-settle span[data-out="hit"]:hover{color:var(--green);border-color:rgba(62,214,107,.4)}
.pm-settle span[data-out="miss"]:hover{color:var(--rose);border-color:rgba(232,112,156,.4)}
.pm-result{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;padding:6px 11px;border-radius:8px}
.pm-result.hit{color:var(--green);background:rgba(62,214,107,.1);border:1px solid rgba(62,214,107,.3)}
.pm-result.miss{color:var(--rose);background:rgba(232,112,156,.1);border:1px solid rgba(232,112,156,.3)}

/* ── views ── */
.view{display:none}.view.on{display:flex;flex-direction:column;flex:1;min-height:0}
.stub{padding:60px 30px;text-align:center;margin:auto}.stub .big{font-family:var(--disp);font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--text-2)}.stub .small{font-family:var(--mono);font-size:10px;color:var(--text-3);margin-top:10px;letter-spacing:.04em}

/* ── The Path (skill tree) ── */
.path{padding:16px 18px;display:flex;flex-direction:column;flex:1;min-height:0}
.path-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}
.path-title{font-family:var(--disp);font-size:21px;font-weight:700;letter-spacing:-.03em}
.path-sub{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--text-3);text-transform:uppercase}
.path-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.path-tabs b{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:6px 12px;border:1px solid var(--brd);border-radius:8px;cursor:pointer}
.path-tabs b.on{color:var(--violet);border-color:rgba(142,123,246,.4);background:rgba(142,123,246,.1)}
.path-tabs b.zoom{margin-left:auto;color:var(--cyan);border-color:rgba(58,215,232,.3)}
.tree{flex:1;min-height:0;position:relative}.tree svg{width:100%;height:100%}
.tnode .nm{font-family:var(--disp);font-size:12px;font-weight:600;fill:var(--text)}
.tnode{cursor:default}
.tn-done{fill:var(--cyan)}.tn-active{fill:var(--violet)}
.tn-next{fill:#15141f;stroke:var(--brd-2);stroke-width:2;stroke-dasharray:2 3}
.tn-locked{fill:#15141f;stroke:var(--brd);stroke-width:2}
.tedge{stroke:var(--brd);stroke-width:1.6;fill:none}.tedge.lit{stroke:var(--violet);opacity:.7}
.gen{font-family:var(--mono);font-size:7px;fill:var(--gold);letter-spacing:.05em}

/* generator */
.gen-strip{border-top:1px solid var(--brd);padding:11px 2px 2px;margin-top:4px}
.genbtn{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:9px 16px;border:none;border-radius:8px;cursor:pointer;background:linear-gradient(180deg,#9A86FF,#6E54D8);color:#0A0716}
.genbtn:hover{filter:brightness(1.08)}.genbtn:disabled{opacity:.6;cursor:wait}
.gen-results{display:flex;gap:10px;margin-top:11px;flex-wrap:wrap}
.gen-card{flex:1;min-width:210px;max-width:300px;background:var(--glass);border:1px solid rgba(142,123,246,.25);border-top:2px solid var(--violet);border-radius:11px;padding:12px 13px}
.gen-card .gc-h{display:flex;justify-content:space-between;align-items:baseline}
.gen-card .gc-name{font-family:var(--disp);font-size:15px;font-weight:600;letter-spacing:-.02em}
.gen-card .gc-diff{font-family:var(--mono);font-size:8px;color:var(--violet)}
.gen-card .gc-quest{font-size:12px;color:var(--text);line-height:1.45;margin:5px 0 6px}
.gen-card .gc-why{font-family:var(--mono);font-size:9px;color:var(--text-3);line-height:1.45;border-left:2px solid var(--brd-2);padding-left:7px}
.gen-card .gc-add{margin-top:9px;width:100%;font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px;border:1px solid var(--brd-2);background:transparent;color:var(--cyan);border-radius:7px;cursor:pointer}
.gen-meta{font-family:var(--mono);font-size:8.5px;color:var(--text-3);letter-spacing:.04em;margin-top:9px}.gen-meta b{color:var(--gold)}

/* Metatron map (zoom-out) — surrounding chrome dark; SVG keeps its geometry colors */
.map{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}
.map-head{display:flex;align-items:center;gap:12px;padding:8px 4px 4px}
.map-title{font-family:var(--disp);font-size:18px;font-weight:700;letter-spacing:-.02em}
.map-sub{font-family:var(--mono);font-size:9px;letter-spacing:.05em;color:var(--text-3);text-transform:uppercase}
.viewtoggle{margin-left:auto;display:flex;gap:3px}
.viewtoggle b{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:5px 10px;border:1px solid var(--brd);border-radius:6px;cursor:pointer}
.viewtoggle b.on{color:var(--violet);border-color:rgba(142,123,246,.4);background:rgba(142,123,246,.1)}
.map-svg{flex:1;width:100%}
.map.view-flower #seedLayer{opacity:.55}.map.view-flower .latticeGrp{opacity:.18}
.map.view-metatron #seedLayer{opacity:.16}.map.view-metatron .latticeGrp{opacity:1}
#seedLayer,.latticeGrp{transition:opacity .4s}
.rlab{font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer}
.nlab{font-family:var(--mono);font-size:8.5px;fill:var(--text-3)}.nlab.on{fill:var(--gold);font-weight:700}
.realm-hit{cursor:pointer}.realm-hit:hover circle{stroke:var(--violet);stroke-width:2.5}
.legend{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:4px 10px 10px;font-family:var(--mono);font-size:8.5px;letter-spacing:.03em;color:var(--text-3);text-transform:uppercase}
.legend span{display:flex;align-items:center;gap:5px}.lg{width:9px;height:9px;border-radius:50%}

/* right rail detail + bet */
.detail .card-h{color:var(--violet)}
.detail h4{font-family:var(--disp);font-size:17px;font-weight:700;letter-spacing:-.02em;margin-bottom:2px}
.detail .tri{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}
.detail .blurb{font-size:11px;color:var(--text-2);line-height:1.55;margin-bottom:11px}
.dnode{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:11.5px}.dnode:last-child{border-bottom:none}
.dnode .ds{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;margin-left:auto;padding:2px 6px;border-radius:4px;border:1px solid}
.ds.done{color:var(--green);border-color:rgba(62,214,107,.4)}.ds.active{color:#0A0716;background:var(--violet);border-color:var(--violet)}.ds.next{color:var(--cyan);border-color:rgba(58,215,232,.4)}.ds.locked{color:var(--text-3);border-color:var(--brd)}
.bet{border-color:rgba(232,196,92,.25)}.bet .card-h{color:var(--gold)}
.stake{display:flex;align-items:baseline;gap:6px;margin:2px 0 8px}.stake .n{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--gold)}.stake .u{font-family:var(--mono);font-size:9px;color:var(--text-3)}
.odds{font-family:var(--mono);font-size:9.5px;color:var(--text-3);line-height:1.55;margin-bottom:9px}.odds b{color:var(--text)}

@media(max-width:1000px){.grid{grid-template-columns:1fr}.rail{display:none}}

/* ═══ League-style client shell (overrides) ═══ */
.topbar{display:flex;align-items:center;gap:18px;padding:10px 18px;border-bottom:1px solid var(--brd);background:rgba(255,255,255,.02)}
.playbtn{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:-.02em;color:#0A0716;background:linear-gradient(180deg,#9A86FF,#6E54D8);border:none;border-radius:11px;padding:8px 22px;cursor:pointer;box-shadow:0 6px 20px -8px rgba(142,123,246,.6);transition:transform .15s,box-shadow .2s}
.playbtn:hover{transform:translateY(-1px);box-shadow:0 10px 28px -8px rgba(142,123,246,.85)}
.playbtn span{font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;opacity:.72}
.topbar .topnav{display:flex;align-items:center;gap:2px;padding:0;border:none;background:none}
.topbar .topnav a{padding:10px 15px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);cursor:pointer;border-radius:8px;border:none;margin:0}
.topbar .topnav a:hover{color:var(--text-2)}
.topbar .topnav a.on{color:var(--violet);background:rgba(142,123,246,.1)}
.profile{margin-left:auto;display:flex;align-items:center;gap:11px}
.prof-row{display:flex;align-items:center;gap:9px;justify-content:flex-end}
.prof-lvl{font-family:var(--disp);font-weight:700;font-size:14px}
.prof-rank{font-family:var(--mono);font-size:10px;color:var(--violet);background:rgba(142,123,246,.1);border:1px solid rgba(142,123,246,.3);padding:2px 8px;border-radius:6px}
.prof-kleos{font-family:var(--mono);font-size:10px;color:var(--text-3);margin-top:3px;text-align:right}.prof-kleos b{color:var(--gold)}
.prof-av{width:38px;height:38px;border-radius:10px;background:linear-gradient(155deg,#54E6F2,#7C5CC4);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:16px;color:#06121A}
.prof-av.has-pfp{background-size:cover;background-position:center;background-repeat:no-repeat}
.prof-name{font-family:var(--disp);font-weight:700;font-size:14px;margin-right:2px}
.logout{font-family:var(--mono);font-size:16px;color:var(--text-3);cursor:pointer;padding:4px 6px;border-radius:6px}
.logout:hover{color:var(--rose);background:rgba(232,112,156,.08)}

.bodywrap{display:grid;grid-template-columns:1fr 292px;flex:1;min-height:0}
.center{position:relative;overflow-y:auto;display:flex;flex-direction:column;min-width:0}

.social{border-left:1px solid var(--brd);background:rgba(255,255,255,.012);display:flex;flex-direction:column;min-height:0}
.soc-head{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:14px 16px 9px}.soc-head b{color:var(--green)}
.friends{padding:0 10px 10px;overflow-y:auto;max-height:36%}
.fr{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:9px;cursor:pointer}.fr:hover{background:rgba(255,255,255,.03)}.fr.off{opacity:.5}
.fr-av{position:relative;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#2c2a48,#181a28);border:1px solid var(--brd-2);flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;color:var(--text-2)}
.fr-av .dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;border:2px solid var(--void)}
.dot.on{background:var(--green)}.dot.idle{background:var(--gold)}.dot.off{background:var(--text-3)}
.fr-name{font-size:12.5px;font-weight:600}.fr-st{font-family:var(--mono);font-size:9px;color:var(--text-3);margin-top:1px}

.chat{flex:1;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--brd)}
.chat-chans{display:flex;gap:4px;padding:10px 12px 8px}
.chan{font-family:var(--mono);font-size:10px;color:var(--text-3);padding:4px 9px;border-radius:7px;cursor:pointer}.chan.on{color:var(--cyan);background:rgba(58,215,232,.1)}
.chat-log{flex:1;overflow-y:auto;padding:6px 12px;display:flex;flex-direction:column;gap:11px}
.m-who{font-size:12px;font-weight:700}.m-t{font-family:var(--mono);font-size:9px;color:var(--text-3);margin-left:7px}
.m-b{font-size:12.5px;color:var(--text-2);margin-top:2px;line-height:1.4}
.chat-in{display:flex;gap:7px;padding:10px 12px;border-top:1px solid var(--brd)}
.chat-in input{flex:1;font-family:var(--sans);font-size:12.5px;background:rgba(0,0,0,.25);border:1px solid var(--brd);border-radius:9px;padding:9px 11px;color:var(--text)}
.chat-in input:focus{outline:none;border-color:var(--violet)}
.chat-in button{width:38px;border:1px solid rgba(255,255,255,.14);border-radius:0;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s,color .12s,border-color .12s}

.chal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:6px}
.chal{background:var(--glass);border:1px solid var(--brd);border-radius:12px;padding:14px}.chal.active{border-color:rgba(142,123,246,.3)}
.chal-tag{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}
.chal-name{font-family:var(--disp);font-weight:600;font-size:16px;letter-spacing:-.02em;margin:6px 0 8px}
.chal-bar{height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;margin-bottom:8px}.chal-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.chal-meta{font-family:var(--mono);font-size:10px;color:var(--text-3)}

.hist{display:flex;flex-direction:column;margin-top:6px}
.hist-row{display:flex;align-items:center;gap:13px;padding:12px 6px;border-bottom:1px solid rgba(255,255,255,.05)}.hist-row:last-child{border-bottom:none}
.hist-out{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;padding:5px 9px;border-radius:7px;min-width:54px;text-align:center}
.hist-row.win .hist-out{color:var(--green);background:rgba(62,214,107,.1);border:1px solid rgba(62,214,107,.3)}
.hist-row.loss .hist-out{color:var(--rose);background:rgba(232,112,156,.1);border:1px solid rgba(232,112,156,.3)}
.hist-mid{flex:1}.hist-q{font-size:13.5px;font-weight:600}.hist-sub{font-family:var(--mono);font-size:9.5px;color:var(--text-3);margin-top:1px}
.hist-d{font-family:var(--mono);font-size:11px;color:var(--text-2);white-space:nowrap}.hist-t{font-family:var(--mono);font-size:9.5px;color:var(--text-3);min-width:62px;text-align:right}

.rank-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.rank-h{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:0 4px 10px;display:flex;align-items:baseline;gap:8px}.rank-h span{font-size:9px;color:var(--text-3);margin-left:auto;text-transform:none;letter-spacing:0}
.rank-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.05)}
.rank-row.me{background:rgba(142,123,246,.07);border:1px solid rgba(142,123,246,.2);border-radius:9px}
.rk{font-family:var(--mono);font-size:11px;color:var(--text-3);width:20px}
.rk-av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#2c2a48,#181a28);border:1px solid var(--brd-2);flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;color:var(--text-2)}
.rk-name{flex:1;font-size:12.5px;font-weight:600}.rk-tier{font-family:var(--mono);font-size:9.5px;color:var(--text-3);margin-left:6px;font-weight:400}
.rk-mmr{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--cyan)}
.rank-note{font-family:var(--mono);font-size:10px;color:var(--text-3);text-align:center;margin-top:16px;line-height:1.5}.rank-note b{color:var(--text)}
/* ── The Feed (post = the daily rite) ── */
.feed-compose{display:flex;gap:14px;margin:14px 0 4px;background:var(--glass);border:1px solid rgba(142,123,246,.22);border-radius:13px;padding:13px}
.fc-drop{position:relative;flex:none;width:128px;height:128px;border-radius:11px;border:1px dashed var(--brd-2);background:rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;overflow:hidden;transition:border-color .15s}
.fc-drop:hover{border-color:var(--violet)}
.fc-plus{font-family:var(--disp);font-size:26px;font-weight:300;color:var(--violet);line-height:1}
.fc-droptext{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.fc-prev{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fc-drop.has-photo{border-style:solid;border-color:rgba(58,215,232,.4)}
.fc-drop.has-photo .fc-prev{display:block}
.fc-drop.has-photo .fc-plus,.fc-drop.has-photo .fc-droptext{display:none}
.fc-compose-right{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}
.fc-compose-right textarea{flex:1;min-height:74px;resize:none;font-family:var(--sans);font-size:13.5px;line-height:1.5;background:rgba(0,0,0,.25);border:1px solid var(--brd);border-radius:10px;padding:11px 13px;color:var(--text)}
.fc-compose-right textarea:focus{outline:none;border-color:var(--violet)}
.fc-compose-bar{display:flex;align-items:center;gap:12px}
.fc-hint{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);flex:1}
.fc-hint.err{color:var(--rose)}
.fc-compose-bar .btn{width:auto;padding:10px 22px}
.fc-compose-bar .btn:disabled{opacity:.55;cursor:wait}

.feed-list{display:flex;flex-direction:column;gap:14px;margin-top:6px;padding-bottom:20px}
.feed-card{background:var(--glass);border:1px solid var(--brd);border-radius:13px;overflow:hidden}
.fc-head{display:flex;align-items:center;gap:11px;padding:12px 14px}
.fc-av{width:36px;height:36px;border-radius:50%;flex:none;background:linear-gradient(135deg,#2c2a48,#181a28);border:1px solid var(--brd-2);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:14px;color:var(--text-2)}
.fc-meta{flex:1;min-width:0}
.fc-name{font-family:var(--disp);font-size:14px;font-weight:700;letter-spacing:-.01em}
.fc-name .fc-you{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(232,196,92,.4);border-radius:5px;padding:1px 5px;margin-left:6px;vertical-align:middle}
.fc-sub{font-family:var(--mono);font-size:9.5px;color:var(--text-3);margin-top:2px}
.fc-witness{color:var(--green)}
.fc-follow{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.04em;color:var(--cyan);border:1px solid rgba(58,215,232,.35);background:rgba(58,215,232,.08);border-radius:8px;padding:6px 12px;cursor:pointer;white-space:nowrap;transition:transform .12s}
.fc-follow:hover{transform:translateY(-1px)}
.fc-follow.on{color:var(--text-3);border-color:var(--brd);background:transparent}
.fc-photo-wrap{background:#05060c;line-height:0;max-height:520px;overflow:hidden;display:flex;justify-content:center}
.fc-img{width:100%;object-fit:cover;background:#05060c}
.fc-cap{padding:12px 14px 4px;font-size:13.5px;line-height:1.5;color:var(--text)}
.fc-foot{display:flex;align-items:center;gap:12px;padding:11px 14px 13px}
.fc-react{font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--text-3);border:1px solid var(--brd);background:transparent;border-radius:8px;padding:6px 12px;cursor:pointer;transition:transform .12s}
.fc-react:hover{transform:translateY(-1px);color:var(--text-2)}
.fc-react b{margin-left:4px}
.fc-react.on{color:var(--gold);border-color:rgba(232,196,92,.4);background:rgba(232,196,92,.08)}
.fc-time{margin-left:auto;font-family:var(--mono);font-size:9.5px;color:var(--text-3)}
.feed-empty{padding:56px 30px;text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--text-3);letter-spacing:.04em;line-height:1.7}

@media(max-width:1000px){.bodywrap{grid-template-columns:1fr}.social{display:none}.feed-compose{flex-direction:column}.fc-drop{width:100%;height:160px}}

/* ═══ HOME view (the redesign port) ═══ */
.home{display:grid;grid-template-columns:300px 1fr 320px;gap:14px;padding:16px;flex:1;min-height:0;overflow-y:auto}
.home-col{display:flex;flex-direction:column;gap:14px;min-height:0}
.home-center{align-items:center}
.hcard{background:var(--glass);border:1px solid var(--brd);border-radius:13px;padding:14px}
.hcard-h{font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:-.02em;margin-bottom:11px;display:flex;align-items:baseline;gap:8px}
.hcard-sub{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
/* daily rite (two-phase) */
.rite-card{border-color:rgba(142,123,246,.25)}
.rite-step{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--violet);margin:8px 0 6px}
.rite-vow{width:100%;font-family:var(--sans);font-size:13px;background:rgba(0,0,0,.25);border:1px solid var(--brd);border-radius:9px;padding:10px 11px;color:var(--text)}
.rite-vow:focus,.rite-cap:focus{outline:none;border-color:var(--violet)}
.rite-mini{font-family:var(--mono);font-size:8.5px;color:var(--text-3);margin-top:5px}
.rite-state{padding:4px 0 12px;margin-bottom:6px;border-bottom:1px solid var(--brd)}
.rite-mark{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid rgba(62,214,107,.55);color:var(--green);font-size:8px;margin-right:6px;transform:translateY(-1px)}
.rite-state .rite-state-label{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.rite-state .rite-state-vow{font-family:var(--sans);font-size:13.5px;line-height:1.3;color:var(--text);margin-top:6px;font-weight:600}
.rite-state .rite-state-sub{font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;color:var(--text-3);margin-top:6px}
.rite-setbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}
.rite-set{width:auto!important;padding:7px 14px!important;font-size:9px}
.fc-pending{color:var(--gold)}
.rite-seal-wrap{margin-top:6px;border-top:1px solid var(--brd);padding-top:8px}
#riteDrop{width:100%;height:130px;margin-bottom:8px}
.rite-cap{width:100%;min-height:44px;resize:none;font-family:var(--sans);font-size:12.5px;background:rgba(0,0,0,.25);border:1px solid var(--brd);border-radius:9px;padding:9px 11px;color:var(--text)}
.rite-bar{display:flex;align-items:center;gap:10px;margin-top:8px}
.rite-bar .btn{width:auto;padding:9px 18px}.rite-bar .btn:disabled{opacity:.55;cursor:wait}
/* active quests */
.hq{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.hq:last-child{border-bottom:none}
.hq-n{font-size:12.5px;font-weight:600}
.hq-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}
.hq-realm{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.hq-lock{font-family:var(--mono);font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);cursor:pointer;padding:2px 6px;border:1px solid var(--brd);border-radius:5px;white-space:nowrap}
.hq-lock:hover{color:var(--text-2);border-color:var(--brd-2)}
.hq.shadow{border-left:2px solid var(--violet);padding-left:9px;margin-left:-2px}
.hq.shadow .hq-lock{color:var(--violet);border-color:rgba(142,123,246,.4);background:rgba(142,123,246,.08)}
/* centerpiece — TWO avatars (the Idealized Selves), each in its own scene-stage */
.home-center .hcard{width:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.cp-pair{display:flex;gap:16px;flex:1;width:100%;min-height:0}
.cp-slot{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}
.cp-stage{width:100%;flex:1;min-height:300px;border:1px solid var(--brd-2);border-radius:16px;
  background:radial-gradient(60% 45% at 50% 16%,rgba(142,123,246,.16),transparent 60%),radial-gradient(55% 40% at 50% 100%,rgba(58,215,232,.12),transparent 65%),rgba(0,0,0,.24);
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;position:relative}
.cp-stage::after{content:"set your scene ＋";position:absolute;top:9px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:8px;letter-spacing:.06em;color:var(--text-3);text-transform:uppercase;opacity:.6}
.cp-figure{width:96px;height:72%;border-radius:48px 48px 20px 20px;background:linear-gradient(180deg,#2c2a48,#15141f);position:relative;margin-bottom:8%}
.cp-figure::before{content:"";position:absolute;top:-8%;left:50%;transform:translate(-50%,-100%);width:52px;height:52px;border-radius:50%;background:linear-gradient(180deg,#2c2a48,#15141f)}
.cp-mv{position:absolute;inset:0;width:100%;height:100%;display:none;background:transparent;--poster-color:transparent}
.cp-stage.has-avatar .cp-mv{display:block}
.cp-stage.has-avatar .cp-ph{display:none}
.cp-create{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--cyan);background:rgba(8,9,17,.7);border:1px solid rgba(58,215,232,.4);border-radius:8px;padding:7px 12px;cursor:pointer;backdrop-filter:blur(4px);transition:transform .12s}
.cp-create:hover{transform:translateX(-50%) translateY(-1px);background:rgba(58,215,232,.12)}
/* RPM creator overlay */
.rpm-overlay{display:none;position:fixed;inset:0;z-index:100;background:rgba(4,5,10,.82);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:24px}
.rpm-overlay.on{display:flex}
.rpm-box{width:100%;max-width:520px;height:86vh;background:var(--void-2);border:1px solid var(--brd-2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.rpm-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--brd);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.rpm-close{font-family:var(--mono);font-size:14px;color:var(--text-3);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:6px}
.rpm-close:hover{color:var(--rose);background:rgba(232,112,156,.1)}
.rpm-frame{flex:1;width:100%;border:none;background:var(--void-2)}
/* avatar picker */
.pick-box{max-width:680px;height:auto;max-height:86vh}
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:14px;overflow-y:auto}
.pick-tile{border:1px solid var(--brd);border-radius:11px;background:radial-gradient(60% 50% at 50% 18%,rgba(142,123,246,.12),transparent 60%),rgba(0,0,0,.28);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .12s}
.pick-tile:hover{border-color:var(--violet);transform:translateY(-2px)}
.pick-tile model-viewer{width:100%;height:150px;background:transparent}
.pick-tile span{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--text-2);text-align:center;padding:7px;border-top:1px solid var(--brd)}
.pick-note{font-family:var(--mono);font-size:9px;color:var(--text-3);text-align:center;padding:0 14px 14px}
.cp-name{font-family:var(--disp);font-weight:700;font-size:14px;letter-spacing:-.02em;color:var(--text)}
.cp-traits{font-family:var(--mono);font-size:9px;color:var(--text-3);text-align:center;line-height:1.5}
.cp-cap{font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:-.02em;color:var(--text)}
.cp-sub{font-family:var(--mono);font-size:9px;color:var(--text-3);letter-spacing:.04em;text-align:center}
.cp-forge{display:block;margin:2px auto 0;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid rgba(142,123,246,.4);border-radius:11px;padding:9px 18px;cursor:pointer;color:var(--violet);
  background:rgba(142,123,246,.1);transition:background .15s,transform .12s}
.cp-forge:hover{background:rgba(142,123,246,.2);transform:translateY(-1px)}
.cp-empty{grid-column:1/-1;text-align:center;font-family:var(--disp);font-size:14px;color:var(--text-2);line-height:1.7;padding:30px 12px}
.cp-empty span{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:.04em}
/* cumulative */
.cum-donut{width:120px;height:120px;border-radius:50%;margin:0 auto 4px;position:relative;display:flex;align-items:center;justify-content:center}
.cum-donut::after{content:"";position:absolute;inset:17px;border-radius:50%;background:var(--void-2)}
.cum-donut span{position:relative;z-index:1;font-family:var(--disp);font-weight:700;font-size:22px}
.cum-sub{text-align:center;font-family:var(--mono);font-size:8.5px;color:var(--text-3);margin-bottom:10px}
.cum-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;padding:7px 2px;border-bottom:1px solid rgba(255,255,255,.05)}
.cum-row b{color:var(--text)}.cum-row:last-child{border-bottom:none}
/* consistency bars */
.cons-bars{display:flex;flex-direction:column;gap:6px}
.cons-brow{display:flex;align-items:center;gap:8px}
.cons-blabel{font-family:var(--mono);font-size:9px;color:var(--text-3);width:24px;text-transform:uppercase;flex:none}
.cons-btrack{flex:1;height:14px;background:rgba(0,0,0,.28);border-radius:3px;display:flex;overflow:hidden}
.cons-bseg{height:100%}
.cons-bval{font-family:var(--mono);font-size:9px;color:var(--text-2);width:20px;text-align:right;flex:none}
.cons-legend{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:11px;font-family:var(--mono);font-size:8px;color:var(--text-3)}
.cons-legend span{display:flex;align-items:center;gap:4px}.cons-legend i{width:8px;height:8px;border-radius:2px}
/* Home: Becoming is the hero, the living avatar shrinks to a small element */
.home-center{align-items:stretch}
.home-center .hcard{flex:none;align-items:stretch;justify-content:flex-start;gap:0}
.bcm-grid-home{grid-template-columns:1fr;gap:12px;margin-top:12px}
.bcm-grid-home .bcm-poster{min-height:154px}
.cp-mini .cp-pair{flex:none;min-height:0;gap:12px}
.cp-mini .cp-stage{flex:none;min-height:0;height:150px}
.cp-mini-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}
.cp-mini-bar .cp-cap{font-size:11px}
.cp-mini .cp-forge{margin:0;font-size:9px;padding:7px 13px;white-space:nowrap}

@media(max-width:1000px){.home{grid-template-columns:1fr}}

/* ── sharper edges (kill the soft bubbles) ── */
.hcard,.card,.bcm-card,.feed-card,.chal,.rank-col,.pick-tile{border-radius:7px}
.btn,.pm-btn,.goal-sel,.goal-num,.rite-vow,.rite-cap,.goal-form input,.create-form input{border-radius:5px}

/* ── Home launcher ── */
.launcher{padding:18px 20px;width:100%}
.lch-greet{display:flex;align-items:baseline;gap:12px;margin-bottom:28px}
.lch-hi{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:-.03em;color:var(--text)}.lch-hi b{color:var(--violet)}
.lch-greet-sub{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.lch-hero{display:grid;grid-template-columns:1fr 360px;gap:16px;margin-bottom:26px}
.lch-hero-rite{display:flex}
.lch-hero-rite .rite-card{width:100%}
.ts-days b{color:var(--text)}.ts-streak b{color:var(--gold)}
.lch-hero-main{position:relative;min-height:288px;border:1px solid var(--brd);border-radius:7px;overflow:hidden;display:flex}
.lhm-poster{position:absolute;inset:0;background-size:cover;background-position:center 20%}
.lhm-body{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:26px}
.lhm-tag{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px}
.lhm-name{font-family:var(--disp);font-weight:800;font-size:34px;line-height:1.02;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.75)}
.lhm-desc{font-family:var(--sans);font-size:13px;color:var(--text-2);line-height:1.45;margin-top:11px;max-width:440px}
.lhm-meter{display:flex;align-items:center;gap:10px;margin-top:17px;max-width:360px}
.lhm-bar{flex:1;height:6px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden}.lhm-bar i{display:block;height:100%;border-radius:2px}
.lhm-meter span{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);white-space:nowrap}
.lhm-actions{display:flex;align-items:center;gap:14px;margin-top:18px}
.lhm-cta{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:11px 22px;border:none;border-radius:5px;background:linear-gradient(180deg,#9A86FF,#6E54D8);color:#0A0716;cursor:pointer}.lhm-cta:hover{filter:brightness(1.08)}
.lhm-sub{font-family:var(--mono);font-size:9px;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase}
.lch-hero-av{border:1px solid var(--brd);border-radius:7px;background:var(--glass);display:flex;flex-direction:column;padding:12px}
.lch-hero-av .cp-pair{flex:1;min-height:206px}
.cp-av-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.cp-av-bar .cp-cap{font-size:10px}
.lch-hero-av .cp-forge{margin:0;font-size:9px;padding:6px 12px}
.lch-sec-h{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin:0 0 13px;display:flex;align-items:baseline;gap:8px}.lch-sec-h span{font-size:8.5px;color:var(--text-3)}
.lch-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.lch-card{position:relative;min-height:186px;border:1px solid var(--brd);border-radius:7px;overflow:hidden;background-size:cover;background-position:center 20%;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;transition:border-color .15s,transform .12s}
.lch-card:hover{transform:translateY(-2px)}
.lch-card.on{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet)}
.lch-card-top{position:absolute;top:10px;left:12px;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.lch-card-b{position:relative;padding:12px 14px}
.lch-card-name{font-family:var(--disp);font-weight:700;font-size:15px;color:#fff;line-height:1.1;text-shadow:0 1px 8px rgba(0,0,0,.75)}
.lch-card-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.16);overflow:hidden;margin-top:9px}.lch-card-bar i{display:block;height:100%;border-radius:2px}
.lch-card-meta{font-family:var(--mono);font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);margin-top:6px}
.lch-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.lch-stat{border:1px solid var(--brd);border-radius:7px;background:var(--glass);padding:15px 16px}
.lst-v{font-family:var(--disp);font-weight:800;font-size:21px;color:var(--text);line-height:1}
.lst-l{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-top:7px}
.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.today-col{display:flex;flex-direction:column;gap:14px}

/* ── Home hero carousel (identities · arrows overlaid + auto-cycle) ── */
.lhm-slide{flex:1;position:relative;display:flex;min-height:0}
.lhm-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid var(--brd-2);background:rgba(8,9,17,.5);color:var(--text);font-size:20px;line-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .18s,background .15s,border-color .15s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lch-hero-main:hover .lhm-arrow{opacity:1}
/* Home hero reframe (shares crop with the Map podium) */
.lhm-poster .id-repos-btn{z-index:5;opacity:.6}
.lhm-poster:hover .id-repos-btn{opacity:1}
.lhm-poster .id-repos-bar{z-index:6}
.lhm-poster.reposing{cursor:grab;outline:2px solid var(--violet);outline-offset:-2px;z-index:3}
.lhm-poster.reposing:active{cursor:grabbing}
.lhm-poster.reposing .id-repos-btn{display:none}
.lhm-poster.reposing .id-repos-bar{display:flex}
.lhm-arrow:hover{background:rgba(142,123,246,.42);border-color:var(--violet)}
.lhm-arrow.prev{left:14px}.lhm-arrow.next{right:14px}
.lhm-dots{position:absolute;bottom:15px;right:20px;z-index:3;display:flex;gap:7px}
.lhm-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.26);cursor:pointer;transition:background .15s,transform .15s}
.lhm-dot.on{background:var(--violet);transform:scale(1.3)}

/* ── Home mix: In Motion + This Week ── */
.lch-mix{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-top:26px}
.lch-mix-col{display:flex;flex-direction:column}
.lch-motion{border:1px solid var(--brd);border-radius:7px;background:var(--glass);overflow:hidden}
.lm-row{display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .12s}
.lm-row:last-child{border-bottom:none}
.lm-row:hover{background:rgba(255,255,255,.03)}
.lm-dot{flex:none;width:7px;height:7px;border-radius:50%}
.lm-title{flex:1;font-family:var(--sans);font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lm-meta{font-family:var(--mono);font-size:10px;color:var(--text-2);white-space:nowrap}
.lm-empty{font-family:var(--mono);font-size:11px;color:var(--text-3);padding:22px 15px}
.lch-week{border:1px solid var(--brd);border-radius:7px;background:var(--glass);padding:16px 18px}
.lch-week .cons-week{margin-top:0}
@media(max-width:1050px){.lch-hero{grid-template-columns:1fr}.lch-roster,.lch-stats{grid-template-columns:1fr 1fr}.today-grid{grid-template-columns:1fr}.lch-mix{grid-template-columns:1fr}}

/* ── icon sidebar shell ── */
.app{flex-direction:row}
.sidebar{width:60px;flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0;border-right:1px solid var(--brd);background:rgba(255,255,255,.02);z-index:20}
.sb-logo{width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:800;font-size:20px;color:var(--violet);border:1px solid rgba(142,123,246,.4);border-radius:9px}
.sb-nav{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;margin-top:14px}
.sb-nav a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:9px;color:var(--text-3);font-size:17px;cursor:pointer;position:relative;transition:background .12s,color .12s}
.sb-nav a:hover{background:var(--glass);color:var(--text)}
.sb-nav a.on{background:rgba(142,123,246,.16);color:var(--violet)}
.sb-nav a.on::before{content:'';position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--violet)}
.sb-nav a::after{content:attr(title);position:absolute;left:52px;top:50%;transform:translateY(-50%);background:var(--void-2);border:1px solid var(--brd-2);color:var(--text);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border-radius:5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:50}
.sb-nav a:hover::after{opacity:1}
.sb-bot{display:flex;flex-direction:column;align-items:center;gap:9px}
.sb-av{width:38px;height:38px}
.sb-logout{font-family:var(--mono);font-size:15px;color:var(--text-3);cursor:pointer}.sb-logout:hover{color:var(--rose)}

/* big screens: no uniform zoom — content stays natural size, just centered with a wider cap */

/* minimal, clean scrollbars */
::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.09);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.17)}
*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}

/* ── persistent top-right HUD (level · XP · rank · MMR · kleos) ── */
.topstat{position:fixed;top:16px;right:320px;z-index:30;display:flex;align-items:center;gap:22px}
@media(max-width:1000px){.topstat{right:20px}}
.ts-lvl{display:flex;flex-direction:column;gap:3px;min-width:158px}
.ts-lvl-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10px;color:var(--text-2)}
.ts-lv b{font-family:var(--disp);font-weight:800;font-size:14px;color:var(--text)}
.ts-exp{height:5px;border-radius:2px;background:rgba(255,255,255,.09);overflow:hidden}
.ts-exp i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));border-radius:2px;transition:width .4s}
.ts-explab{font-family:var(--mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.ts-res{display:grid;grid-template-columns:auto auto;column-gap:16px;row-gap:3px;justify-items:end;text-align:right;font-family:var(--mono);font-size:11px;color:var(--text-2);white-space:nowrap}
.ts-res b{color:var(--text);font-family:var(--disp);font-size:13px}
.ts-res em{font-style:normal;color:var(--text-3);font-size:9px}
.ts-kleos b{color:var(--gold)}.ts-mmr b{color:var(--cyan)}

/* ── Goals: add/edit form + per-goal actions ── */
.goal-add{margin-left:auto;font-size:14px;line-height:1;color:var(--violet);cursor:pointer;padding:0 4px;border:1px solid var(--brd-2);border-radius:6px;font-weight:700}
.goal-add:hover{background:rgba(142,123,246,.12)}
.goal-form{display:flex;flex-direction:column;gap:12px;margin:10px 0 12px;padding:18px;background:rgba(12,13,26,.9);border:1px solid var(--brd-2);border-radius:12px;box-shadow:0 18px 44px -16px rgba(0,0,0,.75)}
/* simplified create/edit form: prominent title, essentials visible, advanced behind "More options" */
.gf-title-in{width:100%;background:var(--void-2);border:1px solid var(--brd-2);border-radius:9px;color:var(--text);font-family:var(--sans);font-size:16px;font-weight:600;padding:12px 14px}
.gf-title-in::placeholder{color:var(--text-3);font-weight:400}
.gf-title-in:focus{outline:none;border-color:var(--violet)}
.gf-more-t{align-self:flex-start;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);background:transparent;border:none;cursor:pointer;padding:4px 0}
.gf-more-t:hover{color:var(--text-2)}
.gf-more{display:flex;flex-direction:column;gap:12px;padding:14px 0 2px;border-top:1px solid var(--brd)}
.goal-form .goal-sel,.goal-form input[type=text]{width:100%;box-sizing:border-box;font-family:var(--sans);font-size:13px;background:rgba(0,0,0,.3);border:1px solid var(--brd);border-radius:9px;padding:10px 12px;color:var(--text)}
.goal-form .goal-sel{cursor:pointer}
.goal-form .goal-sel:focus,.goal-form input[type=text]:focus,.goal-form input[type=number]:focus{outline:none;border-color:rgba(255,255,255,.34)}
/* revamped form: labeled fields in tidy rows */
.gf-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.gf-field.gf-narrow{flex:0 0 118px;width:118px}
.gf-lab{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:baseline;gap:6px}
.gf-opt{font-size:8px;color:var(--text-3);opacity:.65;text-transform:none;letter-spacing:0}
.gf-row{display:flex;gap:12px}
.goal-form input[type=number]{width:100%;box-sizing:border-box;font-family:var(--sans);font-size:13px;background:rgba(0,0,0,.3);border:1px solid var(--brd);padding:10px 12px;color:var(--text)}
.goal-form input[type=number]::placeholder{color:var(--text-3)}
.goal-form select option{background:var(--void-2);color:var(--text)}
.gf-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;padding-top:11px;border-top:1px solid var(--brd)}
.gf-foot .goal-formbar{margin:0}
@media(max-width:560px){.gf-row{flex-wrap:wrap}.gf-field.gf-narrow{flex:1 1 100%;width:auto}}
/* flowy quick-add bar (Command Center) */
.qadd{display:flex;gap:8px;align-items:center;margin:2px 0 15px}
.qadd input[type=text]{flex:1;min-width:0;box-sizing:border-box;font-family:var(--sans);font-size:13px;background:rgba(0,0,0,.3);border:1px solid var(--brd);padding:10px 12px;color:var(--text)}
.qadd input[type=text]::placeholder{color:var(--text-3)}
.qadd input[type=date]{box-sizing:border-box;font-family:var(--mono);font-size:11.5px;background:rgba(0,0,0,.3);border:1px solid var(--brd);padding:9px 10px;color:var(--text-2)}
.qadd .goal-sel{flex:0 0 auto;max-width:150px;box-sizing:border-box;font-family:var(--sans);font-size:12.5px;background:rgba(0,0,0,.3);border:1px solid var(--brd);padding:10px 11px;color:var(--text)}
.qadd .btn{width:auto;padding:10px 15px;white-space:nowrap}
.qadd input:focus,.qadd .goal-sel:focus{outline:none;border-color:rgba(255,255,255,.34)}
@media(max-width:640px){.qadd{flex-wrap:wrap}.qadd input[type=text]{flex:1 1 100%}}
.goal-form input[type=text]::placeholder{color:var(--text-3)}
.goal-shadow{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);cursor:pointer;margin-top:1px}
.goal-formbar{display:flex;align-items:center;gap:12px;margin-top:2px}.goal-formbar .btn{width:auto;padding:9px 18px}
.goal-cancel{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);cursor:pointer}.goal-cancel:hover{color:var(--text-2)}
.hq-acts{display:flex;align-items:center;gap:7px;margin-top:6px}
.hq-act{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);cursor:pointer;padding:3px 7px;border:1px solid var(--brd);border-radius:6px}
.hq-act:hover{color:var(--text-2);border-color:var(--brd-2)}
.hq-act.quest{color:var(--gold);border-color:rgba(232,196,92,.3)}.hq-act.quest:hover{background:rgba(232,196,92,.1)}
.hq-act.del{margin-left:auto;color:var(--text-3)}.hq-act.del:hover{color:var(--rose);border-color:rgba(232,112,156,.4)}
/* quest nature inputs + per-quest progress (count/quota bar + +1 · streak days + reset) */
.goal-natrow{display:flex;gap:8px}
.goal-natrow .goal-sel{flex:1}
.goal-num{width:92px;box-sizing:border-box;font-family:var(--sans);font-size:13px;background:rgba(0,0,0,.3);border:1px solid var(--brd);border-radius:9px;padding:10px 12px;color:var(--text)}
.goal-num:focus{outline:none;border-color:rgba(142,123,246,.6)}
.goal-num::placeholder{color:var(--text-3)}
.hq-prog{display:flex;align-items:center;gap:9px;margin-top:7px}
.hq-bar{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}
.hq-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));border-radius:3px}
.hq-count{font-family:var(--mono);font-size:9.5px;color:var(--text-2);white-space:nowrap}
.hq-tgt{color:var(--text-3)}
.hq-plus{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--green);cursor:pointer;padding:2px 10px;border:1px solid rgba(62,214,107,.4);border-radius:6px;white-space:nowrap}
.hq-plus:hover{background:rgba(62,214,107,.12)}
.hq-hold{font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-2);cursor:pointer;padding:4px 11px;border:1px solid var(--brd-2);border-radius:6px;white-space:nowrap}
.hq-hold:hover{border-color:rgba(62,214,107,.4);color:var(--text)}
.hq-hold.on{color:var(--green);border-color:rgba(62,214,107,.5);background:rgba(62,214,107,.1)}
/* Consistency: weekly bars + day drill-down */
.cons-toggle b{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:3px 8px;border:1px solid var(--brd);border-radius:6px;cursor:pointer;margin-left:4px}
.cons-toggle b.on{color:var(--violet);border-color:rgba(142,123,246,.4)}
.cons-week{display:flex;align-items:flex-end;gap:5px;height:92px;margin-top:8px}
.cw-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}
.cw-track{width:100%;flex:1;display:flex;align-items:flex-end;background:rgba(255,255,255,.04);border-radius:4px;overflow:hidden;min-height:44px}
.cw-track i{width:100%;background:linear-gradient(180deg,var(--violet),var(--cyan));border-radius:4px 4px 0 0;min-height:2px;transition:height .2s}
.cw-n{font-family:var(--mono);font-size:9px;color:var(--text-2)}
.cw-lab{font-family:var(--mono);font-size:8px;color:var(--text-3);text-transform:uppercase}
.cw-col.sel .cw-track{outline:1px solid var(--violet);outline-offset:1px}
.cons-day{margin-top:10px}
.cd-head{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-bottom:7px}
.cd-row{font-family:var(--sans);font-size:12px;color:var(--text-2);padding:4px 0;display:flex;align-items:center;gap:8px}
.cd-row:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--text-3);flex:none}
.cd-row.cd-rite:before{background:var(--violet)}
.cd-row.cd-quest:before{background:var(--green)}
.cd-empty{font-family:var(--mono);font-size:9px;color:var(--text-3)}
/* Today view — daily checklist */
.today-board{max-width:640px}
/* ── Command Center: identity cards (first row) → selected one filters the quests ── */
.cmd-board{max-width:none;overflow:hidden;flex:1;min-height:0;padding:72px 20px 0}
.cmd-board .board-head{display:none}
.cmd-ids{margin:24px 0 20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.cmd-ids .bcm-poster{min-height:132px}
.cmd-ids .bcm-poster-name{font-size:17px}
.cmd-ids .bcm-desc{font-size:11px}
.cmd-ids .bcm-new{min-height:0}
.bcm-card.cc-id{cursor:pointer;transition:border-color .15s,transform .12s,opacity .15s}
.bcm-card.cc-id:hover{transform:translateY(-3px)}
.bcm-card.cc-id:not(.on){opacity:.55}
.bcm-card.cc-id.on{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet)}
@media(max-width:1150px){.cmd-ids{grid-template-columns:repeat(2,1fr)}}
/* ── Goals = buckets that hold habits ── */
.bkt-newrow{display:flex;align-items:baseline;gap:12px;margin:4px 0 14px}
.bkt-new{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet);cursor:pointer;padding:6px 12px;border:1px dashed rgba(142,123,246,.5);border-radius:7px}
.bkt-new:hover{background:rgba(142,123,246,.1)}
.bkt-hint{font-family:var(--mono);font-size:9px;color:var(--text-3)}
.bkt{border:1px solid var(--brd);border-radius:10px;background:var(--glass);padding:14px 15px;margin-bottom:14px}
.bkt-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bkt-hl{display:flex;flex-direction:column;gap:3px;min-width:0}
.bkt-name{font-family:var(--disp);font-weight:700;font-size:16px;color:var(--text);letter-spacing:-.01em}
.bkt-out{font-family:var(--sans);font-size:11px;color:var(--text-3)}
.bkt-hr{display:flex;align-items:center;gap:9px;flex:none}
.bkt-agg{font-family:var(--mono);font-size:11px;color:var(--text-2)}
.bkt-act{font-family:var(--mono);font-size:11px;color:var(--text-3);cursor:pointer;padding:2px 7px;border:1px solid var(--brd);border-radius:5px;opacity:0;transition:opacity .14s,color .14s,border-color .14s}
.bkt:hover .bkt-act{opacity:1}
.bkt-act:hover{color:var(--text);border-color:var(--brd-2)}
.bkt-out{max-width:60ch}
.bkt-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin:11px 0 4px}.bkt-bar i{display:block;height:100%;border-radius:3px;transition:width .3s}
.bkt-empty{font-family:var(--mono);font-size:10px;color:var(--text-3);padding:10px 2px}
.bkt-addrow{margin-top:6px}
.bkt-addhabit{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);cursor:pointer;padding:5px 11px;border:1px solid var(--brd);border-radius:6px}
.bkt-addhabit:hover{color:var(--violet);border-color:rgba(142,123,246,.4)}
.bkt-unsorted{border-style:dashed}
.bkt-blank{font-family:var(--mono);font-size:11px;color:var(--text-3);line-height:1.7;padding:18px;border:1px dashed var(--brd);border-radius:8px}
.hq-tb{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:2px 0 5px}
.hq-tb.fail{color:var(--rose)}
.goal-timerow{display:flex;gap:8px;margin-top:6px}
.goal-timerow input{flex:1;min-width:0;font-family:var(--sans);font-size:12px;background:rgba(0,0,0,.25);border:1px solid var(--brd);border-radius:5px;padding:8px 9px;color:var(--text)}
.goal-timerow input:focus{outline:none;border-color:var(--violet)}
/* Home · Today's Habits quick-log panel (beside the Rite) */
.todo-card{margin-top:12px}
.todo-list{display:flex;flex-direction:column}
.todo-row{display:flex;align-items:center;gap:10px;padding:10px 15px;border-bottom:1px solid rgba(255,255,255,.05)}
.todo-row:last-child{border-bottom:none}
.todo-check{flex:none;width:20px;height:20px;border-radius:6px;border:1px solid var(--brd-2);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--void);cursor:pointer}
.todo-check.on{background:var(--green);border-color:var(--green)}
.todo-t{flex:1;font-family:var(--sans);font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todo-t .todo-camp{color:var(--text-3);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.todo-t .todo-recur{margin-left:6px;padding:1px 5px;border:1px solid var(--brd);border-radius:99px;color:var(--text-3);font-family:var(--mono);font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}
.todo-meta{font-family:var(--mono);font-size:9.5px;color:var(--text-2);white-space:nowrap}
.todo-plus{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--green);cursor:pointer;padding:3px 10px;border:1px solid rgba(62,214,107,.4);border-radius:6px}
.todo-plus:hover{background:rgba(62,214,107,.12)}
.todo-empty{font-family:var(--mono);font-size:10px;color:var(--text-3);padding:14px 2px}
/* process (⟳) vs outcome (◎) marker */
.kind{flex:none;font-size:11px;line-height:1;padding:2px 5px;border-radius:5px}
.kind-proc{color:var(--cyan);background:rgba(58,215,232,.10)}
.kind-out{color:var(--gold);background:rgba(232,196,92,.12)}
.phase{flex:none;font-size:11px;line-height:1;padding:2px 5px}
.phase-breaking{color:var(--rose);background:rgba(232,112,156,.10)}
.phase-building{color:var(--violet);background:rgba(142,123,246,.10)}
.phase-maintaining{color:var(--green);background:rgba(62,214,107,.10)}
.qtag{flex:none;font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;white-space:nowrap}
.qtag-task{color:var(--gold);background:rgba(232,196,92,.10)}
.qtag-break{color:var(--rose);background:rgba(232,112,156,.10)}
.qtag-build{color:var(--violet);background:rgba(142,123,246,.10)}
.qtag-maintain{color:var(--green);background:rgba(62,214,107,.10)}
/* multi-tag / weekday chips + repeat control */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:6px 11px;border:1px solid var(--brd);cursor:pointer;user-select:none;transition:color .12s,border-color .12s,background .12s}
.chip:hover{border-color:var(--brd-2);color:var(--text-2)}
.chip.on{color:var(--text);border-color:var(--text-2);background:var(--glass-2)}
.chips.wd .chip{padding:6px 9px;min-width:34px;text-align:center}
.gf-repeat{display:flex;flex-direction:column;gap:8px}
.gf-repeat .goal-sel{width:100%}
.gf-repeat input[type=number]{width:150px;box-sizing:border-box;font-family:var(--sans);font-size:13px;background:rgba(0,0,0,.3);border:1px solid var(--brd);padding:10px 12px;color:var(--text)}
.bkt-when,.camp-when{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-top:2px}
.hq-top{display:flex;align-items:center;gap:7px}.hq-top .hq-lock{margin-left:auto}
.todo-row .kind{margin-right:1px}
/* Working Toward — outcome quests */
.wt-list{display:flex;flex-direction:column}
.wt-row{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.05)}
.wt-row:last-child{border-bottom:none}
.wt-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.wt-t{font-family:var(--sans);font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wt-dl{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);flex:none}
.wt-dl.over{color:var(--rose)}
.wt-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin:8px 0 5px}.wt-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--rose))}
.wt-meta{font-family:var(--mono);font-size:9.5px;color:var(--text-2)}
/* Active Campaigns strip */
.camp-strip{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:7px;scroll-snap-type:x proximity}
.camp-strip>.camp-card{flex:0 0 320px;min-width:0;max-width:320px;overflow:hidden;scroll-snap-align:start}
.camp-strip::-webkit-scrollbar{height:7px}
.camp-strip::-webkit-scrollbar-thumb{background:var(--brd-2)}
.camp-strip::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}
.camp-card{border:1px solid var(--brd);background:var(--glass);padding:15px 16px;display:flex;flex-direction:column;gap:9px}
.camp-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.camp-title{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.camp-idn{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;flex:none;white-space:nowrap}
.camp-desc{font-family:var(--sans);font-size:13.5px;line-height:1.42;color:var(--text)}
.camp-desc.empty{font-size:12px;color:var(--text-3)}
.camp-bar{height:5px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:2px}.camp-bar i{display:block;height:100%}
.camp-meta{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
/* Deadlines list (Command Center right rail) */
.dl-list{display:flex;flex-direction:column}
.dl-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.05)}
.dl-row:last-child{border-bottom:none}
.dl-t{font-family:var(--sans);font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:7px}
.dl-d{font-family:var(--mono);font-size:10px;color:var(--text-3);flex:none}
.dl-d.soon{color:var(--gold)}.dl-d.over{color:var(--rose)}

/* ══ CRISP EDGES — kill every soft bevel; sharp 90° corners everywhere. Circles stay circles. ══ */
*{border-radius:0 !important}
.dot,.lg,.pm-av,.fr-av,.rk-av,.fc-av,.rite-mark,.cum-donut,.lhm-arrow,.lhm-dot,.lm-dot,.cc-qdot{border-radius:50% !important}
.cmd-camp{position:relative;min-height:148px;border:1px solid var(--brd);border-radius:9px;overflow:hidden;display:flex;margin:14px 0 12px}
.cc-poster{position:absolute;inset:0;background-size:cover;background-position:center 22%}
.cc-body{position:relative;z-index:1;padding:20px 22px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.cc-tag{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.cc-name{font-family:var(--disp);font-weight:800;font-size:26px;color:#fff;line-height:1.05;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.cc-outcome{font-family:var(--sans);font-size:13px;color:var(--text-2);max-width:520px;line-height:1.45}
.cc-kpi{display:flex;align-items:center;gap:11px;margin-top:5px;max-width:540px}
.cc-kpi-lab{font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}
.cc-kpi-bar{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}.cc-kpi-bar i{display:block;height:100%;border-radius:3px;transition:width .3s}
.cc-kpi-pct{font-family:var(--mono);font-size:10px;color:var(--text-2)}
.cmd-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.cmd-tabs b{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:6px 12px;border:1px solid var(--brd);border-radius:7px;cursor:pointer}
.cmd-tabs b.on{color:var(--text);border-color:var(--brd-2);background:var(--glass)}
.cmd-tabs b.cc-new{color:var(--violet);border-style:dashed}.cmd-tabs b.cc-new:hover{background:rgba(142,123,246,.1)}
.cmd-quests{margin-bottom:8px}
.cc-qh{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:2px 0 8px}
.cc-quest{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--brd);border-radius:8px;background:var(--glass);margin-bottom:8px}
.cc-qdot{flex:none;width:8px;height:8px;border-radius:50%}
.cc-qmid{flex:1;min-width:0}
.cc-qname{font-family:var(--sans);font-size:13.5px;color:var(--text)}
.cc-qmeta{font-family:var(--mono);font-size:9px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-2);margin-top:3px}
.cc-hold{font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-2);cursor:pointer;padding:5px 12px;border:1px solid var(--brd-2);border-radius:6px;white-space:nowrap}
.cc-hold:hover{border-color:rgba(62,214,107,.4);color:var(--text)}
.cc-hold.on{color:var(--green);border-color:rgba(62,214,107,.5);background:rgba(62,214,107,.1)}
.cc-plus{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--green);cursor:pointer;padding:4px 12px;border:1px solid rgba(62,214,107,.4);border-radius:6px}
.cc-plus:hover{background:rgba(62,214,107,.12)}
.cc-reset{font-family:var(--mono);font-size:12px;color:var(--text-3);cursor:pointer;padding:3px 9px;border:1px solid var(--brd);border-radius:6px}
.cc-reset:hover{color:var(--rose);border-color:rgba(232,112,156,.4)}
.cc-empty{font-family:var(--mono);font-size:11px;color:var(--text-3);line-height:1.6;padding:16px;border:1px dashed var(--brd);border-radius:8px}
.today-score{margin:6px 0 8px;padding:16px 0;border-bottom:1px solid var(--brd)}
.ts-num{font-family:var(--disp);font-weight:800;font-size:34px;color:var(--text);line-height:1}
.ts-num span{color:var(--text-3);font-size:20px;font-weight:600}
.ts-lab{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-top:6px}
.ts-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:11px}
.ts-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));border-radius:3px;transition:width .3s}
.today-list{display:flex;flex-direction:column}
.td-sec{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:16px 0 4px}
.td-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.05)}
.td-check{flex:none;width:22px;height:22px;border-radius:6px;border:1px solid var(--brd-2);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--void);cursor:pointer}
.td-check.on{background:var(--green);border-color:var(--green)}
.td-check.quiet{border:none;cursor:default;color:var(--green);background:none}
.td-title{flex:1;font-family:var(--sans);font-size:14px;color:var(--text);cursor:pointer}
.td-title .td-sub{color:var(--text-3);font-size:12px}
.td-meta{font-family:var(--mono);font-size:10px;color:var(--text-2);white-space:nowrap}
.td-plus{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--green);cursor:pointer;padding:3px 11px;border:1px solid rgba(62,214,107,.4);border-radius:6px}
.td-plus:hover{background:rgba(62,214,107,.12)}
.td-reset{font-family:var(--mono);font-size:12px;color:var(--text-3);cursor:pointer;padding:2px 8px;border:1px solid var(--brd);border-radius:6px}
.td-reset:hover{color:var(--rose);border-color:rgba(232,112,156,.4)}
.td-empty{font-family:var(--mono);font-size:11px;color:var(--text-3);padding:20px 4px}
/* Becoming — identity archetype cards */
.bcm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:16px;margin-top:16px}
.bcm-card{background:var(--glass);border:1px solid var(--brd);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.bcm-poster{position:relative;min-height:196px;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;background-size:cover;background-position:center 20%}
.bcm-poster-top{position:absolute;top:12px;left:14px;font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.bcm-poster-name{font-family:var(--disp);font-weight:800;font-size:21px;line-height:1.06;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.65)}
.bcm-body{padding:14px 15px 16px}
.bcm-desc{font-family:var(--sans);font-size:12px;color:var(--text-2);line-height:1.45}
.bcm-meter{display:flex;align-items:center;gap:9px;margin-top:13px}
.bcm-bar{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}
.bcm-bar i{display:block;height:100%;border-radius:3px;transition:width .3s}
.bcm-meter span{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}
.bcm-proof{font-family:var(--mono);font-size:9.5px;color:var(--text-2);margin-top:11px;line-height:1.6}
.bcm-counts{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-top:10px;border-top:1px solid var(--brd);padding-top:9px}
.bcm-new{border-style:dashed;align-items:center;justify-content:center;min-height:300px;cursor:pointer}
.bcm-new-in{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:20px;color:var(--text-3)}
.bn-plus{font-size:30px;color:var(--text-2)}
.bn-lab{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.bn-sub{font-family:var(--mono);font-size:8.5px;color:var(--text-3);line-height:1.5;max-width:190px}
.bcm-new:hover{border-color:var(--violet)}.bcm-new:hover .bn-plus,.bcm-new:hover .bn-lab{color:var(--violet)}
.hq-reset{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);cursor:pointer;padding:2px 8px;border:1px solid var(--brd);border-radius:6px;margin-left:auto}
.hq-reset:hover{color:var(--rose);border-color:rgba(232,112,156,.4)}

/* ── Quest proof: button + thumbnail on the Colosseum card ── */
.pm-proofbtn{color:var(--cyan)!important}
.pm-proofbtn:hover{border-color:rgba(58,215,232,.45)!important;background:rgba(58,215,232,.08)}
.pm-proofline{display:flex;align-items:center;gap:8px;margin-top:7px}
.pm-proofimg{width:46px;height:46px;object-fit:cover;border-radius:8px;border:1px solid var(--brd-2)}
.pm-proofcap{font-family:var(--mono);font-size:9px;color:var(--cyan);letter-spacing:.02em}

/* ── Atlas: overarching "everything" view (all campaigns · quests · habits, unfiltered) ── */
.atlas-scope{display:flex;gap:4px;margin:14px 0}
.atlas-scope b{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:7px 12px;border:1px solid var(--brd);border-radius:8px;cursor:pointer}
.atlas-scope b.on{color:var(--violet);border-color:rgba(142,123,246,.4);background:rgba(142,123,246,.1)}
.atlas-load,.atlas-empty{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;padding:24px 4px}
.atlas-sum{display:flex;gap:24px;flex-wrap:wrap;padding:2px 2px 18px;border-bottom:1px solid var(--brd);margin-bottom:20px}
.atlas-stat{display:flex;flex-direction:column;gap:4px}
.atlas-stat b{font-family:var(--disp);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1}
.atlas-stat span{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.atlas-grp{margin-bottom:22px}
.atlas-grp-h{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.atlas-grp-name{font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.atlas-grp-meta{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}
.atlas-grp-ct{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--text-3)}
.atlas-grp-out{font-family:var(--mono);font-size:9.5px;color:var(--text-2);line-height:1.4;border-left:2px solid var(--brd-2);padding-left:8px;margin:0 0 9px}
.atlas-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--brd);border-radius:8px;background:var(--glass);margin-bottom:5px}
.atlas-row.atlas-none{color:var(--text-3);font-family:var(--mono);font-size:9px;background:transparent;border-style:dashed}
.atlas-type{flex:none}
.atlas-title{flex:1;font-size:12px;font-weight:500;color:var(--text);line-height:1.3}
.atlas-shadow{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--brd);border-radius:4px;padding:1px 5px;margin-left:6px}
.atlas-realms{display:flex;gap:4px;flex-wrap:wrap}
.atlas-realm{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--brd);border-radius:4px;padding:1px 6px}
.atlas-prog{font-family:var(--mono);font-size:9px;color:var(--text-2);white-space:nowrap;min-width:96px;text-align:right}
@media(max-width:720px){.atlas-realms{display:none}.atlas-prog{min-width:0}}

/* ══ BECOMING — identity deep-dive: campaign ladder → the actualized self ══ */
.becoming{max-width:940px;margin:0 auto}
.bcm-idtabs{display:flex;gap:5px;margin-bottom:16px;flex-wrap:wrap}
.bcm-idtabs b{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:7px 12px;border:1px solid var(--brd);border-radius:8px;cursor:pointer}
.bcm-idtabs b.on{background:rgba(255,255,255,.03)}
/* endpoint header */
.bcm-endpoint{border:1px solid var(--brd);border-radius:14px;overflow:hidden;min-height:150px;display:flex;align-items:flex-end}
.bcm-ep-in{padding:22px 24px}
.bcm-ep-tag{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.bcm-ep-name{font-family:var(--disp);font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--text);margin:5px 0 8px;line-height:1}
.bcm-ep-outcome{font-size:13px;color:var(--text-2);max-width:560px;line-height:1.45}
/* persona */
.bcm-persona{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:20px 4px 4px}
.bcm-plab{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:0 0 6px}
.bcm-pcol .bcm-plab:not(:first-child){margin-top:16px}
.bcm-pbody{font-size:12.5px;color:var(--text-2);line-height:1.5}
.bcm-oper{list-style:none;margin:0;padding:0}
.bcm-oper li{font-size:12px;color:var(--text-2);line-height:1.4;padding:3px 0 3px 14px;position:relative}
.bcm-oper li:before{content:'—';position:absolute;left:0;color:var(--text-3)}
.bcm-habs{display:flex;flex-wrap:wrap;gap:5px}
.bcm-hab{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--text-2);border:1px solid var(--brd);border-radius:6px;padding:4px 8px}
/* ladder rail — stages left→right; concurrent campaigns stack in one column */
.bcm-lad-h{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:28px 0 12px;padding-top:18px;border-top:1px solid var(--brd)}
.bcm-lad-sub{text-transform:none;letter-spacing:.02em;color:var(--text-3);opacity:.7;margin-left:8px}
.bcm-rail{display:flex;align-items:stretch;overflow-x:auto;padding:4px 0 10px}
.bcm-stage{display:flex;flex-direction:column;gap:8px;flex:none;min-width:170px}
.bcm-stage.endpoint-stage{min-width:150px}
.bcm-stage-lab{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding-bottom:2px}
.bcm-stage-col{display:flex;flex-direction:column;gap:8px;justify-content:center;flex:1}
.bcm-node{display:flex;align-items:center;gap:9px;cursor:pointer;border:1px solid var(--brd);border-radius:10px;padding:9px 11px;background:var(--glass);opacity:.82;transition:opacity .15s,border-color .15s}
.bcm-node.on,.bcm-node:hover{opacity:1;border-color:var(--brd-2)}
.bcm-node.locked{cursor:default;opacity:.45;border-style:dashed}
.bcm-node.endpoint{cursor:default;opacity:1;border-color:var(--brd-2);background:rgba(255,255,255,.03)}
.bcm-node-dot{width:26px;height:26px;flex:none;border-radius:50%;border:1.5px solid var(--brd-2);display:flex;align-items:center;justify-content:center;font-size:12px;color:#0A0716;background:transparent}
.bcm-node.locked .bcm-node-dot{color:var(--text-3);border-style:dashed}
.bcm-node:not(.on):not(.endpoint) .bcm-node-dot{color:var(--text-2)}
.bcm-node.on .bcm-node-dot,.bcm-node.endpoint .bcm-node-dot{color:#0A0716}
.bcm-node-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.bcm-node-name{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--text-2);line-height:1.2}
.bcm-node.on .bcm-node-name,.bcm-node.endpoint .bcm-node-name{color:var(--text)}
.bcm-node-meta{font-family:var(--mono);font-size:8px;color:var(--text-3)}
.bcm-rail-link{align-self:center;width:20px;min-width:14px;height:1px;background:var(--brd-2);margin:0 -2px}
/* peek drawer — Notion-style right side panel */
.peek-scrim{position:fixed;inset:0;background:rgba(4,5,10,.55);opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}
.peek-scrim.on{opacity:1;pointer-events:auto}
.peek{position:fixed;top:0;right:0;height:100vh;width:min(680px,94vw);background:var(--void-2);border-left:1px solid var(--brd-2);box-shadow:-24px 0 60px rgba(0,0,0,.5);transform:translateX(100%);transition:transform .22s cubic-bezier(.4,0,.2,1);z-index:61;display:flex;flex-direction:column}
.peek.on{transform:translateX(0)}
.peek-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--brd);flex:none}
.peek-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.peek-close{background:transparent;border:1px solid var(--brd);color:var(--text-2);width:26px;height:26px;border-radius:7px;cursor:pointer;font-size:12px;line-height:1}
.peek-close:hover{border-color:var(--brd-2);color:var(--text)}
.peek-scroll{overflow-y:auto;padding:20px 22px 40px;flex:1}
.peek-scroll .becoming{max-width:none}
.cc-id{cursor:pointer}
/* campaign panel */
.bcm-camp{border:1px solid var(--brd);border-radius:12px;padding:16px 18px;margin-top:6px;background:var(--glass)}
.bcm-camp-h{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.bcm-camp-name{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-.02em}
.bcm-camp-rec{margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.bcm-camp-desc{font-size:12px;color:var(--text-2);line-height:1.5;margin-bottom:14px}
.bcm-locked{font-family:var(--mono);font-size:10px;color:var(--text-3);padding:10px 0}
/* quest + escalation ladder */
.bcm-quest{border:1px solid var(--brd);border-radius:10px;padding:12px 13px;margin-bottom:9px;background:rgba(0,0,0,.2)}
.bcm-quest-h{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.bcm-quest-title{font-size:13px;font-weight:600;color:var(--text)}
.bcm-quest-rec{margin-left:auto;font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.bcm-quest-desc{font-family:var(--mono);font-size:9.5px;color:var(--text-3);line-height:1.4;margin-bottom:10px}
.bcm-ladder{display:flex;align-items:center;margin-bottom:11px;flex-wrap:wrap;gap:2px 0}
.bcm-tier{font-family:var(--mono);font-size:9px;letter-spacing:.03em;padding:4px 9px;border:1px solid var(--brd);border-radius:6px;color:var(--text-3);white-space:nowrap}
.bcm-tier.done{color:var(--green);border-color:rgba(62,214,107,.35);background:rgba(62,214,107,.08)}
.bcm-tier.on{color:var(--cyan);border-color:rgba(58,215,232,.45);background:rgba(58,215,232,.1)}
.bcm-tier.future{border-style:dashed;opacity:.6}
.bcm-tier-link{width:14px;height:1px;background:var(--brd-2)}
.bcm-quest-bar{display:flex;align-items:center;gap:7px}
.bcm-do{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;padding:6px 11px;border-radius:7px;border:1px solid;cursor:pointer;background:transparent}
.bcm-do.win{color:var(--green);border-color:rgba(62,214,107,.4)}
.bcm-do.fail{color:var(--rose);border-color:rgba(232,112,156,.35)}
.bcm-preview-note{margin-left:auto;font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
@media(max-width:720px){.bcm-persona{grid-template-columns:1fr;gap:14px}.bcm-ep-name{font-size:24px}}
.bcm-setlad{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border:1px dashed var(--brd);border-radius:6px;padding:4px 8px;margin-left:8px;cursor:pointer}
.bcm-setlad:hover{color:var(--cyan);border-color:rgba(58,215,232,.4)}

/* ── the skill tree — habits (phase + evolution) in the Becoming drawer ── */
.cmd-hint{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:8px 0 4px}
.jr-empty{font-family:var(--mono);font-size:10px;color:var(--text-3);line-height:1.5;padding:14px 2px}
.jr-tree-h{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:24px 0 12px;padding-top:16px;border-top:1px solid var(--brd)}
.jr-tree-sub{text-transform:none;letter-spacing:.02em;opacity:.7;margin-left:8px}
.jr-tree{display:flex;flex-direction:column;gap:8px}
.jr-habit{border:1px solid var(--brd);border-radius:10px;padding:11px 13px;background:var(--glass)}
.jr-habit.maintained{opacity:.72;border-style:dashed}
.jr-h-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.jr-h-title{font-size:13px;font-weight:600;color:var(--text)}
.jr-phase{font-family:var(--mono);font-size:8px;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:6px;border:1px solid var(--brd);cursor:pointer;color:var(--text-2)}
.jr-phase.ph-breaking{color:var(--rose);border-color:rgba(232,112,156,.35);background:rgba(232,112,156,.08)}
.jr-phase.ph-building{color:var(--cyan);border-color:rgba(58,215,232,.35);background:rgba(58,215,232,.08)}
.jr-phase.ph-maintaining{color:var(--green);border-color:rgba(62,214,107,.35);background:rgba(62,214,107,.08)}
.jr-h-realm{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--brd);border-radius:4px;padding:1px 6px}
.jr-origin{font-family:var(--mono);font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:var(--violet)}
.jr-hstat{margin-left:auto;font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.jr-quests{margin:9px 0 8px;display:flex;flex-direction:column;gap:3px}
.jr-quest{display:flex;align-items:center;gap:9px;padding:5px 8px;border-left:2px solid var(--brd-2);background:rgba(0,0,0,.18);border-radius:0 6px 6px 0}
.jr-q-title{font-size:11.5px;color:var(--text-2)}
.jr-q-camp{font-family:var(--mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.jr-q-meta{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--cyan);white-space:nowrap}
.jr-noq{font-family:var(--mono);font-size:9px;color:var(--text-3);margin:7px 0 8px;font-style:italic}
.jr-evo{display:flex;gap:6px;flex-wrap:wrap}
.jr-evo-btn{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--brd);border-radius:6px;padding:4px 9px;cursor:pointer}
.jr-evo-btn:hover{color:var(--text);border-color:var(--brd-2)}

/* ── skill tree as an SVG node graph (The Map) ── */
.cmd-authoring-h{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:26px 0 12px;padding-top:16px;border-top:1px solid var(--brd)}
.jr-svg-wrap{overflow-x:auto;padding:6px 0 4px;display:flex;justify-content:center}
.jr-svg{display:block;min-width:280px}
.jr-node{cursor:pointer}
.jr-node rect{transition:stroke .12s,fill .12s}
.jr-node:hover rect{stroke:var(--brd-2);fill:rgba(255,255,255,.05)}
.jr-clear{cursor:pointer;color:var(--cyan);text-transform:none;letter-spacing:.02em}
.jr-hint{font-family:var(--mono);font-size:9.5px;color:var(--text-3);text-align:center;padding:14px 0;font-style:italic}
.jr-panel{border:1px solid var(--brd);border-radius:11px;padding:13px 15px;margin-top:10px;background:var(--glass)}
.jr-panel .jr-plab{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:10px 0 6px}

/* slim identity line + framed skill-tree canvas (tighten the Map) */
.jr-idline{display:flex;align-items:baseline;gap:10px;padding:2px 0 4px;flex-wrap:wrap}
.jr-id-glyph{font-size:14px}
.jr-id-name{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text)}
.jr-id-outcome{font-size:11.5px;color:var(--text-2);line-height:1.4}
.jr-tree-h{margin:16px 0 10px !important;padding-top:12px !important}
.jr-svg-wrap{overflow-x:auto;padding:22px 14px;display:flex;justify-content:center;border:1px solid var(--brd);border-radius:12px;background:radial-gradient(circle at 50% 40%,rgba(142,123,246,.06),transparent 70%),rgba(0,0,0,.18);min-height:150px;align-items:center}

/* Map group — the Map icon + its sub-nav, lit purple as one unit; sub-icons slide out */
.map-group{display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:13px;transition:background .22s ease}
.map-group.open{background:rgba(142,123,246,.11)}
.map-group.open > a[data-view].on{background:rgba(142,123,246,.22)}
.sb-sub{display:flex;flex-direction:column;align-items:center;gap:3px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-6px);transition:max-height .3s cubic-bezier(.34,1.2,.5,1),opacity .22s ease,transform .3s cubic-bezier(.34,1.2,.5,1)}
.sb-sub.show{max-height:160px;opacity:1;transform:translateY(0);padding-bottom:4px}
.sb-nav .sbs{width:30px;height:30px;font-size:13px;border-radius:7px;color:var(--text-3);opacity:.85}
.sb-nav .sbs:hover{opacity:1}
.sb-nav .sbs.on{background:rgba(142,123,246,.2);color:var(--violet)}
.sb-nav .sbs.on::before{display:none}
.jr-draft{border:1px dashed var(--brd-2);border-radius:12px;padding:18px 20px;background:rgba(255,255,255,.02);margin-top:14px;max-width:720px}
.jr-draft-h{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.jr-draft p{font-size:12px;color:var(--text-2);line-height:1.6;margin:0 0 12px}
.jr-draft .sk{display:inline-block;font-family:var(--mono);font-size:10px;color:var(--violet);border:1px solid rgba(142,123,246,.32);border-radius:5px;padding:1px 7px;margin:1px 2px}
.jr-draft-eg{color:var(--text-3) !important;line-height:2 !important}
.jr-draft-note{font-family:var(--mono);font-size:9.5px;color:var(--text-3);line-height:1.6;margin:12px 0 0 !important}
.jr-draft-note code{color:var(--cyan);font-size:9px}
.map-page .jr-idline{margin-bottom:10px}

/* Identities page — Who he is hero · skills/gap table · candlestick */
.who-hero{max-width:760px;margin:0 0 8px}
.who-lab{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px;opacity:.95}
.who-body{font-family:var(--sans);font-size:18px;line-height:1.62;color:var(--text);font-weight:400;margin:0}
/* the gap — clean 4-column table, labels once at top */
.gap-table{display:flex;flex-direction:column}
.gap-row{position:relative;display:grid;grid-template-columns:170px 1fr 1fr 1fr;gap:0;padding:16px 0;border-top:1px solid var(--brd);align-items:start}
.gap-head{padding:0 0 9px;border-top:none}
.gap-lab{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.gap-c{padding:0 18px}
.gap-c.gap-sk{padding-left:0}
.gap-skill{display:block;font-size:14.5px;font-weight:600;color:var(--text);letter-spacing:-.01em}
.gap-spec{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.01em;margin-top:4px;opacity:.85}
.gap-c p{font-size:13.5px;line-height:1.56;color:var(--text-2);margin:0}
.gap-c.him p{color:var(--text)}
.gap-chips{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.gap-chip{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;border:1px solid var(--brd-2);border-radius:6px;padding:4px 8px;line-height:1.3}
.gap-chip.empty{color:var(--text-3);border-style:dashed;border-color:var(--brd)}
.gap-edit{position:absolute;top:14px;right:0;font-size:12px;color:var(--text-3);background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .14s}
.gap-row:hover .gap-edit{opacity:1}.gap-edit:hover{color:var(--text)}
@media(max-width:860px){.gap-row{grid-template-columns:1fr;gap:8px}.gap-head{display:none}.gap-c{padding:0}.gap-c.you::before{content:'Current you';display:block;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--rose);margin-bottom:3px}.gap-c.work::before{content:'The work';display:block;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.gap-c.him::before{content:'Him';display:block;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:3px}}
.cs-wrap{max-width:760px;border:1px solid var(--brd);border-radius:10px;padding:14px 12px;background:rgba(0,0,0,.18)}
.cs-svg{display:block;width:100%;height:120px}

/* Identity selector as buttons + big focused banner (overrides the old card grid) */
#cmdIds.cmd-ids{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px;grid-template-columns:none}
.id-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);background:var(--glass);border:1px solid var(--brd);border-radius:9px;padding:9px 14px;cursor:pointer;transition:border-color .14s,color .14s,background .14s}
.id-btn:hover{border-color:var(--brd-2);color:var(--text)}
.id-btn.on{background:rgba(255,255,255,.05);font-weight:700}
.id-btn .id-dot{width:7px;height:7px;border-radius:50%;flex:none}
.id-btn.forge{color:var(--text-3);border-style:dashed}
.id-btn.forge:hover{color:var(--violet);border-color:rgba(142,123,246,.4)}
.id-banner{position:relative;min-height:260px;border:1px solid var(--brd);border-radius:15px;overflow:hidden;display:flex;align-items:flex-end;margin-bottom:16px}
.id-banner-in{padding:22px 26px}
.id-banner-tag{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.id-banner-name{font-family:var(--disp);font-size:30px;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1;margin:6px 0 8px;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.id-banner-out{font-size:13px;color:var(--text);max-width:560px;line-height:1.45;opacity:.92}
@media(max-width:720px){.id-banner-name{font-size:23px}}

/* Notion-style banner reposition */
.id-banner{cursor:default}
.id-repos-btn{position:absolute;top:12px;right:12px;font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.28);border-radius:7px;padding:5px 10px;cursor:pointer;opacity:0;transition:opacity .15s;z-index:3}
.id-banner:hover .id-repos-btn{opacity:1}
.id-banner.reposing{cursor:grab;outline:2px solid var(--violet);outline-offset:-2px}
.id-banner.reposing:active{cursor:grabbing}
.id-repos-btn{display:block}
.id-banner.reposing .id-repos-btn{display:none}
.id-repos-bar{position:absolute;top:12px;right:12px;display:none;align-items:center;gap:9px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.22);border-radius:9px;padding:6px 9px;z-index:4}
.id-banner.reposing .id-repos-bar{display:flex}
.id-repos-hint{font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}
.id-repos-cancel{font-family:var(--mono);font-size:9px;color:var(--text-3);background:transparent;border:none;cursor:pointer;text-transform:uppercase}
.id-repos-save{width:auto;padding:5px 11px;font-size:9px}
.id-banner.reposing .id-banner-in{opacity:.45;pointer-events:none}

/* ── Map layout: content stage (left) + persistent character podium (right) ── */
.cmd-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,46%);gap:32px;align-items:stretch;height:calc(100vh - 132px)}
.cmd-stage{min-width:0;overflow-y:auto;padding-right:8px}
/* split-screen: the doc scrolls inside the left column; the portrait is static and never moves */
.map-podium{position:relative;width:100%;--cut:46px;padding:1px;background:var(--brd-2);box-shadow:0 18px 50px rgba(0,0,0,.4);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
/* hover identity-switch arrows (like Home) */
.podium-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:60px;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:30px;line-height:1;color:#fff;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.22);border-radius:10px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}
.podium-fig:hover .podium-nav{opacity:1}
.podium-nav:hover{background:rgba(0,0,0,.68)}
.podium-nav.prev{left:12px}.podium-nav.next{right:12px}
.podium-fig.reposing .podium-nav{display:none}
/* minimal identity switch on the podium (replaces the top button row): dots + forge */
#cmdIds.cmd-ids{display:none}
.podium-switch{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:linear-gradient(0deg,rgba(9,9,16,.72),transparent)}
.podium-dots{display:flex;gap:8px}
.podium-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.32);cursor:pointer;transition:transform .12s,background .12s}
.podium-dot:hover{transform:scale(1.25)}
.podium-dot.on{width:20px;border-radius:4px}
.podium-forge{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:6px 11px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}
.podium-fig:hover .podium-forge{opacity:1}.podium-forge:hover{background:rgba(0,0,0,.7)}
/* stats KPI counters */
.kpi-grid{display:flex;flex-wrap:wrap;gap:14px 34px;margin:22px 0}
.kpi{display:flex;align-items:baseline;gap:8px;padding:0;border:none;background:none}
.kpi-n{font-family:var(--disp);font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1}
.kpi-l{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.stats-sub{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:20px 0 12px}
/* Campaign tree — diamond node map on a dotted grid (ct- prefixed to avoid colliding with .board/.node) */
.ct-count{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.ct-scroll{overflow-x:auto;margin-top:8px;padding-bottom:8px}
.ct-board{position:relative;background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;background-position:14px 14px}
.ct-board>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ct-node{position:absolute;width:160px;transform:translateX(-50%);text-align:center;cursor:pointer;z-index:2}
.ct-d{width:44px;height:44px;margin:0 auto;border:1px solid var(--brd);background:var(--void-2);transform:rotate(45deg);display:flex;align-items:center;justify-content:center;transition:border-color .2s,box-shadow .2s}
.ct-d span{transform:rotate(-45deg);font-family:var(--mono);font-size:13px;color:var(--text-3)}
.ct-n-title{margin-top:15px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text);line-height:1.5}
.ct-n-state{margin-top:4px;font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.ct-node.ct-cleared .ct-n-title{color:var(--text-3)}
.ct-node.ct-cleared .ct-n-state{color:var(--text-3);opacity:.75}
.ct-node.ct-forgeable .ct-d{border-color:rgba(232,196,92,.6);background:#171307}
.ct-node.ct-forgeable .ct-d span{color:var(--gold)}
.ct-node.ct-forgeable .ct-n-state{color:var(--gold)}
.ct-node.ct-unwritten .ct-d{border-color:var(--text-3);border-style:dashed;background:transparent;opacity:.9}
.ct-node.ct-unwritten .ct-d span{color:var(--text-2)}
.ct-node.ct-unwritten .ct-n-title{color:var(--text-2)}
.ct-node.ct-unwritten .ct-n-state{color:var(--text-3)}
.ct-node.ct-endpoint{cursor:default}
.ct-node.ct-endpoint .ct-n-title{color:var(--text);font-weight:700}
.ct-node:hover .ct-d{box-shadow:0 0 16px rgba(255,255,255,.22)}
.ct-node:hover{z-index:20}
/* hover tooltip — the quests inside a campaign node */
.ct-tip{position:absolute;left:100%;top:22px;transform:translateY(-50%);margin-left:18px;width:252px;max-height:340px;overflow-y:auto;text-align:left;background:var(--void-2);border:1px solid var(--brd-2);border-radius:12px;padding:13px 15px;z-index:21;display:none;box-shadow:0 16px 38px rgba(0,0,0,.6)}
.ct-node.ct-tipleft .ct-tip{left:auto;right:100%;margin-left:0;margin-right:18px}
.ct-node:hover .ct-tip{display:block}
.ct-tip-h{font-family:var(--disp);font-size:13px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}
.ct-tip-desc{font-family:var(--sans);font-size:11.5px;line-height:1.5;color:var(--text-2);margin-bottom:11px}
.ct-tip-lab{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}
.ct-tip-q{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;border-top:1px solid var(--brd)}
.ct-tip-q:first-of-type{border-top:none}
.ct-tip-t{font-family:var(--sans);font-size:12px;color:var(--text);line-height:1.3}
.ct-tip-m{font-family:var(--mono);font-size:9.5px;white-space:nowrap}
.ct-tip-empty{font-family:var(--mono);font-size:10px;color:var(--text-3)}

/* ── Build tab · clean quest row: realm dot · type glyph · title · meta · primary action · hover-secondary ── */
.q-row{display:flex;align-items:center;gap:13px;padding:12px 2px;border-top:1px solid var(--brd);position:relative}
.q-row:first-child{border-top:none}
.q-dot{width:8px;height:8px;border-radius:50%;flex:none;align-self:flex-start;margin-top:6px}
.q-body{flex:1;min-width:0}
.q-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.q-ic{font-size:12px;color:var(--text-3);flex:none}
.q-ic-breaking{color:var(--rose)}.q-ic-maintaining{color:var(--green)}.q-ic-task{color:var(--gold)}
.q-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.3}
.q-row.shadow .q-title{opacity:.72}
.q-meta{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}
.q-meta.fail{color:var(--rose)}
.q-prog{display:flex;align-items:center;gap:11px;margin-top:7px}
.q-prog:empty{display:none}
.q-bar{position:relative;width:130px;max-width:38vw;height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.q-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:2px}
.q-num{font-family:var(--mono);font-size:10px;color:var(--text-2);white-space:nowrap}
.q-right{display:flex;align-items:center;gap:8px;flex:none}
.q-do{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:var(--text-2);background:var(--glass);border:1px solid var(--brd-2);border-radius:8px;padding:8px 13px;min-width:46px;text-align:center;cursor:pointer;transition:border-color .14s,color .14s,background .14s}
.q-do:hover{border-color:var(--text-2);color:var(--text)}
.q-do.on{background:rgba(62,214,107,.14);border-color:var(--green);color:var(--green)}
.q-do.ghost{color:var(--text-3);min-width:0;padding:8px 11px}
.q-acts{display:flex;gap:1px;opacity:0;transition:opacity .14s}
.q-row:hover .q-acts{opacity:1}
.q-act{font-size:12.5px;color:var(--text-3);background:transparent;border:none;cursor:pointer;padding:5px 6px;border-radius:6px;line-height:1}
.q-act:hover{color:var(--text);background:var(--glass)}
.q-act.del:hover{color:var(--rose)}
.ct-horizon{position:absolute;width:160px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);line-height:1.8}
.ct-inf{font-size:22px;letter-spacing:0;display:block}
.ct-horizon small{display:block;font-size:8.5px;letter-spacing:.2em;color:var(--text-3);text-transform:uppercase}
.ct-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;padding-top:14px;border-top:1px solid var(--brd)}
.ct-l{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2)}
.ct-sw{width:11px;height:11px;border:1px solid var(--brd);transform:rotate(45deg)}
.ct-sw.ct-unwritten{border-style:dashed}
.podium-fig{position:relative;width:100%;height:100%;overflow:hidden;background-size:cover;background-position:right 30%;background-color:var(--void-2);clip-path:polygon(calc(var(--cut) - 1px) 0,100% 0,100% calc(100% - var(--cut) + 1px),calc(100% - var(--cut) + 1px) 100%,0 100%,0 calc(var(--cut) - 1px))}
.podium-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,20,.12) 0%,rgba(11,11,20,0) 32%,rgba(11,11,20,.55) 74%,rgba(11,11,20,.94) 100%)}
.podium-floor{position:absolute;left:50%;bottom:46px;transform:translateX(-50%);width:64%;height:9px;border-radius:50%;opacity:.4;filter:blur(6px)}
.podium-cap{position:absolute;left:0;right:0;bottom:0;padding:15px 17px;display:flex;flex-direction:column;gap:3px;z-index:2}
.podium-tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase}
.podium-name{font-family:var(--disp);font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.04;text-shadow:0 2px 14px rgba(0,0,0,.6)}
/* reposition drag on the podium (Notion-style vertical reframe) */
.podium-fig .id-repos-btn{opacity:.6}.podium-fig:hover .id-repos-btn{opacity:1}
.podium-fig.reposing{cursor:grab;outline:2px solid var(--violet);outline-offset:-2px}
.podium-fig.reposing:active{cursor:grabbing}
.podium-fig.reposing .id-repos-btn{display:none}
.podium-fig .id-repos-bar{display:none}.podium-fig.reposing .id-repos-bar{display:flex}
.podium-fig.reposing .podium-cap{opacity:.4;pointer-events:none}
@media(max-width:960px){.cmd-board{overflow-y:auto;flex:none}.cmd-layout{grid-template-columns:1fr;height:auto}.cmd-stage{overflow:visible;padding-right:0}.map-podium{width:280px;height:auto;margin:0 0 14px auto}.podium-fig{height:auto;aspect-ratio:3/4}}
/* identity title block (image now lives on the podium) */
.id-title{margin:2px 0 6px}
.id-title-tag{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
/* traits & tags pulled up under the title — pills row + quiet middot trait line (distinct, not repetitive) */
.id-head-tt{display:flex;flex-direction:column;gap:11px;margin-top:16px;position:relative;padding-right:24px}
.id-head-tt .id-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0}
.id-head-tt .id-traits{font-family:var(--disp);font-size:13.5px;font-weight:500;color:var(--text-2);line-height:1.55}
.id-tsep{margin:0 9px;color:var(--text-3);opacity:.55}
.id-head-tt .tt-edit{position:absolute;top:0;right:0;opacity:0}.id-head-tt:hover .tt-edit{opacity:1}
/* creed folded quietly under "who he is" — no title, subtle italic with an identity-coloured rule */
.who-creed{margin-top:16px;max-width:640px;border-left:2px solid;padding-left:16px;display:flex;flex-direction:column;gap:7px}
.who-creed span{font-family:var(--disp);font-size:13.5px;font-style:italic;line-height:1.5;color:var(--text-2)}
/* the gap — Skills|Stats toggle */
.gap-toggle{margin-left:auto;display:inline-flex;gap:0;border:1px solid var(--brd);border-radius:8px;overflow:hidden}
.gap-tog{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:transparent;border:none;border-right:1px solid var(--brd);padding:6px 14px;cursor:pointer;transition:color .12s,background .12s}
.gap-tog:last-child{border-right:none}
.gap-tog.on{background:rgba(255,255,255,.05);font-weight:700}
.gap-tog:hover{color:var(--text)}
.gap-view{margin-top:4px}
/* the bridge — becoming bar + ghosted future nodes */
.brg-bar{max-width:520px;margin:2px 0 18px}
.brg-bar-h{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:7px}
.brg-pct{font-size:14px;font-weight:700}
.brg-track{height:6px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.brg-track i{display:block;height:100%;border-radius:4px}
.brg-bar-sub{font-family:var(--mono);font-size:9px;color:var(--text-3);margin-top:7px}
.bcm-node.ghost{cursor:default;opacity:.5;border-style:dashed;background:transparent}
.bcm-node.ghost .bcm-node-dot.ghost-dot{border-style:dashed;border-color:var(--brd-2);color:var(--text-3);background:transparent}
.bcm-node.ghost .bcm-node-name{color:var(--text-3)}
.ghost-stage{opacity:.9}
.id-title-name{font-family:var(--disp);font-size:31px;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.03;margin:7px 0 9px}
.id-title-out{font-size:13.5px;color:var(--text-2);max-width:600px;line-height:1.5}
@media(max-width:720px){.id-title-name{font-size:24px}}

/* ── Identity character sheet: section heads · tags/traits · stats · beliefs · inline editors ── */
.jr-sec-h{position:relative;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:30px 0 14px;padding-top:16px;border-top:1px solid var(--brd)}
.jr-sec-t{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.jr-sec-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.sec-edit{margin-left:auto;font-size:12px;color:var(--text-3);background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .14s}
.jr-sec-h:hover .sec-edit{opacity:1}.sec-edit:hover{color:var(--text)}
/* tags + traits */
.id-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.id-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;text-transform:lowercase;border:1px solid;border-radius:99px;padding:4px 11px;opacity:.92}
.id-traits{display:flex;flex-wrap:wrap;gap:8px 18px}
.id-trait{font-family:var(--disp);font-size:14px;font-weight:600;color:var(--text-2)}
.id-trait::before{content:'—';color:var(--text-3);margin-right:7px;opacity:.6}
/* stats — evidence-based: attribute = benchmark ladder, bar fills by proof met + earned feats */
/* Traits in the forging — becoming loop, fed by logged actions */
.trait-forge{max-width:660px;margin:6px 0 26px}
.tf-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr 44px;align-items:center;gap:14px;margin:0 0 12px}
.tf-name{font-size:13px;font-weight:600;color:var(--text)}
.tf-bar{position:relative;height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.tf-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;opacity:.9}
.tf-n{font-family:var(--mono);font-size:11px;color:var(--text-3);text-align:right}
.stat-b{margin:0 0 18px;max-width:660px}
.stat-b-h{display:grid;grid-template-columns:minmax(130px,200px) 1fr 40px;align-items:center;gap:14px}
.stat-name{font-size:13px;font-weight:600;color:var(--text)}
.stat-bar{position:relative;height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.stat-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;opacity:.9}
.stat-val{font-family:var(--mono);font-size:10px;color:var(--text-3);text-align:right}
.bench{list-style:none;margin:9px 0 0;padding:0 0 0 1px;display:flex;flex-direction:column;gap:6px}
.bench-i{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12.5px;color:var(--text-3);transition:color .12s}
.bench-i.met{color:var(--text)}.bench-i:hover{color:var(--text)}
.bench-x{flex:none;width:15px;height:15px;border:1px solid var(--brd-2);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;transition:border-color .12s}
.feat-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.feat{display:inline-flex;flex-direction:column;gap:2px;border:1px solid;border-radius:9px;padding:8px 13px;background:rgba(255,255,255,.02)}
.feat-n{font-family:var(--mono);font-size:10px;letter-spacing:.03em;text-transform:uppercase;font-weight:700}
.feat-d{font-size:11px;color:var(--text-3)}
/* beliefs — quiet creed, no callout boxes */
.creed{list-style:none;margin:0;padding:0;max-width:720px;display:flex;flex-direction:column;gap:11px}
.creed li{border-left:2px solid;padding:1px 0 1px 14px}
.creed li span{font-family:var(--disp);font-size:15px;line-height:1.5;color:var(--text);font-style:italic}
/* inline editors — skill row + persona section */
.gap-row.editing{display:block;padding:16px 0}
.sk-edit{display:flex;flex-direction:column;gap:10px;max-width:640px}
.ed-f{display:flex;flex-direction:column;gap:4px}
.ed-l{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.ed-i{width:100%;background:var(--void-2);border:1px solid var(--brd-2);border-radius:8px;color:var(--text);font-family:var(--sans);font-size:13px;padding:9px 11px;line-height:1.5}
textarea.ed-i{resize:vertical;min-height:56px}
.sec-editor{max-width:720px;margin:0 0 8px;display:flex;flex-direction:column;gap:9px}
.sec-ta{font-family:var(--mono);font-size:12px;line-height:1.6}
.ed-hint{font-family:var(--mono);font-size:9.5px;line-height:1.6;color:var(--text-3);white-space:pre-line}
.ed-act{display:flex;gap:10px;justify-content:flex-end}.ed-act .btn{width:auto;padding:8px 16px}
@media(max-width:860px){.stat-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:130px 1fr 26px}}
