:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07080a;--panel:#0d0f0f;--panel2:#0f1210;--ink:#ffb400;--ink-dim:#ffb40094;--line:#ffb40047;--line-soft:#ffb40024;--danger:#f43;--ok:#5fd66a;--bw:1px;--rule:1px;--f-display:"JetBrains Mono", ui-monospace, "Courier New", monospace;--f-body:"JetBrains Mono", ui-monospace, "Courier New", monospace;--case:uppercase;--track:.03em;--display-weight:800;--body-weight:400;--label-weight:400;--texture:repeating-linear-gradient(#0000008c 0 1px, transparent 1px 3px), radial-gradient(120% 90% at 50% -10%, #ffb4001a, transparent 60%);--texture-size:auto}:root[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9e3d3;--panel:#f3efe2;--panel2:#ece5d2;--ink:#181410;--ink-dim:#6b6152;--line:#181410;--line-soft:#6b6152;--danger:#a8241c;--ok:#3c6b3f;--bw:2.5px;--rule:3px;--f-display:"Archivo Black", "Arial Black", sans-serif;--f-body:"Work Sans", ui-sans-serif, sans-serif;--case:uppercase;--track:.01em;--display-weight:400;--body-weight:500;--label-weight:700;--texture:radial-gradient(#0000000d 1px, transparent 1.2px);--texture-size:5px 5px}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit;line-height:1.4}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-weight:var(--body-weight);background-image:var(--texture);background-size:var(--texture-size);background-attachment:fixed;min-height:100vh;line-height:1.4}a{color:var(--ink)}a:hover{color:var(--ink-dim)}.caps{text-transform:var(--case)}.wrap{max-width:1440px;margin:0 auto;padding:36px 44px 60px}.box{box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel)}.box--alt{background:var(--panel2)}.sectionlabel{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:.14em;color:var(--ink-dim);align-items:center;gap:10px;margin:6px 0 10px;font-size:12px;line-height:1.2;display:flex}.sectionlabel:after{content:"";height:var(--rule);background:var(--line-soft);flex:1;order:1}.topbar{justify-content:space-between;align-items:flex-start;margin-bottom:26px;display:flex}.backlink{letter-spacing:.1em;color:var(--ink-dim);font-size:12px;line-height:1.2;text-decoration:none;display:block}.idblock{flex-direction:column;gap:6px;margin-top:14px;display:flex}.classbadge{letter-spacing:.16em;box-shadow:inset 0 0 0 var(--bw) var(--line);font-size:11px;line-height:1.2;font-weight:var(--label-weight);align-self:flex-start;padding:4px 10px;display:inline-flex}.name{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--track);margin:0;font-size:40px;line-height:1.1}.pronouns{color:var(--ink-dim);letter-spacing:.06em;font-size:12px;line-height:1.2;display:block}.rightblock{align-items:flex-start;gap:26px;display:flex}.headstats{gap:28px;margin-top:14px;display:flex}.headstat{text-align:right;min-width:82px}.headstat .label{letter-spacing:.14em;color:var(--ink-dim);font-size:10px;line-height:1.2;font-weight:var(--label-weight)}.headstat .val{font-family:var(--f-display);font-weight:var(--display-weight);font-size:22px;line-height:1.3}.modetoggle{box-shadow:inset 0 0 0 var(--bw) var(--line);margin-top:14px;display:flex}.mt-seg{text-align:center;letter-spacing:.13em;min-width:62px;color:var(--ink-dim);font-size:10px;line-height:1.2;font-weight:var(--label-weight);cursor:pointer;background:0 0;border:0;padding:5px 11px;font-family:inherit}.mt-seg[aria-pressed=true]{background:var(--ink);color:var(--bg)}.row{gap:16px;margin-bottom:16px;display:flex}.tile{box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);text-align:left;color:inherit;cursor:pointer;border:0;flex:1;padding:16px 18px;font-family:inherit;transition:background 90ms linear,box-shadow 90ms linear}.tile:hover{background:var(--panel2);box-shadow:inset 0 0 0 calc(var(--bw) + 1px) var(--ink)}.tile:active{background:var(--panel);box-shadow:inset 0 0 0 calc(var(--bw) + 1px) var(--ink)}.tile:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.tile--save{background:var(--panel)}.tile .rollcue{letter-spacing:.14em;color:var(--ink-dim);text-transform:var(--case);align-items:center;gap:5px;font-size:10px;line-height:1.2;display:flex}.tile:hover .rollcue,.tile:active .rollcue{color:var(--ink)}.tile .tlabel{letter-spacing:.14em;color:var(--ink-dim);font-size:11px;line-height:1.2;font-weight:var(--label-weight);justify-content:space-between;align-items:center;display:flex}.tile .tval{font-family:var(--f-display);font-weight:var(--display-weight);margin-top:6px;font-size:34px;line-height:1.15}.diehint{width:16px;height:16px;box-shadow:inset 0 0 0 var(--bw) var(--line);justify-content:center;align-items:center;display:flex}.diehint svg{width:9px;height:9px}:root{--titlebar-h:45px;--navstrip-h:34px}.frameroot{flex-direction:column;height:100vh;display:flex;overflow:hidden}.titlebar{height:var(--titlebar-h);background:var(--panel);box-shadow:inset 0 -1px 0 var(--line);flex:none;align-items:center;gap:16px;padding:0 20px;line-height:1;display:flex}.tb-mark{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--track);font-size:15px;line-height:1}.tb-dim{letter-spacing:.1em;color:var(--ink-dim);font-size:11px;line-height:1}.tb-sep{background:var(--line);flex:none;width:1px;height:16px}.tb-spacer{margin-left:auto}.navstrip{min-height:var(--navstrip-h);background:var(--bg);box-shadow:inset 0 -1px 0 var(--line);flex:none;gap:0;display:flex}.navtab{min-width:0;box-shadow:inset -1px 0 0 var(--line-soft);color:var(--ink-dim);font-family:var(--f-body);text-align:center;font-size:11px;line-height:14px;font-weight:var(--label-weight);letter-spacing:.12em;cursor:pointer;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;padding:10px 6px;display:flex}.navtab:first-child{flex:0 0 280px}.navtab:last-child{box-shadow:none;flex:0 0 260px}.navstrip--noright .navtab:last-child{flex:1 1 0}@media (max-width:820px){.navtab:first-child,.navtab:last-child{flex:1 1 0}}.navtab:hover{color:var(--ink)}.navtab[aria-selected=true]{color:var(--ink);background:var(--panel);box-shadow:inset 0 -2px 0 var(--ink)}.frame{background:var(--line-soft);flex:1;grid-template-columns:280px 1fr 260px;gap:1px;min-height:0;display:grid;overflow:hidden}.frame--noright{grid-template-columns:280px 1fr}.fcol{background:var(--bg);scrollbar-width:thin;flex-direction:column;gap:14px;min-width:0;padding:14px;display:flex;overflow:hidden}.fcol-centre{padding:0;overflow-y:auto}.sheetpad{flex-direction:column;gap:14px;padding:14px;display:flex}.fcol::-webkit-scrollbar{width:3px}.fcol::-webkit-scrollbar-thumb{background:var(--line)}.createpanel{box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);flex-direction:column;gap:14px;max-width:560px;padding:22px 24px;display:flex}.classgrid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.classbtn{background:var(--bg);box-shadow:inset 0 0 0 var(--bw) var(--line);color:var(--ink);font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--track);cursor:pointer;border:0;padding:14px 10px;font-size:14px;line-height:1.2;transition:background 90ms linear,box-shadow 90ms linear}.classbtn:hover{background:var(--panel2);box-shadow:inset 0 0 0 calc(var(--bw) + 1px) var(--ink)}.emptysection{box-shadow:inset 0 0 0 var(--bw) var(--line-soft);background:var(--panel);flex-direction:column;gap:6px;padding:22px 24px;display:flex}.es-title{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--track);font-size:15px;line-height:1.2}.es-text{color:var(--ink-dim);margin:0;font-size:12px;line-height:1.5}.railtabs{background:var(--line-soft);flex:none;gap:1px;display:flex}.railtab{background:var(--bg);height:28px;color:var(--ink-dim);font-family:var(--f-body);letter-spacing:.12em;cursor:pointer;border:0;flex:1;padding:0 4px;font-size:10px;line-height:28px}.railtab:hover:not(:disabled){color:var(--ink)}.railtab[aria-selected=true]{background:var(--panel);color:var(--ink);font-weight:var(--label-weight)}.railtab:disabled{opacity:.45;cursor:default}.fcol .idblock .name{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:22px;line-height:1.15;display:-webkit-box;overflow:hidden}.fcol .idblock .classbadge,.fcol .idblock .pronouns{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.roster{scrollbar-width:thin;max-height:168px;overflow-y:auto}.rosterrow .rn{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fcol .acct{flex-wrap:wrap;gap:8px;margin-top:0}.fcol .acct .minibtn{white-space:nowrap;flex:auto;min-width:0}.fsec{flex-direction:column;gap:9px;display:flex}.fgrow{flex:1;min-height:0}.fpush{margin-top:auto}.frule{background:var(--line-soft);flex:none;height:1px}.flabel{letter-spacing:.14em;text-transform:var(--case);color:var(--ink-dim);font-size:10px;line-height:14px;font-weight:var(--label-weight)}@media (max-width:820px){.frameroot{height:auto;overflow:visible}.frame,.frame--noright{flex:none;grid-template-columns:1fr;height:auto;overflow:visible}.fcol,.fcol-centre{overflow:visible}}.roster{background:var(--line-soft);flex-direction:column;gap:1px;display:flex}.rosterrow{text-align:left;background:var(--bg);cursor:pointer;width:100%;color:var(--ink-dim);font-family:var(--f-body);border:0;align-items:baseline;gap:8px;padding:8px 10px;font-size:11px;line-height:1.4;display:flex}.rosterrow:hover{background:var(--panel2);color:var(--ink)}.rosterrow[aria-current=true]{background:var(--panel);color:var(--ink);box-shadow:inset 2px 0 0 var(--ink)}.rosterrow .rn{font-weight:var(--label-weight);letter-spacing:var(--track)}.rosterrow .rk{opacity:.75;margin-left:auto;font-size:10px}.notepad{resize:none;width:100%;min-height:120px;box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);color:var(--ink);font-family:var(--f-body);border:0;flex:1;padding:10px 12px;font-size:11px;line-height:1.55}.notepad::placeholder{color:var(--ink-dim);opacity:.7}.notepad:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.lastroll{height:62px;box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);flex-direction:column;justify-content:center;margin-bottom:20px;padding:10px 16px;display:flex;overflow:hidden}.lastroll--ok{box-shadow:inset 0 0 0 calc(var(--bw) + 1px) var(--ok)}.lastroll--bad{box-shadow:inset 0 0 0 calc(var(--bw) + 1px) var(--danger)}.lastroll-outcome{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--track);font-size:19px;line-height:1.2}.lastroll--ok .lastroll-outcome{color:var(--ok)}.lastroll--bad .lastroll-outcome{color:var(--danger)}.lastroll-detail{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;line-height:1.3;overflow:hidden}.lastroll-idle{letter-spacing:.14em;color:var(--ink-dim);font-size:12px;line-height:1.3}.tracks{gap:16px;margin-bottom:24px;display:flex}.track{box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);flex:1;padding:14px 16px}.track .thead{letter-spacing:.12em;color:var(--ink-dim);font-size:11px;line-height:1.2;font-weight:var(--label-weight);justify-content:space-between;margin-bottom:10px;display:flex}.thead b{color:var(--ink);line-height:1.2;font-weight:var(--label-weight);display:inline-block}.bar{height:14px;box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel2);display:flex;overflow:hidden}.bar>span{background:var(--ink);display:block}.segwrap{gap:4px;display:flex}.seg{width:16px;height:16px;box-shadow:inset 0 0 0 var(--bw) var(--line)}.seg--on{background:var(--danger)}.stressbar{height:14px;box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel2);position:relative}.stressbar .fill{background:var(--danger);height:100%}.stressbar .floor{background:var(--ink);width:3px;position:absolute;top:-3px;bottom:-3px}.step{gap:6px;margin-top:10px;display:flex}.step button{color:var(--ink-dim);box-shadow:inset 0 0 0 var(--bw) var(--line);cursor:pointer;font-family:inherit;font-size:11px;line-height:1.2;font-weight:var(--label-weight);background:0 0;border:0;flex:1;padding:4px 0}.step button:hover{color:var(--ink);background:var(--panel2)}.grid2{grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:24px;display:grid}.panel{box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);height:248px;padding:18px 20px;overflow:auto}.tiercols{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tier{min-height:104px}.tiertitle{letter-spacing:.1em;color:var(--ink-dim);font-size:11px;line-height:1.2;font-weight:var(--label-weight);justify-content:space-between;margin-bottom:8px;display:flex}.chip{box-shadow:inset 0 0 0 var(--bw) var(--line);letter-spacing:.03em;font-size:11px;line-height:1.2;font-weight:var(--body-weight);color:inherit;cursor:pointer;background:0 0;border:0;margin:0 6px 6px 0;padding:4px 9px;font-family:inherit;display:inline-block}.chip:hover{background:var(--panel2);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg)}.trauma .ttitle{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:.12em;color:var(--danger);margin-bottom:8px;font-size:12px;line-height:1.2}.trauma p{color:var(--ink);margin:0;font-size:13px;line-height:1.55}.loadout{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.fcol-right .loadout{scrollbar-width:thin;flex:auto;align-content:start;min-height:0;overflow-y:auto}.fcol-right .fsec{min-height:0}@media (max-width:820px){.fcol-right .loadout{flex:0 auto;min-height:auto;overflow:visible}}.item{box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);padding:12px 14px}.item .iname{letter-spacing:.05em;font-size:12px;line-height:1.2;font-weight:var(--label-weight);margin-bottom:6px}.item .imeta{color:var(--ink-dim);height:52px;font-size:10.5px;line-height:1.6;overflow:auto}.log{box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel2);min-height:96px;padding:12px 16px;font-size:11.5px;line-height:1.2}.lline{border-bottom:1px dashed var(--line-soft);justify-content:space-between;gap:16px;padding:5px 0;display:flex}.lline:last-child{border-bottom:none}.log-empty{color:var(--ink-dim);padding:5px 0}.ok{color:var(--ok)}.bad{color:var(--danger)}.crit{font-weight:var(--label-weight)}.tag{letter-spacing:.13em;color:var(--ink-dim);font-size:9.5px;line-height:1.2;display:inline-block}.rollbar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:18px;display:flex}.rollgroup{align-items:center;gap:8px;display:flex}.seg-ctl{box-shadow:inset 0 0 0 var(--bw) var(--line);display:flex}.seg-ctl button{text-align:center;letter-spacing:.13em;min-width:104px;color:var(--ink-dim);font-size:10px;line-height:1.2;font-weight:var(--label-weight);cursor:pointer;background:0 0;border:0;padding:6px 10px}.seg-ctl button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.skillsel{letter-spacing:.06em;min-width:230px;height:26px;color:var(--ink);background:var(--panel);box-shadow:inset 0 0 0 var(--bw) var(--line);font-family:inherit;font-size:11px;line-height:1.4;font-weight:var(--body-weight);border:0;padding:5px 8px}.rollbar .rl{letter-spacing:.12em;color:var(--ink-dim);font-size:11px;line-height:1.2;font-weight:var(--label-weight)}.authwrap{justify-content:center;align-items:center;min-height:100vh;display:flex}.authcard{width:100%;max-width:360px;box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel);text-align:center;padding:30px 28px 24px}.authmark{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--track);font-size:30px;line-height:1.1}.authsub{letter-spacing:.22em;color:var(--ink-dim);font-size:10px;line-height:1.2;font-weight:var(--label-weight);margin:6px 0 22px}.fld{width:100%;color:var(--ink);background:var(--panel2);box-shadow:inset 0 0 0 var(--bw) var(--line);border:0;margin:0 0 10px;padding:9px 11px;font-family:inherit;font-size:13px;line-height:1.4;display:block}.fld::placeholder{color:var(--ink-dim)}.btn{letter-spacing:.16em;width:100%;font-family:inherit;font-size:11px;line-height:1.4;font-weight:var(--label-weight);color:var(--bg);background:var(--ink);cursor:pointer;border:0;margin-top:4px;padding:10px 0;display:block}.btn:disabled{opacity:.6;cursor:default}.autherr{min-height:30px;color:var(--danger);padding-top:10px;font-size:11px;line-height:1.4}.authmsg{color:var(--ink-dim);margin-bottom:8px;font-size:11px;line-height:1.4}.authswap{vertical-align:middle;letter-spacing:.13em;height:14px;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:10px;line-height:14px;text-decoration:underline;display:inline-block}.authback{margin-top:18px}.acct{align-items:center;gap:10px;margin-top:14px;display:flex}.acct .who{letter-spacing:.1em;color:var(--ink-dim);font-size:10px;line-height:1.2;font-weight:var(--label-weight)}.minibtn{letter-spacing:.13em;color:var(--ink-dim);box-shadow:inset 0 0 0 var(--bw) var(--line);cursor:pointer;font-family:inherit;font-size:10px;line-height:1.2;font-weight:var(--label-weight);background:0 0;border:0;padding:5px 10px}.minibtn:hover{color:var(--ink);background:var(--panel2)}.minibtn[aria-pressed=true]{color:var(--bg);background:var(--ink)}.minibtn:disabled{opacity:.5;cursor:default}.minibtn--danger{color:var(--danger)}.camp-head{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.camp-name{width:100%;height:20px;font-size:16px;line-height:20px;font-weight:var(--label-weight);letter-spacing:var(--track);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.camp-code{letter-spacing:.13em;color:var(--ink-dim);font-size:10px;line-height:14px}.camp-code b{color:var(--ink);letter-spacing:.22em}.camp-form{gap:6px;display:flex}.rfld{min-width:0;height:26px;color:var(--ink);background:var(--panel);box-shadow:inset 0 0 0 var(--bw) var(--line);border:0;flex:1;padding:0 8px;font-family:inherit;font-size:11px;line-height:26px}.rfld::placeholder{color:var(--ink-dim)}.rfld:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.camp-form .minibtn{height:26px}.camp-hint,.camp-err{color:var(--ink-dim);font-size:10.5px;line-height:14px}.camp-clip{text-overflow:ellipsis;white-space:nowrap;height:14px;overflow:hidden}.camp-err{color:var(--danger)}.camp-row{cursor:default}.lline .who{font-weight:var(--label-weight);margin-right:6px}.lline .hidtag{color:var(--ink-dim);margin-right:6px}.lline.hid{opacity:.8}.rosterrow .rk{white-space:nowrap;flex:none}.camp-top{justify-content:space-between;align-items:center;width:100%;display:flex}.camp-top .minibtn{height:22px;padding:0 8px}.fcol-left .fgrow>.log{flex-flow:column wrap;flex:1;align-content:flex-start;min-height:0;display:flex;overflow:hidden}.fcol-left .fgrow>.log>*{flex:none;width:100%;margin-right:32px}.fcol-left .lline{grid-template-columns:minmax(0,1fr);gap:0;height:38px;padding:5px 0;line-height:14px;display:grid}.fcol-left .lline>span{text-overflow:ellipsis;white-space:nowrap;height:14px;line-height:14px;display:block;overflow:hidden}.mapview{flex-direction:column;height:100%;min-height:0;display:flex}.map-bar{box-shadow:inset 0 -1px 0 var(--line-soft);flex-direction:column;flex:none;gap:6px;padding:8px 12px;display:flex}.map-row{align-items:center;gap:6px;min-width:0;height:26px;display:flex}.map-row .minibtn{flex:none;height:26px}.map-select{flex:1;min-width:0;max-width:240px;height:26px}.map-sp{flex:1}.map-tag{letter-spacing:.13em;color:var(--ink-dim);white-space:nowrap;font-size:10px;line-height:14px}.map-name{text-overflow:ellipsis;min-width:0;color:var(--ink);overflow:hidden}.map-num{flex:none;width:56px}.map-stage{background:var(--panel2);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative;overflow:hidden}.map-stage[data-tool=zone],.map-stage[data-tool=token]{cursor:crosshair}.map-layer{position:absolute}.map-img{pointer-events:none;width:100%;height:100%;display:block}.map-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-grid line{stroke:#9696968c;stroke-width:1px}.map-fog{fill:#000;opacity:.94}.map-fog--warden{opacity:.45}.map-zone{fill:none;stroke:#e8a33d;stroke-width:1.5px}.map-zone.is-hidden{stroke-dasharray:5 4}.map-zone.is-sel{stroke:#fff;stroke-width:3px}.map-draft{fill:#e8a33d2e;stroke:#e8a33d;stroke-width:1.5px;stroke-dasharray:5 4}.map-zlabel{letter-spacing:.08em;color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#000000b3;max-width:160px;height:14px;margin:3px 0 0 3px;padding:0 4px;font-size:9.5px;line-height:14px;position:absolute;overflow:hidden}.map-token{text-align:center;color:#fff;text-shadow:0 1px 1px #000c;cursor:default;touch-action:none;border:0;border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;padding:0;font-family:inherit;font-size:10px;font-weight:700;line-height:28px;position:absolute;box-shadow:0 0 0 2px #fff,0 1px 4px #0009}.map-token.can-move{cursor:grab}.map-token.is-hidden{opacity:.55;box-shadow:none;outline:2px dashed #fff}.map-token.is-sel{box-shadow:0 0 0 3px #e8a33d,0 1px 4px #0009}.map-token:focus-visible{outline-offset:3px;outline:2px solid #e8a33d}.map-empty{text-align:center;color:var(--ink-dim);justify-content:center;align-items:center;padding:24px;font-size:12px;line-height:18px;display:flex;position:absolute;inset:0}.map-err{z-index:2;color:var(--danger);background:var(--panel);box-shadow:inset 0 0 0 var(--bw) var(--line);padding:6px 10px;font-size:11px;line-height:16px;position:absolute;top:8px;left:8px;right:8px}.map-insp{height:128px;box-shadow:inset 0 1px 0 var(--line-soft);flex-direction:column;flex:none;gap:6px;padding:8px 12px;display:flex}.map-insp--token{height:72px}.map-insp--info{height:76px}.map-notes{flex:1;grid-template-columns:1fr 1fr;gap:8px;min-height:0;display:grid}.map-notes textarea{resize:none;height:100%;color:var(--ink);background:var(--panel);box-shadow:inset 0 0 0 var(--bw) var(--line);border:0;padding:6px 8px;font-family:inherit;font-size:11px;line-height:15px}.map-notes textarea::placeholder{color:var(--ink-dim)}.map-swatch{cursor:pointer;border:0;flex:none;width:20px;height:20px;padding:0;box-shadow:inset 0 0 0 1px #00000059}.map-swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}.map-info-title{height:16px;font-size:11px;line-height:16px;font-weight:var(--label-weight);letter-spacing:var(--track);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-info-text{flex:1;min-height:0;font-size:12px;line-height:17px;overflow-y:auto}.opsview{flex-direction:column;height:100%;min-height:0;display:flex}.opsview>.railtabs{flex:none;margin:10px 12px 0}.opsbody{flex:1;min-height:0}.chars{box-sizing:border-box;flex-direction:column;gap:12px;height:100%;min-height:0;padding:14px;display:flex}.chars-top{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.chars-top .shore-title{margin-right:auto}.chars-top .minibtn{height:26px}.chars-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-content:start;gap:10px;min-height:0;display:grid;overflow-y:auto}.charcard{text-align:left;min-width:0;color:var(--ink);background:var(--panel);box-shadow:inset 0 0 0 var(--bw) var(--line);cursor:pointer;border:0;flex-direction:column;gap:6px;padding:12px 14px;font-family:inherit;display:flex}.charcard:hover{background:var(--panel2)}.charcard[aria-current=true]{box-shadow:inset 0 0 0 calc(var(--bw) + 1px) var(--ink)}.cc-name{font-size:14px;line-height:18px;font-weight:var(--label-weight);letter-spacing:var(--track);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cc-sub{letter-spacing:.1em;color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;line-height:14px;overflow:hidden}.cc-stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;font-size:12px;line-height:16px;display:flex}.cc-stats b{font-weight:var(--label-weight)}.cc-open{letter-spacing:.13em;color:var(--ink-dim);font-size:10px;line-height:14px}.npcs{grid-template-columns:220px minmax(0,1fr);height:100%;min-height:0;display:grid}@media (max-width:1100px){.npcs{grid-template-columns:160px minmax(0,1fr)}}.npc-list{min-width:0;min-height:0;box-shadow:inset -1px 0 0 var(--line-soft);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.npc-kindsel{flex:1;min-width:0;height:26px}.npc-list .roster.npc-rows{background:0 0;flex:1;gap:0;min-height:0;max-height:none}.npc-row{box-shadow:inset 0 -1px 0 var(--line-soft);flex:none}.npc-fine{color:var(--ok)}.npc-hurt{color:var(--ink)}.npc-dead{color:var(--danger);font-weight:var(--label-weight)}.npc-detail{flex-direction:column;gap:8px;min-width:0;min-height:0;padding:10px 14px;display:flex;position:relative}.npc-detail .map-row .rfld{min-width:0}.npc-stats{background:var(--line-soft);box-shadow:inset 0 0 0 var(--bw) var(--line);flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.npc-cell{background:var(--panel);flex-direction:column;gap:3px;min-width:0;height:52px;padding:5px 7px;display:flex}.npc-cell .seat-label,.npc-cell .seat-dim{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.npc-cell .seat-dim{font-size:10px;line-height:24px}.npc-cellrow{align-items:center;gap:4px;min-width:0;height:24px;display:flex}.rfld.npc-num{font-variant-numeric:tabular-nums;flex:1;min-width:0;height:24px;padding:0 6px;line-height:24px}.minibtn.npc-roll{flex:none;height:24px;padding:0 6px}.npc-status{letter-spacing:.12em;font-size:11px;line-height:24px}.npc-track{flex-direction:column;flex:none;gap:6px;display:flex}.npc-lab{flex:none;width:58px}.npc-boxes{gap:3px;display:flex}.npc-box{width:12px;height:12px;box-shadow:inset 0 0 0 var(--bw) var(--line)}.npc-box.on{background:var(--danger)}.npc-hp{text-align:center;min-width:44px;font-size:13px;line-height:16px;font-weight:var(--label-weight);font-variant-numeric:tabular-nums;white-space:nowrap}.npc-hp-none{white-space:nowrap;font-size:11px;line-height:16px}.npc-damage .rfld.npc-dmg{flex:none;width:56px}.npc-damage .skillsel{flex:1;min-width:0;height:26px}.npc-notes{resize:none;min-height:40px;color:var(--ink);background:var(--panel);box-shadow:inset 0 0 0 var(--bw) var(--line);border:0;flex:1;padding:6px 8px;font-family:inherit;font-size:11px;line-height:15px}.npc-notes::placeholder{color:var(--ink-dim)}.npc-hint{height:14px;color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:10.5px;line-height:14px;overflow:hidden}.seat{flex-direction:column;gap:14px;display:flex}.seat-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.seat-name{font-size:22px;line-height:26px;font-weight:var(--label-weight);letter-spacing:var(--track);margin:4px 0 2px}.seat-sub{letter-spacing:.13em;color:var(--ink-dim);font-size:10px;line-height:14px}.seat-actions{margin-top:0}.seat-grid{background:var(--line-soft);box-shadow:inset 0 0 0 var(--bw) var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.seat-grid--3{grid-template-columns:repeat(3,1fr)}.seat-cell{background:var(--panel);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.seat-label{letter-spacing:.13em;color:var(--ink-dim);font-size:10px;line-height:14px}.seat-val{font-size:24px;line-height:28px;font-weight:var(--label-weight);font-variant-numeric:tabular-nums}.seat-of{color:var(--ink-dim);font-size:12px}.seat-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.seat-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:12px;line-height:16px;list-style:none;display:flex}.seat-dim{color:var(--ink-dim)}.seat-text{margin:6px 0 0;font-size:12px;line-height:17px}.seat-foot{color:var(--ink-dim);font-size:11px;line-height:16px}.notice{color:var(--ink-dim);box-shadow:inset 0 0 0 var(--bw) var(--line);background:var(--panel2);margin-bottom:16px;padding:10px 14px;font-size:11px;line-height:16px}.notice.bad{color:var(--danger)}.savestate{letter-spacing:.12em;color:var(--ink-dim);font-size:10px;line-height:1.2;font-weight:var(--label-weight);text-align:right;min-width:74px}.dmgrow{gap:6px;margin-top:6px;display:flex}.dmgnum{width:54px;color:var(--ink);background:var(--panel2);box-shadow:inset 0 0 0 var(--bw) var(--line);border:0;padding:4px 6px;font-family:inherit;font-size:11px;line-height:1.4}.dmgsel{letter-spacing:.06em;min-width:0;color:var(--ink);background:var(--panel2);box-shadow:inset 0 0 0 var(--bw) var(--line);font-family:inherit;font-size:10px;line-height:1.4;font-weight:var(--label-weight);border:0;flex:1;padding:4px 6px}.dmgaa{letter-spacing:.1em;color:var(--ink-dim);box-shadow:inset 0 0 0 var(--bw) var(--line);cursor:pointer;font-family:inherit;font-size:10px;line-height:1.4;font-weight:var(--label-weight);background:0 0;border:0;flex:none;padding:4px 6px}.dmgaa[aria-pressed=true]{color:var(--bg);background:var(--ink)}.sectionlabel .sl-btn{flex:none;order:2;height:18px;padding:0 8px;font-size:9.5px;line-height:18px}.minibtn--solid{color:var(--bg);background:var(--ink)}.minibtn--solid:hover{color:var(--bg);background:var(--ink);opacity:.9}.shore{flex-direction:column;gap:14px;max-width:640px;display:flex}.shore-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.shore-title{font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:var(--track);margin:0;font-size:22px;line-height:26px}.shore-sub{color:var(--ink-dim);margin:4px 0 0;font-size:12px;line-height:17px}.shore-sub b{color:var(--ink)}.shore-ports{background:var(--line-soft);box-shadow:inset 0 0 0 var(--bw) var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.shore-port{text-align:left;min-width:0;color:var(--ink);background:var(--panel);cursor:pointer;border:0;flex-direction:column;gap:3px;padding:8px;font-family:inherit;display:flex}.shore-port[aria-pressed=true]{color:var(--bg);background:var(--ink)}.shore-port b{letter-spacing:.1em;font-size:12px;line-height:16px}.shore-port span{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;line-height:14px;overflow:hidden}.shore-cr{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.shore-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shore-actions .minibtn{height:30px;padding:0 14px}.shore-msg{margin:0;font-size:12.5px;line-height:18px}.shore-alloc{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.shore-alloc-row{background:var(--panel);box-shadow:inset 0 0 0 var(--bw) var(--line);justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;display:flex}.shore-step{gap:4px;display:flex}.shore-step .minibtn{width:26px;height:26px;padding:0}.cstrip{background:var(--panel);height:122px;box-shadow:inset 0 0 0 var(--bw) var(--danger);flex-direction:column;flex:none;gap:4px;padding:8px 10px;display:flex}.cs-title{height:14px;font-family:var(--f-display);font-weight:var(--display-weight);letter-spacing:.12em;color:var(--danger);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:14px;overflow:hidden}.cs-text{height:30px;color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:15px;display:-webkit-box;overflow:hidden}.cs-btns{grid-template-rows:24px 24px;grid-template-columns:1fr 1fr;gap:4px;height:52px;margin-top:auto;display:grid}.cs-btns .minibtn{white-space:nowrap;text-overflow:ellipsis;height:24px;padding:0 6px;overflow:hidden}.armorblk{flex-direction:column;gap:6px;display:flex}.armorrow{align-items:center;gap:8px;height:26px;display:flex}.armorfld{flex:none;align-items:center;gap:4px;display:flex}.armorfld span{letter-spacing:.13em;color:var(--ink-dim);font-size:10px;line-height:14px;font-weight:var(--label-weight)}.armorfld .rfld{text-align:center;flex:none;width:38px;height:26px;padding:0 4px}.armorrow .minibtn{height:26px;margin-left:auto}.armorblk .skillsel{width:100%;height:26px}.dmgbtn{letter-spacing:.1em;color:var(--bg);background:var(--danger);cursor:pointer;font-family:inherit;font-size:10px;line-height:1.4;font-weight:var(--label-weight);white-space:nowrap;border:0;padding:4px 10px}.genwrap{flex-direction:column;gap:12px;min-height:0;padding:14px;display:flex}.genbar{flex:none;align-items:center;gap:10px;display:flex}.genmount{min-height:0;box-shadow:inset 0 0 0 var(--bw) var(--line);flex:1;overflow:auto;container-type:inline-size}.genmount .main{max-width:none;margin:0;padding:14px}.genmount .panel,.genmount .track,.genmount .btn,.genmount .grid2{all:revert}.sheetpad{gap:10px}.sheetpad .sectionlabel{margin:0}.sheetpad .row{gap:10px;margin-bottom:0}.sheetpad .tile{padding:10px 12px}.sheetpad .tile .tval{font-size:24px}.sheetpad .tracks{gap:10px;margin-bottom:0}.sheetpad .track{padding:10px 12px}.sheetpad .grid2{gap:10px;margin-bottom:0}.sheetpad .panel{height:170px;padding:12px 14px}.sheetpad .rollbar{gap:8px 12px;margin-bottom:0}.genmount #main{flex-direction:column;display:flex}.genmount #main>*{order:3}.genmount #main>.step-h{order:0}.genmount #main>.step-p{order:1}.genmount #main>.btn-row.tight{order:2;justify-content:flex-start;margin-top:0;margin-bottom:4px}.tb-logo{object-fit:contain;width:28px;height:28px;display:block}.tb-logo--dark,:root:not([data-mode=light]) .tb-logo--light{display:none}:root:not([data-mode=light]) .tb-logo--dark{display:block}.tb-account{letter-spacing:.04em;color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:11px;line-height:1;overflow:hidden}
