:root{color-scheme:dark;--bg:#111317;--panel:#1c1f24;--line:#383d46;--text:#e7e9ed;--muted:#a1a7b1;--accent:#d2d6de;--cyan:#bec6d3;--danger:#eea29a;font:14px 'Segoe UI',sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text)}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled,.disabled{opacity:.5;pointer-events:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
button{color:inherit}
button:hover,.button:hover{filter:brightness(1.1)}
.logo{display:flex;gap:11px;align-items:center;font-size:19px;font-weight:600;letter-spacing:-.5px}
.logo small{display:block;color:#a0a0a0;letter-spacing:2px;font:8px Consolas,monospace;margin-top:6px}
.eyebrow{font:10px Consolas,monospace;letter-spacing:2px;color:#a4a4a4;line-height:1.8}
.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;gap:8px;border:1px solid transparent;border-radius:7px;font-size:12px;white-space:nowrap}
.primary{color:#202020;background:var(--accent);border-color:#dcdcdc;font-weight:650}
.secondary{color:#d2d2d2;background:#282828;border-color:#515151}
.muted{font-size:11px;color:var(--muted);line-height:1.8}
.tag{font:10px Consolas,monospace;padding:8px 11px;border:1px solid #505050;border-radius:5px;background:#292929;color:#cecece;white-space:nowrap}
.panel{border:1px solid var(--line);background:var(--panel);border-radius:10px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 18px}
.section-heading h2{font-size:20px;font-weight:550;letter-spacing:-.5px}
.section-heading p{color:var(--muted);font-size:12px;line-height:1.7;margin-top:8px}
.section-heading h3{font-size:16px;font-weight:550}
.error{background:#35231f;border:1px solid #775045;color:#f1b5a3;padding:13px 16px;border-radius:7px;font-size:12px;line-height:1.7;margin-bottom:18px}
.toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translateX(-50%);max-width:80vw;background:#3d3d3d;border:1px solid #8c8c8c;border-radius:8px;box-shadow:0 12px 40px #0006;padding:14px 22px;line-height:1.7;font-size:12px}
.toast.error{background:#3c2c20;border-color:#8c674a;color:#f1ceb2}
.public-nav{max-width:1260px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 32px;border-bottom:1px solid #353535}
.public-nav nav{display:flex;gap:30px;font-size:12px;color:#b6b6b6}
.public-main{max-width:1260px;margin:auto;padding:0 32px}
.public-hero{padding:85px 25px 90px 0;background:radial-gradient(ellipse at 85% 50%,#50505044,transparent 65%);border-bottom:1px solid #3a3a3a}
.public-hero h1{font-size:clamp(40px,6vw,78px);line-height:1.05;letter-spacing:-3px;font-weight:600;margin:20px 0}
.public-hero h1 em{font-style:normal;color:var(--accent)}
.public-hero p{max-width:500px;font-size:15px;line-height:1.8;color:#b0b0b0}
.hero-buttons{display:flex;gap:13px;margin:28px 0 15px}
.public-server-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.public-server-card{padding:22px;background:linear-gradient(130deg,#272727,#1a1a1a);border:1px solid #494949;border-radius:9px}
.public-server-card .eyebrow{font-size:9px}
.public-server-card h3{font-size:22px;font-weight:550;margin:14px 0;letter-spacing:-.5px}
.server-meta{display:flex;justify-content:space-between;color:#c0c0c0;font:12px Consolas,monospace}
.public-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-news-card{padding:24px;border:1px solid #3e3e3e;background:#1b1b1b;border-radius:9px}
.public-news-card h3{font-size:21px;letter-spacing:-.5px;margin:12px 0}
.public-news-card p{color:#bdbdbd;white-space:pre-wrap;line-height:1.9;font-size:13px}
.public-main footer{display:flex;justify-content:space-between;color:#8e8e8e;font-size:11px;border-top:1px solid #3c3c3c;margin-top:50px;padding:25px 0}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 10%,#3a3a3a77,transparent 65%);padding:30px}
.login-card{width:100%;max-width:450px;border:1px solid #555555;padding:35px;background:#1d1d1d;border-radius:13px;box-shadow:0 30px 90px #0004}
.login-card>.logo{margin-bottom:43px}
.login-card h1{font-size:33px;letter-spacing:-1.3px;font-weight:550;margin:12px 0}
.login-card>p{color:#aaaaaa;font-size:12px;line-height:1.8;margin-bottom:28px}
.login-card .button{width:100%;margin:8px 0 20px}
.login-card>.muted{display:block;text-align:center}
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{width:238px;flex-shrink:0;border-right:1px solid #373737;background:linear-gradient(165deg,#1c1c1c,#111111);padding:29px 17px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}
.admin-sidebar .logo{font-size:17px;margin:0 8px 55px}
.admin-sidebar .nav-label{margin:0 13px 13px;font-size:9px}
.admin-sidebar nav{display:grid;gap:5px}
.admin-sidebar nav button{background:transparent;text-align:left;color:#a4a4a4;border:1px solid transparent;padding:14px 12px;border-radius:7px;font-size:17px;display:flex;gap:12px;align-items:center}
.admin-sidebar nav button span{font-size:12px}
.admin-sidebar nav button.active{background:#373737;border-color:#565656;color:#dddddd}
.sidebar-end{margin-top:auto;display:flex;gap:10px;align-items:center;border-top:1px solid #3f3f3f;padding-top:22px}
.sidebar-end strong{display:block;font-size:12px;font-weight:550}
.sidebar-end span{display:block;font-size:10px;margin-top:5px;color:#9a9a9a}
.sidebar-end>button{margin-left:auto;background:none;border:0;color:#a4a4a4;font-size:20px}
.user-avatar{width:34px;height:34px;border-radius:8px;border:1px solid #6d6d6d;background:#424242;display:grid;place-items:center;color:#e1e1e1}
.admin-main{margin-left:238px;padding:35px 40px 0;flex:1;min-width:0;background:radial-gradient(ellipse at 100% 0,#33333344,transparent 55%)}
.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:33px}
.admin-header h1{font-size:33px;letter-spacing:-1.2px;font-weight:550;margin-top:9px}
.admin-header h1 span{color:var(--accent)}
.header-actions{display:flex;gap:9px;align-items:center}
.intro-panel{display:flex;justify-content:space-between;align-items:center;border:1px solid #5e5e5e;border-radius:10px;padding:30px;background:linear-gradient(120deg,#323232,#202020);gap:30px}
.intro-panel h2{font-size:27px;letter-spacing:-.8px;font-weight:550;margin:13px 0}
.intro-panel p{color:#b8b8b8;line-height:1.9;font-size:12px}
.big-revision{font:80px Consolas,monospace;color:#b1b1b144;padding:0 25px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:19px}
.metric{padding:23px;border:1px solid #444444;border-radius:8px;background:#1f1f1f}
.metric strong{font:35px Consolas,monospace;color:#d8d8d8}
.metric span{display:block;font-size:11px;color:#aaaaaa;margin-top:12px}
.audit-panel{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}
th{font-weight:500;color:#aaaaaa;background:#272727;padding:15px 18px;white-space:nowrap}
td{padding:14px 18px;border-top:1px solid #393939;color:#c7c7c7;line-height:1.5;overflow-wrap:anywhere}
td:first-child{white-space:nowrap;color:#a4a4a4}
.editor-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.item-list{padding:8px}
.item-list button{display:block;width:100%;border:1px solid transparent;background:transparent;color:#a8a8a8;text-align:left;border-radius:6px;padding:14px 12px;line-height:1.5;font-size:12px}
.item-list button small{display:block;color:#919191;font-size:10px;margin-top:5px}
.item-list button.active{border-color:#6a6a6a;background:#414141;color:#e5e5e5}
.editor{padding:25px}
.editor h2{font-size:19px;font-weight:550;letter-spacing:-.4px}
.editor p{font-size:12px;color:#adadad;line-height:1.8;margin:12px 0 20px}
.editor h3{font-size:16px;font-weight:550}
.full{margin-bottom:20px}
.full>h2{margin-bottom:23px}
.form-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}
.danger-button{color:#eeb5a5;border:1px solid #6a493e;background:#36251e;padding:7px 11px;border-radius:5px;font-size:11px}
label{display:flex;flex-direction:column;gap:9px;color:#cccccc;font-size:12px;margin-bottom:20px}
input,textarea,select{width:100%;min-width:0;border:1px solid #505050;border-radius:5px;background:#161616;color:#eaeaea;padding:11px 12px;outline:0}
textarea{resize:vertical;line-height:1.8;font-size:12px}
input::placeholder,textarea::placeholder{color:#7f7f7f}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.three-col{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px}
.checkbox{flex-direction:row;align-items:center;gap:9px}
.checkbox input{accent-color:var(--accent);width:16px;height:16px}
.editor-footer{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.link-editor{display:grid;gap:10px}
.link-row{display:grid;grid-template-columns:1fr 2fr 36px;gap:10px;align-items:center}
.link-row button{border:1px solid #66463d;background:#34231d;color:#eeb5a5;border-radius:5px;width:34px;height:35px}
.release-upload-action{display:flex;align-items:center;padding-bottom:20px}
.file-label input{font-size:11px}
.release-list{display:grid;gap:12px;margin-bottom:25px}
.release-item{padding:22px;border:1px solid #515151;background:#232323;border-radius:8px}
.release-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;gap:15px}
.release-item h3{font:24px Consolas,monospace;font-weight:500}
.release-item p{font-size:12px;white-space:pre-wrap;line-height:1.7;color:#b7b7b7}
.release-details{font:10px Consolas,monospace;line-height:1.8;color:#999999;overflow-wrap:anywhere;margin-top:12px}
.release-item-footer{display:flex;justify-content:flex-end;margin-top:14px}
progress{width:100%;height:8px;accent-color:var(--accent);margin:10px 0 15px}
code{display:block;color:#a5a5a5;overflow-wrap:anywhere;font:11px Consolas,monospace}
.account-form{max-width:550px}
.admin-footer{border-top:1px solid #3b3b3b;color:#8a8a8a;font:9px Consolas,monospace;letter-spacing:1px;display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding:20px 0}
.empty{text-align:center;padding:30px;color:#a3a3a3;font-size:12px}
@media(min-width:1600px){.admin-main{padding:45px 65px 0}
.editor-layout{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:1100px){.admin-sidebar{width:200px}
.admin-sidebar .logo{font-size:15px;gap:7px}
.admin-sidebar .logo img{width:30px;height:30px}
.admin-main{margin-left:200px;padding:28px 25px 0}
.header-actions{flex-wrap:wrap;justify-content:flex-end}
.header-actions .tag{display:none}
.editor-layout{grid-template-columns:180px minmax(0,1fr)}
.three-col{grid-template-columns:1fr 1fr}
.three-col>label:first-child{grid-column:1/-1}
.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-server-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-sidebar{position:relative;width:100%;padding:18px}
.admin-sidebar .logo{margin:0 0 20px}
.admin-sidebar nav{display:flex;overflow-x:auto;gap:7px}
.admin-sidebar nav button{white-space:nowrap;padding:9px}
.admin-sidebar .nav-label,.sidebar-end{display:none}
.admin-shell{display:block}
.admin-main{margin:0;padding:23px 18px 0}
.admin-header{align-items:flex-start}
.admin-header h1{font-size:26px}
.header-actions .button{padding:9px 12px;font-size:10px}
.intro-panel{padding:23px}
.intro-panel h2{font-size:22px}
.big-revision{display:none}
.editor-layout{grid-template-columns:1fr}
.item-list{display:flex;overflow-x:auto}
.item-list button{width:auto;min-width:130px}
.two-col,.three-col{grid-template-columns:1fr}
.three-col>label:first-child{grid-column:auto}
.public-nav{padding:20px;gap:20px}
.public-nav nav{gap:12px;font-size:10px}
.public-nav .logo{font-size:15px}
.public-main{padding:0 20px}
.public-hero{padding:65px 0}
.public-hero h1{letter-spacing:-1.6px}
.public-server-grid,.public-news-grid{grid-template-columns:1fr}
.link-row{grid-template-columns:1fr 36px}
.link-row input:nth-child(2){grid-column:1;grid-row:2}
.link-row button{grid-column:2;grid-row:1/3}
.section-heading{align-items:flex-start}
.section-heading h2{font-size:18px}
.admin-footer{font-size:8px}
.login-card{padding:27px}
.metrics .metric{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Graphite brand mark */
.logo img{filter:grayscale(1) brightness(1.15)}

.admin-loading-card{max-width:520px;width:100%}.admin-loading-card h1{font-size:30px;line-height:1.2}.admin-loading-card p{overflow-wrap:anywhere}.admin-loading-actions{display:flex;flex-wrap:wrap;gap:12px}.admin-loading-actions .button{white-space:normal;min-height:44px}.admin-loading-card .error{overflow-wrap:anywhere}@media(max-width:560px){.admin-loading-actions{flex-direction:column}.admin-loading-actions .button{width:100%}.admin-loading-card h1{font-size:26px}}

/* The seasonal theme is a signed catalog choice, independent of server worlds. */
.appearance-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}
.appearance-heading .eyebrow{font-size:9px;color:#999ca8;margin-bottom:12px}
.appearance-heading h2{margin-bottom:10px}.appearance-heading p{margin:0;max-width:620px}
.appearance-heading>.tag{flex-shrink:0;font-size:9px;white-space:normal;text-align:center}
.appearance-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:28px;align-items:start}
.appearance-controls{min-width:0}.appearance-controls>label{margin:0 0 20px}
.appearance-toggle{display:flex;flex-direction:row;align-items:flex-start;gap:12px;cursor:pointer;line-height:1.5}
.appearance-toggle>input{width:18px;height:18px;min-width:18px;margin:3px 0 0;accent-color:#aeb2c0}
.appearance-toggle>span{display:grid;gap:6px}.appearance-toggle strong{font-size:14px;font-weight:600}
.appearance-toggle small{font-size:12px;line-height:1.7;color:#a5a8b5}.appearance-toggle:has(input:disabled){cursor:default}
.appearance-toggle:has(input:disabled) small{color:#8c909e}
.appearance-publish-note{display:grid;gap:8px;padding:17px 18px;border:1px solid #3d404b;background:#17191f;margin:0!important;font-size:12px!important;line-height:1.8!important}
.appearance-publish-note strong{font-size:12px;color:#e0e2e9}.appearance-publish-note span{color:#a7abb9}
.appearance-preview{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:258px;overflow:hidden;padding:29px 25px;border:1px solid #515563;background:radial-gradient(ellipse at 94% 4%,#59657329,transparent 60%),linear-gradient(135deg,#24272e,#14171c);box-shadow:inset 0 0 35px #0005;pointer-events:none}
.appearance-preview>*{position:relative;z-index:1}.appearance-preview-kicker{font:8px var(--mono);letter-spacing:2px;color:#b3b8c8;margin-bottom:28px}
.appearance-preview>strong{font-size:22px;line-height:1.3;letter-spacing:-.5px;max-width:82%;color:#f0f0f4}
.appearance-preview>#brand-appearance-preview-note{font-size:10px;line-height:1.8;color:#aeb2c2;margin-top:12px;max-width:90%}
.appearance-preview-button{display:flex;align-items:center;gap:35px;background:#d5d7df;color:#17191f;padding:12px 16px;font-size:10px;font-weight:600;margin-top:20px}
.appearance-preview>small{font-size:9px;color:#a7aab7;margin-top:auto;padding-top:22px}
.appearance-preview-moon{position:absolute;right:20px;top:21px;width:43px;height:43px;border:1px solid #969fb45e;border-radius:50%;background:#c8d5e21a;box-shadow:0 0 45px #abbcd817}
.appearance-preview-bat{display:none;font-size:0}
.appearance-preview[data-seasonal=halloween]{border-color:#986238;background:radial-gradient(ellipse at 95% 4%,#bd571931,transparent 65%),radial-gradient(ellipse at 6% 100%,#6a47742b,transparent 70%),linear-gradient(135deg,#252028,#151219)}
.appearance-preview[data-seasonal=halloween]:before{content:"";position:absolute;z-index:0;top:-50px;right:-50px;width:170px;height:170px;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 20px,#d8c6af35 21px 22px,transparent 23px 35px),repeating-conic-gradient(from 0deg,#d8c6af35 0deg 1deg,transparent 1deg 30deg);opacity:.45}
.appearance-preview[data-seasonal=halloween] .appearance-preview-moon{background:#f1bc8d31;border-color:#ffb96973;box-shadow:0 0 45px #d9793540}
.appearance-preview[data-seasonal=halloween] .appearance-preview-kicker{color:#f5b47b}
.appearance-preview[data-seasonal=halloween] .appearance-preview-button{background:#f0aa68;color:#26150c}
.appearance-preview[data-seasonal=halloween] .appearance-preview-bat{display:block;position:absolute;right:52px;top:57px;width:42px;height:21px;background:#0d0c13;clip-path:polygon(0 0,16% 18%,31% 50%,42% 27%,46% 0,50% 19%,54% 0,58% 27%,69% 50%,84% 18%,100% 0,88% 64%,70% 60%,61% 91%,50% 72%,39% 91%,30% 60%,12% 64%);transform-origin:50% 50%}
.appearance-preview[data-seasonal=halloween][data-animated=true] .appearance-preview-bat{animation:appearance-bat-drift 4s ease-in-out infinite}
@keyframes appearance-bat-drift{0%,100%{transform:translate(0,0) rotate(-4deg)}50%{transform:translate(-12px,5px) rotate(3deg)}}
@media(max-width:1000px){.appearance-layout{grid-template-columns:minmax(0,1fr)}.appearance-preview{min-height:240px;max-width:650px;width:100%}}
@media(max-width:560px){.appearance-heading{flex-direction:column;gap:16px}.appearance-heading>.tag{align-self:flex-start}.appearance-preview{padding:24px 21px;min-height:265px}.appearance-preview>strong{font-size:23px}.appearance-toggle small{font-size:12px}.appearance-heading .eyebrow{line-height:1.8}.appearance-heading h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.appearance-preview .appearance-preview-bat{animation:none!important}}
