:root{--map-paper:#f5efdf;--map-ink:#1e3a8a;--map-ink-heavy:#172554;--bg:#14120d;--panel:#1f1b14;--panel-edge:#3a3223;--text:#e8e0cc;--text-dim:#a89e84;--accent:#d4a017;--danger:#b91c1c;--success:#15803d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Iowan Old Style,Palatino,Georgia,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:#1a1405;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}.questLog{color:var(--text-dim);flex:1;font-size:12px}.questLog .done{opacity:.7;text-decoration:line-through}.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}
