: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}.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}.suggestionBar{flex-wrap:wrap;gap:6px;padding:8px 12px 0;display:flex}.suggestionBar button{border-color:var(--panel-edge);background:#241f14;border-radius:14px;padding:4px 10px;font-size:13px}.suggestionBar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.diceToast{z-index:30;background:var(--panel);border:1px solid var(--panel-edge);border-radius:12px;align-items:center;gap:10px;padding:8px 14px 8px 8px;animation:.2s diceIn;display:flex;position:absolute;bottom:96px;left:18px;box-shadow:0 6px 24px #00000080}.diceToast .d20{width:52px;height:52px}.diceToast.tumbling .d20{animation:.16s linear infinite diceSpin}.diceToast.settled .d20{animation:.3s diceSettle}.diceToast.settled{animation:.2s diceIn,.6s 2s forwards diceFade}.diceLabel{flex-direction:column;line-height:1.25;display:flex}.diceLabel span{color:var(--text-dim);font-size:12px}@keyframes diceIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes diceSpin{0%{transform:rotate(-8deg)scale(.96)}50%{transform:rotate(8deg)scale(1.04)}to{transform:rotate(-8deg)scale(.96)}}@keyframes diceSettle{0%{transform:scale(1.35)}60%{transform:scale(.94)}to{transform:scale(1)}}@keyframes diceFade{to{opacity:0}}.tableLeft{position:relative}.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:#1c1a17;background:#fff}.noPrint{display:none!important}.printOnly{color:#1c1a17;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 #1c1a17;padding-bottom:4px}.hint{color:#6a645c}.logEntry.dm p{color:#26201a;page-break-inside:avoid;background:#faf6ec;border-left:3px solid #1e3a8a}.logCaption{color:#8a8478}.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}}
