@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,system-ui,sans-serif;color:#eee9f7;background:#100d19;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% -10%,#302044 0,transparent 42%),#100d19}button,input,select,textarea{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(100%,440px);padding:42px;border:1px solid #4b3a60;border-radius:20px;background:linear-gradient(145deg,#21182d,#15111e);box-shadow:0 24px 90px #0008;text-align:center}.sigil{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;color:#e5bd77;background:#4a315a;border:1px solid #9b7548}.login h1{font:700 36px Cinzel,serif;letter-spacing:3px;margin:0}.login h1 span{color:#d6ad70}.eyebrow{font-size:10px;letter-spacing:2px;color:#c49a63;font-weight:700;margin:0 0 8px}.muted,.hint{color:#a99eb7}.login-card form{display:grid;gap:14px;text-align:left;margin:28px 0 16px}.login label,.hero-fields label{display:grid;gap:7px;color:#cfc4d9;font-size:12px}.login input,.hero-fields input,.hero-fields select,.attribute input,.vital input,.notes,.catalog-search,.searchbar input{width:100%;color:#f5efff;background:#100d19;border:1px solid #493958;border-radius:9px;padding:11px 12px;outline:none}.login input:focus,.hero-fields input:focus,.hero-fields select:focus{border-color:#c49a63}.primary,.secondary,.danger{border:1px solid transparent;border-radius:9px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13px}.primary{background:linear-gradient(135deg,#c49a63,#9b6d3e);color:#1c1420}.primary:disabled{opacity:.6}.secondary{background:#30233c;color:#e8dcef;border-color:#5c456e}.ghost{background:transparent}.danger{color:#ff9c9c;border-color:#74434a}.wide{width:100%;padding:13px}.text-button{background:none;border:0;color:#d7b47f}.login small{display:block;margin-top:22px;color:#82758e;font-size:10px}.error{color:#ff9c9c}.notice{color:#e2c28d;background:#35283b;padding:12px;border-radius:8px;font-size:12px}.setup{text-align:left}.setup .sigil,.setup h1,.setup .eyebrow{text-align:center}.setup h3{font:600 18px Cinzel;margin:24px 0 8px}.setup p,.setup li{font-size:13px;line-height:1.7;color:#c5bacf}.setup a{color:#e4bf81}.setup ol{padding-left:20px}.setup code{color:#e9c58d}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{border-right:1px solid #30243b;background:#15111e;padding:24px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 35px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#3c2b4b;color:#e3b978;display:grid;place-items:center}.brand b{font:700 15px Cinzel;letter-spacing:1px}.brand small,.user-chip small{display:block;color:#a194ad;font-size:9px;letter-spacing:1.2px;margin-top:4px}.sidebar nav{display:grid;gap:7px}.sidebar nav button,.logout{display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:9px;color:#b8adbf;background:transparent;text-align:left}.sidebar nav svg{width:18px}.sidebar nav button.active,.sidebar nav button:hover{background:#332540;color:#f0ca8b}.sidebar-bottom{margin-top:auto}.user-chip{display:flex;gap:10px;align-items:center;padding:12px 6px;border-top:1px solid #352941}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#4a3456;color:#f0ca8b;font-family:Cinzel}.user-chip b{font-size:12px}.user-chip small{letter-spacing:0}.logout{font-size:12px}.main{padding:28px clamp(18px,4vw,54px);max-width:1500px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #382a43;padding-bottom:20px;margin-bottom:22px}.topbar h2{font:600 25px Cinzel;margin:0}.top-actions{display:flex;align-items:center;gap:18px}.online-dot{font-size:11px;color:#91c99d}.icon-btn{border:1px solid #584265;background:#261b31;color:#e9c68b;border-radius:10px;padding:10px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.toolbar-right{display:flex;gap:8px}.select-wrap select{background:#21182b;border:1px solid #4d3b5a;color:#eee;padding:10px;border-radius:9px;min-width:190px}.hero-card,.attribute,.vital,.catalog-card{border:1px solid #40304c;background:linear-gradient(145deg,#21182c,#191421);border-radius:14px}.hero-card{display:flex;gap:24px;padding:22px;margin-bottom:30px}.hero-emblem{width:74px;height:74px;flex:none;border-radius:16px;background:#382744;color:#d9b176;display:grid;place-items:center}.hero-fields{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:14px;width:100%}.hero-fields input,.hero-fields select{padding:9px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:25px 0 13px}.section-heading h3{font:600 20px Cinzel;margin:0}.hint{font-size:11px}.attribute-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.attribute{padding:13px;display:grid;gap:9px}.attribute button{background:none;border:0;color:#e7c58f;text-align:left;font-size:12px;font-weight:700;padding:0}.attribute input{text-align:center;font-size:19px;font-weight:700;padding:8px}.attribute small{color:#9c90a8;font-size:9px}.vital-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vital{padding:13px}.vital span{display:block;color:#d5b47f;font-size:12px;margin-bottom:8px}.vital div{display:flex;align-items:center;gap:7px}.vital input{text-align:center;padding:8px;min-width:0}.vital b{color:#897b93}.notes{min-height:110px;resize:vertical}.searchbar{display:flex;gap:10px;align-items:center;background:#21182b;border:1px solid #493858;border-radius:10px;padding:8px 12px;margin-bottom:15px}.searchbar input{border:0;background:transparent}.character-list{display:grid;gap:8px}.character-row{display:flex;align-items:center;gap:13px;text-align:left;padding:14px;background:#21182c;border:1px solid #40304c;border-radius:12px;color:#eee}.character-row div:nth-child(2){flex:1}.character-row small{display:block;color:#a89caf;margin-top:5px}.character-row>span{color:#d7b47f;font-size:12px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-card{padding:16px;min-width:0}.catalog-title{display:flex;align-items:center;gap:10px;color:#d7b47f}.catalog-title h3{font:600 17px Cinzel;color:#eee;margin:0;flex:1}.catalog-title span{font-size:11px;color:#a99eb7}.catalog-search{margin:14px 0}.catalog-items{max-height:420px;overflow:auto}.catalog-items details{border-top:1px solid #3b2c46;padding:10px 2px}.catalog-items summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;font-size:12px}.catalog-items summary small{color:#a99eb7}.catalog-items p{font-size:12px;line-height:1.6;color:#c2b6cc}footer{margin:35px 0 8px;text-align:center;color:#746981;font-size:10px;letter-spacing:2px}footer span{color:#c39a63}.alert,.toast{padding:12px 14px;background:#482e39;border:1px solid #89515b;color:#ffd5d5;border-radius:9px;margin-bottom:14px;font-size:12px}.alert button{float:right;background:none;border:0;color:inherit}.toast{background:#30283a;border-color:#6e5a78;color:#f1d7a8;cursor:pointer}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;min-height:0;padding:12px 14px;display:block}.brand{padding:2px 4px 12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap;padding:9px}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.user-chip{border:0;padding:4px}.main{padding-top:18px}.attribute-grid,.vital-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card{gap:12px}.hero-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.login-card{padding:28px 22px}.topbar h2{font-size:20px}.online-dot,.hero-emblem{display:none}.hero-fields{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}.toolbar-right{width:100%;flex-wrap:wrap}.toolbar-right button{flex:1}.select-wrap,.select-wrap select{width:100%}.catalog-grid{grid-template-columns:1fr}.attribute-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vital-grid{grid-template-columns:1fr 1fr}.hint{display:none}}
