.brand-block{display:flex;align-items:center;gap:10px;min-width:0;padding-inline-start:6px}
.tabletop-launch{flex:none;border:1px solid #304456;background:#14202a;color:var(--accent);font-family:var(--mono);font-size:var(--fs-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tabletop-launch:hover{background:#1d3040}

.tabletop-modal{background:rgba(3,6,9,.96);overflow:hidden}
.tabletop-modal .tabletop-sheet{background:#0b1117;overflow:auto;min-width:0}
.tabletop-modal.modal.full .tabletop-sheet{padding:0}
.tt-toolbar{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:auto minmax(190px,1fr) auto;align-items:center;gap:14px;padding:13px 18px;background:rgba(11,17,23,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.tt-heading{text-align:center;min-width:0}
.tt-heading h2{margin:2px 0 0;font-size:var(--fs-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-kicker{font-family:var(--mono);color:var(--accent);font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase}
.tt-nav{display:flex;align-items:center;gap:6px}
.tt-nav button{min-width:42px;padding:.58rem .7rem}
.tt-position{min-width:52px;text-align:center;font-family:var(--mono);color:var(--muted);font-size:var(--fs-sm)}
.tt-close{justify-self:end}
.tt-board{width:100%;min-width:0;padding:18px 20px 36px}

.tt-company{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,3fr);gap:18px;align-items:end;padding-bottom:14px;border-bottom:1px solid var(--line);min-width:0}
.tt-company-name{font-size:var(--fs-lg);font-weight:850;line-height:1.05}
.tt-company-meta{margin-top:5px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-sm)}
.tt-counters{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.tt-counter{min-width:76px;padding:8px 10px;background:#121b24;border:1px solid #263746}
.tt-counter-label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase}
.tt-counter-label .game-icon{width:1.3em;height:1.3em;margin:0}
.tt-counter-value{display:block;margin-top:2px;font-family:var(--mono);font-size:var(--fs-lg);font-weight:850}
.tt-counter.bad .tt-counter-value{color:var(--bad)}
.tt-counter.good .tt-counter-value{color:var(--good)}

.tt-section{margin-top:20px}
.tt-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px}
.tt-section-head h3{margin:0;font-size:var(--fs-md);letter-spacing:.1em;text-transform:uppercase}
.tt-section-note{color:var(--faint);font-family:var(--mono);font-size:var(--fs-sm)}
.tt-requirements{display:grid;grid-template-columns:repeat(3,180px);gap:18px;justify-content:center;max-width:100%;overflow-x:auto;padding:2px 2px 12px}
.tt-slot{display:flex;flex-direction:column;gap:5px}
.tt-slot-label{text-align:center;color:var(--faint);font-family:var(--mono);font-size:var(--fs-sm);font-weight:800;letter-spacing:.16em}

.tt-card{position:relative;width:180px;height:238px;overflow:hidden;background:var(--paper);color:var(--paperInk);box-shadow:0 9px 24px rgba(0,0,0,.32);cursor:pointer;border:1px solid rgba(255,255,255,.12);transition:transform .14s ease,box-shadow .14s ease}
.tt-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.45)}
.tt-card-art{position:relative;height:86px;overflow:hidden;background:linear-gradient(145deg,#526779,#1b2731)}
.tt-card-art:after{content:"";position:absolute;inset:18% -20% -25% 24%;transform:rotate(-12deg);border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 14px rgba(255,255,255,.025),0 0 0 28px rgba(255,255,255,.018)}
.tt-card-content{padding:9px 10px 10px}
.tt-card-title{font-size:var(--fs-md);font-weight:850;line-height:1.08;min-height:38px}
.tt-card-sub{margin-top:2px;color:#607180;font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase}
.tt-card-rule{margin-top:8px;color:#3f4d59;font-size:var(--fs-sm);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tt-card-stats{position:absolute;left:10px;right:10px;bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#43515e;font-family:var(--mono);font-size:var(--fs-sm);font-weight:800}
.tt-card-stats .game-icon{width:1.2em;height:1.2em;margin-right:3px}
.tt-progress-track{position:absolute;left:10px;right:10px;bottom:32px;height:6px;overflow:hidden;background:#c9d0d5}
.tt-progress-track i{display:block;height:100%;background:#587c95}
.tt-slot.now .tt-card{box-shadow:0 0 0 2px rgba(238,133,133,.45),0 9px 24px rgba(0,0,0,.32)}
.tt-slot.next .tt-card{box-shadow:0 0 0 2px rgba(233,191,105,.35),0 9px 24px rgba(0,0,0,.32)}
.tt-empty-card{display:grid;place-items:center;width:180px;height:238px;border:1px dashed #3a4a58;color:var(--faint);font-family:var(--mono);font-size:var(--fs-sm);background:rgba(16,22,29,.55)}

.tt-architecture{position:relative;min-width:0;max-width:100%;min-height:320px;padding:18px 14px 8px;background:radial-gradient(circle at 50% 25%,rgba(34,53,68,.65),rgba(13,20,27,.75) 55%);overflow-x:auto}
.tt-forest{display:flex;justify-content:center;align-items:flex-end;gap:30px;min-width:max-content;padding:0 14px 10px}
.tt-tree{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:180px}
.tt-children{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:18px;padding-bottom:30px}
.tt-children.multiple:after{content:"";position:absolute;left:90px;right:90px;bottom:15px;border-top:1px solid #496276}
.tt-children>.tt-tree:after{content:"";position:absolute;left:50%;bottom:-15px;height:15px;border-left:1px solid #496276}
.tt-system-stack{position:relative;display:flex;flex-direction:column;align-items:center}
.tt-children+.tt-system-stack:before{content:"";position:absolute;left:50%;top:-15px;height:15px;border-left:1px solid #496276}
.tt-system-card.dormant{filter:grayscale(.8);opacity:.62;transform:rotate(-1deg)}
.tt-system-card.dormant:hover{transform:translateY(-3px) rotate(-1deg)}
.tt-system-status{position:absolute;top:7px;left:7px;z-index:3;padding:3px 6px;background:rgba(8,12,16,.82);color:#dce7ef;font-family:var(--mono);font-size:var(--fs-sm);font-weight:800;text-transform:uppercase}
.tt-system-status.dormant{color:var(--warn)}
.tt-level{position:absolute;top:7px;right:7px;z-index:3;display:flex;align-items:center;gap:3px;padding:3px 5px;background:rgba(8,12,16,.82)}
.tt-level-dot{width:8px;height:8px;border:1px solid #8394a3;background:transparent}
.tt-level-dot.on{border-color:#c5a8ef;background:#a892d2;box-shadow:0 0 7px rgba(168,146,210,.6)}
.tt-evolution{margin-top:6px;color:#594875;font-family:var(--mono);font-size:var(--fs-sm);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-system-numbers{position:absolute;left:9px;right:9px;bottom:8px;display:flex;gap:6px;justify-content:space-between;align-items:center;color:#43515e;font-family:var(--mono);font-size:var(--fs-sm);font-weight:800}
.tt-system-numbers .game-icon{width:1.25em;height:1.25em;margin-right:2px}
.tt-debt{color:#a83333}
.tt-upgrades{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:-5px;padding-top:0;z-index:0}
.tt-upgrade-card{position:relative;width:160px;height:63px;margin-top:-7px;overflow:hidden;background:#ddd5e6;color:#231d2b;border:1px solid #9d8aae;box-shadow:0 5px 12px rgba(0,0,0,.24);cursor:pointer;padding:12px 9px 6px;transition:transform .14s ease}
.tt-upgrade-card:hover{transform:translateY(3px)}
.tt-upgrade-title{position:relative;z-index:2;font-size:var(--fs-sm);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-upgrade-sub{position:relative;z-index:2;margin-top:3px;color:#65566f;font-family:var(--mono);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em}
.tt-upgrade-card .art-img{opacity:.18;mix-blend-mode:multiply}

.tt-hand{display:flex;gap:12px;min-height:238px;padding:8px 2px 14px;overflow-x:auto}
.tt-hand .tt-card{flex:none}
.tt-card-back{position:relative;display:grid;place-items:center;flex:none;width:150px;height:210px;border:5px solid #1c2a35;background:#090d12 url('/art/thumb/monolith-card-back.webp') center/cover no-repeat;box-shadow:inset 0 0 0 2px #466174,0 9px 24px rgba(0,0,0,.32)}
.tt-card-back:after{content:"";position:absolute;inset:5px;border:1px solid rgba(139,211,255,.34);box-shadow:inset 0 0 28px rgba(3,6,9,.4)}
.tt-no-systems{min-width:360px;padding:70px 20px;text-align:center;color:var(--faint)}

@media(max-width:760px){
  .tt-toolbar{grid-template-columns:1fr auto;padding:10px;gap:8px}.tt-nav{grid-column:1}.tt-close{grid-column:2;grid-row:1}.tt-heading{grid-column:1/-1;grid-row:2}.tt-board{padding:14px 10px 28px}.tt-company{grid-template-columns:1fr;gap:12px}.tt-counters{justify-content:flex-start}.tt-requirements{justify-content:flex-start}.tt-forest{justify-content:flex-start}.tt-section-note{display:none}
}
@media(max-width:520px){
  .brand-block{gap:0;padding-inline-start:4px}.brand-block .brand{display:none}.tabletop-launch{font-size:var(--fs-sm);padding:.43rem .52rem}
  .tt-counter{min-width:68px}.tt-company-name{font-size:var(--fs-lg)}
}
