:root{color-scheme:dark;--bg: #06080f;--panel: rgba(13, 18, 32, .92);--edge: #223047;--text: #cfe0f4;--dim: #7f93ad;--accent: #6fb3ff;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:13px}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}.app{display:flex;height:100%}.map-root{position:relative;flex:1;overflow:hidden}.map-root canvas{display:block}.panels{width:300px;overflow-y:auto;background:var(--panel);border-left:1px solid var(--edge);padding:10px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.panel{border:1px solid var(--edge);border-radius:6px;padding:10px}.panel h2{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}button{background:#16233a;color:var(--text);border:1px solid var(--edge);border-radius:4px;padding:4px 8px;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}input,select{background:#0b1322;color:var(--text);border:1px solid var(--edge);border-radius:4px;padding:4px 6px;font:inherit}.label-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.body-label{position:absolute;transform:translate(8px,-50%);white-space:nowrap;color:var(--text);text-shadow:0 0 4px #000;font-size:12px}.body-label.focused{color:var(--accent)}.body-label.ship{color:#ffd27d}.badge-gm{display:inline-block;margin-left:6px;padding:1px 5px;border:1px solid var(--edge);border-radius:3px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}.wizard-launcher{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border:1px solid var(--edge);border-radius:6px;padding:10px}.wizard-launcher h2{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.wizard-overlay{position:fixed;inset:0;z-index:20;background:var(--bg);display:flex;flex-direction:column}.wizard-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--edge)}.wizard-bar h2{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.wizard-actions{display:flex;gap:6px}button.secondary{color:var(--dim)}.wizard-overlay .two-pane{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,26rem)}.wizard-overlay .step-pane{overflow-y:auto;padding:16px 20px}.wizard-overlay .sheet-pane{overflow-y:auto;padding:16px 20px;border-left:1px solid var(--edge);background:var(--panel)}@media(max-width:900px){.wizard-overlay .two-pane{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.wizard-overlay .sheet-pane{border-left:none;border-top:1px solid var(--edge)}}.wizard-step{display:flex;flex-direction:column;gap:8px;align-items:flex-start;max-width:48rem}.wizard-step h3{margin:0}.wizard-step ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.wizard-step li{display:flex;align-items:baseline;gap:4px}.pick-list li.chosen button{border-color:var(--accent);color:var(--accent)}.roll-step .requirement{margin:0}.roll-step .dice{margin:0;display:flex;gap:4px;align-items:baseline}.roll-step .die{border:1px solid var(--edge);border-radius:3px;padding:0 5px}.roll-step .die-pair{margin-right:8px}.roll-step .outcome.passed{color:#7fd39a}.roll-step .outcome.failed{color:#d9714e}.form-step form,.education-step .specialty{display:flex;gap:6px;align-items:baseline}.hint,.muted{color:var(--dim)}.error{color:#d9714e}.validation{color:#e0a44e}.wizard-bug{border:1px solid #d9714e;border-radius:6px;padding:8px;color:#d9714e}.ask-gm{color:var(--accent)}.wizard-todo{border:1px dashed var(--edge);border-radius:6px;padding:10px;color:var(--dim);max-width:48rem}.sheet-pane{display:flex;flex-direction:column;gap:14px}.sheet-pane header h3{margin:0}.sheet-pane section h4{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.sheet-pane .characteristics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0}.sheet-pane .characteristics dt{color:var(--dim);font-size:11px;text-transform:uppercase}.sheet-pane .characteristics dd{margin:0;font-size:16px}.sheet-pane .skills ul,.sheet-pane .people ul,.sheet-pane .benefits ul,.sheet-pane .purchases ul,.sheet-pane .validation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sheet-pane .terms ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sheet-pane .terms li{border-left:2px solid var(--edge);padding-left:8px}.sheet-pane .terms li.lost-benefit{border-left-color:#d9714e}.sheet-pane .term-heading{margin:0 0 4px;font-weight:600}.sheet-pane .term-lines{list-style:none;margin:0;padding:0;color:var(--dim)}.sheet-pane .validation{border:1px solid #d9714e;border-radius:6px;padding:8px}.sheet-pane .validation h4{color:#d9714e}
