:root{--bg: #1f1f24;--bg-elev: #2a2a31;--bg-input: #16161a;--border: #3a3a42;--text: #e7e7ea;--text-dim: #a0a0aa;--accent: #c89b3c;--accent-dim: #8a6a28;--success: #4caf50;--danger: #e57373}html.theme-light{--bg: #f5f5f7;--bg-elev: #ffffff;--bg-input: #ffffff;--border: #d6d6d6;--text: #1c1c1e;--text-dim: #6b6b73;--accent: #a06000;--accent-dim: #c89b3c;--success: #2e7d32;--danger: #c62828}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.4}.app{display:flex;flex-direction:column;height:100%;min-height:0}.header{display:flex;align-items:baseline;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-elev)}.header h1{margin:0;font-size:14px;font-weight:600;letter-spacing:.02em}.header .sub{color:var(--text-dim);font-size:11px}.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-elev)}.tab{flex:1;background:transparent;border:none;color:var(--text-dim);padding:8px 6px;cursor:pointer;font-size:12px;border-bottom:2px solid transparent}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.body{flex:1;overflow-y:auto;padding:10px 12px 14px}.footer{border-top:1px solid var(--border);background:var(--bg-elev);padding:6px 10px;font-size:11px;color:var(--text-dim);max-height:120px;overflow-y:auto}.footer .roll-line{white-space:pre-wrap}.footer .roll-line+.roll-line{margin-top:4px;border-top:1px dashed var(--border);padding-top:4px}.row{display:flex;gap:8px;align-items:center}.row+.row{margin-top:6px}.section{margin-bottom:14px}.section h2{margin:0 0 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.btn{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 9px;cursor:pointer;font-size:12px}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent-dim);color:#1c1c1e;border-color:var(--accent)}.btn.primary:hover{background:var(--accent)}.btn.small{padding:2px 6px;font-size:11px}.btn.danger{color:var(--danger)}.input,.select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 6px;font-size:12px;font-family:inherit}.input.num{width:56px;text-align:right}.input.tiny{width:38px;text-align:right}label.field{display:flex;align-items:center;justify-content:space-between;gap:6px}label.field span{flex-shrink:0;color:var(--text-dim)}.attr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.attr-cell{background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:6px;text-align:center;cursor:pointer}.attr-cell:hover{border-color:var(--accent)}.attr-cell .label{font-size:10px;color:var(--text-dim);letter-spacing:.06em}.attr-cell .value{font-size:18px;font-weight:600}.skill-row{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:3px 0}.skill-row+.skill-row{border-top:1px dashed var(--border)}.skill-row .name{font-size:12px}.weapon-card{border:1px solid var(--border);border-radius:4px;padding:8px;background:var(--bg-elev);margin-bottom:8px}.weapon-card .title{font-weight:600;margin-bottom:4px}.weapon-card .meta{font-size:11px;color:var(--text-dim);margin-bottom:6px}.weapon-card .actions{display:flex;gap:6px}.hp-bar{flex:1;height:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;overflow:hidden}.hp-bar-fill{height:100%;background:var(--success);transition:width .12s ease}.hp-bar-fill.low{background:var(--danger)}.dim{color:var(--text-dim)}.center{text-align:center}.gap{height:6px}.import-area{width:100%;height:160px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px;font-size:11px;font-family:monospace;resize:vertical}.import-area:focus{outline:none;border-color:var(--accent)}.import-error{margin-top:4px;font-size:11px;color:var(--danger)}
