:root{--text:#2b2b33;--text-muted:#6b6375;--bg:#fdfcfb;--surface:#fff;--border:#e5e4e7;--accent:#7a2f8a;--accent-hover:#631f70;--danger:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e4e2e6;--text-muted:#a29caa;--bg:#17151a;--surface:#211f26;--border:#35333b;--accent:#c084fc;--accent-hover:#d3a5ff}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1{margin:0 0 1rem;font-size:1.75rem}button{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.6rem 1.2rem}button:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.5rem}.auth-page{justify-content:center;align-items:center;min-height:100svh;padding:1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:1rem;width:100%;max-width:340px;padding:2rem;display:flex}.auth-card label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.form-error{color:var(--danger);margin:0;font-size:.9rem}.sheet-page{max-width:960px;margin:0 auto;padding:0 1rem 4rem}.sheet-header{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding:1.1rem 0;display:flex;position:sticky;top:0}.sheet-header a{color:var(--text);font-weight:600;text-decoration:none}.sheet-header a:hover{color:var(--accent)}.save-status{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.save-status:before{content:"";background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.save-status.saving{color:var(--text-muted)}.save-status.saved{color:#2f9e44}.save-status.error{color:var(--danger)}.sheet-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:1.25rem;padding:1.25rem 1.5rem}.sheet-section h2{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.6rem;font-size:.85rem;font-weight:600}.party-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:1.25rem;padding:.9rem 1.5rem}.field-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:600;display:flex}.stat-value{font-size:1.4rem;font-weight:600}.field-label input[readonly]{background:var(--bg);color:var(--text-muted);cursor:default}.field-label input[readonly]:focus{outline:none}.char-table{border-collapse:collapse;table-layout:fixed;width:100%}.char-table th:first-child,.char-table td:first-child{width:6.5rem}.char-table th,.char-table td{text-align:center;padding:.4rem .6rem}.char-table th{color:var(--text-muted);border-bottom:1px solid var(--border);font-size:.8rem}.char-table td:first-child,.char-table th:first-child{text-align:left;padding-left:0}.char-table tr:last-child td{color:var(--accent);font-weight:700}.armor-table{border-collapse:collapse;width:100%}.armor-table th,.armor-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .6rem}.armor-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.78rem;font-weight:600}.armor-table tr:last-child td{border-bottom:none}.armor-table td:last-child{width:8rem}.armor-table input{width:100%}.skill-list{gap:.4rem;display:grid}.skill-list.two-col{column-count:2;column-gap:2rem;display:block}.skill-row{border-bottom:1px solid var(--border);break-inside:avoid;grid-template-columns:1fr 3.4rem 3.4rem 3.4rem auto;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.skill-list.two-col .skill-row{border-bottom:none;padding:.3rem 0}.icon-btn{color:var(--text-muted);border:1px solid var(--border);background:0 0;border-radius:6px;width:1.9rem;height:1.9rem;padding:0;font-size:1rem;line-height:1}.icon-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.link-btn{color:var(--accent);background:0 0;border:none;padding:.3rem 0;font-weight:600}.link-btn:hover{color:var(--accent-hover);background:0 0;text-decoration:underline}
