:root{color-scheme:dark;--bg:#10151b;--panel:#1a222b;--line:#384651;--ink:#f1f4f6;--muted:#adbac5;--mint:#91e6d4;--gold:#ffd086;--blue:#a5bfff;font:15px/1.4 "Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 12% 3%,#23333c 0%,transparent 40%),var(--bg);min-height:100vh}button,select,input{font:inherit;color:inherit}button,select,input[type=search]{background:#242e37;border:1px solid var(--line);border-radius:7px;padding:7px 11px}button,select{cursor:pointer}button:hover,select:hover,button:focus-visible{border-color:var(--mint);background:#30404a}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:2px}a{color:var(--mint)}[hidden]{display:none!important}.mast{min-height:62px;border-bottom:1px solid #334149;padding:8px clamp(14px,3.3vw,62px);display:flex;align-items:center;gap:28px;background:#11191ee8}.brand,.mast nav,.offline,.buttons,.asidehead,.dialoghead,.arenahead,.titlebar,.pickers,.tracks{display:flex;align-items:center}.brand{gap:9px}.brand b{font-size:20px;letter-spacing:-.6px}.brand small,.eyebrow,.zone-title,.label,.offline{font-size:10px;font-weight:750;letter-spacing:1.5px}.brand small{display:block;color:var(--muted);font-size:8px}.mark{font-size:33px;color:var(--mint);line-height:1}.mast nav{gap:6px}.mast nav button{border:0;background:none;color:var(--muted);font-weight:650;font-size:13px}.mast nav [aria-pressed=true]{background:#273b3e;color:var(--mint)}.offline{margin-left:auto;color:var(--muted);gap:8px;letter-spacing:.6px}.offline i{width:7px;height:7px;border-radius:50%;background:var(--mint)}main{max-width:1620px;margin:auto;padding:0 clamp(12px,3.3vw,62px) 12px}.titlebar{justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0 14px}.eyebrow{color:var(--mint)}h1,h2,h3,p{margin:0}h1{font-size:clamp(23px,2.3vw,36px);letter-spacing:-1.4px;line-height:1.15}.pickers{gap:10px;flex-wrap:wrap}.pickers label{font-size:10px;color:var(--muted);display:grid;gap:3px}.pickers select{font-size:13px;padding:6px 8px;max-width:29vw}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,27%);gap:14px;align-items:start}.arena,.monitor,.feed,#study,.transport{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel)}.arena{position:relative;background:#17212a}.arenahead,.asidehead,.dialoghead{justify-content:space-between;gap:7px}.arenahead{padding:8px 15px;background:#19252e;border-bottom:1px solid var(--line);font-size:13px}.signal{color:var(--mint);margin-right:5px}#turnTag{font-size:12px;color:var(--muted)}.half{--team:var(--blue);padding:9px 13px 12px;background:linear-gradient(115deg,#29304470,transparent 69%)}.half.p0{--team:var(--mint);background:linear-gradient(115deg,#20413c68,transparent 69%);border-top:2px solid #52616b}.teamhead{display:flex;align-items:center;gap:7px;margin-bottom:7px;flex-wrap:wrap}.teamhead .oshi{display:flex;align-items:center;gap:8px;text-align:left;padding:0;border:none;background:none}.oshi img{width:33px;height:43px;border-radius:3px;object-fit:cover}.teamhead strong{color:var(--team);font-size:14px}.teamhead .label{color:var(--muted);font-size:8px;display:block}.life{margin-left:6px;color:#ffc1bd;font-size:12px;font-weight:700}.zones{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.zones button,.pill{font-size:10px;border:1px solid #45515d;border-radius:5px;padding:3px 6px;background:#202930;color:var(--muted)}.zones b{color:var(--ink);margin-left:2px}.lines{display:grid;grid-template-columns:minmax(85px,1fr) minmax(85px,1fr) minmax(150px,2.3fr);gap:8px}.lane{min-width:0;background:#121b2260;border:1px solid #394651;border-radius:8px;padding:5px}.zone-title{display:block;font-size:8px;letter-spacing:1.4px;color:var(--muted);margin:0 0 4px 2px}.bench{display:flex;flex-wrap:wrap;align-content:flex-start;gap:4px}.piece{display:flex;flex-direction:column;align-items:stretch;background:#25323c;padding:3px;border:1px solid #576573;border-radius:7px;text-align:left;width:min(100%,132px);margin:auto;position:relative;min-width:0}.piece:hover{background:#30414c;transform:translateY(-1px);z-index:1}.portrait{position:relative;display:block;text-align:center;background:#10181c;border-radius:3px;overflow:hidden}.portrait img{height:clamp(67px,11vh,116px);width:100%;object-fit:contain;display:block;background:radial-gradient(ellipse,#384851,#19232b)}.piece .name{font-size:10px;line-height:1.2;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:3px 0 1px}.meter{display:block;background:#11171b;height:3px;border-radius:3px}.meter i{display:block;background:var(--team);height:100%}.numbers,.gearline{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.numbers{font-size:10px;color:var(--muted);justify-content:space-between}.gearline{font-size:9px;color:#e0e8ee;margin-top:2px}.gearline span{background:#18232a;padding:0 3px;border-radius:3px}.gearline .buff{color:var(--gold)}.bench .piece{width:calc(33.33% - 3px);max-width:90px;margin:0}.bench .portrait img{height:clamp(38px,5.2vh,58px)}.bench .numbers,.bench .name,.bench .gearline{font-size:9px}.empty{color:#8795a0;display:grid;place-items:center;font-size:11px;min-height:65px;letter-spacing:.4px}.piece.target{border-color:#ffb384;box-shadow:0 0 0 2px #ffb38499}.piece.source{border-color:var(--mint);box-shadow:0 0 0 2px #91e6d477}.piece.rest .portrait img{opacity:.64}.state,.impact{position:absolute;right:2px;top:2px;padding:1px 4px;border-radius:4px;font-size:9px;font-weight:800;background:#202733;color:#fff}.impact{top:36%;left:50%;right:auto;transform:translate(-50%,-50%);font-size:19px;background:#713223ed;color:#fff3de}.hit .impact{animation:impact .5s ease-out}.downed .impact{font-size:12px;background:#862f35}.arrowpath{stroke:#ffc57e;stroke-width:4;fill:none;stroke-dasharray:9 4;filter:drop-shadow(0 1px 2px #070a0d);animation:dash 1s linear infinite}@keyframes dash{to{stroke-dashoffset:-26}}@keyframes impact{from{transform:translate(-50%,-30%) scale(1.35)}}#arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}aside{display:grid;gap:10px}.monitor,.feed,#study{padding:12px 14px}.monitor{background:linear-gradient(135deg,#26393d,#1b262c)}#current h2{margin:6px 0;font-size:clamp(17px,1.55vw,24px);line-height:1.15}#current p,.facts,#details,.sub{font-size:12px;color:#becbd3}.focuscards{display:flex;align-items:center;gap:7px;margin:10px 0 4px;min-height:0}.focuscards button,.mini{padding:0;border:none;background:none}.focuscards img{width:49px;display:block;border-radius:3px}.focuscards span{color:var(--gold);font-weight:750}.asidehead b{font-size:13px}.asidehead select{font-size:11px;padding:4px}.moment{display:block;text-align:left;width:100%;border:0;border-left:2px solid #45515c;border-radius:0;background:none;margin:3px 0;padding:5px 7px;color:#afbdc6;font-size:11px}.moment.on{border-left-color:var(--mint);color:white;background:#26373d}.moment small{color:var(--mint);margin-right:5px}.feed{padding-bottom:8px}#study summary{cursor:pointer;font-size:12px;color:var(--muted)}#details p{margin-top:8px}.transport{padding:10px 14px;margin-top:10px}.tracks{gap:10px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}#scrub{flex:1;min-width:35px;accent-color:var(--mint)}.buttons{margin-top:6px;gap:6px;flex-wrap:wrap}.buttons select,.buttons button{font-size:12px}.primary{background:var(--mint);color:#122423;border-color:var(--mint);font-weight:750;min-width:78px}.primary:hover{color:#fff}.spacer{flex:1}footer{margin:2px auto 0;max-width:1620px;padding:8px clamp(12px,3.3vw,62px) 12px;color:#8fa0ac;font-size:10px}footer a{color:#adbfc9}#notice{padding:15px;border:1px solid var(--line);border-radius:8px}#gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;margin:14px 0}.gallerycard{text-align:left;padding:7px;min-width:0}.gallerycard img{width:100%;aspect-ratio:5/7;object-fit:contain;display:block;margin-bottom:5px}.gallerycard strong,.gallerycard small{display:block;font-size:12px}.gallerycard small,#cardcount{color:var(--muted);font-size:11px}dialog{background:#1d2831;color:var(--ink);border:1px solid #61717e;border-radius:12px;width:min(760px,94vw);max-height:86vh;padding:0}dialog::backdrop{background:#091016c9}.dialoghead{position:sticky;top:0;z-index:1;padding:8px 15px;border-bottom:1px solid var(--line);background:#1b262d}.dialoghead button{padding:4px 9px}#inside{padding:16px}.cardview{display:grid;grid-template-columns:minmax(140px,35%) 1fr;gap:18px}.cardview>.bigart{width:100%;border-radius:8px}.cardview p,.cardview h3,.inspectzone{margin:8px 0}.cardview p{font-size:13px;white-space:pre-line}.cardview h3,.inspectzone h3{font-size:14px;color:var(--mint)}.minis{display:flex;gap:6px;flex-wrap:wrap}.mini{max-width:84px;color:var(--muted);text-align:center;line-height:1.15}.mini img{width:45px;display:block;margin:0 auto 3px}.mini span{display:block;font-size:10px}.rowcard{display:block;width:100%;text-align:left;margin:4px 0}.sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
@media(min-width:1280px){.bench .piece{width:calc(20% - 4px)}.bench .portrait img{height:clamp(55px,8vh,84px)}}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr) 230px}.pickers select{max-width:35vw}.zones{margin-left:0}.half{padding:8px}.lines{gap:4px}.monitor,.feed,#study{padding:10px}.bench .piece{width:calc(50% - 2px)}}@media(max-width:720px){.mast{gap:8px;justify-content:space-between}.offline{display:none}.layout{display:flex;flex-direction:column}.arena,aside{width:100%}aside{grid-template-columns:1fr 1fr;gap:7px}#study{grid-column:1/-1}.titlebar{padding:12px 0}.pickers{gap:5px}.pickers select{max-width:40vw}.lines{grid-template-columns:minmax(62px,1fr) minmax(62px,1fr) minmax(110px,2fr)}.bench .piece{width:calc(33.33% - 3px)}.portrait img{height:85px}.bench .portrait img{height:50px}.buttons{gap:4px}.buttons button,.buttons select{padding:5px 7px}.spacer{display:none}.transport{position:sticky;bottom:0;z-index:3;background:#1a252df5}.cardview{grid-template-columns:100px 1fr}.zones button{font-size:9px}.teamhead{gap:4px}.gallerycard{padding:5px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.gearline .equip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:1px 3px 1px 1px}.equip img{width:11px;height:15px;object-fit:cover;border-radius:1px;flex:none}.equation{color:var(--gold)!important;font-weight:650;margin-top:5px!important}.bench .equip img{width:9px;height:12px}

/* The two players face each other across the middle of the mat. */
#board { --front:154px; --back:120px; --hand:142px; --rack-gap:9px; }
#board[data-size="compact"] { --front:112px; --back:88px; --hand:102px; }
#board[data-size="xl"] { --front:200px; --back:160px; --hand:184px; }
.table-options {display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:7px 14px;background:#17232c;border-bottom:1px solid var(--line);font-size:12px}
.table-options label {display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.table-options input {width:16px;height:16px;margin:0;accent-color:var(--mint)}
.table-options .sizing {margin-left:auto;color:var(--muted)}
.table-options button,.table-options select {padding:4px 8px;font-size:12px}
.half {display:grid;gap:9px;padding:12px;min-width:0}
.half.p1 {background:linear-gradient(180deg,#222d40,#192530)}
.half.p0 {background:linear-gradient(180deg,#172c2b,#192b2c);border-top:3px double #6d898a}
.hand-row,.back-row {min-width:0;border:1px solid #394957;border-radius:9px;background:#0f182152;padding:5px 8px}
.hand-row {background:#101820a8;border-color:#3a4954}
.row-label {display:flex;align-items:baseline;gap:8px;margin:0;font-size:11px;line-height:21px}
.row-label b,.front .zone-title,.teamhead .label {color:var(--team);text-transform:uppercase;font-size:10px;font-weight:750;letter-spacing:1.2px}
.row-label span {font-weight:500;color:var(--muted)}
.card-scroll {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#5d707a transparent}
.card-scroll:focus-visible {outline:2px solid var(--team);outline-offset:-2px}
.rack {display:flex;width:max-content;min-width:100%;align-items:start;justify-content:center;gap:var(--rack-gap);padding:3px 1px}
.rail-empty {font-size:12px;color:var(--muted);padding:5px}
.hand-card {display:grid;gap:3px;width:var(--hand);padding:3px;background:#202c36;border-radius:7px;text-align:left}
.hand-card img,.piece .portrait img {display:block;width:100%;height:auto;aspect-ratio:5 / 7;object-fit:contain}
.hand-card span,.piece .name {font-size:12px;font-weight:650;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hand-card span {padding:0 2px}
.front {display:grid;grid-template-columns:minmax(0,1fr) min(32%,var(--front)) minmax(0,1fr);align-items:start;gap:clamp(5px,1.25vw,20px);padding:2px 0}
.lane,.teamhead {min-width:0}
.front .lane {width:min(100%,var(--front));padding:0;border:none;background:none}
.lane-collab {justify-self:end}
.front .zone-title {text-align:center;margin:0 0 4px;font-size:11px}
.piece {width:100%;max-width:none;margin:0;padding:4px}
.back-row .piece {flex:none;width:var(--back)}
.back-row .rack {
  /* Keep room for an upright card and its name, HP and Cheer when it leaves. */
  min-height:calc(var(--back) * 1.4 + 64px);
  align-items:center;
}
.back-row .rail-empty {
  display:grid;place-items:center;width:var(--back);aspect-ratio:5/7;
  padding:8px;border:1px dashed #52616d;border-radius:8px;
  background:#14202852;text-align:center;
}
.piece .portrait {width:100%}
/* Rotate the face only: labels, attachments and HP stay upright. */
.piece.rest .portrait {aspect-ratio:5/7}
.piece.rest .portrait img {
  position:absolute;left:50%;top:50%;width:calc(100% * 5 / 7);
  transform:translate(-50%,-50%) rotate(90deg);opacity:1;background:none;
}
/* The Back Stage can scroll, so a rested face fits at the same scale as an upright one. */
.back-row .piece.rest {width:calc((var(--back) - 10px) * 1.4 + 10px)}
.back-row .piece.rest .portrait {aspect-ratio:7/5}
.piece .numbers,.piece .gearline {font-size:11px}
.piece .gearline .equip {max-width:100%;overflow-wrap:anywhere}
.equip img {width:14px;height:19px}
.piece .state {font-size:11px}
.vacant {display:grid;place-items:center;width:100%;aspect-ratio:5/7;border:1px dashed #52616d;border-radius:8px;background:#14202852;color:#a4b1ba;font-size:12px}
.teamhead {align-self:center;justify-self:start;display:flex;align-items:flex-start;flex-direction:column;gap:6px;margin:0;padding-left:clamp(0px,1vw,14px);width:min(100%,200px)}
.teamhead .oshi {max-width:100%}
.teamhead .oshi span {min-width:0}
.teamhead .oshi img {width:clamp(32px,3.3vw,56px);height:auto;aspect-ratio:5/7;object-fit:contain}
.teamhead strong {display:block;font-size:clamp(12px,1.15vw,16px);overflow-wrap:anywhere}
.teamhead .life {margin:0}
.teamhead .zones {margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.teamhead .zones button {font-size:11px;white-space:normal;padding:3px 5px}
aside {position:sticky;top:10px;max-height:calc(100vh - 110px);overflow:auto}
.transport {position:sticky;bottom:0;z-index:4;background:#19252cf7;box-shadow:0 -3px 16px #0a111855}
.cardview {grid-template-columns:minmax(150px,42%) 1fr}
#inspector {width:min(880px,94vw)}
@media(max-width:720px) {
  #board {--rack-gap:6px}
  aside {position:static;max-height:none}
  .half {padding:7px;gap:6px}
  .table-options {padding:6px 8px;gap:6px 10px}
  .hand-row,.back-row {padding:3px 5px}
  .teamhead {padding:0;gap:3px}
  .teamhead .oshi {flex-direction:column;align-items:start;gap:2px}
  .teamhead .oshi img {width:31px}
  .teamhead .label {font-size:8px;letter-spacing:.6px}
  .teamhead .zones {gap:2px}
  .teamhead .zones button {font-size:10px;padding:2px 3px}
  .piece .gearline,.piece .numbers {font-size:10px}
  .cardview {grid-template-columns:1fr}
  .cardview>.bigart {width:min(100%,260px);justify-self:center}
}
.hand-head {display:flex;align-items:center;justify-content:space-between;gap:6px}
.hand-switch {padding:2px 7px;font-size:11px;color:var(--muted);background:transparent}

/* All cards in a pile share a holder. Each real attachment has its own exposed top edge. */
.card-pile {display:flex;flex-direction:column;align-items:center;position:relative;isolation:isolate;overflow:hidden;border-radius:4px}
.card-pile .member-face {display:block;width:100%;position:relative;z-index:1;padding:0;border:0;border-radius:4px;background:#142029;box-shadow:0 -1px 5px #080e15aa}
.member-face:focus-visible,.tuck-edge:focus-visible {outline:2px solid var(--mint);outline-offset:-2px}
.tuck-edge {--rim:#b6c5cd;position:relative;isolation:isolate;display:block;width:96%;height:26px;flex:none;padding:0;border:0;border-radius:6px 6px 0 0;background:none;text-align:right}
.tuck-edge[data-kind="tool"] {--rim:#f9c982}
.tuck-edge[data-kind="mascot"] {--rim:#edacd0}
.tuck-edge[data-kind="fan"] {--rim:#bcaeff}
.tuck-edge[data-kind="cheer"] {--rim:#97dcd2}
.tuck-paper {display:block;position:absolute;inset:0 0 auto;width:100%;aspect-ratio:5/7;border:1px solid var(--rim);border-radius:6px;overflow:hidden;background:#24313a;box-shadow:0 -2px 3px #071018a8;pointer-events:none}
.tuck-paper img {display:block;width:100%;height:100%;object-fit:cover}
.tuck-caption {display:block;position:absolute;bottom:1px;right:0;max-width:85%;padding:1px 4px 1px 6px;border-right:3px solid var(--rim);border-radius:4px 0 0 3px;background:#13202aeb;color:#fff;font:650 10px/1.3 "Segoe UI",sans-serif;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.tuck-edge:hover .tuck-caption,.tuck-edge:focus-visible .tuck-caption {background:#304956}
.tuck-edge:focus-visible::after,.member-face:focus-visible::after {content:"";position:absolute;inset:0;border:2px solid var(--mint);border-radius:4px;pointer-events:none}
.back-row .piece.rest .tuck-edge {width:calc(100% * 5 / 7)}
.front .piece.rest:has(.tuck-edge) .portrait {aspect-ratio:7/5}
.piece .gearline:empty {display:none}

/* Keep single-card zones on the same column grid as a full main deck. */
#inspector.deck-mode {width:min(1080px,96vw)}
.deck-zones {display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}
.deck-zones button {display:flex;align-items:center;gap:8px;font-weight:650;padding:6px 12px}
.deck-zones b {font-size:11px;padding:2px 6px;border-radius:8px;background:#13212a}
.deck-zones [aria-pressed="true"] {border-color:var(--mint);color:var(--mint);background:#233e40}
.deck-section + .deck-section {margin-top:22px}
.deck-section h3 {display:flex;align-items:baseline;gap:8px;margin:8px 0;font-size:17px}
.deck-section h3 small {font-size:12px;font-weight:500;color:var(--muted)}
.deck-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(163px,1fr));gap:12px}
.deck-tile {display:grid;grid-template-rows:auto 1fr;gap:0;min-width:0;text-align:left;padding:6px;overflow:hidden;background:#23303a}
.deck-art {display:block;width:100%;aspect-ratio:5/7;overflow:hidden;border-radius:4px;background:#172129}
.deck-art img {display:block;width:100%;height:100%;object-fit:contain}
.deck-caption {display:grid;gap:3px;padding:6px 2px 2px}
.deck-meta {display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:11px;color:var(--muted);font-weight:600}
.deck-meta b {background:#17272e;border:1px solid #466368;border-radius:4px;padding:0 5px;font-size:13px;color:var(--mint)}
.deck-caption strong {font-size:14px;line-height:1.22;height:2.44em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.deck-caption small {color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:520px){
  .deck-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .deck-zones {gap:4px}.deck-zones button {font-size:12px;padding:5px 7px;gap:4px}
  .deck-tile {padding:4px}.deck-caption strong {font-size:13px}
}

/* Fit-board view keeps both players visible; detailed cards still open at full size. */
.fit-table>.titlebar{padding:8px 0;gap:8px}.fit-table>.titlebar h1{font-size:24px}.fit-table>.titlebar .eyebrow{font-size:9px}
.fit-table .layout>aside,.fit-table .p-controls{max-height:var(--table-room);position:sticky;top:8px;overscroll-behavior:contain}
.fit-table .arenahead{padding:4px 10px}.fit-table .table-options{padding:4px 10px;gap:5px 10px}
.fit-table .transport{padding:6px 10px}.fit-table .transport .buttons{margin-top:4px}
.board-fit-control{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;cursor:pointer}
.board-fit-control input{accent-color:var(--mint);width:16px;height:16px;margin:0}
.p-view-actions{display:flex;align-items:center;gap:16px}
.fit-table #board{--front:calc(var(--fit-unit) + 24px);--back:calc(var(--fit-unit) + 24px);--hand:calc(var(--fit-unit) * .72);--rack-gap:6px}
.fit-table .half{gap:3px;padding:4px 8px}.fit-table .hand-row,.fit-table .back-row{padding:2px 5px;border-radius:5px}
.fit-table .row-label{font-size:10px;line-height:15px;gap:5px}.fit-table .row-label b{font-size:9px;letter-spacing:.7px}
.fit-table .hand-switch{font-size:10px;padding:0 5px}.fit-table .rack{padding:1px;align-items:center}
.fit-table .hand-card{padding:1px;gap:0}.fit-table .hand-card span{display:none}
.fit-table .back-row .rack{min-height:calc(var(--fit-unit) * 1.4 + 47px)}
.fit-table .back-row .rail-empty{width:var(--fit-unit);font-size:10px;padding:2px}
.fit-table .front{padding:0;gap:10px;align-items:center}
.fit-table .front .zone-title{font-size:9px;margin-bottom:2px;line-height:12px}
.fit-table .piece{padding:2px}.fit-table .piece .card-pile{width:var(--fit-unit);margin:auto;overflow:visible;padding-top:14px}
.fit-table .piece .member-face{width:100%}.fit-table .piece .portrait{width:100%}
.fit-table .piece .name{display:none}.fit-table .piece .numbers{font-size:10px;line-height:13px;gap:4px;flex-wrap:nowrap}
.fit-table .piece .gearline{font-size:9px;line-height:12px;margin-top:1px;gap:1px}
.fit-table .piece .state{font-size:8px;padding:0 2px}.fit-table .impact{font-size:14px}
.fit-table .back-row .piece.rest{width:var(--back)}.fit-table .piece.rest .portrait{aspect-ratio:5/7}
.fit-table .back-row .piece.rest .tuck-edge{width:96%}
.fit-table .tuck-edge{position:absolute;top:calc(var(--edge) * 14px / max(1,var(--attachments)));height:calc(14px / max(1,var(--attachments)))}
.fit-table .tuck-caption{display:none}
.fit-table .vacant{width:var(--fit-unit);margin:auto;font-size:10px}
.fit-table .teamhead{padding-left:2px;gap:3px;width:100%;max-width:260px;flex-direction:row;flex-wrap:wrap;align-items:center}
.fit-table .teamhead .oshi{gap:5px;max-width:100%}.fit-table .teamhead .oshi img{width:var(--fit-unit);max-width:65px}
.fit-table .teamhead .oshi strong{font-size:11px}.fit-table .teamhead .label{font-size:8px;letter-spacing:.5px}
.fit-table .teamhead .life{font-size:11px}.fit-table .teamhead .zones{display:flex;flex-wrap:wrap;gap:3px}
.fit-table .teamhead .zones button{font-size:10px;padding:2px 4px}
@media(max-width:720px){
 .fit-table .layout>aside{position:static;max-height:none}
 .fit-table .half{padding:3px}.fit-table .front{gap:5px}
 .fit-table .teamhead .oshi{flex-direction:row}.fit-table .teamhead .oshi span strong{display:none}
 .fit-table .teamhead .zones{gap:2px}.fit-table .teamhead .zones button{font-size:9px;padding:1px 2px}
 .fit-table .table-options .sizing{margin-left:0}
}

@media(min-width:721px){
 .fit-table #board{--front:calc(var(--fit-unit) + 80px);--back:calc(var(--fit-unit) + 80px)}
 .fit-table .piece{display:grid;grid-template-columns:var(--fit-unit) minmax(0,1fr);grid-template-rows:auto auto 3px auto;column-gap:5px;align-content:center}
 .fit-table .piece .card-pile{grid-column:1;grid-row:1/5;align-self:center}
 .fit-table .piece .name{display:block;grid-column:2;grid-row:1;align-self:end;font-size:10px;line-height:12px;margin:0}
 .fit-table .piece .numbers{grid-column:2;grid-row:2;flex-wrap:wrap;align-content:center;justify-content:start;line-height:12px}
 .fit-table .piece .numbers strong{white-space:nowrap}
 .fit-table .piece>.meter{grid-column:2;grid-row:3;align-self:center}
 .fit-table .piece .gearline{grid-column:2;grid-row:4;align-self:start}
 .fit-table .back-row .rack{min-height:calc(var(--fit-unit) * 1.4 + 20px)}
 .fit-table .teamhead .oshi img{max-width:90px}
}

/* Leave more of a laptop display for the cards themselves. */
body:has(.fit-table:not([hidden]))>.mast{min-height:44px;padding-top:4px;padding-bottom:4px}
body:has(.fit-table:not([hidden]))>.mast .brand b{font-size:18px}
.fit-table>.titlebar{padding:5px 0}.fit-table>.titlebar .eyebrow{display:none}
.fit-table .table-options .sizing{display:none}
.fit-table .hand-row:has(.rail-empty) .card-scroll{display:none}
@media(max-width:720px){
 body:has(.fit-table:not([hidden]))>.mast{padding-inline:10px}
 body:has(.fit-table:not([hidden]))>.mast .brand{display:none}
 body:has(.fit-table:not([hidden]))>.mast nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 body:has(.fit-table:not([hidden]))>.mast nav button{flex:none;padding:6px;font-size:12px}
}

.fit-table .front .piece.rest:has(.tuck-edge) .portrait{aspect-ratio:5/7}

#perspectivePicker[hidden],
.bot-perspective .table-options > b,
.bot-perspective .table-options label:has(#hand0),
.bot-perspective .table-options label:has(#hand1),
.bot-perspective :is(#attack,#ending,#result){display:none}
#perspectivePicker select{max-width:190px}
.policy-caption{margin:14px 0 6px;color:var(--muted);font-size:12px}
.policy-options{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.policy-option{min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:5px}
.policy-option.chosen{border-color:var(--mint);background:#18332f}
.policy-option>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px}
.policy-option strong{overflow-wrap:anywhere}.policy-option .chance{white-space:nowrap;font-variant-numeric:tabular-nums}
.policy-option small{display:block;color:var(--muted);font-size:10px}.policy-option.chosen small{color:var(--mint)}
.chance-track,.chance-track i{display:block;height:3px;border-radius:2px}
.chance-track{margin-top:5px;background:#34434d}.chance-track i{background:#8099a5}.chosen .chance-track i{background:var(--mint)}
.bot-observation{margin-top:12px;font-size:12px}.bot-observation summary{cursor:pointer}
.bot-observation pre{max-height:22rem;overflow:auto;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}
.input-influence{margin:12px 0;border:1px solid var(--line);border-radius:6px;padding:8px;font-size:12px}
.input-influence summary{cursor:pointer;font-weight:700}.input-influence p{font-size:11px;line-height:1.45;margin:8px 0}
.input-influence ol{list-style:none;padding:0;margin:8px 0;display:grid;gap:7px}
.input-influence li>div{display:flex;justify-content:space-between;gap:8px}.input-influence li b{font-variant-numeric:tabular-nums;white-space:nowrap}
.influence-track,.influence-track i{display:block;height:4px;border-radius:2px}.influence-track{margin-top:3px;background:#34434d}
.influence-track .positive{background:var(--mint)}.influence-track .negative{background:#efb17a}
.influence-key,.influence-note{color:var(--muted)}
@media(max-width:720px){.bot-perspective .monitor{grid-column:1/-1}}
