:root{color-scheme:dark;--bg: #1e1e1e;--panel: #2a2a2a;--text: #f2f2f2;--muted: #b0b0b0;--success: #7dcea0;--warning: #f5c26b;--error: #ef9a9a;--hp: #c62828;--mp: #1565c0;--border: #3a3a3a;--input-bg: #171717;--btn-bg: #3a3a3a;--btn-primary: #2e7d32;--btn-danger: #8e2424;font-family:Segoe UI,Noto Sans TC,Microsoft JhengHei,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-width:280px}.app{padding:16px;display:flex;flex-direction:column;gap:16px}.app__header h1{margin:0;font-size:1.25rem}.app__subtitle{margin:4px 0 0;color:var(--muted);font-size:.9rem}.app__body{display:flex;flex-direction:column;gap:12px}.app__status{margin:0;color:var(--muted);font-size:.9rem}.notice{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:.92rem}.notice--info{color:var(--text)}.notice--success{color:var(--success);border-color:#355e45}.notice--warning{color:var(--warning);border-color:#6e5a2f}.notice--error{color:var(--error);border-color:#6e3030}.editor{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:12px}.editor__title{margin:0;font-size:1.05rem}.editor__meta{margin:0;color:var(--muted);font-size:.85rem}.editor__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.field{display:flex;flex-direction:column;gap:4px}.field__label{font-size:.85rem;color:var(--muted)}.field__input{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text);padding:8px 10px;font:inherit}.field__input:focus{outline:2px solid #4a6fa5;outline-offset:1px}.field__input--error{border-color:#c62828}.field__error{color:var(--error);font-size:.8rem}.btn{border:1px solid var(--border);border-radius:6px;background:var(--btn-bg);color:var(--text);padding:8px 12px;font:inherit;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--btn-primary);border-color:#256028}.btn--danger{background:var(--btn-danger);border-color:#6e1c1c}
