:root{--bg:#050810;--panel:#0a101c;--panel2:#0d1625;--line:#20364b;--text:#dbeafe;--muted:#7f9bb8;--cyan:#57d7ff;--violet:#b691ff;--amber:#ffd166;--danger:#ff6b82;--success:#7ce7c4;--font:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(circle at 50% -20%,#162440 0,#070b13 45%,#03050a 100%);color:var(--text);font-family:var(--font)}button,input{font:inherit}.app-shell{height:100vh;display:flex;flex-direction:column;padding:8px;gap:7px;min-width:1040px}.topbar,.footerbar,.panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(13,22,37,.97),rgba(7,13,23,.97));box-shadow:inset 0 0 24px rgba(87,215,255,.025),0 8px 30px rgba(0,0,0,.22)}
.topbar{height:70px;display:grid;grid-template-columns:1.05fr .8fr 1.25fr;align-items:center;padding:8px 12px;gap:15px}.brand{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px}.brand-mark{font-size:21px;color:var(--cyan);font-weight:900;letter-spacing:.08em}.brand small{border:1px solid var(--line);padding:2px 5px}.game-title{text-align:center}.game-title strong{display:block;color:var(--cyan);font-size:18px;letter-spacing:.14em}.game-title span{color:var(--violet);font-size:9px;letter-spacing:.24em}.status-strip{display:flex;justify-content:flex-end;align-items:center;gap:10px}.status-strip div{min-width:55px}.status-strip label{display:block;color:var(--muted);font-size:8px;letter-spacing:.16em}.status-strip b{color:var(--text);font-size:12px}.status-strip button,.footerbar button,.command-row button,.command-line button,.exit-buttons button{border:1px solid var(--line);background:#0c1725;color:var(--cyan);padding:6px 9px;cursor:pointer}.status-strip button:hover,.footerbar button:hover,.command-row button:hover,.command-line button:hover,.exit-buttons button:hover{border-color:var(--cyan);background:#112238;color:white}
.runtime-grid{flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(550px,1fr) 300px;gap:7px}.left-rail,.right-rail{min-height:0;display:flex;flex-direction:column;gap:7px}.panel{padding:9px;overflow:hidden}.panel h2{margin:0 0 7px;color:var(--cyan);font-size:10px;letter-spacing:.15em;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:5px}.flex-panel{flex:1;min-height:0;overflow:auto}.left-rail .panel p,.right-rail .panel p{font-size:10px;line-height:1.35;margin:4px 0;color:var(--muted)}#locationName{font-size:12px;color:white}.exit-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}.exit-buttons button{text-align:left;font-size:10px}.exit-buttons button::before{content:'› ';color:var(--violet)}
#questPanel,#achievementPanel,#inventoryPanel,#journalPanel,#conversationPanel{font-size:10px;line-height:1.35}.quest,.achievement,.journal-entry,.conversation-entry,.inventory-item{padding:5px 6px;margin:0 0 5px;border-left:2px solid var(--line);background:#08121e}.quest.active{border-color:var(--amber)}.quest.complete,.achievement.unlocked{border-color:var(--success)}.quest.locked,.achievement.locked{opacity:.45}.quest b,.journal-entry b{display:block;color:var(--text)}.quest small,.journal-entry small,.conversation-entry small{color:var(--muted)}#statsPanel{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin:0;font-size:10px}#statsPanel dt{color:var(--muted)}#statsPanel dd{margin:0;color:var(--text)}
.center-stage{min-height:0;display:flex;flex-direction:column;gap:7px}.terminal{flex:1;min-height:0;padding:0;display:flex;flex-direction:column;background:#02050a}.terminal-head{height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;border-bottom:1px solid var(--line);font-size:9px;color:var(--muted);letter-spacing:.12em}.output{flex:1;overflow:auto;padding:15px 18px;white-space:pre-wrap;font-size:12px;line-height:1.45;scrollbar-color:var(--line) transparent}.line{margin:0 0 7px}.line.command{color:var(--cyan)}.line.room{color:white;font-size:14px;font-weight:700;letter-spacing:.08em;margin-top:10px}.line.system{color:var(--violet)}.line.success{color:var(--success)}.line.danger{color:var(--danger)}.line.clue{color:var(--amber)}.command-line{height:44px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:6px 9px;background:#070d17}.command-line label{font-size:20px;color:var(--cyan)}.command-line input{flex:1;border:0;outline:0;background:transparent;color:white;font-size:12px}.command-line input::placeholder{color:#49627c}.command-deck{padding:8px}.command-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.command-row:last-child{margin:0}.command-row button{font-size:9px;padding:6px 8px}.command-row.primary button{color:white;border-color:#31526e}.command-row.utility button{color:var(--violet)}
.map-panel{height:225px}.map-panel pre{height:166px;margin:0;overflow:auto;color:var(--cyan);font-size:9px;line-height:1.2;white-space:pre}.map-panel small{color:var(--muted);font-size:8px}.right-rail>.panel:nth-child(2){min-height:125px}.inventory-item{display:flex;justify-content:space-between}.inventory-item button{border:0;background:none;color:var(--cyan);cursor:pointer;font-size:9px}.footerbar{height:38px;display:flex;align-items:center;gap:6px;padding:5px 8px}.footerbar button{font-size:8px;padding:5px 7px}.footerbar span{margin-left:auto;color:var(--muted);font-size:8px}
dialog{width:min(760px,90vw);max-height:82vh;border:1px solid var(--line);background:#09111d;color:var(--text);padding:0;box-shadow:0 20px 80px #000}dialog::backdrop{background:rgba(0,0,0,.75)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;color:var(--cyan);font-size:14px}.modal-head button{background:none;border:0;color:var(--text);font-size:22px;cursor:pointer}#modalBody{padding:14px;overflow:auto;font-size:12px;line-height:1.5}.modal-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.modal-actions button{border:1px solid var(--line);background:#0d1c2d;color:var(--cyan);padding:8px 10px;cursor:pointer}.save-card{border:1px solid var(--line);padding:10px;margin:8px 0}.big-text{font-size:15px}.alt-theme{--cyan:#ffd166;--violet:#ff8fab;--line:#513b55;--panel:#18101d;--panel2:#211229}.large-font{font-size:118%}
@media(max-width:1200px){.app-shell{min-width:0;height:auto;min-height:100vh}.runtime-grid{grid-template-columns:190px minmax(430px,1fr) 245px}.topbar{grid-template-columns:1fr 1fr}.brand{display:none}.status-strip{gap:6px}.map-panel{height:190px}.map-panel pre{height:130px}}
@media(max-width:860px){html,body{height:auto}.app-shell{padding:4px}.topbar{height:auto;grid-template-columns:1fr}.status-strip{justify-content:center;flex-wrap:wrap}.runtime-grid{display:flex;flex-direction:column}.center-stage{order:1}.left-rail{order:2}.right-rail{order:3}.terminal{height:62vh}.left-rail,.right-rail{display:grid;grid-template-columns:1fr 1fr}.flex-panel{min-height:160px}.footerbar{height:auto;flex-wrap:wrap}.footerbar span{width:100%;margin:3px 0 0}.map-panel{height:220px}.map-panel pre{height:160px}}

/* v1.1 intuitive clickable command center */
.command-deck{display:flex;flex-direction:column;gap:6px}
.command-guide{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;padding:7px 9px;border:1px solid #22374c;background:rgba(5,12,21,.82)}
.command-guide div{display:flex;flex-direction:column;gap:2px}.command-guide strong{font-size:9px;color:#fff;letter-spacing:.08em}.command-guide span{font-size:8px;color:var(--muted)}
.command-guide button{border:1px solid var(--danger);background:#261016;color:#ffb1bd;padding:6px 9px;cursor:pointer;font-size:8px}
.command-section-label{font-size:8px;color:var(--muted);letter-spacing:.16em;margin-top:1px}
.command-row.primary{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:5px}
.command-row.primary button{min-height:38px;text-align:left;position:relative;padding:7px 8px 7px 28px}
.command-row.primary button::before{position:absolute;left:8px;top:8px;font-size:13px;color:var(--cyan)}
.command-row.primary button[data-action="look"]::before{content:'◉'}.command-row.primary button[data-action="take"]::before{content:'↓'}.command-row.primary button[data-action="examine"]::before{content:'⌕'}.command-row.primary button[data-action="use"]::before{content:'◆'}.command-row.primary button[data-action="talk"]::before{content:'◌'}.command-row.primary button[data-action="hack"]::before{content:'⌁'}.command-row.primary button[data-action="go"]::before{content:'➜'}
.command-row.primary button small{display:block;font-size:7px;color:var(--muted);margin-top:2px;font-weight:400}.command-row.primary button.selected{border-color:var(--cyan);background:#15304a;box-shadow:inset 0 0 0 1px rgba(87,215,255,.25)}
.context-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:5px;min-height:34px}.context-grid button{min-height:34px;text-align:left;line-height:1.2}.context-grid button strong{display:block;font-size:9px;color:#fff}.context-grid button small{display:block;font-size:7px;color:var(--muted);margin-top:2px}.context-grid .empty-choice{grid-column:1/-1;border:1px dashed var(--line);padding:8px;color:var(--muted);font-size:9px}
.inventory-item{gap:6px;align-items:center}.inventory-actions{display:flex;gap:3px}.inventory-item button{border:1px solid var(--line);background:#0a1522;padding:3px 5px}
@media(max-width:1250px){.command-row.primary{grid-template-columns:repeat(4,1fr)}.context-grid{grid-template-columns:repeat(3,1fr)}}
