:root {
  --bg:#07100e; --panel:#0b1714; --line:#24483b; --text:#d9f7e9; --muted:#7fa797;
  --bright:#73ffb3; --amber:#ffd479; --red:#ff7185; --shadow:rgba(0,0,0,.45);
}
*{box-sizing:border-box} html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:"IBM Plex Mono","Courier New",monospace}
body{height:100dvh;min-height:0;background-image:linear-gradient(rgba(115,255,179,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(115,255,179,.025) 1px,transparent 1px);background-size:24px 24px}
button,input,select,textarea{font:inherit} button{color:var(--text);background:#10251e;border:1px solid var(--line);padding:.48rem .68rem;cursor:pointer;text-transform:uppercase;letter-spacing:.04em} button:hover:not(:disabled){border-color:var(--bright);color:var(--bright)} button:disabled{opacity:.35;cursor:not-allowed} button.primary{background:var(--bright);color:#04100b;border-color:var(--bright);font-weight:800} button.danger{border-color:#7a3441;color:var(--red)}
input,select,textarea{width:100%;color:var(--text);background:#06110e;border:1px solid var(--line);padding:.46rem .55rem;outline:none} input:focus,select:focus,textarea:focus{border-color:var(--bright);box-shadow:0 0 0 2px rgba(115,255,179,.1)} textarea{resize:none} label{display:grid;gap:.22rem;color:var(--muted);font-size:.73rem;letter-spacing:.05em}
.shell{width:100%;height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:58px minmax(0,1fr) 178px;gap:.42rem;padding:.42rem}
.topbar{min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(210px,1fr) auto 165px 92px;gap:.5rem;align-items:center;border:1px solid var(--line);background:rgba(11,23,20,.96);padding:.38rem .65rem;box-shadow:0 10px 30px var(--shadow)}
.brand h1,.panel h2,.action-dock h2,.modal h2{margin:.08rem 0 0;font-size:1rem;letter-spacing:.12em}.brand h1{font-size:1.08rem;color:var(--bright)}.eyebrow{color:var(--muted);font-size:.66rem;letter-spacing:.13em}.toolbar{display:flex;gap:.32rem;justify-content:center;white-space:nowrap}.world-clock{min-width:155px;text-align:center;padding:.53rem .55rem;border:1px solid var(--line);color:var(--amber);font-weight:800;white-space:nowrap}.status-chip{min-width:88px;text-align:center;padding:.53rem .68rem;border:1px solid var(--bright);color:var(--bright);font-weight:800}
.panel{min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);background:rgba(11,23,20,.95);box-shadow:0 8px 24px var(--shadow)}
.theater-stage-grid{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(250px,18%) minmax(0,1fr) minmax(250px,18%);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:.42rem}
.transcript-panel{grid-column:2;grid-row:1/3;display:grid;grid-template-rows:auto minmax(0,1fr);padding:.55rem}.mind-guest1{grid-column:1;grid-row:1}.mind-guest2{grid-column:1;grid-row:2}.manager-mind{grid-column:3;grid-row:1;border-color:#6b5827}.mind-guest3{grid-column:3;grid-row:2}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.45rem;border-bottom:1px solid var(--line);padding-bottom:.36rem;margin-bottom:.4rem}.panel-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-heading span{color:var(--amber);font-size:.65rem}
.transcript{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.25rem;display:flex;flex-direction:column;gap:.38rem}.entry{padding:.46rem .58rem;border:1px solid #17362d;background:#07130f}.entry p{margin:.27rem 0 0;white-space:pre-wrap;line-height:1.32}.entry-meta{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.66rem}.entry.dm{border-color:#6b5827;background:#171408}.entry.private{border-color:#704159;background:#180b12}.entry.commentary{border-color:#355674;background:#09131b}.entry.system{border-style:dashed}
.mind-panel{padding:.55rem;display:grid;grid-template-rows:auto minmax(0,1fr)}.mind-text{min-height:0;overflow:auto;overscroll-behavior:contain;margin:0;line-height:1.32;white-space:pre-wrap;padding-right:.18rem}
.action-dock{min-height:0;overflow:hidden;padding:.48rem .62rem;display:grid;grid-template-rows:42px minmax(0,1fr);gap:.38rem}.dock-status-row{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;border-bottom:1px solid var(--line);padding-bottom:.35rem}.action-heading{display:flex;align-items:baseline;gap:.55rem;white-space:nowrap}.action-heading h2{margin:0}.round-label{color:var(--amber);font-size:.7rem;letter-spacing:.08em}.order-ribbon{min-width:0;display:flex;align-items:center;gap:.5rem;padding:.28rem .5rem;background:#07130f;border:1px solid #17362d}.order-caption{color:var(--muted);font-size:.66rem;letter-spacing:.1em}.order-row{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.busy{color:var(--amber);animation:pulse 1.1s infinite;white-space:nowrap}@keyframes pulse{50%{opacity:.45}}
.control-state{min-width:0;min-height:0;align-items:end;gap:.42rem}.control-state p{margin:0;color:var(--muted)}.idle-control,.compact-control{display:flex;justify-content:space-between;align-items:center}.idle-control p,.compact-control p{max-width:75%}
#actionControls:not(.hidden){display:grid;grid-template-columns:minmax(0,2.1fr) minmax(250px,1fr) 250px;gap:.42rem}.human-fields{min-width:0;display:grid;grid-template-columns:150px 180px minmax(0,1fr);gap:.42rem}.human-move-field{min-width:0}.influence-field{min-width:0}.action-button{height:100%;min-height:58px;white-space:normal;align-self:stretch}
#commentaryControls:not(.hidden){display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr) 280px;gap:.55rem}.commentary-field{min-width:0}.sealed-note{align-self:center;font-size:.78rem}.compact-control:not(.hidden),.idle-control:not(.hidden){display:flex}
#humanMove,#dmInfluence,#humanCommentary{height:58px;min-height:58px;max-height:58px}.hidden{display:none!important}.muted{color:var(--muted)}
.modal{width:min(860px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;color:var(--text);background:transparent;border:0}.modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}.modal-card{background:#0a1713;border:1px solid var(--bright);padding:1rem;overflow:auto;max-height:calc(100vh - 2rem);box-shadow:0 20px 70px #000}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.8rem;margin-bottom:.9rem}.icon-btn{font-size:1.4rem;line-height:1;padding:.3rem .55rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.wide{grid-column:1/-1}.toggle-row{display:flex;align-items:center;gap:.5rem;align-self:end;padding:.62rem 0}.toggle-row input{width:auto}.toggle-row.small{font-size:.66rem}.modal-actions,.editor-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}.error{border:1px solid var(--red);color:var(--red);padding:.65rem;margin-top:.7rem;white-space:pre-wrap}.notice{border:1px solid var(--line);padding:.7rem;margin-top:.7rem;color:var(--muted)}.large-modal{width:min(1180px,calc(100vw - 1rem))}.card-manager-grid{display:grid;grid-template-columns:330px 1fr;gap:1rem;min-height:600px}.card-list-column{border-right:1px solid var(--line);padding-right:1rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card-list{display:grid;gap:.42rem;margin-top:.75rem;max-height:550px;overflow:auto}.card-button{text-align:left;text-transform:none}.card-button strong{display:block;color:var(--bright)}.card-button span{color:var(--muted);font-size:.68rem}.card-button.inactive{opacity:.5}.file-button{display:inline-flex;align-items:center;border:1px solid var(--line);padding:.62rem .75rem;cursor:pointer;color:var(--text)}.file-button input{display:none}.toast{position:fixed;right:1rem;bottom:1rem;max-width:420px;padding:.8rem 1rem;background:#10251e;border:1px solid var(--bright);color:var(--bright);box-shadow:0 12px 40px #000;z-index:100}
@media(max-width:1500px){.theater-stage-grid{grid-template-columns:minmax(220px,19%) minmax(0,1fr) minmax(220px,19%)}.toolbar button{padding-inline:.5rem;font-size:.8rem}#actionControls:not(.hidden){grid-template-columns:minmax(0,2fr) minmax(220px,.9fr) 225px}.human-fields{grid-template-columns:135px 155px minmax(0,1fr)}}
@media(max-height:850px) and (min-width:1100px){.shell{grid-template-rows:52px minmax(0,1fr) 164px;gap:.3rem;padding:.3rem}.topbar{padding:.28rem .5rem}.brand .eyebrow{display:none}.brand h1{font-size:.98rem}.action-dock{grid-template-rows:36px minmax(0,1fr);padding:.35rem .5rem}.dock-status-row{padding-bottom:.25rem}#humanMove,#dmInfluence,#humanCommentary{height:52px;min-height:52px;max-height:52px}.action-button{min-height:52px}.mind-panel,.transcript-panel{padding:.42rem}.entry{padding:.38rem .5rem}}
@media(max-width:1099px){.shell{grid-template-rows:86px minmax(0,1fr) 210px}.topbar{grid-template-columns:1fr auto auto}.world-clock{grid-column:2;grid-row:1}.status-chip{grid-column:3;grid-row:1}.toolbar{grid-column:1/4;grid-row:2;justify-content:flex-start;overflow-x:auto}.theater-stage-grid{grid-template-columns:minmax(180px,26%) minmax(0,1fr) minmax(180px,26%)}#actionControls:not(.hidden){grid-template-columns:1fr 220px}.human-fields{grid-column:1/-1}.influence-field{grid-column:1}.action-button{grid-column:2}.dock-status-row{grid-template-columns:auto minmax(0,1fr)}.busy{display:none!important}}
.voice-power{display:flex;align-items:center;gap:.4rem;padding:.48rem .58rem;border:1px solid var(--line);background:#07130f;color:var(--muted);font-size:.72rem;white-space:nowrap;cursor:pointer}.voice-power input{width:auto}.voice-power.active{border-color:var(--bright);color:var(--bright)}
.report-modal{width:min(1500px,calc(100vw - 1rem))}.report-workspace{height:calc(100vh - 1rem);max-height:calc(100vh - 1rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.report-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:1rem}.report-source,.report-inputs{min-height:0;display:flex;flex-direction:column;gap:.65rem}.report-source h3,.resolution-section h3{margin:.2rem 0;color:var(--bright);letter-spacing:.08em}.report-source textarea{flex:1;min-height:420px;resize:none;white-space:pre;font-size:.76rem;line-height:1.3}.report-inputs textarea{resize:vertical}.resolution-section{min-height:0;max-height:46vh;overflow:auto;border-top:1px solid var(--line);margin-top:.8rem;padding-top:.8rem}.resolution-summary{white-space:pre-wrap;padding:.7rem;border:1px solid var(--line);background:#07130f;margin:.55rem 0}.profile-patch-list{display:grid;gap:.65rem}.profile-patch{border:1px solid var(--line);padding:.7rem;background:#08140f}.profile-patch header{display:flex;align-items:center;gap:.6rem}.profile-patch header input{width:auto}.profile-patch h4{margin:0;color:var(--amber)}.profile-patch p{white-space:pre-wrap}.profile-patch details{margin-top:.5rem}.profile-patch textarea{min-height:220px;resize:vertical}@media(max-width:1000px){.report-grid{grid-template-columns:1fr}.report-workspace{overflow:auto}.report-source textarea{min-height:300px}.resolution-section{max-height:none}}

/* v0.2.9 — diegetic loading card and report controls */
.loading-story{position:fixed;z-index:120;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 2rem));padding:1.25rem 1.35rem;border:1px solid var(--bright);background:#081510;box-shadow:0 24px 90px #000}
.loading-story::before{content:"";position:fixed;inset:-100vh -100vw;z-index:-1;background:rgba(0,0,0,.72);backdrop-filter:blur(2px)}
.loading-story h2{margin:.35rem 0 .7rem;color:var(--bright);letter-spacing:.11em}.loading-story p{margin:0;min-height:4.4em;font-size:1rem;line-height:1.5;white-space:pre-wrap}.loading-story-pulse{margin-top:1rem;padding-top:.65rem;border-top:1px solid var(--line);color:var(--amber);font-size:.7rem;letter-spacing:.1em;animation:pulse 1.1s infinite}
.report-source-actions,.report-dialog-actions{display:flex;justify-content:flex-end;gap:.55rem}.report-dialog-actions{margin-top:auto;padding-top:.25rem}

.scenario-manager-grid{display:grid;grid-template-columns:330px 1fr;gap:1rem;min-height:620px}.scenario-list-column{border-right:1px solid var(--line);padding-right:1rem}.scenario-list{display:grid;gap:.42rem;margin-top:.75rem;max-height:610px;overflow:auto}.scenario-button{text-align:left;text-transform:none}.scenario-button strong{display:block;color:var(--bright)}.scenario-button span{display:block;color:var(--muted);font-size:.68rem;margin-top:.2rem}.scenario-button.selected{border-color:var(--bright);background:#10251e}.small-status{font-size:.66rem;color:var(--muted)}.scenario-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}.action-spacer{flex:1}.scenario-editor input[readonly]{color:var(--muted);background:#08110e}.scenario-list .muted{padding:.5rem 0}
@media(max-width:860px){.scenario-manager-grid{grid-template-columns:1fr}.scenario-list-column{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:1rem}.scenario-list{max-height:220px}.scenario-editor-actions .action-spacer{display:none;width:100%}}

/* Authentication locked state */
.locked-state{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--bg)}.locked-content{text-align:center;max-width:520px;padding:2rem}.locked-content .brand{margin-bottom:2rem}.locked-content h1{color:var(--bright);font-size:1.5rem}.locked-content p{margin:1.5rem 0;color:var(--muted);font-size:1rem}.locked-instructions{font-size:.85rem;color:var(--muted);margin-top:-1rem;margin-bottom:1.5rem}.locked-content button{font-size:1rem;padding:.75rem 1.5rem}
