:root{color-scheme:dark;--bg:#0b1220;--panel:#131f31;--line:#26374e;--text:#e6edf7;--muted:#97abc4;--blue:#719dff;--gold:#d6b771;--green:#82c9aa;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#162b47 0,transparent 55%),var(--bg);color:var(--text);font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{transition:background .15s,color .15s}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 15px;background:#1a2a41;color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover,.button:hover{background:#2a4261}button:disabled{opacity:.5;cursor:wait}.primary{background:#3766bc;border-color:#5889e1}.primary:hover{background:#487bd3}.danger{color:#ffaaa9;border-color:#74474d}.ghost{background:transparent}.muted,small{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(36px,5vw,64px);line-height:1.1;font-weight:500;letter-spacing:-1.5px}h2{font-size:27px;font-weight:600;letter-spacing:-.6px}h3{font-size:17px;font-weight:600}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{padding:28px 22px;position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#0c1523e8;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:40px}.brand img{width:48px;height:48px;border-radius:12px}.brand strong{font-family:Georgia,serif;font-size:20px;line-height:1.15;font-weight:500}.brand small{font:10px Segoe UI,sans-serif;letter-spacing:2px;color:var(--gold);display:block;margin-top:5px}.nav{display:grid;gap:7px}.nav button{justify-content:flex-start;background:none;border-color:transparent;color:var(--muted);padding:12px}.nav button.active{background:#1c2c44;border-color:#2d4262;color:#fff}.sidebar-footer{margin-top:auto;font-size:12px;color:var(--muted)}.main{padding:32px 42px 60px;max-width:1450px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;color:var(--muted);font-size:12px}.user{display:flex;align-items:center;gap:14px}.hero{border:1px solid #3a4960;border-radius:14px;min-height:300px;background:linear-gradient(90deg,#0b1728f5 0%,#0b1728d9 43%,#0b172830 100%),url('/banner.png') center/cover;padding:42px;margin-bottom:28px;display:flex;align-items:center}.hero p{max-width:430px;color:#bacbe0}.hero h1{max-width:500px;margin:15px 0 20px}.hero .actions{margin-top:25px}.actions{display:flex;gap:9px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 20px}.section-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.panel{border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,#17253a,#111d2e);padding:23px}.card{display:flex;flex-direction:column;min-height:245px}.card h3{font-size:21px;margin:18px 0 8px}.card p{color:var(--muted)}.card .actions{margin-top:auto;padding-top:20px}.tag{font-size:11px;letter-spacing:.5px;text-transform:uppercase;border:1px solid #3b4f6b;border-radius:30px;padding:4px 9px;color:#bcd1ef;display:inline-block;width:max-content}.status{color:var(--green)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.stat{padding:20px;border:1px solid var(--line);border-radius:10px;background:#101d2e}.stat strong{display:block;font-size:29px;font-weight:500;color:var(--gold)}.stat span{font-size:12px;color:var(--muted)}.empty{padding:35px 24px;text-align:center;border:1px dashed #35465e;border-radius:12px;color:var(--muted)}.empty h3{color:var(--text);margin-bottom:6px}.roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.role-title{display:flex;align-items:center;gap:9px;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:8px}.role-title img{width:34px;height:34px}.role-title h3{margin:0}.role-title span{margin-left:auto;color:var(--muted)}.person{padding:11px 0;border-bottom:1px solid #27364a;display:flex;justify-content:space-between;gap:10px}.person:last-child{border-bottom:0}.person strong{font-size:14px}.person small{display:block;font-size:11px}.person .actions{justify-content:flex-end;align-items:center}.person select{padding:5px;font-size:11px;width:110px}.note{border-left:3px solid var(--gold);padding:12px 16px;background:#b7933b0e;color:#c9d3df;margin:20px 0;font-size:13px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.tabs{display:flex;gap:8px}.tabs .active{border-color:var(--blue);color:#fff}.details{display:flex;gap:25px;flex-wrap:wrap;margin-top:20px;color:var(--muted);font-size:13px}.details strong{color:var(--text)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:14px 12px;border-bottom:1px solid #45546b}.table td{padding:15px 12px;border-bottom:1px solid var(--line)}.table a{color:var(--blue)}.avatar-icon{width:28px;height:28px;vertical-align:middle;margin-right:8px}.strike{text-decoration:line-through;opacity:.6}.login{max-width:1150px;margin:auto;padding:28px 30px 50px}.login header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.login .brand{margin:0}.login .hero{min-height:510px;padding:60px}.login .grid .card{min-height:170px}.footer{margin-top:40px;font-size:12px;color:var(--muted);display:flex;gap:20px;justify-content:space-between}dialog{background:#111e30;color:var(--text);border:1px solid #435776;border-radius:15px;width:min(660px,94vw);padding:30px;max-height:90vh;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020814c7;backdrop-filter:blur(5px)}.close{position:absolute;top:12px;right:12px;border:0;background:none;font-size:24px;padding:0 10px}form{display:grid;gap:15px}label{display:grid;gap:7px;font-size:12px;color:var(--muted)}input,select,textarea{border:1px solid #384b65;background:#0b1728;border-radius:7px;padding:11px 12px;color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #5b8bdb;outline-offset:1px}textarea{resize:vertical;min-height:90px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-quotas{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.error{color:#ffaaa9;white-space:pre-wrap}.loading{padding:70px;text-align:center;color:var(--muted)}#toast{position:fixed;right:25px;bottom:25px;max-width:500px;background:#244432;color:#e5fff0;border:1px solid #59846a;padding:14px 22px;border-radius:10px;display:none;z-index:99}#toast.visible{display:block}#toast.bad{background:#472c34;border-color:#9e5a64;color:#ffe3e8}.import-row{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}@media(max-width:1050px){.shell{grid-template-columns:190px 1fr}.main{padding:24px}.grid{grid-template-columns:1fr}.card{min-height:180px}.hero{padding:28px}.hero h1{font-size:42px}}@media(max-width:700px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 15px}.nav{display:flex;overflow:auto;gap:2px}.nav button{white-space:nowrap;font-size:12px;padding:9px}.sidebar-footer{display:none}.main{padding:20px 16px}.topbar{margin-bottom:20px}.topbar>.muted{display:none}.hero{min-height:280px;padding:25px}.hero h1{font-size:37px}.roles{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}.section-head{align-items:flex-start}.login{padding:18px}.login .hero{padding:30px;min-height:450px}.login header .button{font-size:12px}.form-grid{grid-template-columns:1fr}.person{flex-wrap:wrap}.footer{flex-direction:column;gap:6px}.form-quotas{grid-template-columns:1fr 1fr}}

.member-filters{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:18px;padding:20px}.member-group .section-head{margin-bottom:12px}.member-group h3{margin:0;font-size:21px}.member-group h3 .tag{margin-left:10px;vertical-align:middle}.member-kind{display:inline-block;color:#aabbd2;font-size:11px;padding:2px 8px;border-radius:5px;background:#24344b;margin-top:5px}.main-kind{color:#dfc282;background:#b893361a}.member-role{display:inline-flex;align-items:center;white-space:nowrap}.member-count{font-size:12px;margin:16px 0}.member-group .table td:first-child{min-width:180px}.member-group .table-wrap{padding:8px 12px}@media(max-width:700px){.member-filters{grid-template-columns:1fr;gap:12px}.member-group .section-head{flex-wrap:wrap}.member-group h3{font-size:19px}}

.main-character{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#665d41;background:linear-gradient(120deg,#26364b,#151f2e)}.main-character h3{font-family:Georgia,serif;font-size:32px;margin:16px 0 8px;color:#efdbac}.main-character p{margin-bottom:12px}.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.character-card h3{font-size:23px;margin:18px 0 8px}.character-note{font-size:12px;margin-top:24px;max-width:820px}.saved-alts{margin-top:25px}.saved-alt{width:100%;justify-content:space-between;margin-top:8px;text-align:left}
#presence-widget{position:fixed;right:24px;bottom:24px;z-index:40}.presence-toggle{border-radius:30px;padding:12px 17px;background:#1b3151;border-color:#5274a3;box-shadow:0 7px 25px #0006;min-width:72px}.presence-toggle svg{width:23px;height:23px}.presence-toggle span{font-size:12px;font-weight:600}.presence-panel{position:absolute;bottom:62px;right:0;width:min(300px,calc(100vw - 32px));border:1px solid #3a5375;border-radius:13px;background:#111e30;box-shadow:0 16px 55px #0009;padding:16px}.presence-panel[hidden]{display:none}.presence-head{display:flex;justify-content:space-between;align-items:center}.presence-head button{padding:0 8px;font-size:22px;border:0}.presence-legend{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted);margin:9px 0 13px}.presence-dot{display:inline-block;width:8px;height:8px;min-width:8px;border-radius:50%}.presence-dot.online{background:#53d692;box-shadow:0 0 6px #53d69233}.presence-dot.idle{background:#eea34c}.presence-panel ul{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}.presence-panel li{display:flex;align-items:center;gap:10px;padding:9px 2px;font-size:13px;border-top:1px solid #24344a}.presence-panel li span{overflow-wrap:anywhere}.presence-panel>small{display:block;margin-top:12px;font-size:10px}#toast{bottom:92px}.main .footer{padding-bottom:35px}@media(max-width:700px){.character-grid{grid-template-columns:1fr}.main-character{align-items:flex-start;flex-direction:column}#presence-widget{right:16px;bottom:16px}.saved-alt{align-items:flex-start;flex-direction:column}.main-character h3{font-size:28px}}

guild-crest{display:block;position:relative;width:48px;height:48px;flex:0 0 48px;border-radius:12px;overflow:hidden}guild-crest img,guild-crest canvas{display:block;width:48px;height:48px;border-radius:12px}guild-crest [hidden]{display:none}guild-crest:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
