/* Account and applications: carbon, ivory, and restrained signal red. */
.portal-page { padding-bottom:100px; }
.portal-heading .page-description { max-width:710px; }
.portal-label { display:block; color:#85909a; font-family:var(--mono,Consolas,monospace); font-size:10px; line-height:1.7; letter-spacing:.1em; font-weight:400; }
.portal-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:25px; }
.portal-page .button { gap:24px; }
.portal-page .button:disabled { cursor:wait; opacity:.55; transform:none; }
.portal-page :is(input,select,textarea,button,a):focus-visible { outline:2px solid #ff4551; outline-offset:4px; }
.portal-page [hidden] { display:none!important; }
.portal-plain-button { border:0; background:none; font:inherit; }
.portal-gate { padding:36px 40px; border:1px solid var(--line-strong); border-left:2px solid var(--red); background:linear-gradient(110deg,#11151a,#090c0f); margin-bottom:30px; }
.portal-gate h2 { max-width:720px; margin-top:15px; font-size:30px; font-weight:500; letter-spacing:-.03em; }
.portal-gate>p { margin-top:14px; max-width:690px; color:#a6afb8; font-size:16px; line-height:1.7; }
.portal-gate p strong { color:#e2e6e9; font-weight:500; }
.portal-gate .portal-gate-note { margin-top:22px; color:#79848e; font-size:13px; }
.portal-gate-title { display:flex; align-items:center; gap:16px; margin-top:15px; }
.portal-gate-title h2 { margin:0; }
.portal-discord-mark { display:inline-flex; color:#bcc5ce; }
.portal-discord-mark svg { width:34px; height:34px; }
.portal-services { display:grid; grid-template-columns:1.08fr 1fr; gap:36px; }
.portal-service { display:flex; flex-direction:column; min-height:326px; padding:32px; border:1px solid var(--line-strong); background:#0b0e11; transition:background .2s,border-color .2s; }
.portal-service:hover { background:#10151a; border-color:#69737d; }
.portal-service-top { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.portal-service-arrow { font-size:29px; color:var(--red); line-height:1; }
.portal-service h2 { margin-top:35px; font-size:39px; font-weight:500; letter-spacing:-.04em; }
.portal-service>p { margin-top:15px; max-width:400px; font-size:16px; color:#9aa4ae; line-height:1.65; }
.portal-service-bottom { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--line); padding-top:20px; margin-top:34px; font-size:14px; }
.portal-service-tag { font-size:10px; font-family:var(--mono,monospace); color:#b7c1ca; padding:4px 8px; border:1px solid #3d474f; white-space:nowrap; }
.portal-service.is-locked .portal-service-tag { color:#7d8993; border-color:#2a3138; }
.portal-how { padding:29px 0 15px 12px; }
.portal-how ol { list-style:none; margin:23px 0 0; padding:0; }
.portal-how li { display:flex; align-items:start; gap:22px; margin-top:22px; font-size:17px; color:#d6dce2; }
.portal-how li>span { color:#eb3946; font-family:var(--mono,monospace); font-size:10px; padding-top:5px; }
.portal-how li p { margin-top:4px; color:#828e99; font-size:14px; line-height:1.6; }
.portal-account-strip { display:flex; align-items:center; flex-wrap:wrap; gap:18px 30px; padding:19px 23px; border:1px solid var(--line); margin-bottom:30px; background:#090c0e; font-size:14px; }
.portal-account-strip>div { display:flex; align-items:center; gap:12px; }
.portal-account-strip small { margin-left:14px; color:#818d98; font-size:12px; }
.portal-status-dot { width:6px; height:6px; background:#b6c6bd; box-shadow:0 0 0 4px #a3bdab0a; }
.portal-strip-discord svg { height:18px; width:18px; color:#8896a4; }
.portal-connected { color:#b0c7b6; font-size:11px; border:1px solid #a5c8ac26; background:#a5c8ac06; padding:3px 8px; white-space:nowrap; }
.portal-account-strip>.text-link { margin-left:auto; font-size:12px; }
.portal-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:26px; }
.portal-section-head h2 { margin-top:12px; font-size:31px; font-weight:500; letter-spacing:-.03em; }
.portal-history { margin-top:69px; }
.portal-history .text-link { font-size:13px; }
.portal-empty { padding:38px 30px; border:1px dashed #343e47; text-align:center; background:#080a0c; }
.portal-empty h3 { font-size:20px; font-weight:500; }
.portal-empty p { max-width:530px; margin:9px auto 0; color:#83909c; font-size:14px; }
.portal-empty .button { margin-top:21px; }
.portal-empty-mark { display:inline-flex; justify-content:center; align-items:center; width:36px; height:36px; border:1px solid #414a53; margin-bottom:17px; font-size:20px; color:#9da9b3; }
.portal-loading .portal-loader { display:inline-block; width:18px; height:18px; border:1px solid #444e58; border-top-color:#e8edef; border-radius:50%; animation:portal-spin 1s linear infinite; }
.portal-application-list { margin:0; padding:0; list-style:none; display:grid; gap:16px; }
.portal-application { padding:26px 29px; border:1px solid var(--line-strong); background:#0a0d10; }
.portal-application-top { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.portal-application h3 { margin-top:8px; font-size:23px; font-weight:500; }
.portal-application>p { color:#8f9ca7; font-size:14px; margin-top:16px; }
.portal-delivery { display:inline-flex; align-items:center; gap:8px; font-size:11px; padding:5px 9px; border:1px solid #49535c; color:#bac3cc; line-height:1.4; }
.portal-delivery>span { display:block; width:5px; height:5px; background:currentColor; flex-shrink:0; }
.portal-delivery.is-sent { color:#acc5b4; border-color:#9dbaa83b; background:#96bfa408; }
.portal-delivery.is-error { color:#f29a9f; border-color:#db37464d; background:#d81f2a0b; }
.portal-application-bottom { display:flex; align-items:center; gap:18px; margin-top:22px; padding-top:19px; border-top:1px solid var(--line); }
.portal-application-bottom time,.portal-application-id { color:#73808b; font-family:var(--mono,monospace); font-size:10px; }
.portal-application-bottom .button { margin-left:auto; }
.portal-form-layout { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:56px; align-items:start; }
.portal-restoration { min-width:0; }
.portal-form-section { padding:31px 0 34px; border-top:1px solid var(--line-strong); }
.portal-form-section:first-child { padding-top:5px; border-top:0; }
.portal-form-section-title { display:flex; gap:16px; align-items:baseline; margin-bottom:21px; }
.portal-form-section-title>span { color:#ed3946; font-size:10px; font-family:var(--mono,monospace); }
.portal-form-section-title h2 { font-size:25px; font-weight:500; letter-spacing:-.025em; }
.portal-form-intro { color:#86939e; font-size:13px; line-height:1.7; margin:-9px 0 24px; max-width:680px; }
.portal-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px 22px; }
.portal-field { display:flex; flex-direction:column; align-items:stretch; position:relative; gap:9px; margin-top:22px; color:#cbd2d9; font-size:14px; line-height:1.5; }
.portal-field-grid .portal-field { margin:0; }
.portal-field>input,.portal-field>select,.portal-field>textarea { width:100%; }
.portal-input { min-width:0; width:100%; min-height:51px; background:#15191e; border:1px solid #333c45; border-radius:0; padding:13px 15px; color:#eff2f5; font-size:15px; line-height:1.5; transition:border-color .18s,background .18s; }
.portal-input:hover { border-color:#59636d; }
.portal-input:focus { outline:none; border-color:#adb5bf; background:#171c22; }
.portal-input:focus-visible { outline:2px solid #ff4551; outline-offset:3px; }
.portal-input::placeholder { color:#71808d; opacity:1; }
.portal-input[readonly] { background:#0e1216; color:#a8b2bb; border-color:#2a3239; cursor:default; }
.portal-input[aria-invalid="true"] { border-color:#db5660; }
textarea.portal-input { resize:vertical; min-height:145px; padding-bottom:33px; }
select.portal-input { appearance:auto; color-scheme:dark; padding-right:12px; }
.portal-mono { font-family:var(--mono,Consolas,monospace); font-size:13px; }
.portal-field-hint { display:block; color:#8c99a5; font-size:12px; line-height:1.65; font-weight:400; }
.portal-counter { position:absolute; right:14px; bottom:12px; color:#7e8a96; font-family:var(--mono,monospace); font-size:10px; pointer-events:none; }
.portal-rank-field { max-width:330px; }
.portal-field-error { color:#ff9ca3; font-size:12px; margin-top:8px; line-height:1.6; }
.portal-field-error:empty { display:none; }
.portal-proof { border:0; padding:0; margin:26px 0 0; min-width:0; }
.portal-proof legend { padding:0; color:#cbd2d9; font-size:14px; }
.portal-proof legend>span { color:#ec5260; }
.portal-proof>.portal-field-hint { margin:7px 0 14px; }
.portal-file-picker { position:relative; display:flex; align-items:center; gap:16px; border:1px dashed #4a5661; background:#11161b; padding:23px; cursor:pointer; transition:border-color .18s,background .18s; overflow:hidden; }
.portal-file-picker:hover { border-color:#9ba7b2; background:#171e25; }
.portal-file-picker:focus-within { outline:2px solid #ff4551; outline-offset:4px; }
.portal-file-picker input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.portal-file-picker strong { display:block; color:#d8dee4; font-size:14px; font-weight:500; }
.portal-file-picker small { display:block; margin-top:5px; color:#7f8d99; font-size:11px; }
.portal-upload-symbol { display:flex; justify-content:center; align-items:center; width:35px; height:35px; flex-shrink:0; border:1px solid #3f4b56; color:#e0e6ec; font-size:23px; line-height:1; }
.portal-url-label { display:block; color:#98a5b1; font-size:12px; margin:15px 0 8px; }
.portal-files { display:grid; gap:7px; list-style:none; margin:12px 0 0; padding:0; }
.portal-files:empty { display:none; }
.portal-files li { display:flex; align-items:center; gap:15px; padding:10px 12px; border:1px solid #303b44; background:#11171c; }
.portal-files li>span { display:flex; align-items:center; gap:13px; min-width:0; flex:1; }
.portal-files strong { color:#c2ccd4; font-size:12px; font-weight:400; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
.portal-files small { color:#7d8b97; font-size:10px; white-space:nowrap; }
.portal-files button { display:flex; justify-content:center; align-items:center; width:28px; height:28px; padding:0; border:1px solid #46515d; background:transparent; color:#aab5bf; flex-shrink:0; font-size:20px; }
.portal-files button:hover { background:#d81f2a1c; color:#ffadb3; border-color:#b35059; }
.portal-form-aside { position:sticky; top:114px; }
.portal-side-note { border:1px solid var(--line-strong); padding:26px; background:#0a0d10; }
.portal-side-note h3 { margin-top:22px; font-size:25px; line-height:1.2; font-weight:450; letter-spacing:-.03em; }
.portal-side-note p { color:#8c99a5; margin-top:15px; font-size:13px; line-height:1.8; }
.portal-side-note ul { color:#8c99a5; padding-left:17px; margin-top:20px; font-size:12px; line-height:1.8; }
.portal-side-note li { margin-top:8px; padding-left:3px; }
.portal-side-note li::marker { color:#bc313d; }
.portal-side-note-small { background:transparent; border:0; border-left:1px solid #454e58; margin-top:25px; padding:2px 0 2px 23px; }
.portal-side-note-small .text-link { font-size:12px; margin-top:16px; }
.portal-submit-area { border-top:1px solid var(--line-strong); padding-top:29px; }
.portal-consent { display:flex; align-items:start; gap:13px; cursor:pointer; color:#9aa7b2; font-size:12px; line-height:1.8; }
.portal-consent input { appearance:auto; width:17px; height:17px; margin:3px 0 0; flex-shrink:0; accent-color:#c92b39; }
.portal-submit { margin-top:27px; min-width:250px; }
.portal-submit-note { color:#788692; font-size:11px; margin-top:12px; }
.portal-message { margin-top:18px; padding:12px 15px; border:1px solid #53685c; background:#a1bdab08; color:#bfcebf; font-size:13px; line-height:1.7; }
.portal-message.is-error { color:#ffadb4; background:#d81f2a09; border-color:#ba46505c; }
.portal-profile { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line-strong); background:#0a0d10; }
.portal-profile-main { padding:40px; }
.portal-profile h2 { margin-top:25px; font-size:39px; font-weight:500; overflow-wrap:anywhere; }
.portal-profile-static { color:#82909d; margin-top:12px; font-size:14px; }
.portal-profile-static strong { color:#b5c0c9; font-weight:400; margin-left:12px; font-family:var(--mono,monospace); }
.portal-profile-main .button { margin-top:37px; }
.portal-profile-discord { position:relative; padding:40px; border-left:1px solid var(--line-strong); }
.portal-profile-discord>.portal-discord-mark { position:absolute; top:33px; right:34px; }
.portal-profile-discord h3 { margin-top:26px; padding-right:25px; font-size:26px; font-weight:500; overflow-wrap:anywhere; }
.portal-profile-discord>p { color:#8f9ca8; font-size:14px; max-width:380px; line-height:1.7; margin-top:13px; }
.portal-profile-discord .portal-profile-id { font-family:var(--mono,monospace); font-size:11px; color:#778590; }
.portal-profile-discord .portal-connected { display:inline-block; margin-top:22px; }
.portal-profile-discord .button { margin-top:25px; }
.portal-account-bottom { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:26px; }
.portal-account-bottom p { color:#73818d; font-size:13px; }
.portal-account-bottom .text-link { font-size:13px; }
.portal-auth-layout { display:grid; grid-template-columns:minmax(300px,530px) 1fr; gap:90px; align-items:start; }
.portal-auth-card { background:#0b0e12; border:1px solid var(--line-strong); }
.portal-auth-tabs { display:flex; border-bottom:1px solid var(--line-strong); }
.portal-auth-tabs a { padding:20px; color:#798895; flex:1; text-align:center; font-size:14px; position:relative; }
.portal-auth-tabs a:hover { color:#edf2f6; background:#ffffff02; }
.portal-auth-tabs a.active { color:#edf2f6; background:#ffffff03; }
.portal-auth-tabs a.active::after { content:''; height:2px; position:absolute; left:28px; right:28px; bottom:-1px; background:#d81f2a; }
.portal-auth-form { padding:9px 32px 32px; }
.portal-auth-form .portal-field { margin-top:24px; }
.portal-password-wrap { display:block; position:relative; }
.portal-password-wrap input { padding-right:92px; }
.portal-password-wrap button { position:absolute; inset:8px 8px 8px auto; padding:5px 9px; border:1px solid transparent; background:transparent; color:#8c9aa7; font-size:10px; }
.portal-password-wrap button:hover { background:#ffffff06; color:#eff2f4; border-color:#46515c; }
.portal-auth-submit { width:100%; margin-top:30px; justify-content:space-between; }
.portal-auth-aside { padding-top:22px; max-width:445px; }
.portal-auth-aside h2 { font-size:clamp(29px,3.3vw,45px); font-weight:450; letter-spacing:-.035em; line-height:1.15; margin-top:26px; }
.portal-auth-aside p { color:#8c9ba7; font-size:15px; line-height:1.8; margin-top:23px; }
.portal-auth-route { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:32px; font-size:12px; color:#c1cbd3; }
.portal-auth-route>span:nth-child(even) { color:#e73b47; }
.portal-auth-aside .portal-auth-footnote { font-size:12px; color:#71808c; margin-top:34px; padding-top:24px; border-top:1px solid var(--line); }
.portal-result { padding:45px 40px; border:1px solid var(--line-strong); background:#0a0e11; }
.portal-result-mark { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:1px solid #8caa9759; color:#b8cabe; font-size:25px; margin-bottom:26px; }
.portal-result h2 { margin-top:13px; font-size:39px; font-weight:500; letter-spacing:-.035em; }
.portal-result>p { color:#8f9eaa; margin-top:17px; max-width:620px; font-size:15px; line-height:1.75; }
.portal-result>.portal-delivery { margin-top:23px; }
.portal-result>.button { display:flex; width:fit-content; margin-top:23px; }
.portal-result .portal-result-note { font-size:12px; color:#71808b; margin-top:25px; }
@keyframes portal-spin { to { transform:rotate(360deg); } }
@media(min-width:1500px) { .portal-form-layout { grid-template-columns:minmax(0,900px) 300px; gap:70px; } }
@media(max-width:1100px) { .portal-auth-layout { gap:45px; } .portal-form-layout { grid-template-columns:minmax(0,1fr) 245px; gap:30px; } .portal-side-note { padding:22px; } .portal-account-strip { gap:13px 20px; } .portal-account-strip>.text-link { margin-left:0; } .portal-profile-main,.portal-profile-discord { padding:30px; } }
@media(max-width:850px) { .portal-form-layout { grid-template-columns:1fr; } .portal-form-aside { position:static; display:grid; grid-template-columns:1fr 1fr; gap:24px; order:2; margin-top:13px; } .portal-side-note-small { margin-top:0; } .portal-services { grid-template-columns:1fr; gap:14px; } .portal-how { padding:20px 5px 0; } .portal-how ol { display:grid; grid-template-columns:1fr 1fr 1fr; gap:23px; } .portal-how li { gap:11px; margin-top:0; } .portal-how li>div { font-size:15px; } .portal-how li p { font-size:12px; } .portal-auth-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; } .portal-auth-form { padding-inline:24px; } .portal-profile h2 { font-size:31px; } .portal-application-top { flex-wrap:wrap; } }
@media(max-width:650px) { .portal-page { padding-bottom:60px; } .portal-heading { margin-bottom:26px; } .portal-gate { padding:25px 22px; } .portal-gate h2 { font-size:26px; } .portal-gate>p { font-size:14px; } .portal-gate-title { align-items:start; gap:13px; } .portal-gate-title h2 { margin-top:3px; } .portal-discord-mark svg { width:29px; height:29px; } .portal-gate .portal-actions .button { width:100%; } .portal-service { padding:25px; min-height:300px; } .portal-service h2 { font-size:34px; margin-top:30px; } .portal-service>p { font-size:14px; } .portal-service-bottom { font-size:12px; margin-top:28px; } .portal-service-tag { font-size:8px; } .portal-how ol { grid-template-columns:1fr; gap:20px; } .portal-how li { gap:20px; } .portal-how li>div { font-size:16px; } .portal-how li p { font-size:13px; } .portal-history { margin-top:45px; } .portal-section-head { align-items:center; gap:12px; } .portal-section-head h2 { font-size:26px; } .portal-section-head .text-link { font-size:11px; gap:7px; } .portal-account-strip { padding:18px; display:grid; gap:16px; } .portal-account-strip small { margin-left:8px; font-size:10px; } .portal-account-strip>.text-link { justify-self:start; } .portal-strip-discord { flex-wrap:wrap; } .portal-field-grid { grid-template-columns:1fr; gap:17px; } .portal-form-section-title { gap:12px; } .portal-form-section-title h2 { font-size:22px; } .portal-form-section { padding-block:27px; } .portal-rank-field { max-width:none; } .portal-file-picker { padding:18px 16px; gap:12px; } .portal-file-picker strong { font-size:13px; } .portal-file-picker small { font-size:10px; } .portal-form-aside { grid-template-columns:1fr; margin-top:5px; } .portal-side-note { padding:24px; } .portal-side-note-small { padding:3px 0 3px 23px; } .portal-submit { width:100%; } .portal-submit-note { text-align:center; font-size:10px; } .portal-application { padding:22px; } .portal-application h3 { font-size:22px; } .portal-application-bottom { flex-wrap:wrap; gap:10px; } .portal-application-bottom .button { width:100%; margin:8px 0 0; } .portal-application>p { font-size:13px; } .portal-delivery { font-size:10px; } .portal-empty { padding:30px 20px; } .portal-empty h3 { font-size:18px; } .portal-empty p { font-size:12px; } .portal-profile { grid-template-columns:1fr; } .portal-profile-main,.portal-profile-discord { padding:27px; } .portal-profile-discord { border-left:0; border-top:1px solid var(--line-strong); } .portal-profile-main .button { width:100%; } .portal-profile h2 { font-size:32px; } .portal-profile-discord h3 { font-size:24px; } .portal-account-bottom { flex-direction:column; align-items:start; gap:15px; } .portal-account-bottom p { font-size:12px; } .portal-auth-layout { grid-template-columns:1fr; gap:35px; } .portal-auth-card { max-width:100%; } .portal-auth-form { padding-inline:23px; padding-bottom:25px; } .portal-auth-aside { padding-top:0; max-width:none; } .portal-auth-aside h2 { margin-top:16px; font-size:29px; } .portal-auth-aside p { margin-top:16px; font-size:14px; } .portal-auth-route { margin-top:23px; } .portal-auth-aside .portal-auth-footnote { margin-top:23px; } .portal-result { padding:30px 24px; } .portal-result h2 { font-size:32px; } .portal-result>p { font-size:14px; } .portal-page>.portal-actions .button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .portal-loader { animation:none!important; } .portal-page * { scroll-behavior:auto!important; transition:none!important; } }
