:root{color:#20242a;--client-font-size:16px;--room-panel-ratio:32%;font:var(--client-font-size)/1.5 system-ui, "Segoe UI", sans-serif;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f5f6}body{min-width:320px;min-height:100vh;margin:0}main{width:min(78rem,100% - 2rem);margin:0 auto;padding:2rem 0 4rem}h1{margin:.25rem 0;font-size:clamp(2.25rem,6vw,4rem);line-height:1}h2,h3{margin:0}h2{font-size:1.2rem}h3{font-size:.9rem}#room-view h2{font-size:inherit;font-weight:700}.app-header{margin-bottom:1.25rem}.app-shell{grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.utility-sidebar{gap:.75rem;display:grid;position:sticky;top:1rem}.content-column{flex-direction:column;height:calc(100vh - 10rem);min-height:36rem;display:flex}.eyebrow{color:#4b5563;letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}#connection-status{color:#5f6875;margin:.65rem 0 0}#action-status{min-height:1.5rem;margin:.2rem 0 0;font-size:.9rem}#connection-status[data-state=connected]{color:#216e39}#connection-status[data-state=error]{color:#b42318}.primary-panel,.utility-panel{background:#fff;border:1px solid #d4d7dc;border-radius:.5rem;padding:1.5rem}.utility-panel{padding:.8rem;font-size:.82rem}.utility-panel h2{margin-bottom:.65rem;font-size:1rem}.collapsible-utility{padding:0}.collapsible-utility summary{cursor:pointer;padding:.7rem .8rem;font-weight:700;list-style-position:inside}.collapsible-utility[open] summary{border-bottom:1px solid #e3e5e8}.utility-panel-content{padding:.75rem}dl{margin:0}dl div{border-top:1px solid #e3e5e8;grid-template-columns:4.25rem minmax(0,1fr);gap:.5rem;padding:.5rem 0;display:grid}dt{font-weight:700}dd{overflow-wrap:anywhere;margin:0}form{gap:.75rem;margin:1.25rem 0;display:grid}.compact-form{gap:.5rem;margin:0}label{gap:.25rem;font-weight:700;display:grid}input,button,select{min-height:2.5rem;font:inherit;border:1px solid #aeb4bd;border-radius:.35rem}input{padding:0 .75rem}button{color:#fff;cursor:pointer;background:#1a59f2;padding:.4rem .9rem}button:disabled{color:#59616c;cursor:default;background:#e3e5e8}.utility-panel button{min-height:2rem;padding:.2rem .4rem;font-size:.78rem}.utility-panel input{min-height:1.75rem}.utility-panel select{background:#fff;min-height:2rem;padding:0 .35rem}.utility-panel output{font-size:.78rem}#action-status[data-state=error]{color:#b42318}#character-list{gap:.5rem;padding:0;list-style:none;display:grid}#character-list li{grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:1rem;display:grid}.utility-panel #character-list{gap:.35rem;margin:.75rem 0}.utility-panel #character-list li{gap:.4rem}.compact-actions{grid-template-columns:repeat(2,1fr);gap:.35rem;display:grid}.compass-grid{grid-template-columns:repeat(3,1fr);gap:.25rem;margin-top:.5rem;display:grid}.compass-center{min-height:2rem}.command-reference{border-top:1px solid #e3e5e8;margin-top:.75rem;padding-top:.65rem}.command-reference ul{gap:.25rem;margin:.4rem 0 0;padding-left:1rem;display:grid}.command-reference code{font-size:.75rem}.future-tuning{color:#69717d;margin:.65rem 0 0;font-size:.75rem}.profile-options{gap:.55rem;display:grid}.checkbox-option{grid-template-columns:auto 1fr;align-items:center;display:grid}.checkbox-option input{min-height:auto}.room-facts{margin-top:1rem}.room-facts p{margin:.35rem 0}.room-facts strong{font-size:inherit;font-weight:700}#room-view{flex:0 0 var(--room-panel-ratio);overflow-y:auto}.room-resizer{cursor:row-resize;touch-action:none;flex:0 0 .8rem;position:relative}.room-resizer:after{content:"";background:#aeb4bd;border-radius:999px;height:.2rem;position:absolute;top:.3rem;left:1rem;right:1rem}.room-resizer:focus-visible:after{outline-offset:2px;outline:2px solid #1a59f2}#text-history-view{flex-direction:column;flex:auto;min-height:12rem;display:flex}#occupant-list,#threat-list,#connection-list,#text-history{padding-left:0}#text-history{scroll-behavior:smooth;white-space:pre-wrap;flex:auto;min-height:8rem;overflow-y:auto}.history-entry{margin-bottom:.5rem}#text-history *,.room-facts *{font-size:inherit}.history-timestamp{color:#69717d;font-family:ui-monospace,Consolas,monospace}.highlight-room-title,.highlight-section-heading{font-weight:700}#text-history[data-highlight-preset=eirenna] .highlight-npc,.room-actor-npc{color:#947000}#text-history[data-highlight-preset=eirenna] .highlight-creature,.room-actor-creature{color:#176b2c}#text-history[data-highlight-preset=eirenna] .highlight-manifested-entity,.room-actor-manifested-entity{color:#a3152a}#text-history[data-highlight-preset=eirenna] .highlight-newly-revealed{color:#005ea8;font-weight:700}#text-history[data-highlight-preset=high-contrast] .highlight-npc{color:#725400;font-weight:700;text-decoration:underline}#text-history[data-highlight-preset=high-contrast] .highlight-creature,#text-history[data-highlight-preset=high-contrast] .highlight-manifested-entity,#text-history[data-highlight-preset=high-contrast] .highlight-newly-revealed{font-weight:700;text-decoration:underline}#text-history[data-highlight-preset=plain] [class*=highlight-]{color:inherit;font-weight:inherit;text-decoration:none}#text-history[data-highlight-preset=eirenna] .history-yell{color:#b42318}#text-history[data-highlight-preset=high-contrast] .history-yell{color:#8f1010;font-weight:700}.room-summary-list{margin:.35rem 0 0}.command-entry-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.command-status-row{justify-content:flex-start;display:flex}.activity-status{align-items:baseline;gap:.5rem;font-size:.78rem;display:flex}#activity-timer{color:#5f6875;font-family:ui-monospace,Consolas,monospace}.history-command{color:#4b5563;font-family:ui-monospace,Consolas,monospace}.history-error{color:#b42318}.history-look{font-style:italic}@media (width<=50rem){.app-shell{grid-template-columns:1fr;height:calc(100vh - 8rem);min-height:42rem}.utility-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (width<=36rem){main{width:min(100% - 1rem,78rem);padding-top:1rem}.utility-sidebar{grid-template-columns:1fr}.primary-panel{padding:1rem}.command-form{margin-bottom:0}}
