:root{color-scheme:dark;--bg:#101c20;--panel:#192b30;--border:#344c50;--gold:#d9bb81;--ink:#eeeee5;--muted:#a8bbbd}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#223a3e 0,transparent 48%),var(--bg);color:var(--ink);font:15px/1.6 system-ui,sans-serif}.shell{max-width:1280px;margin:auto;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:20px}.brand{font:27px Georgia,serif;letter-spacing:6px;text-decoration:none;color:var(--gold)}.brand small{display:block;font:9px system-ui;letter-spacing:2.4px;color:var(--muted);margin-top:7px}nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}a{color:var(--gold)}button,.button{font:inherit;color:var(--ink);background:#243d43;border:1px solid #4b6569;border-radius:8px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--gold)}button:disabled{opacity:.45;cursor:not-allowed}.primary{color:#172327;background:var(--gold);border-color:var(--gold);font-weight:650}.danger{color:#ffb6a2}.quiet{background:transparent}h1,h2,h3{font-family:Georgia,serif;line-height:1.15;color:#f0dfbb}h1{font-size:clamp(30px,4vw,46px);margin:10px 0 14px}h2{font-size:27px}h3{font-size:21px;margin:14px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--gold)}.muted,small{color:var(--muted)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 0 18px}.stat{border-left:1px solid var(--border);padding-left:24px;color:var(--gold);white-space:nowrap}.stat strong{font-size:28px;display:block}.tabs{gap:4px;border-bottom:1px solid var(--border);margin-bottom:26px}.tabs button{background:transparent;border:0;border-radius:0;padding:13px 20px;color:var(--muted);border-bottom:3px solid transparent}.tabs button.selected{color:var(--gold);border-bottom-color:var(--gold)}#notice{padding:12px 16px;margin:12px 0;border-left:3px solid var(--gold);background:#1e3338;min-height:48px}#notice.error{color:#ffb6a2;border-color:#e58970}.card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:25px;margin:16px 0}.profile-hero{padding:0;overflow:hidden}.banner{height:180px;background:linear-gradient(120deg,#3b5556,#192c32);position:relative}.banner img{width:100%;height:100%;object-fit:cover}.hero-body{padding:0 28px 24px}.avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);background:#263f44;display:inline-flex;align-items:center;justify-content:center;font:30px Georgia;color:var(--gold);flex:none}.hero-body>.avatar{margin-top:-40px;position:relative;width:100px;height:100px}.pill{display:inline-block;background:#2b454b;color:#d6e2dd;border:1px solid #49636a;font-size:11px;padding:3px 9px;border-radius:20px;margin:3px 5px 3px 0}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:16px}.section-heading,.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}.character-card{background:var(--panel);border:1px solid var(--border);border-radius:13px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.character-art{height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#37585b,#15272c);font:70px Georgia;color:#d9bb8160}.character-art img{width:100%;height:100%;object-fit:cover}.character-body{padding:20px;flex:1}.character-card .actions{padding:0 20px 20px;margin-top:0}.character-card.active{border:2px solid var(--gold)}.slot-empty{min-height:260px;border:1px dashed #4c6469;border-radius:13px;background:#15252a;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px}.slot-empty button{background:transparent;border:0;color:var(--gold)}.empty{padding:70px 28px;text-align:center;max-width:800px;margin:35px auto}.empty p{color:var(--muted);max-width:580px;margin:20px auto 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.full{grid-column:1/-1}label{display:block;color:#b9cbcb;font-size:13px;margin:12px 0}input,select,textarea{font:inherit;width:100%;color:var(--ink);background:#102328;border:1px solid #415b60;border-radius:7px;padding:11px;margin-top:6px}textarea{min-height:115px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #d9bb8180;outline-offset:2px}.upload-field img{display:block;max-width:220px;height:110px;object-fit:cover;margin-top:10px;border-radius:8px}.form-toolbar{position:sticky;top:0;z-index:4;background:#192b30f5;backdrop-filter:blur(10px);padding:14px 20px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:15px}.form-toolbar .actions{margin:0}.sheet-nav{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.sheet-nav button{padding:8px 12px;background:transparent}.sheet-nav button.selected{background:#d9bb81;color:#15272a}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stats-grid label{text-align:center}.stats-grid input{text-align:center;font-size:22px}.roster-row{display:flex;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--border)}.roster-row:last-child{border:0}.roster-info{flex:1;min-width:0}.roster-info h3{margin-top:2px}.roster-actions{display:flex;gap:8px;flex-wrap:wrap}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.read-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.read-grid .card{margin:0}.read-stat{padding:12px;text-align:center;border:1px solid var(--border);border-radius:8px}.read-stat strong{display:block;font-size:23px;color:var(--gold)}dialog{width:min(1120px,94vw);max-height:90vh;color:var(--ink);background:#14272c;border:1px solid #9d895f;border-radius:16px;padding:28px}dialog::backdrop{background:#050d10cf}dialog .character-art{height:140px}#shared>.actions{margin-bottom:25px}[hidden]{display:none!important}@media(max-width:760px){.shell{padding:16px}.topbar,.page-heading{align-items:flex-start;flex-direction:column}.topbar nav{font-size:12px}.stat{padding:0;border:0}.stat strong{display:inline;font-size:20px}.tabs button{padding:12px 10px}.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}.roster-row{align-items:flex-start;flex-wrap:wrap}.roster-actions{width:100%;padding-left:0}.form-toolbar{flex-wrap:wrap}.banner{height:140px}.card{padding:20px}.hero-body{padding:0 20px 20px}.profile-hero{padding:0}.character-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}

.workspace-switch{display:flex;gap:4px;margin:18px auto;padding:5px;background:#0e1c20;border:1px solid #43565a;border-radius:10px;width:fit-content}.workspace-switch a{padding:10px 28px;text-decoration:none;border-radius:6px;color:#bdcaca}.workspace-switch a[aria-current=page]{background:#d6b77b;color:#111d20;font-weight:650}

.play-panel .sheet-nav{margin:1rem 0;display:flex;flex-wrap:wrap;gap:.4rem}.play-health{display:flex;flex-wrap:wrap;gap:1.4rem;padding:1rem;background:#102c31;border-radius:12px;margin-bottom:1rem}.play-health strong{font-size:1.5rem}.play-item{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;padding:1rem 0;border-bottom:1px solid #335057}.play-item>div:first-child{flex:1;min-width:180px}.play-log{border-bottom:1px solid #335057;padding:.7rem 0}.play-editor,.play-import{color:#e6ece9;background:#13272b;border:1px solid #728077;border-radius:16px;width:min(900px,94vw);max-height:90vh;overflow:auto;padding:1.5rem}.play-editor{width:min(650px,94vw)}dialog::backdrop{background:#000b}.play-editor label,.play-import label{display:flex;flex-direction:column;gap:.3rem;margin:.7rem 0}.play-editor input,.play-editor select,.play-editor textarea,.play-import input,.play-import select,.play-import textarea{box-sizing:border-box;width:100%;padding:.65rem;color:inherit;background:#0d2024;border:1px solid #586760;border-radius:7px}.play-import textarea{min-height:80px}.play-editor textarea{min-height:110px}.play-panel button:disabled{opacity:.5;cursor:default}.play-panel details{margin:.7rem 0}.play-panel .actions label{max-width:200px}
