/* Contest presentation home: legible line, replay controls and evidence above the fold. */
.nav-link{font-size:14px;padding:10px 12px}
.nav-link[href$="Lovis_Project_Guide.docx"]{text-decoration:none}
.twin-case-switcher{max-width:min(100%,1120px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px}
.twin-case-list:not(.is-expanded) .twin-case-button:nth-child(n+4){display:none}
.twin-case-expand{min-height:40px;padding:8px 11px;border:1px solid #d1e4f1;border-radius:9px;background:#fff;color:#456d8b;font:600 13px/1.3 "Segoe UI",sans-serif;white-space:nowrap;cursor:pointer}
.twin-case-expand:hover{border-color:#86c0e3;background:#f3faff}
.twin-page-head h1{font-size:32px;line-height:1.2}
.twin-page-head p{font-size:14px;line-height:1.65}
.twin-case-switcher{font-size:14px}
.twin-case-button{font-size:14px;min-width:195px;padding:10px 12px}
.twin-case-button .case-display-name{font-size:14px}
.twin-case-button .case-display-summary{font-size:12px}
.twin-case-button .case-display-meta{font-size:11px}
.twin-stage-head h2{font-size:20px}
.twin-stage-head .mono{font-size:12px}
.twin-stage-note,.twin-data-note{font-size:12px;line-height:1.55}
.twin-analysis-grid .panel-head h2{font-size:18px}
.twin-count-card,.twin-station-chip{font-size:13px}
.twin-chart-controls label,.twin-chart-controls select{font-size:13px}
.twin-timeline{max-height:300px}
.twin-event-jump time{font-size:12px;flex-basis:58px}
.twin-event-jump b{font-size:13px}
.twin-event-jump small{font-size:11px;line-height:1.5}
.event-tone-badge{font-size:11px}
.replay-controller{padding:14px 16px}
.play-button,.control-button,.speed-buttons button{font-size:14px;min-height:42px}
.replay-time-readout{font-size:13px}
.twin-ai-panel .assistant-head h2{font-size:19px}
.twin-diagnosis-card>b{font-size:17px}
.twin-diagnosis-card>p,.twin-ai-section p{font-size:14px;line-height:1.7}
.twin-ai-section h3{font-size:15px}
.agent-flow-heading h3{font-size:15px}
.agent-flow-heading span,.agent-flow-heading>div small{font-size:11px}
.agent-flow-node{padding:10px 11px}
.agent-node-head>b{font-size:13px}
.agent-flow-node>small{font-size:11px}
.agent-flow-node details summary{font-size:11px}
.agent-flow-node details p{font-size:12px}
.twin-report-disclaimer{font-size:11px}
.twin-critical-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px;padding:11px 14px;background:linear-gradient(120deg,#fff,#f2f9ff);border-color:#d4e8f5}
.twin-critical-tools.hidden{display:none}
.twin-critical-tools>div:first-child{display:grid;gap:3px;min-width:0}
.twin-critical-tools>div:first-child>b{font-size:14px;color:#315c7c}
.twin-critical-tools>div:first-child>span{font-size:12px;line-height:1.45;color:#6a8297;overflow-wrap:anywhere}
.twin-window-modes,.twin-key-jumps{display:flex;flex-wrap:wrap;gap:6px}
.twin-window-modes button,.twin-key-jumps button{min-height:40px;padding:8px 12px;border:1px solid #d1e4f1;border-radius:9px;background:#fff;color:#456d8b;font:600 13px/1.3 "Segoe UI",sans-serif;cursor:pointer}
.twin-window-modes button[aria-pressed=true]{background:#e8f6ff;border-color:#6db5e1;color:#176da5}
.twin-key-jumps button:hover,.twin-window-modes button:hover{border-color:#86c0e3;background:#f3faff}
footer a{color:#2d6f9f;text-decoration:none;font-weight:650}
footer a:hover{text-decoration:underline}
@media(max-width:1366px){.twin-page-head{display:grid;grid-template-columns:1fr;align-items:start;gap:10px}.twin-page-head h1{font-size:28px}.twin-case-switcher{max-width:100%;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch}.twin-case-button{min-width:170px}.twin-analysis-grid .panel-head h2{font-size:16px}}
@media(max-width:1020px){.twin-critical-tools{grid-template-columns:minmax(0,1fr) auto}.twin-key-jumps{grid-column:1/-1}.twin-page-head h1{font-size:30px}}
@media(max-width:760px){.nav-link{font-size:13px;padding:9px}.twin-page-head h1{font-size:25px}.twin-page-head p{font-size:13px}.twin-case-switcher{font-size:13px;grid-template-columns:1fr;justify-content:start}.twin-case-button{font-size:13px;min-width:165px}.twin-case-expand{justify-self:start}.twin-stage-head h2{font-size:17px}.twin-critical-tools{grid-template-columns:1fr;gap:9px}.twin-window-modes button,.twin-key-jumps button{flex:1;min-width:105px}.twin-event-jump b{font-size:13px}.twin-ai-section p{font-size:13px}.replay-time-readout{font-size:11px}}
@media(max-width:420px){.twin-page-head h1{font-size:23px}.twin-stage-head .mono{font-size:10px}.twin-critical-tools{padding:11px}.twin-window-modes,.twin-key-jumps{display:grid;grid-template-columns:1fr 1fr}.twin-key-jumps button:last-child{grid-column:1/-1}.replay-buttons .control-button{font-size:12px;padding-inline:8px}.replay-time-readout{align-items:flex-start;flex-direction:column;gap:3px}}

/* R5.1: keep the three primary archive choices aligned without changing case data. */
.twin-page-head{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(760px,1.3fr);align-items:center;gap:22px}
.twin-page-head>div:first-child{min-width:0}
.twin-page-head h1{font-size:34px;line-height:1.2}
.twin-page-head p{font-size:15px;line-height:1.6}
.twin-case-switcher{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:stretch;gap:7px;width:100%;max-width:none;min-width:0}
.twin-case-switcher>span{font-size:14px;font-weight:700;color:#426d8e}
.twin-case-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;justify-content:initial;gap:8px;width:100%;min-width:0}
.twin-case-button{display:grid;grid-template-rows:auto auto auto;align-content:start;gap:3px;min-width:0;min-height:78px;max-width:none;padding:8px 10px;border-radius:11px}
.twin-case-button .case-display-name{font-size:15px;line-height:1.35}
.twin-case-button .case-display-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.4}
.twin-case-button .case-display-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.35}
.twin-case-list .twin-case-button:nth-child(1){border-left-color:#4b94c7;background:#f1f8fd}
.twin-case-list .twin-case-button:nth-child(2){border-left-color:#36a37d;background:#f0faf5}
.twin-case-list .twin-case-button:nth-child(3){border-left-color:#d56b72;background:#fff4f4}
.twin-case-button[aria-pressed=true]{outline:2px solid rgba(42,139,199,.24);outline-offset:1px;box-shadow:0 5px 16px rgba(54,130,181,.16)}
.twin-case-expand{justify-self:end;min-height:36px;padding:7px 11px;font-size:13px}

@media(max-width:1366px){
  .twin-page-head{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px}
  .twin-page-head h1{font-size:30px}
  .twin-case-switcher{width:100%;max-width:none}
  .twin-case-button{min-width:0}
}
@media(max-width:900px){
  .twin-page-head{gap:10px}
  .twin-page-head h1{font-size:28px}
  .twin-case-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .twin-page-head{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
  .twin-page-head h1{font-size:25px}
  .twin-page-head p{font-size:14px}
  .twin-case-list{grid-template-columns:minmax(0,1fr);gap:7px}
  .twin-case-button{min-height:72px;padding:9px 11px}
  .twin-case-button .case-display-name{font-size:15px}
  .twin-case-button .case-display-summary{font-size:13px}
  .twin-case-button .case-display-meta{font-size:12px}
  .twin-case-expand{justify-self:end}
}

/* R5.2: the validated diagnosis form now lives in the digital-twin AI panel. */
.twin-layout{grid-template-columns:minmax(0,1fr) minmax(360px,370px)}
.twin-ai-panel{min-width:0}
.twin-diagnosis-console{display:grid;gap:10px;margin:12px 0 14px;padding:12px;border:1px solid #d6e8f5;border-radius:12px;background:linear-gradient(155deg,#f8fcff,#edf7ff);min-width:0}
.twin-diagnosis-current{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;background:#fff;border:1px solid #e5eff6}
.twin-diagnosis-current span{flex:0 0 auto;color:#71869b;font-size:13px}
.twin-diagnosis-current b{min-width:0;color:#2b587a;font-size:14px;line-height:1.45;text-align:right;overflow-wrap:anywhere}
.twin-diagnosis-console>label{font-size:14px;font-weight:700;color:#456985;margin-bottom:-5px}
.twin-diagnosis-console textarea{width:100%;min-width:0;min-height:90px;padding:10px 11px;border:1px solid #d6e5f0;border-radius:9px;background:#fff;color:#18324d;font:inherit;font-size:14px;line-height:1.65;resize:vertical}
.twin-diagnosis-console textarea:focus{outline:2px solid #8ac1ea;outline-offset:2px}
.twin-diagnosis-console .turnstile-box{display:flex;align-items:center;min-height:65px;max-width:100%;margin:0;overflow-x:auto;overflow-y:hidden}
.twin-diagnosis-console .primary-button{min-height:44px;font-size:15px}
.twin-diagnosis-console .diagnosis-status{min-height:0;margin:0;padding:8px 9px;border-radius:8px;background:#f7fafc;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.twin-diagnosis-console .diagnosis-status[data-kind=error]{background:#fff4f2;color:#a8464d}
.twin-diagnosis-console .diagnosis-status[data-kind=success]{background:#eff9f4;color:#167254}
.twin-diagnosis-console .report{margin-top:0;padding-top:11px}
.twin-diagnosis-console .report-status{font-size:12px;line-height:1.55}
.twin-diagnosis-console .report h3{font-size:15px;line-height:1.5}
.twin-diagnosis-console .report p,.twin-diagnosis-console .report li{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.twin-diagnosis-console .twin-summary-evidence{display:grid;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid #e8f0f6}
.twin-diagnosis-console .twin-summary-evidence>b{font-size:13px;color:#456985}
.twin-diagnosis-console .twin-summary-evidence p{margin:0;padding:7px 8px;border-radius:7px;background:#f7fbfe;color:#526f87}
.twin-diagnosis-console .twin-report-open{margin:0;min-height:42px;font-size:14px}
.twin-diagnosis-console .twin-local-history{margin-top:0;padding-top:8px}
.twin-diagnosis-console .twin-local-history>summary{font-size:13px}
.twin-diagnosis-console .history-filter-label{font-size:12px}
.twin-diagnosis-console .history-case-filter{min-height:38px;font-size:13px}
.twin-diagnosis-console .history-actions button{min-height:36px;font-size:12px}
.twin-diagnosis-console .history-list{max-height:180px}
.twin-diagnosis-console .history-list li{font-size:12px}
.twin-report-disclaimer{font-size:12px;line-height:1.6}
@media(max-width:1280px){.twin-layout{grid-template-columns:minmax(0,1fr) minmax(350px,370px)}}
@media(max-width:1020px){
  .twin-layout{grid-template-columns:minmax(0,1fr)}
  .twin-ai-panel{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}
  .twin-ai-panel .assistant-head,.twin-diagnosis-card,.twin-diagnosis-console,.agent-flow-card,.twin-report-disclaimer{grid-column:1/-1}
  .twin-ai-section{min-width:0}
}
@media(max-width:760px){
  .twin-ai-panel{display:block}
  .twin-diagnosis-console{gap:9px;padding:10px}
  .twin-diagnosis-console textarea{font-size:14px}
  .twin-diagnosis-current{align-items:flex-start}
  .twin-diagnosis-console .report p,.twin-diagnosis-console .report li{font-size:13px}
}
