/* One visual language for public pages, account screens and content editing. */
body.unified-site{margin:0;isolation:isolate;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f3eef8;background:#0b0810;--u-page-image:url('/assets/css-city-20261012.png');--u-login-image:url('/assets/css-city-20261012.png');--u-discord-image:url('/assets/css-city-20261012.png')}
.unified-site *{box-sizing:border-box}
body.unified-site:not(.community-home):not(.admin-dashboard):not(.embedded-team)::before{content:'';position:fixed;inset:-10px;z-index:-1;pointer-events:none;background:linear-gradient(#0a080fb8,#0a080fd6),var(--u-page-image) center/cover;filter:blur(4px)}
body.unified-site .ss-global-backdrop{display:none!important}
body.unified-site .ss-page{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(h1,h2,h3){font-family:inherit!important;font-weight:550!important;letter-spacing:-.025em!important;color:#f6f2fa!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.ss-page h1,.appeal-heading h1,.forum-banner h1){font-size:clamp(26px,3vw,36px)!important;line-height:1.3!important;text-transform:none!important;max-width:850px!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.ss-page h2,.appeal-wrap h2,.forum-wrap h2){font-size:21px!important;line-height:1.4!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.ss-page h3,.appeal-wrap h3,.forum-wrap h3){font-size:15px!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.ss-page p,.subpage-lede,.appeal-wrap p,.forum-wrap p,.forum-wrap td,.ss-page li){font-size:13px!important;font-weight:400!important;line-height:1.85!important;color:#b8acc3!important}
body.unified-site:not(.admin-dashboard) :is(.ss-page h1 em,.ss-page h1 strong){font:inherit!important;color:#cf66f6!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(button,.button,.appeal-primary,.login-button){font-family:inherit!important;font-size:12px!important;font-weight:500!important;line-height:1.4;border-radius:5px!important;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.button,.appeal-primary,.login-button,button.primary){display:inline-flex;align-items:center;justify-content:center;min-height:41px!important;padding:11px 18px!important;gap:8px;text-decoration:none!important;border:1px solid #a04cd142!important;background:#17101edb!important;color:#eee5f5!important}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.button.primary,.button-discord,.appeal-primary,.login-button,button.primary){background:linear-gradient(110deg,#a900ed,#c400fa)!important;border-color:#c330ef!important;box-shadow:0 8px 25px #9f00c51a}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.button,.appeal-primary,.login-button,button.primary):hover{transform:translateY(-2px);box-shadow:0 10px 25px #a500e22d;border-color:#cb71fa!important}
body.unified-site :is(input,textarea,select){font-family:inherit}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(input:not([type=checkbox]),textarea,select){font-size:12px!important;color:#eee8f5!important;background:#0c0912b3!important;border:1px solid #ae78d128!important;border-radius:5px!important;padding:12px!important;min-width:0}
body.unified-site :is(a,button,input,summary,textarea,select):focus-visible{outline:2px solid #c975f6;outline-offset:4px}
body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.ss-page,.appeal-wrap){width:100%;max-width:1200px!important;padding:115px 35px 65px!important;margin:0 auto!important;min-height:calc(100svh - 220px)}
body.unified-site :is(.rule-intro-card,.ss-placeholder-card,.launcher-card,.rule-content,.rule-categories,.legal-article,.ss-legal-card,.faction-card,.appeal-card,.ban-card,.appeal-history-card,.forum-panel){background:#151019c9!important;border:1px solid #b77bd51b!important;border-radius:8px!important;box-shadow:none!important;backdrop-filter:blur(12px)}
body.unified-site .rule-intro-card{padding:28px 30px!important;min-height:0!important;margin-bottom:23px!important}
body.unified-site .rule-intro-card::before,body.unified-site .rule-intro-card::after{display:none!important}
body.unified-site .rule-intro-card h1{margin:7px 0 13px!important}
body.unified-site .rule-stats{font-size:10px!important;gap:15px!important;margin:18px 0!important}
body.unified-site .rule-layout{display:grid!important;grid-template-columns:245px minmax(0,1fr)!important;gap:22px!important}
body.unified-site .rule-categories{padding:12px!important;top:91px!important}
body.unified-site .rule-category{font-size:12px!important;font-weight:450!important;padding:13px 12px!important;border-radius:5px!important;color:#c1b5cd!important;border:1px solid transparent!important;min-height:43px!important;gap:10px!important;background:transparent!important}
body.unified-site .rule-category:is(.active,:hover){background:#b500f019!important;border-color:#ba56e638!important;color:#e0a4ff!important}
body.unified-site .rule-category-index,body.unified-site .rule-count{font-size:10px!important}
body.unified-site .rule-content{padding:24px!important;min-height:260px!important}
body.unified-site .rule-item{padding:16px 0!important;gap:13px!important;border-bottom:1px solid #ffffff09!important;background:transparent!important;border-radius:0!important}
body.unified-site .rule-item p{margin:0!important}
body.unified-site .rule-number{font-size:10px!important;color:#c877ec!important;min-width:31px!important}
body.unified-site .rule-search{max-width:520px!important;min-height:42px!important}
body.unified-site .rule-search input{width:100%!important;flex:1!important;background:transparent!important;border:0!important}
body.unified-site .rule-layout:has(.rule-categories:empty){grid-template-columns:1fr!important}
body.unified-site .rule-categories:empty{display:none!important}
body.unified-site .rule-content:has(>.empty-state:only-child){min-height:120px!important}
body.unified-site .ss-page-head{margin-bottom:30px!important;padding:0!important;min-height:0!important}
body.unified-site .ss-page-head .eyebrow,body.unified-site .rule-intro-card .eyebrow{font-size:9px!important;letter-spacing:.15em!important}
body.unified-site .faction-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
body.unified-site .faction-card{padding:23px!important;min-height:0!important}
body.unified-site .faction-image{width:100px!important;height:100px!important;object-fit:contain!important;background:none!important;border:0!important}
body.unified-site .ss-page-actions{display:flex;flex-wrap:wrap;gap:12px!important;margin-top:30px!important}
body.unified-site .launcher-card{max-width:750px!important;padding:35px!important;margin:0 auto!important;text-align:left!important}
body.unified-site .launcher-mark{display:none!important}
body.unified-site .ss-placeholder-card{padding:30px!important}
body.unified-site .legal-body,body.unified-site .legal-content{max-width:900px;margin:auto}
body.unified-site .r-discord-banner{background:radial-gradient(ellipse at 0 50%,#7d0aaf30,transparent 60%),linear-gradient(110deg,#100d17e8,#0b0911ec),var(--u-discord-image) center/cover!important}
/* Entire choice images remain visible; the description belongs to the same card. */
body.community-home.recon-public.unified-site .role-card .r-role-trigger img{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;opacity:1!important;transform:none!important}
body.community-home.recon-public.unified-site .role-card .r-role-trigger>div{padding:18px 20px 20px!important}
body.community-home.recon-public.unified-site .role-card h3{font-size:17px!important;margin-bottom:8px!important}
body.community-home.recon-public.unified-site .role-card h3::after{content:' ↗';font-size:13px;color:#c260e7}
body.community-home.recon-public.unified-site .role-card p{display:block!important;font-size:12px!important;line-height:1.75!important;color:#b5a7c0!important;margin:0!important}
body.unified-site .u-choice-dialog{position:fixed!important;inset:0!important;width:min(760px,calc(100vw - 40px))!important;max-width:760px!important;max-height:88svh!important;margin:auto!important;padding:28px!important;overflow:auto;background:#151019ed!important;border:1px solid #b947e04f!important;border-radius:9px!important;box-shadow:0 25px 120px #0008!important;color:#f4edf8;animation:u-dialog-in .25s ease both!important}
body.unified-site .u-choice-dialog:not([open]){display:none!important}
.unified-site .u-choice-dialog::backdrop{background:#07050cad;backdrop-filter:blur(7px)}
.unified-site .u-choice-hero{display:block!important;width:100%!important;height:auto!important;max-height:330px!important;object-fit:contain!important;background:#0b081033;border-radius:5px}
.unified-site .u-choice-body{padding:23px 6px 12px}
.unified-site .u-choice-body h3{font-size:23px!important;font-weight:550!important;margin:0 0 12px!important}
.unified-site .u-choice-body>p{font-size:13px;line-height:1.8;color:#bbaac8;margin:0 0 24px}
.unified-site .u-dialog-close{position:absolute!important;right:15px!important;top:12px!important;z-index:2;display:grid!important;place-items:center!important;width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;background:#0b0810da!important;border:1px solid #ffffff15!important;border-radius:5px!important;color:#c4b5d0!important;font-size:24px!important;font-weight:350!important;line-height:1!important;text-decoration:none!important;cursor:pointer}
.unified-site .u-dialog-close:hover{color:#fff!important;border-color:#b767df66!important;transform:rotate(8deg)}
.unified-site .u-dialog-back{display:inline-flex;margin:8px 6px 0;padding:10px 14px!important;background:#271734!important;border:1px solid #bf6be02c!important;color:#dbc0ee!important;border-radius:5px;font-size:12px}
@keyframes u-dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
/* All first-party login/verification views use the same modal sizing and backdrop. */
.unified-site .u-auth-overlay{position:fixed!important;inset:0!important;z-index:300;display:flex;align-items:center;justify-content:center;padding:30px;overflow-y:auto;background:#07050c5c;backdrop-filter:blur(7px)}
body.unified-site.u-auth-page{overflow:hidden;background:#0b0810!important}
#u-auth-backdrop{position:fixed;inset:0;z-index:250;pointer-events:none;background:linear-gradient(#110b1b66,#09060e99),var(--u-login-image) center/cover}
#u-auth-backdrop[hidden]{display:none!important}
#u-auth-backdrop iframe{display:block;width:100%;height:100%;border:0;opacity:.55;filter:blur(5px);pointer-events:none}
body.unified-site .u-auth-card{position:relative!important;inset:auto!important;display:block!important;width:min(100%,540px)!important;max-width:540px!important;min-height:0!important;max-height:calc(100svh - 60px)!important;margin:auto!important;padding:44px 38px 31px!important;background:#15101aef!important;border:1px solid #ad43d63e!important;border-radius:9px!important;box-shadow:0 25px 100px #0006!important;color:#f3edf8!important;text-align:center!important;overflow:auto}
body.unified-site .u-auth-card :is(h1,h2){font-family:inherit!important;font-size:27px!important;font-weight:550!important;line-height:1.3!important;letter-spacing:-.025em!important;margin:12px 0 18px!important;text-transform:none!important;color:#f5eff9!important}
body.unified-site .u-auth-card :is(p,.u-auth-copy){font-size:13px!important;font-weight:400!important;line-height:1.85!important;color:#b8a9c5!important;margin:0 0 20px!important;max-width:none!important}
body.unified-site .u-auth-card .eyebrow{font-size:10px!important;font-weight:500!important;letter-spacing:.16em!important;color:#d15afc!important;margin:4px 0 15px!important}
body.unified-site .u-auth-card :is(.login-logo,.mark){display:none!important}
body.unified-site .u-auth-card :is(a.login-button,a.appeal-primary,a.primary,button.primary){display:flex!important;width:100%!important;min-height:46px!important;padding:13px 20px!important;background:linear-gradient(110deg,#aa00ed,#c500fb)!important;border:1px solid #c030f2!important;color:#fff!important;font-size:13px!important;border-radius:5px!important;text-decoration:none!important;justify-content:center;align-items:center;margin:22px 0 17px!important}
body.unified-site .u-auth-card :is(.u-auth-secondary,.u-auth-links a){display:inline-block;font-size:11px;color:#bba3cc;text-decoration:none;margin:4px 10px}
body.unified-site .u-auth-copy>a:not(.login-button){display:inline-block;font-size:11px;color:#bba3cc;text-decoration:none;margin:4px 10px}
.unified-site .u-auth-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:20px}
body.unified-site .u-auth-card small{font-size:10px!important;line-height:1.7;color:#92839e}
body.unified-site .u-auth-card form{text-align:left;display:grid;gap:15px}
body.unified-site .u-auth-card form label{margin:0!important;padding:0!important}
body.unified-site.forum-site .forum-account-form.u-auth-card h2{font-size:27px!important;font-weight:550!important}
body.unified-site .u-auth-card label{font-size:11px!important;display:grid;gap:8px!important;color:#baaac7!important;text-transform:none!important;font-weight:450!important;letter-spacing:0!important}
body.unified-site .u-auth-card input:not([type=checkbox]){width:100%!important;padding:12px!important;min-height:42px;background:#0d0913!important;border:1px solid #ac65cf30!important;border-radius:5px!important;font-size:12px!important;color:#f3edf7!important}
body.unified-site .u-auth-card .terms-check{display:flex!important;align-items:flex-start;gap:10px!important;font-size:11px!important}
body.unified-site .u-auth-card .forum-password{display:flex;gap:8px}
body.unified-site .u-auth-card .forum-password button{padding:8px!important;color:#bc9ccd!important;background:#25162e!important;border:1px solid #a34ac02e!important}
body.unified-site.u-auth-page>.forum-banner{opacity:.2}
body.unified-site .r-auth-card .login-logo{display:none!important}
body.unified-site.admin-dashboard.auth-screen #app .login.r-auth-card{max-width:540px!important;padding:45px 38px 32px!important}
body.unified-site.admin-dashboard.auth-screen #app .r-auth-card h1{font-size:27px!important;font-weight:550!important}
body.unified-site.admin-dashboard.auth-screen #app .r-auth-card p:not(.eyebrow){font-size:13px!important}
/* Forum and appeal headers retain their account controls and existing behavior. */
body.unified-site :is(.forum-header,.appeal-header){height:72px!important;min-height:72px!important;padding:0 max(30px,calc((100vw - 1380px)/2))!important;background:#09070cd9!important;border:0!important;border-bottom:1px solid #ffffff0a!important;box-shadow:none!important;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;gap:25px}
body.unified-site :is(.forum-header,.appeal-header) img{width:60px!important;height:45px!important;object-fit:contain!important}
body.unified-site :is(.forum-header,.appeal-header) nav{font-size:11px!important;font-weight:500!important;gap:23px!important}
body.unified-site :is(.forum-header,.appeal-header) nav a{font-size:11px!important;font-weight:500!important;color:#bcb0c8!important;text-decoration:none}
body.unified-site .forum-banner{max-width:1200px!important;margin:auto!important;padding:40px 35px!important;min-height:0!important;background:none!important;border:0!important}
body.unified-site .forum-banner>a{display:none!important}
body.unified-site .forum-banner p{font-size:12px!important;color:#b09dbf!important}
body.unified-site .forum-wrap{max-width:1200px!important;padding:0 35px 65px!important;font-size:12px!important}
body.unified-site .forum-panel{margin-bottom:20px!important}
body.unified-site .appeal-wrap .appeal-heading{margin-bottom:30px!important}
body.unified-site .appeal-card{padding:28px!important}
body.unified-site:not(.recon-public) .ss-footer{padding:25px 35px!important;font-size:10px!important;background:#09070ce6!important;border-top:1px solid #ffffff0a!important;color:#9888a6!important}
body.unified-site:not(.recon-public) .ss-footer a{font-size:10px!important;color:#b09bbf!important}
/* Loading does not trap focus or prevent interaction, even if a request fails. */
.unified-site .u-page-loader{position:fixed;inset:0;z-index:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#0b0710a8;backdrop-filter:blur(8px);pointer-events:none;opacity:1;transition:opacity .25s;animation:u-loader-arrive .2s ease both}
.unified-site .u-page-loader p{font-size:12px;color:#c6b3d4;margin:0}
.unified-site .u-page-loader.is-finished{opacity:0}
.u-loader-spinner{width:25px;height:25px;border:2px solid #b867d72b;border-top-color:#c13bfb;border-radius:50%;animation:u-spin .75s linear infinite}
@keyframes u-spin{to{transform:rotate(360deg)}}@keyframes u-loader-arrive{from{opacity:0}to{opacity:1}}
/* Nested, discoverable website editing categories. */
.recon-admin .u-editor-category{border:1px solid #a668c026;border-radius:7px;background:#15101ae8;margin:14px 0;overflow:hidden}
.recon-admin .u-editor-category>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:15px;padding:21px 24px;color:#e8d9f3;font-size:15px;font-weight:550}
.recon-admin .u-editor-category>summary::-webkit-details-marker{display:none}
.recon-admin .u-editor-category>summary::before{content:'+';color:#cc68f3;font-size:20px;font-weight:400}
.recon-admin .u-editor-category[open]>summary::before{content:'−'}
.recon-admin .u-editor-category>summary small{margin-left:auto;font-size:10px;color:#a390b2;font-weight:400}
.recon-admin .u-editor-category>div,.recon-admin .u-editor-category>section{padding:0 24px 24px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.recon-admin .u-editor-category .formgrid{gap:18px!important}
.recon-admin .u-editor-category label{font-size:12px!important;line-height:1.6;color:#c8b5d7!important}
.recon-admin .u-size-hint{display:block!important;font-size:11px!important;color:#c391df!important;font-weight:400!important;line-height:1.7;margin:5px 0}
.recon-admin .u-editor-preview{display:block;width:100%;max-width:240px;height:130px;object-fit:contain;background:#0b081133;border:1px dashed #a86ac32b;border-radius:5px;margin-top:10px}
.recon-admin .u-editor-category input[type=file]{font-size:11px!important;padding:10px!important}
.recon-admin .u-studio-intro h2{font-size:24px!important;font-weight:550!important}
@media(max-width:760px){body.unified-site .rule-layout{grid-template-columns:1fr!important}.unified-site .rule-categories{position:static!important;display:flex!important;overflow-x:auto!important;gap:7px!important}.unified-site .rule-category{flex:none!important;width:auto!important}.unified-site .faction-grid{grid-template-columns:1fr!important}body.unified-site :is(.forum-header,.appeal-header){height:auto!important;min-height:60px!important;flex-wrap:wrap;padding:12px 20px!important;gap:15px}body.unified-site .forum-wrap{padding:0 22px 40px!important}body.unified-site .forum-banner{padding:28px 22px!important}.unified-site .u-auth-overlay{padding:20px}body.unified-site .u-auth-card{padding:38px 25px 25px!important;max-height:calc(100svh - 40px)!important}body.unified-site .u-auth-card :is(h1,h2){font-size:24px!important}body.unified-site .u-choice-dialog{padding:22px!important;max-height:90svh!important}.unified-site .u-choice-hero{max-height:280px!important}body.unified-site:not(.admin-dashboard):not(.embedded-team) :is(.ss-page,.appeal-wrap){padding:90px 22px 45px!important}.unified-site .rule-intro-card{padding:23px!important}.unified-site .u-choice-body{padding:20px 0 8px}.recon-admin .u-editor-category>summary{padding:17px;font-size:13px}.recon-admin .u-editor-category>summary small{display:none}.recon-admin .u-editor-category>div,.recon-admin .u-editor-category>section{padding:0 17px 20px!important}}
@media(prefers-reduced-motion:reduce){.unified-site .u-page-loader,.unified-site .u-choice-dialog,.unified-site .u-loader-spinner{animation:none!important;transition:none!important}}
