main.play{position:absolute;inset:0;overflow:auto;padding:18px 24px 40px}.play-inner{max-width:1560px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.play .spacer{flex:1}.play-hero{border:2px solid var(--red);background:var(--paper-light);box-shadow:3px 3px #221c1338;padding:12px 16px}.hero-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-title{font-family:var(--font-title);font-size:17px;letter-spacing:2px;color:var(--red)}.flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flow-pair{display:contents}.flow .step{border:1px solid var(--ink);padding:4px 12px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:1px;background:var(--paper)}.flow .step.red{background:var(--red);color:var(--paper-light)}.flow .arr{color:var(--red)}.hero-note{font-style:italic;font-size:13px;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:18px;margin-top:12px}.play .bullets{font-size:13.5px;line-height:1.55}.positions{font-size:13px;line-height:1.5;border-left:1px dotted rgba(34,28,19,.4);padding-left:16px}.positions .pos{display:flex;gap:8px}.positions .pos b{font-family:var(--font-mono);font-size:11px;width:88px;flex:none}.positions .pos span{font-style:italic}.positions .effect{margin-top:6px;font-size:12px;color:var(--muted)}.conseq{border-left:1px dotted rgba(34,28,19,.4);padding-left:16px}.play .eyebrow{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--red);margin-bottom:5px}.play .tags{display:flex;flex-wrap:wrap;gap:4px}.play .tag{border:1px solid rgba(34,28,19,.6);padding:1px 7px;font-size:12px}.conseq .warn{font-size:12.5px;font-style:italic;color:var(--red);margin-top:6px}.play-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.play-card{border:1px solid var(--ink);background:var(--paper-light);box-shadow:3px 3px #221c1338;padding:10px 14px}.card-title{font-family:var(--font-title);font-size:17px;letter-spacing:1px}.card-sub{font-size:12.5px;font-style:italic;color:var(--red);margin-bottom:6px}.play .ask{margin-top:8px;border:1px dotted rgba(34,28,19,.5);background:#efe6cf;padding:7px 10px}.play .ask .eyebrow{color:var(--muted);margin-bottom:3px}.play .ask .q{font-size:13px;font-style:italic;line-height:1.5}.play .ask .after{font-size:12px;color:var(--muted);margin-top:3px}.play .banner{margin-top:8px;font-family:var(--font-mono);font-size:11.5px;font-weight:700;background:var(--ink);color:var(--paper);padding:6px 10px}.play .banner.spaced{letter-spacing:.5px}.play .banner.red{background:var(--red);color:var(--paper-light)}.play .motto{margin-top:8px;font-family:var(--font-title);font-size:15px;letter-spacing:1px;color:var(--red)}.play .tags.agency{margin:6px 0}.play .arcs{font-size:13px;line-height:1.5}.play .arcs b{font-family:var(--font-mono);font-size:11px}.play .arcs-note{font-style:italic;color:var(--muted);margin-top:3px}.sheets{height:100%;display:flex;overflow:hidden;font-family:var(--font-sheet);font-size:15px;color:var(--ink)}.sheets b{font-weight:700}.sh-spacer{flex:1}.sh-rail{width:216px;flex:none;border-right:1px solid var(--ink);background:var(--sheet-rail);display:flex;flex-direction:column;overflow-y:auto;gap:6px;padding-bottom:12px}.sh-rail-label{font-family:var(--font-stencil);font-weight:700;font-size:13px;letter-spacing:3px;padding:12px 14px 2px;color:var(--muted)}.sh-card{text-align:left;margin:0 10px;padding:10px 12px;border:1px solid var(--ink);background:var(--paper-light);color:var(--ink);display:flex;flex-direction:column;gap:3px}.sh-card:hover{background:var(--paper-hover)}.sh-card.is-on,.sh-card.is-on:hover{background:var(--ink);color:var(--paper)}.sh-card-name{font-family:var(--font-stencil);font-weight:700;font-size:19px;line-height:1;letter-spacing:.5px}.sh-card-sub{font-size:13px;font-style:italic;opacity:.8}.sh-new{margin:4px 10px 0;padding:8px 12px;border:1px dashed var(--ink);background:transparent;color:var(--ink);text-align:left;font-family:var(--font-stencil);font-weight:700;font-size:13px;letter-spacing:2px}.sh-new:hover{background:var(--paper-light)}.sh-rail-spacer{flex:1}.sh-rail-attrib{padding:10px 14px 0;font-size:11.5px;color:var(--muted);line-height:1.35;text-wrap:pretty}.sh-main{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;position:relative}.sh-empty{padding:60px 40px;max-width:520px}.sh-empty h2{font-family:var(--font-stencil);font-weight:800;font-size:48px;line-height:1;margin:0}.sh-empty p{font-size:17px;font-style:italic;color:var(--muted);margin:8px 0 0;text-wrap:pretty}.sh-picker{padding:30px 26px 40px}.sh-picker h2{font-family:var(--font-stencil);font-weight:800;font-size:44px;line-height:1;margin:0}.sh-picker .sub{font-style:italic;color:var(--muted);margin:4px 0 18px;font-size:16px}.sh-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.sh-picker-grid.wide{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sh-pick{text-align:left;border:1px solid var(--ink);background:var(--paper-light);color:var(--ink);padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:3px 3px #221c1340;font-family:inherit}.sh-pick:hover{background:var(--paper-hover)}.sh-pick-name{font-family:var(--font-stencil);font-weight:700;font-size:32px;line-height:1}.sh-pick-tag{font-style:italic;font-size:16px}.sh-pick-desc{font-size:14px;color:var(--muted);text-wrap:pretty}.sh-pick-xp{font-size:13.5px;text-wrap:pretty}.sh-cancel{margin-top:18px;border:1px solid var(--ink);background:transparent;padding:6px 14px;font-family:var(--font-stencil);font-weight:700;font-size:13px;letter-spacing:2px}.sh-sticky{position:sticky;top:0;z-index:5}.sh-band{position:relative;z-index:1;background:var(--ink);color:var(--paper);padding:14px 26px 22px;display:flex;align-items:flex-end;gap:22px;clip-path:polygon(0 0,100% 0,100% 86%,96% 100%,93% 89%,88% 97%,82% 90%,76% 99%,70% 91%,63% 98%,57% 89%,50% 97%,44% 90%,37% 99%,31% 91%,25% 97%,19% 89%,13% 98%,8% 91%,3% 99%,0 90%)}.sh-band-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.sh-band-row{display:flex;gap:16px;align-items:baseline}.sh-band input{background:transparent;border:0;border-bottom:1px dashed rgba(231,223,201,.3);padding:0 0 2px;color:var(--paper);outline:none;font-family:var(--font-sheet)}.sh-band input::placeholder{color:#e7dfc973}.sh-band input:focus{border-bottom-color:#e7dfc9b3}.sh-band input.sh-name{font-family:var(--font-stencil);font-weight:700;font-size:46px;line-height:1;letter-spacing:1px;width:min(420px,46%)}.sh-band input.sh-name.crew{width:min(520px,70%)}.sh-band input.sh-alias{font-style:italic;font-size:20px;width:180px}.sh-band input.sh-look{font-size:16px;width:min(620px,90%)}.sh-band-blurb{font-size:15px;font-style:italic;opacity:.85;text-wrap:pretty}.sh-band-side{text-align:right;flex:none;padding-bottom:4px}.sh-band-kicker{font-family:var(--font-stencil);font-weight:700;font-size:11px;letter-spacing:3px;opacity:.7}.sh-band-type{font-family:var(--font-stencil);font-weight:700;font-size:38px;line-height:1}.sh-band-tag{font-style:italic;font-size:14.5px;opacity:.85}.sh-strip{background:var(--paper-light);border-bottom:2px solid var(--ink);padding:10px 26px 12px;display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start;margin-top:-8px}.sh-group{display:flex;flex-direction:column;gap:5px}.sh-group-head{display:flex;align-items:baseline;gap:8px;min-height:15px}.sh-group-body{display:flex;gap:4px;align-items:center}.sh-label{font-family:var(--font-stencil);font-weight:700;font-size:12px;letter-spacing:2.5px}.sh-label.small{font-size:11px;letter-spacing:2px}.sh-label.muted{color:var(--muted)}.sh-label.red{color:var(--red)}.sh-count{font-size:13px;color:var(--muted)}.sh-count.is-over{color:var(--red)}.sh-hint{font-size:13px;color:var(--red);font-style:italic}.sh-gap10{width:10px;flex:none}.sh-tag{font-family:var(--font-stencil);font-weight:700;font-size:10px;letter-spacing:2px}.sh-box{border:1.5px solid var(--ink);background:transparent;padding:0;flex:none;display:inline-block}.sh-box:hover{background:#221c131f}.sh-box.is-on,.sh-box.is-on:hover{background:var(--ink)}.sh-box.is-round{border-radius:50%}.sh-box.is-red{border-color:var(--red)}.sh-box.is-red.is-on,.sh-box.is-red.is-on:hover{background:var(--red)}.sh-box.is-inverse{border-color:#e7dfc9d9}.sh-box.is-inverse:hover{background:#e7dfc933}.sh-box.is-inverse.is-on,.sh-box.is-inverse.is-on:hover{background:var(--paper)}.sh-box.is-dashed,.sh-box.is-dashed:hover{border-style:dashed;border-color:var(--faint);background:transparent;cursor:not-allowed}.sh-chip{font-family:var(--font-sheet);font-size:13.5px;line-height:18px;padding:2px 8px;border:1px solid var(--ink);background:transparent;color:var(--ink)}.sh-chip:hover{background:var(--paper-hover)}.sh-chip.is-on,.sh-chip.is-on:hover{background:var(--ink);color:var(--paper)}.sh-chips{display:flex;flex-wrap:wrap;gap:3px}.sh-seg{display:flex}.sh-seg button{font-family:var(--font-stencil);font-weight:700;font-size:11px;letter-spacing:1.5px;padding:5px 9px;border:1px solid var(--ink);margin-left:-1px;background:transparent;color:var(--ink);white-space:nowrap}.sh-seg button:first-child{margin-left:0}.sh-seg button:hover{background:var(--paper-hover)}.sh-seg button.is-on,.sh-seg button.is-on:hover{background:var(--ink);color:var(--paper)}.sh-select{border:1px solid var(--ink);background:var(--paper-light);color:var(--ink);font-family:var(--font-sheet);font-size:14px;padding:2px 4px}.sh-select.grow{flex:1;min-width:140px}.sh-btn{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:3px 9px;font-family:var(--font-stencil);font-weight:700;font-size:11px;letter-spacing:1.5px}.sh-btn:hover{background:var(--paper)}.sh-badge{background:var(--red);color:var(--paper-light);border:0;font-family:var(--font-stencil);font-weight:700;font-size:10px;letter-spacing:1.5px;padding:3px 7px;white-space:nowrap}.sh-badge:hover{background:var(--red-hover)}.sh-badge.big{font-size:10.5px;padding:4px 8px;margin-left:8px}.sh-x{border:0;background:transparent;color:var(--red);font-size:12px;padding:0 2px;align-self:flex-start;line-height:1.4}.sh-x:hover{background:transparent;color:var(--red-hover)}.sh-danger{align-self:flex-start;border:1px solid var(--red);background:transparent;color:var(--red);padding:5px 12px;font-family:var(--font-stencil);font-weight:700;font-size:11px;letter-spacing:1.5px}.sh-danger:hover{background:#8c2f1b14}.sh-danger.is-armed,.sh-danger.is-armed:hover{background:var(--red);color:var(--paper-light)}.track.wrap{flex-wrap:wrap;max-width:200px}.sh-armor{display:flex;gap:8px}.sh-armor-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.sh-armor-cell span{font-size:10px;letter-spacing:1.5px}.sh-armor-cell.is-off span{color:var(--faint)}.sh-restore{border:0;background:transparent;font-size:11px;letter-spacing:1px;color:var(--muted);padding:0}.sh-restore:hover{color:var(--red);background:transparent}.sh-trauma-chips{display:flex;flex-wrap:wrap;gap:3px;margin-left:10px;max-width:360px}.sh-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;padding:20px 26px 48px;align-items:start}.sh-col{display:flex;flex-direction:column;gap:20px;min-width:0}.sh-panel{border:1px solid var(--ink);background:var(--paper-light);box-shadow:var(--shadow-panel)}.sh-panel.rail{background:var(--sheet-rail)}.sh-bar{background:var(--sheet-bar);font-family:var(--font-stencil);font-weight:700;font-size:14px;letter-spacing:2.5px;padding:5px 10px;display:flex;align-items:center;gap:10px}.sh-bar.dark{background:var(--sheet-bar-dark)}.sh-bar.ink{background:var(--ink);color:var(--paper)}.sh-bar-note{font-size:11px;letter-spacing:1px;color:var(--muted)}.sh-bar.ink .sh-bar-note{color:inherit;opacity:.65}.sh-bar-note.is-over{color:var(--red)}.sh-harm{display:flex;gap:14px;padding:10px;align-items:stretch}.sh-harm-grid{flex:1;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) 90px;border:1px solid var(--ink);border-bottom:0}.sh-harm-level{border:0;border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);background:transparent;font-family:var(--font-stencil);font-weight:700;font-size:22px;padding:0;color:var(--ink)}.sh-harm-level:hover{background:var(--red);color:var(--paper-light)}.sh-harm-cells{display:flex;border-bottom:1px solid var(--ink);min-width:0}.sh-harm-input{flex:1;min-width:0;border:0;border-right:1px solid var(--hairline);background:transparent;font-family:var(--font-body);font-style:italic;font-size:17px;padding:9px 8px;color:var(--ink);outline:none}.sh-harm-input::placeholder{color:var(--faint)}.sh-harm-input:focus{background:#fffaeb99}.sh-harm-pen{border-bottom:1px solid var(--ink);font-family:var(--font-stencil);font-weight:700;font-size:10.5px;letter-spacing:1.5px;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--sheet-bar);padding:0 4px}.sh-heal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:none}.sh-fatal{background:var(--red);color:var(--paper-light);padding:6px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14.5px}.sh-fatal button{border:0;background:transparent;color:inherit;font-size:14px;padding:0}.sh-fatal button:hover{background:transparent}.sh-bar.sh-attr-bar{padding:4px 10px}.sh-attr-rating{font-family:var(--font-stencil);font-weight:700;font-size:22px;line-height:1;background:transparent;border:1px solid rgba(231,223,201,.45);color:var(--paper);padding:1px 9px}.sh-attr-rating:hover{background:var(--red);border-color:var(--red)}.sh-xp{display:flex;gap:3px;align-items:center}.sh-xp-label{font-size:10px;letter-spacing:1.5px;opacity:.7;margin-right:4px}.sh-actions{display:flex;flex-direction:column}.sh-action{display:flex;align-items:center;gap:10px;padding:5px 10px;border-bottom:var(--dotted)}.sh-action-name{flex:1;text-align:left;background:transparent;border:0;font-family:var(--font-sheet);font-size:17px;letter-spacing:1.5px;text-transform:uppercase;padding:2px 4px;color:var(--ink)}.sh-action-name:hover{color:var(--red);background:transparent}.sh-pool{font-family:var(--font-stencil);font-weight:700;font-size:13px;letter-spacing:1px;color:var(--red)}.sh-bonus{font-size:13.5px;color:var(--muted);line-height:1.4;padding:0 4px;text-wrap:pretty}.sh-bonus b{color:var(--ink)}.sh-ability{display:flex;gap:10px;padding:8px 10px;border-bottom:1px dotted rgba(34,28,19,.35)}.sh-ability.is-on{background:#fffaeb99}.sh-ability-body{flex:1;min-width:0}.sh-ability-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.sh-ability-name{font-weight:700;font-size:16px}.sh-ability-from{font-size:10.5px;letter-spacing:1.5px;color:var(--red)}.sh-ability-text{font-size:14px;line-height:1.35;color:#3a3126;text-wrap:pretty}.sh-ability-note{font-size:13px;font-style:italic;color:var(--muted);margin-top:2px;text-wrap:pretty}.sh-vet{padding:8px 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sh-xp-text{padding:8px 12px 10px;font-size:14.5px;line-height:1.4;display:flex;flex-direction:column;gap:3px;text-wrap:pretty}.sh-xp-text.small{padding:0 10px 10px;font-size:13.5px}.sh-bullet{padding-left:12px}.sh-friend{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:var(--dotted)}.sh-friend-name{font-weight:700;font-size:16px}.sh-friend-role{font-size:14.5px;color:var(--muted)}.sh-items{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px;padding:6px 10px 8px}.sh-item{display:flex;align-items:center;gap:7px;padding:3px 0;border-bottom:1px dotted rgba(34,28,19,.25);min-width:0}.sh-item-boxes{display:flex;gap:2px;flex:none}.sh-item-name{font-size:15px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-item-name.is-pb{font-weight:700}.sh-item-name.is-free{font-style:italic}.sh-stash{padding:10px;display:flex;flex-direction:column;gap:5px}.sh-stash-row{display:flex;gap:4px;align-items:center}.sh-stash-n{font-size:12px;color:var(--muted);margin-left:8px}.sh-stash-btns{display:flex;gap:8px;margin-top:6px}.sh-identity{padding:10px;display:flex;flex-direction:column;gap:12px}.sh-id-group{display:flex;flex-direction:column;gap:5px}.sh-detail{border:0;border-bottom:1px dashed rgba(34,28,19,.4);background:transparent;font-family:var(--font-body);font-style:italic;font-size:15.5px;padding:2px 0;color:var(--ink);width:100%;outline:none}.sh-detail::placeholder{color:var(--faint)}.sh-detail:focus{border-bottom-color:var(--ink)}.sh-tier{display:flex;gap:6px;align-items:flex-start}.sh-tier-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.sh-tier-cell span{font-family:var(--font-stencil);font-weight:700;font-size:11px}.sh-seg.sh-hold{margin-left:10px}.sh-claims{padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);grid-template-rows:62px 14px 62px 14px 62px}.sh-conn{background:var(--sheet-bar-dark)}.sh-conn.is-on{background:var(--ink)}.sh-tile{border:1px solid var(--ink);background:var(--sheet-bar);color:var(--ink);font-family:var(--font-stencil);font-weight:700;font-size:11px;letter-spacing:1px;line-height:1.15;padding:4px;text-align:center;min-width:0;overflow-wrap:anywhere}.sh-tile:hover{background:var(--paper-hover)}.sh-tile.is-held,.sh-tile.is-held:hover{background:var(--ink);color:var(--paper)}.sh-tile.is-lair,.sh-tile.is-lair:hover{background:var(--muted);color:var(--paper);cursor:default}.sh-tile.is-off{border:1px dashed var(--red)}.sh-tile.is-focus{outline:2px solid var(--red);outline-offset:-3px}.sh-claim-info{padding:0 12px 12px;font-size:14.5px;line-height:1.4;min-height:44px;text-wrap:pretty}.sh-claim-name{font-family:var(--font-stencil);font-weight:700;font-size:13px;letter-spacing:1.5px;margin-right:6px}.sh-lair{padding:10px;display:flex;flex-direction:column;gap:12px}.sh-lair-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sh-lair-row .sh-detail{flex:1;min-width:160px;width:auto}.sh-note{font-size:13px;color:var(--muted);font-style:italic;text-wrap:pretty}.sh-empty-note{padding:10px;font-size:14px;font-style:italic;color:var(--muted)}.sh-cohort{padding:10px;border-bottom:1px solid var(--ink);display:flex;flex-direction:column;gap:8px}.sh-cohort:last-child{border-bottom:0}.sh-cohort-head{display:flex;gap:8px;align-items:center}.sh-cohort-name{flex:1;min-width:0;border:0;border-bottom:1px dashed rgba(34,28,19,.4);background:transparent;font-family:var(--font-body);font-size:16px;padding:2px 0;color:var(--ink);outline:none}.sh-cohort-name::placeholder{color:var(--faint)}.sh-cohort-stat{font-family:var(--font-stencil);font-weight:700;font-size:12px;letter-spacing:1.5px;flex:none}.sh-cohort-traits{display:flex;gap:14px;flex-wrap:wrap}.sh-cohort-trait{display:flex;align-items:center;gap:4px}.sh-cohort-trait .sh-tag,.sh-cohort-harm .sh-tag{letter-spacing:1.5px;margin-right:3px}.sh-cohort-harm{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sh-cohort-harm-name{font-size:13px;color:var(--muted);font-style:italic;margin-right:8px}.dialog.sh-roll{font-family:var(--font-sheet)}.sh-roll .dlg-head{display:flex;align-items:baseline;gap:12px;letter-spacing:0}.sh-roll-title{font-family:var(--font-stencil);font-weight:700;font-size:28px;letter-spacing:2px;line-height:1}.sh-roll-who{font-family:var(--font-sheet);font-style:italic;font-weight:400;opacity:.85;font-size:15px}.sh-roll-x{border:0;background:transparent;color:var(--paper);font-size:16px;padding:0;font-family:var(--font-sheet);font-weight:400}.sh-roll-x:hover{background:transparent;color:var(--paper-hover)}.sh-roll .dlg-body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px}.sh-roll-grid{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px 12px;align-items:center}.sh-roll-bonus{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sh-roll-resist{font-size:15.5px;line-height:1.4;text-wrap:pretty}.sh-roll-pool{display:flex;align-items:center;gap:14px;border-top:1px solid var(--hairline);padding-top:12px}.sh-roll-pool-n{font-family:var(--font-stencil);font-weight:700;font-size:44px;line-height:1}.sh-roll-pool-note{font-size:13.5px;color:var(--muted);flex:1;line-height:1.35}.sh-roll-go{border:1px solid var(--ink);background:var(--red);color:var(--paper-light);padding:10px 22px;font-family:var(--font-stencil);font-weight:700;font-size:18px;letter-spacing:3px;box-shadow:2px 2px 0 var(--ink)}.sh-roll-go:hover{background:var(--red-hover)}.sh-dice{display:flex;gap:6px;flex-wrap:wrap}.sh-die{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--ink);font-family:var(--font-stencil);font-weight:700;font-size:26px;background:var(--clock-face);color:var(--ink);box-shadow:2px 2px #221c1340}.sh-die.is-six{background:var(--red);color:var(--paper-light)}.sh-roll-label{font-family:var(--font-stencil);font-weight:700;font-size:26px;line-height:1}.sh-roll-label.is-bad{color:var(--red)}.sh-roll-text{font-size:15.5px;line-height:1.45;text-wrap:pretty}.sh-roll-applied{font-size:13.5px;color:var(--red)}main.sparks{position:absolute;inset:0;overflow:auto;padding:18px 24px 40px}.sparks-inner{max-width:1560px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.sparks .spacer{flex:1}.sparks .panel{border:1px solid var(--ink);background:var(--paper-light);box-shadow:3px 3px #221c1338}.sparks .roll-btn{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:1px;background:var(--red);color:var(--paper-light);border:none;padding:3px 12px;cursor:pointer;box-shadow:1px 1px 0 var(--ink)}.sparks .roll-btn:hover{background:var(--red-hover)}.sparks .reroll{margin-left:auto;background:transparent;border:none;color:var(--faint);cursor:pointer;font-size:13px;padding:0 2px}.sparks .reroll:hover{color:var(--ink);background:transparent}.sparks .arrow{font-family:var(--font-mono);font-size:11px;color:var(--red)}.sparks-engines{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:16px}.engine{border:1px solid var(--ink);background:var(--paper-light);box-shadow:3px 3px #221c1338;display:flex;flex-direction:column}.engine.dark{border:2px solid var(--red);background:var(--ink);color:var(--paper);box-shadow:none}.engine-head{padding:7px 12px;border-bottom:1px solid var(--ink);display:flex;align-items:center;gap:10px}.engine.dark .engine-head{border-bottom-color:#e7dfc94d}.engine-title{font-family:var(--font-title);font-size:17px;letter-spacing:2px}.engine.dark .roll-btn{background:var(--paper);color:var(--ink);box-shadow:none}.engine.dark .roll-btn:hover{background:var(--paper-hover)}.engine-body{padding:10px 12px;display:flex;flex-direction:column;gap:5px;flex:1}.engine.dark .engine-body{gap:4px}.engine-row{display:flex;gap:8px;align-items:baseline}.engine-k{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--red);width:78px;flex:none}.engine.dark .engine-k{color:#c9973f;width:82px}.engine-v{font-size:19px;line-height:1.15}.engine.dark .reroll{color:#8a7d64}.engine.dark .reroll:hover{color:var(--paper)}.spark-line{border-top:1px dotted rgba(231,223,201,.4);margin-top:4px;padding-top:6px;font-style:italic;font-size:13.5px;color:#cfc4a4;min-height:18px}.score-note{border-top:1px dotted rgba(34,28,19,.35);margin-top:2px;padding-top:5px;font-size:12px;font-style:italic;color:var(--muted)}.group-bar{position:sticky;top:-18px;z-index:20;background:var(--paper);padding:8px 0;border-bottom:1px solid rgba(34,28,19,.4);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.group-bar .chip{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1.5px;padding:4px 12px;cursor:pointer;border:1px solid var(--ink);background:transparent;color:var(--ink)}.group-bar .chip:hover{background:transparent}.group-bar .chip.on,.group-bar .chip.on:hover{background:var(--ink);color:var(--paper)}.group-bar .tip{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:1px}.finder-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--ink);flex-wrap:wrap}.finder-title{font-family:var(--font-title);font-size:17px;letter-spacing:1px}.finder-q{border:1px solid var(--ink);background:var(--paper);padding:3px 8px;font-size:13px;width:200px}.cat-chip{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;padding:3px 8px;cursor:pointer;border:1px solid var(--ink);background:transparent;color:var(--ink)}.cat-chip:hover{background:transparent}.cat-chip.on,.cat-chip.on:hover{background:var(--red);color:var(--paper-light)}.finder-count{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.finder-pick{display:flex;align-items:baseline;gap:12px;padding:8px 12px;border-bottom:1px solid var(--ink);background:#efe6cf}.pick-name{font-family:var(--font-title);font-size:20px}.pick-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:1px}.pick-add{margin-left:auto;font-family:var(--font-mono);font-size:11px;font-weight:700;border:1px solid var(--ink);background:var(--paper-light);padding:2px 10px;cursor:pointer}.pick-add:hover{background:var(--paper)}.finder-list{max-height:430px;overflow:auto}.finder-row{display:grid;grid-template-columns:230px 110px 60px 1fr 70px;gap:10px;align-items:baseline;padding:4px 12px;border-bottom:1px dotted rgba(34,28,19,.3)}.finder-row:hover{background:#efe6cf}.finder-row .fn{font-size:15.5px}.finder-row .fc{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.5px}.finder-row .fth{font-family:var(--font-mono);font-size:11px;color:var(--ink)}.finder-row .fd{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.frow-add{font-family:var(--font-mono);font-size:10px;font-weight:700;border:1px solid var(--ink);background:transparent;padding:1px 6px;cursor:pointer;justify-self:end}.frow-add:hover{background:var(--paper)}.pb-wrap{display:flex;flex-direction:column;gap:12px}.pb-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pb-chip{font-family:var(--font-title);font-size:15px;letter-spacing:1.5px;padding:4px 14px;cursor:pointer;border:1px solid var(--ink);background:transparent;color:var(--ink)}.pb-chip:hover{background:transparent}.pb-chip.on,.pb-chip.on:hover{background:var(--ink);color:var(--paper)}.sparks .pb-rollall{margin-left:auto;padding:4px 12px}.pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.pb-card{padding:8px 12px 10px;display:flex;flex-direction:column;gap:4px}.pb-card-head{display:flex;align-items:baseline;gap:8px}.pb-label{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--red)}.pb-card .reroll{padding:0}.pb-v{font-size:19px;line-height:1.2;min-height:24px}.namegen{padding:8px 12px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.namegen-title{font-family:var(--font-title);font-size:17px;letter-spacing:1px}.name-btn{font-family:var(--font-mono);font-size:11px;font-weight:700;border:1px solid var(--ink);background:var(--paper);padding:2px 10px;cursor:pointer}.name-btn:hover{background:var(--paper-hover)}.name-latest{font-size:21px;border-bottom:2px solid var(--red);min-height:26px}.name-history{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.table-card{align-self:start}.table-head{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-bottom:1px solid var(--ink)}.table-title{font-family:var(--font-title);font-size:15.5px;letter-spacing:1px}.table-die{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.table-roll{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--paper-light);background:var(--red);border:none;padding:2px 10px;cursor:pointer;transform:rotate(-1deg);box-shadow:1px 1px 0 var(--ink)}.table-roll:hover{background:var(--red-hover)}.table-result{padding:7px 10px 4px;display:flex;align-items:baseline;gap:8px}.table-result .result{font-size:20px;line-height:1.15;border-bottom:2px solid var(--red)}.table-result .rolled{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.table-sub{padding:0 10px 4px 26px;font-size:12.5px;font-style:italic;color:var(--muted)}.table-items{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding:4px 10px 10px}.table-item{display:flex;gap:7px;font-size:13px;padding:2px 0;border-bottom:1px dotted rgba(34,28,19,.3);color:var(--ink);font-weight:400}.table-item .n{font-family:var(--font-mono);font-size:10px;color:var(--muted);width:14px;flex:none}.table-item.hit{color:var(--red);font-weight:700}.table-item.hit .n{color:var(--red)}.tbl{position:absolute;inset:0;overflow:hidden;background-image:radial-gradient(rgba(34,28,19,.14) 1px,transparent 1px);background-size:26px 26px;touch-action:none;user-select:none;cursor:grab}.tbl.panning{cursor:grabbing}.tbl.linking,.tbl.drawing{cursor:crosshair}.tbl-world{position:absolute;left:0;top:0;transform-origin:0 0}.tbl-svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.tbl-svg .hit{pointer-events:stroke;cursor:pointer}.edge-label{position:absolute;transform:translate(-50%,-50%);z-index:1}.edge-label.editing{z-index:30}.edge-pill{font-family:var(--font-mono);font-size:13px;font-weight:400;background:var(--paper);border:1px solid transparent;padding:1px 7px;cursor:text;white-space:nowrap;line-height:18px;color:var(--ink)}.edge-pill:hover{background:var(--paper);border-color:var(--red)}.edge-pill.empty{border:1px dashed var(--faint);color:var(--faint)}.edge-pill.red{color:var(--red);font-weight:700}.edge-pill.green{color:var(--edge-green);font-weight:700}.edge-edit{display:flex;align-items:center;gap:4px}.edge-edit input{font-family:var(--font-mono);font-size:13px;border:1px solid var(--red);background:var(--paper-hover);padding:3px 7px;color:var(--ink);outline:none}.edge-edit button{border:1px solid var(--red);background:var(--paper-light);color:var(--red);width:26px;height:26px;font-size:12px;padding:0;line-height:1}.edge-edit button:hover{background:var(--red);color:var(--paper-light)}.card-wrap{position:absolute;cursor:move;user-select:none}.card{position:relative;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border-style:solid}.card-head{display:flex;align-items:center;gap:8px;padding:9px 12px 0}.card-glyph{font-size:15px;line-height:1;flex:none}.card-tier{font-family:var(--font-title);font-size:13px;line-height:18px;border:1px solid currentColor;padding:0 6px}.card-open{border:none;background:transparent;color:inherit;opacity:.5;font-size:15px;line-height:1;padding:0 2px}.card-open:hover{opacity:1;background:transparent}.card-name{font-family:var(--font-title);font-size:21px;line-height:1.05;padding:5px 12px 3px;text-wrap:pretty}.card-line{font-size:14.5px;font-style:italic;line-height:1.3;opacity:.88;padding:0 12px 9px;text-wrap:pretty}.card-clocks{display:flex;flex-direction:column;gap:10px;padding:9px 12px;border-top:1px solid rgba(120,108,88,.5)}.clock-row{display:flex;align-items:center;gap:10px}.clock-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.clock-name{font-size:16px;line-height:1.2;cursor:text;text-wrap:pretty;overflow-wrap:anywhere;border-bottom:1px dashed transparent}.clock-name:hover{border-bottom-color:currentColor}.clock-name.full{color:var(--red)}.card.crew .clock-name.full,.card.crew .clock-count.full{color:#e9a48a}.clock-name-edit{width:100%;font-family:var(--font-body);font-size:16px;line-height:1.2;background:#fffaeb99;border:1px solid var(--red);padding:2px 5px;resize:none;color:var(--ink);outline:none}.clock-ctl{display:flex;align-items:center;gap:6px}.clock-count{border:none;background:transparent;color:inherit;padding:0 4px 0 0;font-family:var(--font-mono);font-size:12.5px;font-weight:700;letter-spacing:1px}.clock-count:hover{background:transparent}.clock-count.full{color:var(--red)}.clock-btn{width:30px;height:24px;border:1px solid currentColor;background:transparent;color:inherit;font-family:var(--font-mono);font-size:15px;font-weight:700;line-height:1;padding:0}.clock-btn.plus:hover{background:var(--red);color:var(--paper-light);border-color:var(--red)}.clock-btn.minus{opacity:.75}.clock-btn.minus:hover{opacity:1;background:var(--ink);color:var(--paper-light)}.clock-del{border:none;background:transparent;color:inherit;opacity:.4;padding:0 2px;font-size:11px;line-height:1}.clock-del:hover{opacity:1;background:transparent}.clock-add{align-self:flex-start;border:1px dashed currentColor;background:transparent;color:inherit;opacity:.5;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:3px 9px;line-height:1.3}.clock-add:hover{opacity:1;background:transparent}.card-band{margin-top:auto;border:none;width:100%;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:2px;text-align:center;padding:5px 8px;color:var(--paper-light)}.card-band:hover{filter:brightness(1.08)}.port{position:absolute;width:11px;height:11px;border-radius:50%;border:1px solid var(--ink);background:var(--paper-light);cursor:crosshair;z-index:6;opacity:.6}.card-wrap.sel .port{opacity:1}.port:hover{opacity:1;transform:scale(1.4);background:var(--red)}.port.n{left:50%;top:-6px;margin-left:-5.5px}.port.s{left:50%;bottom:-6px;margin-left:-5.5px}.port.e{right:-6px;top:50%;margin-top:-5.5px}.port.w{left:-6px;top:50%;margin-top:-5.5px}.card-armed{position:absolute;left:50%;bottom:-30px;transform:translate(-50%);white-space:nowrap;border:1px solid var(--red);background:var(--red);color:var(--paper-light);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;box-shadow:2px 2px #221c134d}.card-armed:hover{background:var(--red-hover)}.radial{position:absolute;width:0;height:0;z-index:40}.radial-ring{position:absolute;border-radius:50%;border:1px dashed rgba(34,28,19,.5);pointer-events:none}.radial-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--ink)}.radial-btn{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:var(--paper-light);color:var(--ink);box-shadow:2px 2px #221c1347;display:flex;align-items:center;justify-content:center;padding:0}.radial-btn span{font-size:18px;line-height:1}.radial-btn:hover{background:var(--ink);color:var(--paper)}.radial-btn.danger{border-color:var(--red);color:var(--red)}.radial-btn.danger:hover{background:var(--red);color:var(--paper-light)}.radial-label{position:absolute;width:92px;text-align:center;font-family:var(--font-mono);font-size:9px;letter-spacing:1.5px;line-height:14px;color:var(--ink);background:#e7dfc9d9;pointer-events:none}.related{position:absolute;z-index:41;width:300px;max-height:380px;display:flex;flex-direction:column;border:1px solid var(--ink);background:var(--paper-light);box-shadow:3px 3px #221c1340;cursor:default}.related-head{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-bottom:1px solid var(--ink)}.related-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--red)}.related-name{font-family:var(--font-title);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.related-close,.book-close,.dossier-close{border:none;background:transparent;color:var(--muted);padding:0;line-height:1}.related-close:hover,.book-close:hover,.dossier-close:hover{background:transparent;color:var(--ink)}.related-close{font-size:13px}.related-list{overflow-x:hidden;overflow-y:auto}.related-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:6px;align-items:baseline;width:100%;min-width:0;overflow:hidden;text-align:left;padding:5px 10px;border:none;border-bottom:1px dotted rgba(34,28,19,.3);background:transparent}.related-row:hover{background:#efe6cf}.related-row .g{font-size:12px;color:var(--muted)}.related-row .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-row .t .n{font-size:14.5px;font-family:var(--font-body)}.related-row .t .s{font-size:11.5px;font-style:italic;color:var(--muted)}.related-row .a{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:1px;color:var(--red)}.related-row .a.done{color:var(--muted)}.related-empty{padding:8px 10px;font-size:13px;font-style:italic;color:var(--muted)}.dialog.book{width:min(780px,94vw);max-height:80vh;box-shadow:6px 6px #221c1359}.dialog.book .dlg-body{padding:0;display:flex;flex-direction:column;overflow:hidden;min-height:0}.book-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--ink);flex-wrap:wrap;flex:none}.book-title{font-family:var(--font-title);font-size:19px;letter-spacing:1px}.book-tabs{display:flex}.book-tabs button{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:1.5px;padding:4px 11px;border:1px solid var(--ink);margin-left:-1px;background:transparent;color:var(--ink)}.book-tabs button:first-child{margin-left:0}.book-tabs button:hover{background:var(--paper-hover)}.book-tabs button.on,.book-tabs button.on:hover{background:var(--ink);color:var(--paper)}.book-search{border:1px solid var(--ink);background:var(--paper);padding:3px 8px;font-size:13px;flex:1;min-width:140px}.book-close{font-size:16px}.book-chips{display:flex;gap:5px;padding:8px 14px;border-bottom:1px dotted rgba(34,28,19,.4);flex-wrap:wrap;flex:none}.book-chips button{font-family:var(--font-mono);font-size:9.5px;letter-spacing:1px;padding:2px 8px;white-space:nowrap;border:1px solid var(--ink);background:transparent;color:var(--ink)}.book-chips button:hover{background:var(--paper-hover)}.book-chips button.on,.book-chips button.on:hover{background:var(--red);color:var(--paper-light)}.book-list{overflow-x:hidden;overflow-y:auto;min-height:0}.book-new{display:flex;gap:8px;align-items:baseline;width:100%;white-space:nowrap;text-align:left;padding:6px 14px;border:none;border-bottom:1px solid rgba(34,28,19,.4);background:#efe6cf;font-family:var(--font-body);font-size:14.5px;color:var(--red)}.book-new:hover{background:var(--paper)}.book-new .plus{font-family:var(--font-mono);font-weight:700}.book-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,2fr) 58px;gap:10px;align-items:baseline;padding:5px 14px;border:none;border-bottom:1px dotted rgba(34,28,19,.3);background:transparent;width:100%;text-align:left}.book-row:hover{background:#efe6cf}.book-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-row .n{font-size:15px;font-family:var(--font-body)}.book-row .c1{font-family:var(--font-mono);font-size:10px;color:var(--muted)}.book-row .c2{font-family:var(--font-mono);font-size:10.5px}.book-row .c3{font-size:12px;font-style:italic;color:var(--muted)}.book-row .a{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:1px;text-align:right;color:var(--red)}.book-row .a.on{color:var(--muted)}.book-empty{padding:12px 14px;font-size:14px;font-style:italic;color:var(--muted)}.dialog.dossier{width:min(1160px,94vw);height:min(860px,92vh);max-height:none;border:2px solid var(--ink);background:radial-gradient(ellipse at 30% 15%,#f6efdb,#eee2c4 55%,#e2d2ab);box-shadow:inset 0 0 90px #785a2847,8px 8px #221c1359;overflow:hidden}.dialog.dossier .dlg-body{padding:0;flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);overflow:hidden}.dossier-side{overflow-x:hidden;overflow-y:auto;padding:22px 20px 22px 24px;border-right:1px solid rgba(34,28,19,.45);display:flex;flex-direction:column;gap:16px}.dossier-main{overflow-x:hidden;overflow-y:auto;padding:24px 34px 36px;display:flex;flex-direction:column;gap:20px}.dossier-source{font-family:var(--font-mono);font-size:9.5px;letter-spacing:2px;color:var(--red)}.dossier-lbl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.5px;color:var(--muted)}.dossier-field{display:flex;flex-direction:column;gap:3px}.dossier-row{display:flex;gap:8px}.dossier-side select,.dossier-side input.box{border:1px solid var(--ink);background:#fffaeb80;font-size:14px;padding:3px 6px;width:100%}.dossier-side select{padding:3px}.dossier-side input.tier{font-size:15px;padding:2px 6px;font-family:var(--font-title)}.seg{display:flex;gap:2px}.seg button{flex:1;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;padding:4px 0;border:1px solid var(--ink);background:transparent;color:var(--ink)}.seg button:hover{background:#fffaeb99}.seg button.on,.seg button.on:hover{background:var(--ink);color:var(--paper)}.seg.status button{font-size:11px;letter-spacing:0;padding:5px 0}.seg.status button.on{color:var(--paper-light)}.dossier-status-word{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:2px}.dossier-sec{border-top:1px solid rgba(34,28,19,.4);padding-top:12px}.dossier-sec-title{font-family:var(--font-mono);font-size:9.5px;letter-spacing:2px;color:var(--red);margin-bottom:8px}.dossier-clock{display:flex;align-items:center;gap:9px;margin-bottom:9px}.dossier-clock .body{flex:1;min-width:0}.dossier-clock input.name{width:100%;font-size:15px;line-height:1.15;background:transparent;border:none;border-bottom:1px dashed rgba(34,28,19,.35);padding:0}.dossier-clock .ctl{display:flex;align-items:center;gap:8px;margin-top:3px}.dossier-clock .count,.dossier-clock select{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);border:none;background:transparent;padding:0;width:auto}.dossier-clock .reset{border:none;background:transparent;font-family:var(--font-mono);font-size:9.5px;letter-spacing:1px;color:var(--muted);padding:0}.dossier-clock .reset:hover{color:var(--ink);background:transparent}.dossier-x{border:none;background:transparent;color:var(--red);font-size:12px;padding:0;line-height:1}.dossier-x:hover{background:transparent;color:var(--red-hover)}.dossier-newclock{display:flex;gap:5px;margin-top:4px}.dossier-newclock input{flex:1;min-width:0;border:1px solid var(--ink);background:#fffaeb80;font-size:13.5px;padding:3px 6px}.dossier-newclock select{border:1px solid var(--ink);background:#fffaeb80;font-size:12px;width:auto}.dossier-newclock button{border:1px solid var(--ink);background:var(--red);color:var(--paper-light);font-family:var(--font-mono);font-size:10px;font-weight:700;padding:3px 9px}.dossier-newclock button:hover{background:var(--red-hover)}.dossier-conn{display:flex;align-items:flex-start;gap:7px;margin-bottom:7px}.dossier-conn .g{font-family:var(--font-mono);font-size:13px;color:var(--red);flex:none;line-height:20px}.dossier-conn .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.dossier-conn .other{font-size:15px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dossier-conn .lbl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.5px;color:var(--muted);line-height:1.35;text-wrap:pretty}.dossier-conn .dossier-x{font-size:11px;line-height:20px}.dossier-none{font-size:13.5px;font-style:italic;color:var(--muted);margin-bottom:6px}.dossier-link{margin-top:4px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;border:1px solid var(--ink);background:transparent;padding:4px 9px;align-self:flex-start}.dossier-link:hover{background:#fffaeb99}.dossier-remove{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:1px;border:1px solid var(--red);background:transparent;color:var(--red);padding:7px;margin-top:auto}.dossier-remove:hover{background:#8c2f1b14}.dossier-remove.armed,.dossier-remove.armed:hover{background:var(--red);color:var(--paper-light)}.dossier-title{display:flex;align-items:flex-start;gap:14px}.dossier-title .fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.dossier-name{font-family:var(--font-title);font-size:34px;line-height:1.05;background:transparent;border:none;border-bottom:1px dashed transparent;padding:0;width:100%;color:var(--ink);outline:none}.dossier-blurb{font-size:17px;font-style:italic;background:transparent;border:none;border-bottom:1px dashed transparent;padding:0;width:100%;color:var(--ink);outline:none}.dossier-name:hover,.dossier-name:focus,.dossier-blurb:hover,.dossier-blurb:focus{border-bottom-color:#221c1366}.dossier-close{font-size:20px}.dossier-facts{display:grid;grid-template-columns:118px minmax(0,1fr);gap:7px 14px;align-items:baseline;border-top:1px solid rgba(34,28,19,.45);padding-top:14px}.dossier-facts .k{font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.5px;color:var(--muted);padding-top:4px}.dossier-facts .v{min-width:0}.dossier-fact-text{font-size:15.5px;line-height:1.35;cursor:text;border-bottom:1px dashed transparent;text-wrap:pretty}.dossier-fact-text:hover{border-bottom-color:#221c1359}.dossier-fact-text.empty,.dossier-prose-text.empty{color:var(--faint)}.dossier-fact-edit{width:100%;border:1px solid var(--red);background:#fffaebb3;font-size:15px;padding:2px 6px;font-family:var(--font-body);color:var(--ink);outline:none}.dossier-prose-title{font-family:var(--font-mono);font-size:9.5px;letter-spacing:2px;color:var(--muted);border-bottom:1px dotted rgba(34,28,19,.45);margin-bottom:6px;padding-bottom:2px}.dossier-prose-text{font-size:15.5px;line-height:1.45;cursor:text;text-wrap:pretty}.dossier-prose-edit{width:100%;border:1px solid var(--red);background:#fffaebb3;font-family:var(--font-mono);font-size:13px;line-height:1.5;padding:6px 8px;resize:vertical;color:var(--ink);outline:none;min-height:0}.dossier-prose-text .md p{margin:.2em 0}.dossier-prose-text .md h3,.dossier-prose-text .md h4{font-family:var(--font-title);font-weight:400;line-height:1.15;margin:.4em 0 .15em}.dossier-prose-text .md h3{font-size:1.45em;color:var(--red)}.dossier-prose-text .md h4{font-size:1.22em}.dossier-prose-text .md ul{margin:.2em 0;padding-left:1.15em}.dossier-prose-text .md blockquote{border-left:2px solid var(--red);padding-left:.6em;font-style:italic;margin:.3em 0}:root{--paper: #e7dfc9;--paper-light: #f2ead2;--paper-hover: #fff6dd;--clock-face: #f6efdb;--ink: #221c13;--red: #8c2f1b;--red-hover: #a63a22;--muted: #5c503b;--faint: #9a8d70;--sheet-rail: #ddd3b8;--sheet-bar: #d8cfb5;--sheet-bar-dark: #c9bd9d;--hairline: rgba(34, 28, 19, .35);--edge-green: #3f6a45;--font-title: "IM Fell English SC", "IM Fell English", Georgia, serif;--font-body: "IM Fell English", Georgia, serif;--font-mono: "Courier Prime", "Courier New", monospace;--font-stencil: "Big Shoulders Stencil Text", "Big Shoulders Stencil Display", Impact, "Arial Narrow", sans-serif;--font-sheet: "Crimson Pro", Georgia, serif;--shadow-card: 4px 4px 0 rgba(34, 28, 19, .28);--shadow-panel: 3px 3px 0 rgba(34, 28, 19, .18);--shadow-panel-strong: 3px 3px 0 rgba(34, 28, 19, .35);--shadow-dialog: 8px 8px 0 rgba(34, 28, 19, .35);--dotted: 1px dotted rgba(34, 28, 19, .3)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.35;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:var(--paper-light);border:1px solid var(--ink);padding:4px 10px}button:hover{background:var(--paper-hover)}button.red{background:var(--red);color:var(--paper-light);border-color:var(--ink);box-shadow:1px 1px 0 var(--ink)}button.red:hover{background:var(--red-hover)}button.ghost{background:transparent;border:1px dashed var(--hairline);opacity:.6}button.ghost:hover{opacity:1;background:transparent}button:disabled{cursor:not-allowed;opacity:.5}.mono{font-family:var(--font-mono);font-weight:700;letter-spacing:1px;text-transform:uppercase}.app{display:flex;flex-direction:column;height:100%}.view{flex:1;min-height:0;position:relative}.hdr{display:flex;align-items:center;gap:14px;height:46px;padding:8px 16px;border-bottom:4px double var(--ink);background:var(--paper);flex:none}.hdr-crew{font-family:var(--font-title);font-size:22px;width:240px;background:transparent;border:0;border-bottom:1px dotted transparent;padding:0 2px;outline:none}.hdr-crew:hover,.hdr-crew:focus{border-bottom-color:var(--hairline)}.tabs{display:flex}.tabs button{font-family:var(--font-title);font-size:15px;letter-spacing:2px;padding:3px 14px;border:1px solid var(--ink);margin-left:-1px;background:var(--paper-light)}.tabs button:first-child{margin-left:0}.tabs button.active{background:var(--ink);color:var(--paper)}.hdr-hint{color:var(--red);font-style:italic;font-size:14px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr-spacer{flex:1}.hdr .fit{font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:1px;padding:5px 10px}.hdr .book{font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:1px;padding:5px 12px}.menu-btn{width:34px;height:30px;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0}.menu-btn i{display:block;width:16px;height:2px;background:currentColor}.menu-btn.alert{background:var(--red);color:var(--paper-light)}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:36px;width:280px;background:var(--paper-light);border:1px solid var(--ink);box-shadow:var(--shadow-panel-strong);z-index:50;padding:6px 0}.menu .menu-head{padding:6px 14px 8px;border-bottom:var(--dotted);margin-bottom:4px}.menu .menu-head .label{font-family:var(--font-mono);font-weight:700;font-size:10px;letter-spacing:2px;color:var(--muted)}.menu .menu-head .status{font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:1px;margin-top:2px}.menu .menu-head .status.warn{color:var(--red)}.menu button.row{display:block;width:100%;text-align:left;background:transparent;border:0;padding:7px 14px;font-size:15px}.menu button.row:hover{background:var(--paper-hover)}.menu button.row.red{color:var(--red);box-shadow:none;background:transparent}.menu .sep{border-top:var(--dotted);margin:4px 0}.home{height:100%;overflow:auto;padding:48px 24px;display:flex;justify-content:center}.home-inner{width:min(720px,100%)}.home h1{font-family:var(--font-stencil);font-weight:800;font-size:56px;line-height:1;margin:0 0 6px}.home .sub{font-style:italic;font-size:17px;color:var(--muted);margin-bottom:28px}.home .actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.home .actions button{padding:8px 16px;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:1px}.home .section{font-family:var(--font-stencil);font-weight:700;font-size:13px;letter-spacing:3px;color:var(--muted);margin:18px 0 8px}.home .recent{list-style:none;margin:0;padding:0}.home .recent li{display:flex;align-items:baseline;gap:12px;padding:8px 10px;border:1px solid var(--ink);background:var(--paper-light);box-shadow:var(--shadow-panel);margin-bottom:8px}.home .recent a{font-family:var(--font-title);font-size:20px;color:var(--ink);text-decoration:none;flex:1}.home .recent .when{font-family:var(--font-mono);font-weight:700;font-size:10px;letter-spacing:1px;color:var(--muted)}.home .mode{font-family:var(--font-mono);font-weight:700;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:30px}.home .attribution,.attribution{font-size:12px;color:var(--muted);margin-top:30px;line-height:1.4}.placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:8px}.placeholder h2{font-family:var(--font-stencil);font-weight:800;font-size:48px;margin:0;color:var(--ink)}.placeholder p{font-style:italic;margin:0}.notfound{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.notfound .code{font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--muted)}.scrim{position:fixed;inset:0;background:#221c1359;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;z-index:100}.dialog{background:var(--paper-light);border:2px solid var(--ink);box-shadow:var(--shadow-dialog);width:min(600px,94vw);max-height:84vh;display:flex;flex-direction:column}.dialog .dlg-head{background:var(--ink);color:var(--paper);padding:10px 16px;font-family:var(--font-stencil);font-weight:800;font-size:24px;letter-spacing:1px}.dialog .dlg-body{padding:14px 16px;overflow:auto}.dialog .dlg-foot{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px 14px}.dialog textarea{width:100%;min-height:220px;font-family:var(--font-mono);font-size:12px;background:var(--paper);border:1px solid var(--ink);padding:8px;resize:vertical}.dialog p.hint{font-style:italic;color:var(--muted);margin:0 0 10px}.roll-ticker{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:90;pointer-events:none}.roll-toast{background:var(--paper-light);border:1px solid var(--ink);box-shadow:var(--shadow-panel-strong);padding:8px 10px;min-width:220px}.roll-who{font-family:var(--font-mono);font-weight:700;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.roll-dice{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.roll-dice .die{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--ink);background:var(--clock-face);font-family:var(--font-stencil);font-weight:800;font-size:16px}.roll-dice .die.six{color:var(--red)}.roll-result{margin-left:6px;font-family:var(--font-stencil);font-weight:800;font-size:14px;letter-spacing:1px}.roll-result.bad{color:var(--red)}
