:root{--map-paper:#e4e6e3;--map-ink:#8b1a1a;--map-ink-heavy:#571010;--bg:#0e0e11;--panel:#191a1f;--panel-edge:#3a2020;--text:#e8e4e0;--text-dim:#9a908c;--accent:#e02020;--caution:#f5c518;--danger:#ff3b30;--success:#2e9e44;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Avenir Next,Futura,Helvetica Neue,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}button{background:var(--panel);color:var(--text);border:1px solid var(--panel-edge);border-radius:6px;padding:6px 14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff;font-weight:700}input,select{color:var(--text);border:1px solid var(--panel-edge);background:#0f0d09;border-radius:6px;padding:7px 10px}.page{max-width:860px;margin:0 auto;padding:24px 16px 64px}.pageHeader{justify-content:space-between;align-items:baseline;display:flex}.pageHeader h1{color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:10px;margin-bottom:20px;padding:16px 20px}.panel h2{margin-top:0;font-size:18px}.row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.hint{color:var(--text-dim);font-size:13px}.hint.error{color:#f0a0a0}.cardRow{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.charCard{text-align:left;border-width:2px;border-radius:10px;padding:12px}.charCard.selected{background:#2a2416}.charName{font-size:16px;font-weight:700}.table{height:100%;display:flex}.tableLeft{flex-direction:column;flex:1.2;min-width:0;display:flex}.mapWrap{flex:1;min-height:0}.tableRight{border-left:1px solid var(--panel-edge);background:var(--panel);flex-direction:column;flex:1;min-width:340px;max-width:560px;display:flex}.tableHeader{border-bottom:1px solid var(--panel-edge);align-items:center;gap:10px;padding:8px 12px;display:flex}.badge{color:var(--text-dim);flex:none;font-style:italic}.badge.ready{color:var(--accent);font-style:normal;font-weight:700}.narrativeLog{flex:1;padding:14px 16px;overflow-y:auto}.logEntry p{margin:0 0 12px}.logEntry.dm p{background:var(--map-paper);color:#26201a;border-left:4px solid var(--map-ink);border-radius:8px;padding:10px 14px}.logEntry.system p{margin-bottom:8px;font-style:italic}.logCaption{color:var(--text-dim);letter-spacing:.04em;margin-bottom:2px;font-size:11px}.partyBar{border-top:1px solid var(--panel-edge);flex-wrap:wrap;gap:10px;padding:10px;display:flex}.partyChip{border:1px solid var(--panel-edge);border-left-width:4px;border-radius:8px;min-width:110px;padding:6px 10px}.hpTrack{background:#0f0d09;border-radius:3px;height:5px;margin:4px 0 2px}.hpFill{border-radius:3px;height:100%;transition:width .3s}.combatBar{border-top:1px solid var(--panel-edge);background:#2a1414;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.inputRow{border-top:1px solid var(--panel-edge);gap:8px;padding:10px 12px;display:flex}.inputRow input{flex:1}.scenePanel{border-bottom:1px solid var(--panel-edge)}.scenePanel img{object-fit:cover;width:100%;max-height:220px;display:block}.briefingOverlay{z-index:40;background:#08080ae0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.briefingCard{background:var(--panel);border:2px solid var(--accent);border-radius:10px;max-width:640px;max-height:90vh;padding:22px 26px;font-size:15px;overflow-y:auto}.briefingHeader{text-align:center;color:var(--accent);letter-spacing:.15em;margin-bottom:12px;font-weight:700}.clearanceRed{color:var(--accent);font-weight:700}.briefingSection{border:1px solid var(--panel-edge);border-radius:8px;margin:14px 0;padding:10px 14px}.briefingSection.secret{border-color:var(--caution);background:#1d1a10}.briefingLabel{letter-spacing:.1em;color:var(--text-dim);margin-bottom:6px;font-size:12px;font-weight:700}.briefingSection.secret .briefingLabel{color:var(--caution)}.briefingGo{width:100%;margin-top:8px;padding:10px}.suggestionBar{flex-wrap:wrap;gap:6px;padding:8px 12px 0;display:flex}.suggestionBar button{border-color:var(--panel-edge);background:#221416;border-radius:14px;padding:4px 10px;font-size:13px}.suggestionBar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.usageTable{border-collapse:collapse;width:100%}.usageTable th,.usageTable td{text-align:left;border-bottom:1px solid var(--panel-edge);padding:4px 10px 4px 0}.usageTable .totalRow td{border-bottom:none;font-weight:700}.sceneGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.sceneGrid img{border-radius:8px;width:100%;display:block}.sceneGrid figure{margin:0}.chronicleLog .logEntry.dm p{margin-bottom:10px}.printOnly{display:none}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#1a1717;background:#fff}.noPrint{display:none!important}.printOnly{color:#1a1717;margin:0 0 4px;font-size:34px;display:block}.page.chronicle{max-width:none;padding:0}.panel{background:0 0;border:none;margin:0;padding:0 0 12px}.panel h2{border-bottom:2px solid #1a1717;padding-bottom:4px}.hint{color:#6a6464}.logEntry.dm p{color:#241f1f;page-break-inside:avoid;background:#f6f2ec;border-left:3px solid #8b1a1a}.logCaption{color:#8a7d7d}.sceneGrid{grid-template-columns:repeat(2,1fr)}.sceneGrid figure{page-break-inside:avoid}}.questBadge{white-space:nowrap;padding:4px 10px;font-size:13px}.questOverlay{z-index:40;background:#08080ab3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.questModal{background:var(--panel);border:1px solid var(--accent);border-radius:10px;width:100%;max-width:520px;max-height:80vh;padding:18px 22px;overflow-y:auto}.questModal h2{margin:0 0 10px}.questItem{text-align:left;border:1px solid var(--panel-edge);background:0 0;border-radius:8px;width:100%;margin-bottom:6px;padding:8px 12px;display:block}.questItem.done{opacity:.6;border-style:dashed;text-decoration:line-through}button.questItem:hover{border-color:var(--accent)}.chronicleMap{border-radius:8px;height:420px;overflow:hidden}@media print{.chronicleMap{page-break-inside:avoid;height:460px}.chronicleMap svg{background:#fff!important}.usageTable th,.usageTable td{border-bottom-color:#ccc}}
