:root{--bg: #0d0b0f;--panel: #16141a;--panel-2: #1f1c24;--border: #34303b;--text: #ece4d6;--muted: #a39a86;--gold: #c9a24b;--accent: #c9a24b;--red: #e06b6b;--green: #8fd69b;--r-control: 4px;--r-card: 6px;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head: Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45}h1,h2,h3,h4{font-family:var(--font-head);font-weight:600}h1,h2,h3{margin:0 0 8px}::selection{background:#c9a24b44}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button{font:inherit;background:var(--gold);color:#14110a;border:1px solid transparent;border-radius:var(--r-control);padding:8px 14px;min-height:36px;cursor:pointer;transition:filter .12s ease,transform 80ms ease}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--panel-2);color:var(--text);border-color:var(--border)}button.secondary:hover:not(:disabled){border-color:var(--gold)}input,select,textarea{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-control);padding:8px 10px;width:100%}input::placeholder{color:var(--muted);opacity:1}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-card);padding:14px}.row{display:flex;gap:10px;align-items:center}.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1}.muted{color:var(--muted);font-size:13px}.gold{color:var(--gold)}.green{color:var(--green)}.red{color:var(--red)}.mt{margin-top:10px}.loading{color:var(--muted)}.empty{color:var(--muted);border:1px dashed var(--border);border-radius:var(--r-card);padding:12px;text-align:center}.error{color:var(--red)}.log-line{border-bottom:1px solid var(--border);padding:3px 0;font-size:13px}.log-line.battle{color:#cfe4e7}.log-line.loot{color:var(--gold)}.log-line.quest{color:var(--green)}.log-line.error{color:var(--red)}@media(max-width:600px){button,input,select,textarea{min-height:44px}.card{padding:10px}}
