*{box-sizing:border-box} :root{color-scheme:dark;--bg:#121115;--surface:#1d1b22;--border:#3d3542;--text:#f1edf0;--muted:#c0b7c1;--accent:#de8c98}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,sans-serif;line-height:1.65}a{color:#e7acb5;text-underline-offset:4px}a:hover{color:#fff}h1,h2,h3{font-family:Georgia,serif;line-height:1.2;overflow-wrap:anywhere}h1{font-size:clamp(2.2rem,4.4vw,4.1rem);letter-spacing:-.035em}h2{font-size:1.5rem}h3{font-size:1.15rem}p,li,dd{overflow-wrap:anywhere}small,.muted{color:var(--muted)}.app-container{max-width:1240px;margin:auto;padding:0 28px}.site-header{border-bottom:1px solid var(--border);background:#18151b}.main-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}.brand{font-family:Georgia,serif;font-size:27px;text-decoration:none;color:#fff;white-space:nowrap}.brand span{font-family:system-ui;font-size:12px;letter-spacing:.18em}.nav-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.nav-links a{font-size:14px;text-decoration:none}.nav-links form{margin:0}.link-button{background:none;border:0;padding:0;color:#e7acb5;font:inherit;font-size:14px}.hero{padding:90px 0 70px;max-width:980px}.eyebrow{letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:18px}.lede{font-size:20px;color:#c9c0cb;max-width:780px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0 8px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:10px 20px;border:1px solid #aa5365;border-radius:6px;background:#7b3042;color:white;text-decoration:none;font-size:14px;font-weight:600}.button:hover{background:#963d52;color:#fff}.button.secondary{background:transparent;border-color:#716474}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}.panel{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:26px;margin-bottom:22px;min-width:0}.dashboard-grid>.panel{margin-bottom:0}.panel h2{margin-bottom:22px}.list-link{display:flex;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--border);text-decoration:none}.list-link small{display:block;text-align:right}.page-heading{padding:45px 0 30px}.site-footer{margin-top:50px;margin-bottom:25px;color:#9d929f;font-size:13px}.notice,.errorlist{background:#3c202c;border:1px solid #ae6476;padding:15px;border-radius:5px}.notice{margin-top:20px}.errorlist{list-style:none;color:#ffdce2}.editor input:not([type=checkbox]):not([type=hidden]),.editor select,.editor textarea{display:block;width:100%;padding:10px 12px;background:#151219;color:#f8f4fa;border:1px solid #706474;border-radius:5px;min-height:44px;font:inherit}.editor label{display:block;font-size:14px;font-weight:600;margin:4px 0 6px}.editor select[multiple]{min-height:160px}.editor input[type=checkbox]{width:20px;height:20px}.editor textarea{max-height:220px}.editor .helptext{font-size:13px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.field-grid .field:has(textarea){grid-column:span 3}.field{min-width:0;margin-bottom:8px}.editor h2{margin-top:34px}.trait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 32px}.trait{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:7px 0}.dots{letter-spacing:2px;white-space:nowrap;color:#f2eef4}.sheet-heading{padding:40px 0 24px}.character-sheet{--surface:#1c1a21;--border:#413842}.character-sheet .eyebrow{color:var(--accent)}.tracker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.track{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px}.track-box{position:relative;display:inline-block;width:21px;height:21px;border:1.5px solid #f1eaf2}.track-box.superficial:after{content:'/';position:absolute;inset:-5px 0 0;text-align:center;font-size:23px}.track-box.aggravated:after{content:'×';position:absolute;inset:-5px 0 0;text-align:center;font-size:23px}.big-number{font-size:36px;line-height:1.3}.section-heading{display:flex;justify-content:space-between;gap:12px}.record{display:grid;grid-template-columns:minmax(85px,1fr) 2fr;gap:4px 15px;padding:14px 0;border-top:1px solid var(--border);font-size:14px}.record dt{font-weight:600;color:var(--muted)}.record dd{margin:0}.pill{padding:3px 9px;border:1px solid #807183;border-radius:12px;font-size:11px;font-family:system-ui}.journal{padding:20px 0;border-top:1px solid var(--border)}details{margin:15px 0}summary{cursor:pointer;font-weight:600;margin-bottom:14px}.skip-link{position:absolute;left:20px;top:-60px;padding:10px;background:#fff;color:#000;z-index:10}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #ecbba1;outline-offset:4px}.card,.bg-dark{background:var(--surface)!important;color:var(--text)}.text-secondary,.text-muted{color:var(--muted)!important}#content>.container{padding-left:0;padding-right:0}.form-control,.form-select{background:#18151d;color:var(--text)}.site-header+main{min-height:65vh}@media(max-width:850px){.main-nav{align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:18px;gap:15px}.nav-links{gap:16px}.trait-grid,.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid .field:has(textarea){grid-column:span 2}.tracker-grid{grid-template-columns:1fr 1fr}.hero{padding:50px 0}.list-link{display:block}.list-link small{text-align:left}}@media(max-width:560px){.app-container{padding-left:18px;padding-right:18px}.dashboard-grid,.tracker-grid,.trait-grid,.field-grid{grid-template-columns:1fr}.field-grid .field:has(textarea){grid-column:span 1}.panel{padding:20px}.nav-links{gap:12px}.hero h1{font-size:2.4rem}.record{grid-template-columns:1fr}.tracker-grid{gap:0}}@media print{.site-header,.site-footer,.actions,form,details{display:none!important}body,.panel{background:white!important;color:black!important}.panel{break-inside:avoid}.character-sheet{--border:#888;--text:#000;--muted:#333}.dots{color:black}.app-container{max-width:none;padding:0}.track-box{border-color:black}}

.character-sheet .eyebrow{color:color-mix(in srgb,var(--accent),white 45%)}
.portrait{max-width:180px;max-height:220px;object-fit:cover;border-radius:8px;margin:12px 0 20px}
