.outcomes{display:flex;gap:16px;flex-wrap:wrap}.tag{font-size:11px;padding:3px 7px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}.table-wrap{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}th{font-size:12px;color:var(--muted);background:var(--paper);white-space:nowrap}td{font-variant-numeric:tabular-nums}caption{text-align:left;font-weight:700;padding:8px 0}details summary{cursor:pointer;padding:8px 0}details p{margin:8px 0}details+details{border-top:1px solid var(--line)}.flow-row{display:grid;grid-template-columns:42px 1fr 1fr;gap:16px;border-bottom:1px solid var(--line);padding:12px 0}.flow-bar{display:block;height:8px;background:var(--red);min-width:0}.flow-b .flow-bar{background:var(--green)}.flow-label{font-size:12px}.flow-track{background:var(--paper);margin:4px 0}.flow-head{font-weight:700}.method{margin-top:40px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.method p{color:var(--muted)}#status{font-size:12px;color:var(--muted)}#error{padding:16px;background:var(--white);border:2px solid var(--red);margin-bottom:16px}.empty{padding:24px;border:1px dashed var(--line);color:var(--muted)}.record-list{max-height:400px;overflow:auto}.record-list button{font-size:12px;padding:6px 10px}.evidence-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.evidence-cards button{text-align:left}.evidence-cards small{display:block;font-weight:400;color:var(--muted)}dialog{width:min(1100px,95vw);max-height:90vh;border:1px solid var(--gold);background:var(--paper);padding:24px;border-radius:6px}dialog::backdrop{background:#1d211fb0}.dialog-top{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-24px;background:var(--paper);padding:12px 0;z-index:1}.dialog-top h2{margin:0}.skill-info{max-width:400px}.skill-info summary{color:var(--red)}.skill-info p{font-size:12px}.callout{border-left:3px solid var(--gold);background:var(--paper);padding:12px 16px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{font-size:12px}.method ul{padding-left:20px}footer{text-align:center;padding:32px;color:var(--muted);font-size:12px}[hidden]{display:none!important}@media(max-width:760px){.masthead{padding:16px;gap:12px;flex-wrap:wrap}.brand{font-size:16px}.brand>span{font-size:20px}#release{width:100%;margin:0}nav{margin-left:auto;gap:12px;font-size:12px}main{padding:20px 16px}h1{font-size:26px}.stamp{display:none}.selectors,.twocol,.method-grid{grid-template-columns:1fr;gap:16px}.fields{grid-template-columns:1fr 1fr}.panel{padding:16px}.section-top{align-items:flex-start;gap:12px;flex-direction:column}.mode{width:100%}.mode select{flex:1}.evidence-cards{grid-template-columns:1fr}.flow-row{gap:8px;grid-template-columns:32px 1fr 1fr}.flow-label{font-size:11px}dialog{padding:16px}.intro{padding-bottom:12px}h2{font-size:22px}}

.mode{white-space:nowrap}.result-tabs{display:flex;position:sticky;top:0;background:var(--paper);padding:12px 0;z-index:2;gap:8px;border-bottom:1px solid var(--line);margin:24px 0}.result-tabs button[aria-pressed="true"]{background:var(--red);color:var(--white)}

.evidence-side-tabs{display:flex;gap:8px;margin:24px 0}.evidence-side-tabs button{flex:1;text-align:left}.evidence-side-tabs button[aria-pressed="true"],.view-switch button[aria-pressed="true"]{background:var(--red);color:var(--white)}.evidence-side-title{border-bottom:1px solid var(--line);padding-bottom:16px}.evidence-chart{padding:24px;margin:24px 0;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px}.evidence-chart h3{margin:0}.view-switch{display:flex;gap:4px}.view-switch button{font-size:12px;padding:8px 12px}.chart-legend{display:flex;gap:16px;font-size:12px;margin:16px 0}.chart-legend span{display:flex;align-items:center;gap:8px}.chart-legend i{width:12px;height:12px;border-radius:2px}.turn-chart{display:block;width:100%;max-height:360px;overflow:visible}.turn-chart text{font-size:13px;fill:var(--muted)}.chart-grid{stroke:var(--line);stroke-width:1}.turn-chart circle:focus{stroke:var(--ink);stroke-width:3;outline:none}.chart-totals{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;font-size:12px}.chart-totals b{display:block;font-size:20px;font-variant-numeric:tabular-nums}.hero-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.hero-bar-group strong{display:block;margin-bottom:12px}.hero-bar-row{display:grid;grid-template-columns:56px minmax(0,1fr) 64px;gap:8px;align-items:center;font-size:12px;margin:8px 0}.hero-bar-row b{text-align:right;font-variant-numeric:tabular-nums}.hero-bar-track,.tactic-damage-track{height:8px;background:var(--paper);border-radius:4px;overflow:hidden}.hero-bar-track span,.tactic-damage-track span{height:100%;display:block}.officer-tactics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.officer-column{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:6px;overflow:hidden}.officer-heading{display:flex;gap:12px;padding:16px;background:var(--paper);border-bottom:2px solid var(--gold);align-items:center}.officer-heading img{width:64px;height:80px;object-fit:cover;object-position:top;border-radius:4px}.officer-heading h4{font-size:20px;margin:0 0 8px}.officer-heading span,.officer-heading small{display:block;font-size:12px;color:var(--muted)}.tactic-observation{padding:16px;border-bottom:1px solid var(--line)}.tactic-heading{display:flex;gap:8px;align-items:center;min-height:64px}.tactic-heading>img{width:40px;height:48px;object-fit:contain}.tactic-heading>div{min-width:0;flex:1}.tactic-heading strong{display:block;font-size:14px}.tactic-heading small,.tactic-heading span{display:block;font-size:11px;color:var(--muted)}.launch-count{font-size:24px;color:var(--red);text-align:right;white-space:nowrap}.launch-count small{font-weight:400}.tactic-damage-track{margin:12px 0}.tactic-damage-track span{background:var(--red)}.tactic-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.tactic-numbers dt{font-size:11px;color:var(--muted)}.tactic-numbers dd{margin:4px 0 0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.tactic-observation .skill-info summary{font-size:12px}.warbook-list{padding:16px;background:var(--paper)}.warbook-list h5{font-size:13px;margin:0 0 8px;color:var(--muted)}.warbook-list ul{padding-left:16px;margin:0;font-size:13px;line-height:1.9}.warbook-list p{font-size:12px}.observed-gear{padding:8px 16px}.observed-gear summary{font-size:12px}
@media(max-width:760px){.officer-tactics,.hero-bars{grid-template-columns:1fr}.evidence-chart{padding:16px}.evidence-side-tabs{flex-direction:column}.chart-legend{gap:12px}.turn-chart text{font-size:16px}.evidence-chart .section-top{flex-direction:row;align-items:center}.evidence-chart h3{font-size:16px}.view-switch button{padding:8px;white-space:nowrap}.chart-totals{gap:12px}.chart-totals b{font-size:16px}.officer-heading img{width:64px;height:80px}.tactic-heading strong{font-size:16px}}

.evidence-chart .section-top{margin-top:0}

.chart-narrow{display:none}@media(max-width:760px){.chart-wide{display:none}.chart-narrow{display:block}.evidence-chart .section-top{flex-wrap:wrap}.evidence-chart h3{word-break:keep-all}}

.setup-preview{margin-top:16px;display:grid;gap:12px;padding:16px;background:var(--paper);border-radius:4px}.tactic-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tactic-chips span{font-size:12px;padding:4px 8px;border:1px solid var(--line);background:var(--white);border-radius:4px}.tactic-chips .changed{color:var(--red);border-color:var(--red);font-weight:700}.selection{min-width:0}.selection select{max-width:100%}

.setup-officer-heading{display:flex;align-items:center;gap:12px}.setup-officer-heading img{width:48px;height:64px;object-fit:cover;border-radius:4px}.setup-officer{border-top:1px solid var(--line);padding-top:12px}.tactic-chips>div{display:flex;align-items:center;gap:4px}.tactic-chips>div.changed{border:0}.tactic-chips .changed button{border-color:var(--red)}.tactic-chips small{font-size:11px}.tactic-open{font-size:13px;min-height:44px;padding:8px 12px;font-weight:400}.formation-label{font-size:14px}#tactic-dialog{width:min(560px,calc(100vw - 32px));max-height:80vh;overflow:auto;padding:24px;border:1px solid var(--gold);border-radius:8px;background:var(--white);color:var(--text)}#tactic-dialog::backdrop{background:#1d211f88}.tactic-description{white-space:pre-line;line-height:1.9;font-size:15px}.tactic-art{height:96px;width:auto}.tactic-chips span{padding:0;border:0}

/* Compact research entry; keep controls at their existing touch size. */
.research-page main{padding-top:16px}.research-page .intro{padding:0 0 8px}.research-page .intro h1{font-size:24px;margin:0 0 4px}.research-page .intro p{font-size:12px;margin:0}.research-page #status{margin:8px 0}.research-page .conditions{padding:8px 24px;margin-bottom:16px}.research-page .conditions .scope{padding-top:4px;margin-top:0;align-items:center}.research-page #workspace>.section-top{margin:16px 0 8px}.research-page #workspace>.section-top h2{margin:0}.research-page #workspace-conditions{margin:8px 0 12px}.setup-search-options{margin-top:8px}.setup-search-options>summary{font-size:12px;color:var(--muted);min-height:44px;display:list-item;align-content:center}.observed-setup{margin-top:12px}.observed-setup>.formation-label{margin:0;padding:8px 12px;background:var(--paper);border-radius:4px}.observed-setup .portraits{margin-top:12px}.observed-setup .hero .hint{display:block;line-height:1.5;margin-top:4px}.observed-setup>p.hint{margin-bottom:0}@media(max-width:760px){.research-page .conditions{padding:8px 16px}.research-page #workspace>.section-top{gap:8px}.research-page .intro h1{font-size:24px}}
@media(min-width:761px){.research-page .conditions{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}.research-page .conditions:has(>details[open]){grid-template-columns:1fr;gap:8px}.research-page .conditions .scope{border-top:0;padding-top:0}.research-page .conditions:has(>details[open]) .scope{border-top:1px solid var(--line);padding-top:8px}}

.evidence-officer-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.evidence-officer-tabs button[aria-pressed="true"]{background:var(--red);color:var(--white)}
