:root {
    color-scheme: dark;
    --background: #03070e;
    --surface: #07101d;
    --surface-strong: #0c1b2f;
    --text: #ebf4ff;
    --muted: #849dba;
    --accent: #4289ff;
    --accent-strong: #2acfff;
    --line: #19344f;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at 82% 0%, #0c3157 0, transparent 38rem), var(--background); color: var(--text); min-height: 100vh; }
a { color: inherit; }
.site-header { min-height: 84px; position: sticky; top: 0; z-index: 50; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 0 5vw 0 0; border-bottom: 1px solid #28577f; background: rgb(12 42 72 / 96%); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; justify-self: start; text-decoration: none; }
.brand-logo { display: block; width: 150px; height: 76px; object-fit: contain; }
.eyebrow { color: var(--accent-strong); }
.main-nav { display: flex; align-items: stretch; gap: 10px; }
.main-nav a { position: relative; min-width: 112px; padding: 15px 20px; color: var(--muted); text-align: center; text-decoration: none; transition: color .18s ease, background .18s ease; }
.main-nav .nav-game { min-width: 82px; padding: 5px 12px; }
.nav-game img { display: block; width: 58px; height: 58px; margin: 0 auto; object-fit: contain; }
.main-nav a::before, .main-nav a::after { content: ''; position: absolute; width: 9px; height: 9px; opacity: 0; transition: opacity .18s ease, transform .18s ease; }
.main-nav a::before { top: 5px; left: 5px; border-top: 1px solid var(--accent-strong); border-left: 1px solid var(--accent-strong); transform: translate(4px, 4px); }
.main-nav a::after { right: 5px; bottom: 5px; border-right: 1px solid var(--accent-strong); border-bottom: 1px solid var(--accent-strong); transform: translate(-4px, -4px); }
.main-nav a:hover, .main-nav a.active { color: var(--text); background: #0a1728; }
.main-nav a:hover::before, .main-nav a:hover::after, .main-nav a.active::before, .main-nav a.active::after { opacity: 1; transform: translate(0); }
.account-nav { justify-self: end; display: flex; align-items: center; gap: 16px; }
.account-nav a { color: var(--muted); text-decoration: none; }
.portal-link { padding: 12px 16px; border: 1px solid var(--line); background: var(--surface); color: var(--text) !important; }
.portal-link span { color: var(--accent-strong); margin-left: 7px; }
.language-switch { display: flex; border: 1px solid var(--line); background: #07111d; }
.language-switch a { min-width: 34px; padding: 8px 9px; text-align: center; font-size: .78rem; font-weight: 800; }
.language-switch a.active { color: #06101b; background: var(--accent-strong); }
main { width: min(1180px, 90vw); margin: 0 auto; }
main:has(.portal-layout) { width: 100%; max-width: none; }
.hero, .game-hero { padding: 15vh 0 12vh; max-width: 860px; }
.game-hero { padding-bottom: 8vh; }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; font-weight: 700; }
h1 { font-size: clamp(3rem, 8vw, 6.8rem); line-height: .94; letter-spacing: -.055em; margin: 18px 0 28px; }
.visual-title { margin: 18px 0 28px; }
.visual-title img { display: block; width: min(280px, 68vw); max-height: 250px; object-fit: contain; object-position: left center; }
h2 { margin-top: 0; }
.lead { color: var(--muted); font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.65; max-width: 700px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border: 1px solid var(--line); border-radius: 5px; background: linear-gradient(180deg, #0b2136, #07101d); color: var(--text); text-decoration: none; font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgb(0 0 0 / 15%), inset 0 1px rgb(255 255 255 / 4%); transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.button:hover, .button:focus-visible { border-color: #4083b2; background: linear-gradient(180deg, #103657, #0a1b2c); box-shadow: 0 9px 24px rgb(0 0 0 / 24%), 0 0 0 3px rgb(42 207 255 / 8%); transform: translateY(-1px); }
.button:active { transform: translateY(1px); }
.button.primary { background: linear-gradient(180deg, #5fddff, #28aeda); color: #03101b; border-color: #79e7ff; box-shadow: 0 8px 26px rgb(42 207 255 / 19%), inset 0 1px rgb(255 255 255 / 45%); }
.button.primary:hover, .button.primary:focus-visible { background: linear-gradient(180deg, #8ae9ff, #39c2ee); border-color: #d0f8ff; box-shadow: 0 10px 30px rgb(42 207 255 / 28%), 0 0 0 3px rgb(42 207 255 / 13%); }
.feature, .panel, .three-columns article { background: linear-gradient(145deg, var(--surface-strong), var(--surface)); border: 1px solid var(--line); }
.feature { display: flex; justify-content: space-between; align-items: end; gap: 30px; padding: clamp(28px, 5vw, 60px); margin-bottom: 80px; }
.feature p { color: var(--muted); line-height: 1.7; max-width: 650px; }
.three-columns, .account-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 80px; }
.three-columns article, .panel { padding: 28px; }
.three-columns p, .panel p { color: var(--muted); line-height: 1.65; }
.form-shell, .account-shell, .admin-shell { padding: 10vh 0; }
.form-shell, .account-shell { max-width: 760px; margin-inline: auto; }
.form-shell > h1, .form-shell > .eyebrow { text-align: center; }
.form-shell .form-card { margin-inline: auto; }
.portal-inline-form { display: grid; gap: 12px; margin-bottom: 14px; }
.form-shell h1, .account-shell h1, .admin-shell h1 { font-size: clamp(2.8rem, 7vw, 5rem); }
.form-card { display: grid; gap: 20px; padding: 28px; background: var(--surface); border: 1px solid var(--line); }
label { display: grid; gap: 8px; color: var(--muted); }
input, textarea, select { width: 100%; min-height: 48px; padding: 13px 16px; background: linear-gradient(180deg, #081525, #040b14); color: var(--text); border: 1px solid #285275; border-radius: 6px; outline: 0; box-shadow: inset 0 1px 0 rgb(255 255 255 / 3%); font: inherit; text-align: center; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
input:hover, textarea:hover, select:hover { border-color: #3977a5; background: linear-gradient(180deg, #0a1b2f, #050d18); }
input:focus, textarea:focus, select:focus { border-color: var(--accent-strong); box-shadow: 0 0 0 3px rgb(42 207 255 / 13%), inset 0 1px 0 rgb(255 255 255 / 4%); }
input::placeholder, textarea::placeholder { color: #607b98; text-align: center; }
textarea { resize: vertical; line-height: 1.6; }
select { appearance: none; padding-right: 50px; cursor: pointer; border-color: #32648d; background-color: #07111e; background-image: linear-gradient(45deg, transparent 50%, #63d8ff 50%), linear-gradient(135deg, #63d8ff 50%, transparent 50%), linear-gradient(90deg, transparent calc(100% - 45px), rgb(42 207 255 / 12%) calc(100% - 45px)), linear-gradient(180deg, #0b2034, #050d18); background-position: calc(100% - 21px) 21px, calc(100% - 15px) 21px, 0 0, 0 0; background-size: 6px 6px, 6px 6px, 100% 100%, 100% 100%; background-repeat: no-repeat; box-shadow: inset 0 1px rgb(255 255 255 / 5%), 0 5px 16px rgb(0 0 0 / 12%); }
select:hover { color: #fff; border-color: var(--accent-strong); background-color: #0a1c30; background-image: linear-gradient(45deg, transparent 50%, #8be5ff 50%), linear-gradient(135deg, #8be5ff 50%, transparent 50%), linear-gradient(90deg, transparent calc(100% - 45px), rgb(42 207 255 / 18%) calc(100% - 45px)), linear-gradient(180deg, #0d2942, #07111e); box-shadow: 0 0 0 2px rgb(42 207 255 / 10%), inset 0 1px rgb(255 255 255 / 6%); }
select:focus-visible { color: #fff; background-color: #0a1c30; }
select option, select optgroup { padding: 10px; color: var(--text); background-color: #07101d; }
select option:hover, select option:focus, select option:checked { color: #fff; background: #123958 linear-gradient(180deg, #123958, #0a2238); }
.translation-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.language-field-label { display: flex; align-items: center; gap: 8px; }.language-field-label b, .post-translation-preview > span { min-width: 34px; padding: 4px 7px; color: #03101b; text-align: center; background: var(--accent-strong); font-size: .7rem; letter-spacing: .08em; }
.post-translation-preview { position: relative; margin-top: 14px; padding: 16px; border: 1px solid #1b3d59; background: #050d18; }.post-translation-preview > span { position: absolute; top: 0; right: 0; }.post-translation-preview h2 { margin-top: 10px; }
.check { display: flex; align-items: center; gap: 10px; }
.check input { width: auto; min-height: 0; padding: 0; box-shadow: none; }
.error { color: #ff968f; }
.notice { width: min(1180px, 90vw); margin: 20px auto 0; padding: 14px 18px; background: var(--surface); border-left: 3px solid var(--accent); }
.account-grid { grid-template-columns: repeat(2, 1fr); }
.status { color: var(--accent-strong) !important; font-weight: 700; }
.admin-list { display: grid; gap: 16px; }
.admin-row { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.admin-row h2 { margin-bottom: 0; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-actions form { margin: 0; }
.news-admin { max-width: none; }
.post-editor { margin: 34px 0; }
.post-editor .button { justify-self: start; }
.news-list { margin-top: 24px; }
.news-row { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 28px; }
.news-row form { margin: 0; }
.news-body { white-space: pre-line; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
.news-section { margin: 20px 0 80px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.section-heading h2 { font-size: clamp(2rem, 4vw, 3.5rem); margin-bottom: 0; }
.news-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.news-card { width: 100%; min-height: clamp(180px, var(--post-card-height, 300px), 600px); }
.news-card h3 { font-size: 1.4rem; margin: 8px 0 12px; }
.news-card p:last-child { color: var(--muted); line-height: 1.65; }
.news-card.has-media { display: grid; grid-template-columns: minmax(150px, 34%) 1fr; gap: 22px; align-items: start; }
.news-card.has-media:not(:has(img)) { grid-template-columns: 1fr; }
.news-card.media-right img { order: 2; }
.news-card img, .admin-content-image { width: 100%; max-height: 300px; object-fit: cover; border: 1px solid var(--line); }
.news-card.style-highlight { border-color: #2acfff; background: linear-gradient(145deg, #12395b, #07101d); box-shadow: inset 5px 0 #2acfff; }
.post-option-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.game-content-editor { margin: 34px 0; }
.game-content-editor .button { justify-self: start; }
.version-admin-list { display: grid; gap: 16px; margin: 24px 0 42px; }
.version-editor { grid-column: 1 / -1; padding: 10px 0; }
.version-editor summary { cursor: pointer; color: var(--accent-strong); font-weight: 700; }
.version-editor form { display: grid; gap: 14px; margin-top: 18px; }
.portal-shell { max-width: 1050px; }
.portal-shell .account-grid { align-items: stretch; }
.portal-tools { display: flex; flex-wrap: wrap; gap: 10px; }
.portal-tools a { padding: 10px 12px; border: 1px solid var(--line); color: var(--text); text-decoration: none; }
.portal-sidebar .portal-logout { color: #ff9b8b; }
.portal-sidebar .portal-logout:hover, .portal-sidebar .portal-logout:focus-visible { color: #fff; border-color: #c64651; background: linear-gradient(90deg, #8d202a, #58151d); }
.news-only-page { min-height: 62vh; padding: 70px 0 30px; }
.news-only-page h1 { margin-bottom: 0; }
.page-game-logo { width: 190px; height: 130px; object-fit: contain; object-position: left center; }
.portal-layout { width: min(1420px, 96vw); min-height: 720px; margin: 34px auto; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
.portal-sidebar { position: sticky; top: 112px; z-index: 30; min-height: 680px; display: flex; flex-direction: column; gap: 5px; padding: 8px; overflow: visible; border: 1px solid #244968; border-radius: 7px; background: linear-gradient(160deg, #0c2034, #050d18 72%); box-shadow: 0 22px 55px rgb(0 0 0 / 34%), inset 0 1px rgb(255 255 255 / 4%); }
.portal-sidebar-account { display: grid; grid-template-columns: 50px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 76px; margin-bottom: 3px; padding: 10px; border-bottom: 1px solid #24425c; background: linear-gradient(90deg, rgb(42 207 255 / 8%), transparent); }
.portal-sidebar-account > span:last-child { min-width: 0; display: grid; gap: 3px; }.portal-sidebar-account small { color: var(--accent-strong); font-size: .65rem; font-weight: 900; letter-spacing: .15em; }.portal-sidebar-account strong { overflow: hidden; font-size: 1.05rem; text-overflow: ellipsis; white-space: nowrap; }
.portal-sidebar-avatar { width: 50px; height: 50px; display: grid; place-items: center; overflow: hidden; border: 1px solid #42627c; background: #2b2f36; box-shadow: 0 7px 20px rgb(0 0 0 / 28%); font-size: 1.25rem; font-weight: 900; }.portal-sidebar-avatar img { width: 100%; height: 100%; object-fit: contain; }
.portal-nav-entry, .portal-sidebar button { position: relative; min-height: 56px; display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0 15px; overflow: hidden; border: 1px solid transparent; border-radius: 4px; color: var(--muted); background: transparent; text-decoration: none; font: inherit; font-weight: 750; cursor: pointer; transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease; }
.portal-nav-entry::before, .portal-sidebar button::before { content: ''; position: absolute; inset: 9px auto 9px 0; width: 3px; opacity: 0; background: linear-gradient(var(--accent-strong), var(--accent)); box-shadow: 0 0 12px rgb(42 207 255 / 60%); transition: opacity .16s ease; }
.portal-nav-label { display: flex; align-items: center; gap: 11px; }.portal-nav-label i, .portal-submenu a i { width: 24px; color: #68dfff; text-align: center; font-style: normal; font-weight: 900; }.portal-nav-entry > b { color: #66829e; font-size: 1.35rem; transition: color .16s ease, transform .16s ease; }
.portal-nav-entry:hover, .portal-nav-entry:focus-visible, .portal-sidebar button:hover, .portal-sidebar button:focus-visible { color: var(--text); border-color: #315b7d; background: linear-gradient(90deg, #0d3151, #0a2035); transform: translateX(2px); outline: 0; }
.portal-nav-entry:hover::before, .portal-nav-entry:focus-visible::before, .portal-sidebar button:hover::before, .portal-sidebar button:focus-visible::before, .portal-sidebar .portal-nav-entry.active::before { opacity: 1; }
.portal-sidebar .portal-nav-entry.active { color: #fff; border-color: #376d96; background: linear-gradient(90deg, #103b61, #0a2239); box-shadow: inset 0 1px rgb(255 255 255 / 5%); }
.portal-sidebar .portal-settings-entry { margin-top: auto; color: #f4c743; border-color: rgb(167 125 25 / 42%); background: linear-gradient(90deg, rgb(102 80 20 / 32%), rgb(51 38 10 / 18%)); }
.portal-sidebar .portal-settings-entry:hover, .portal-sidebar .portal-settings-entry:focus-visible, .portal-sidebar .portal-settings-entry.active { color: #fff1ad; border-color: #a77d19; background: linear-gradient(90deg, #665014, #33260a); box-shadow: inset 0 1px rgb(255 243 174 / 8%), 0 0 18px rgb(244 199 67 / 10%); }
.portal-sidebar .portal-settings-entry:hover::before, .portal-sidebar .portal-settings-entry:focus-visible::before, .portal-sidebar .portal-settings-entry.active::before { opacity: 1; background: linear-gradient(#ffe284, #e2a921); box-shadow: 0 0 12px rgb(244 199 67 / 55%); }
.portal-sidebar .portal-settings-entry .portal-nav-label i { color: #f4c743; }
.portal-menu-group { position: relative; z-index: 90; }
.portal-menu-group:hover > .portal-nav-entry > b, .portal-menu-group:focus-within > .portal-nav-entry > b { color: var(--accent-strong); transform: translateX(3px); }
.portal-submenu { position: absolute; top: -8px; left: calc(100% + 8px); z-index: 100; width: 290px; display: grid; gap: 4px; padding: 8px; visibility: hidden; opacity: 0; transform: translateX(-7px) scale(.985); transform-origin: left top; pointer-events: none; border: 1px solid #2c597c; border-radius: 6px; background: linear-gradient(155deg, #0c2238, #050d18); box-shadow: 0 24px 65px rgb(0 0 0 / 55%), inset 0 1px rgb(255 255 255 / 4%); transition: opacity .14s ease, transform .14s ease, visibility .14s; }
.portal-submenu::before { content: ''; position: absolute; top: 0; right: 100%; width: 10px; height: 100%; }
.portal-menu-group:hover .portal-submenu, .portal-menu-group:focus-within .portal-submenu { visibility: visible; opacity: 1; transform: translateX(0) scale(1); pointer-events: auto; }
.portal-submenu-title { padding: 8px 11px 9px; color: var(--accent-strong); border-bottom: 1px solid #23425b; font-size: .66rem; font-weight: 900; letter-spacing: .16em; }
.portal-submenu a { min-height: 46px; display: flex; align-items: center; gap: 10px; padding: 0 12px; color: var(--muted); text-decoration: none; border: 1px solid transparent; border-radius: 3px; transition: color .14s ease, border-color .14s ease, background .14s ease, padding .14s ease; }
.portal-submenu a:hover, .portal-submenu a:focus-visible { color: var(--text); border-color: #2e5878; background: #0c2c49; padding-left: 15px; outline: 0; }.portal-submenu a.active { color: #fff; border-color: #34739e; background: linear-gradient(90deg, #104064, #0b2943); }
.portal-logout-form { margin-top: 6px; padding-top: 6px; border-top: 1px solid #203b52; }
.portal-content { min-width: 0; }
.portal-page { min-height: 680px; padding: 34px; border: 1px solid var(--line); background: rgb(3 9 17 / 86%); }
.portal-page > h1 { font-size: clamp(2.6rem, 6vw, 5rem); }
.public-profile-page { padding: 48px 0 72px; }
.public-profile-toolbar { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.public-profile-toolbar-start, .public-profile-toolbar-actions { display: flex; align-items: center; gap: 10px; }
.public-profile-toolbar-actions { margin-left: auto; }
.public-profile-toolbar-actions form { margin: 0; }
.profile-friendship-state { min-height: 42px; display: inline-flex; align-items: center; padding: 0 16px; color: var(--muted); border: 1px solid #27445e; background: #07101d; }
.portal-profile-card { position: relative; min-height: 230px; display: flex; align-items: center; gap: 32px; margin-bottom: 22px; padding: 34px; overflow: hidden; border: 1px solid #285275; background: linear-gradient(135deg, #102a45, #07101d 58%, #040a12); box-shadow: 0 18px 46px rgb(0 0 0 / 28%), inset 0 1px rgb(255 255 255 / 4%); }
.portal-profile-card::after { content: ''; position: absolute; right: -70px; bottom: -110px; width: 280px; height: 280px; border: 1px solid rgb(42 207 255 / 12%); transform: rotate(28deg); pointer-events: none; }
.portal-profile-accent { position: absolute; inset: 0 0 auto; height: 8px; background: linear-gradient(90deg, #a4abb4, #2acfff, #4289ff); }
.portal-avatar, .friend-avatar { flex: 0 0 auto; display: grid; place-items: center; overflow: visible; color: #eef6ff; background: #2b2f36; font-weight: 900; }
.portal-avatar { width: 160px; height: 160px; border: 1px solid #47657e; box-shadow: 0 12px 28px rgb(0 0 0 / 34%); font-size: 3.8rem; }
.portal-avatar img, .friend-avatar img { width: 100%; height: 100%; object-fit: contain; }
.portal-profile-copy { position: relative; z-index: 1; display: grid; gap: 10px; }
.portal-profile-copy strong { font-size: clamp(2rem, 4vw, 3.5rem); }
.portal-profile-copy span { color: var(--muted); }
.portal-profile-copy p { max-width: 680px; margin: 8px 0 0; color: #d4e2ef; line-height: 1.65; white-space: pre-wrap; }
.profile-owner-tools { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.profile-edit-button { border-color: #3879a8; background: #0b2945; }
.profile-columns { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr) minmax(230px, .62fr); gap: 18px; }
.profile-panel { min-height: 340px; padding: 24px; border: 1px solid var(--line); background: linear-gradient(145deg, #081522, #040a12); box-shadow: inset 4px 0 #1c79b7; }
.profile-achievements-panel { box-shadow: inset 4px 0 #778391; }
.profile-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.profile-panel-heading h2, .profile-panel-heading p { margin: 0; }
.profile-panel-heading > span { min-width: 42px; padding: 9px; color: #ddecf8; text-align: center; border: 1px solid #27445e; background: #0b1929; }
.profile-game-list, .profile-achievement-groups { display: grid; gap: 12px; }
.profile-game { display: grid; grid-template-columns: 125px minmax(0, 1fr); align-items: center; gap: 14px; min-height: 92px; padding: 10px 14px; border: 1px solid #18344d; background: #07101d; }
.profile-game img { width: 125px; height: 72px; object-fit: contain; }
.profile-game > div { display: grid; gap: 5px; }.profile-game span { color: var(--muted); }
.achievement-group { display: grid; gap: 7px; }.achievement-group h3 { margin: 4px 0 5px; color: var(--accent-strong); font-size: .86rem; letter-spacing: .1em; text-transform: uppercase; }
.achievement-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 12px; border: 1px solid #1b354c; background: #0a1725; }
.achievement-row i { color: var(--accent-strong); font-style: normal; }.achievement-row div { display: grid; gap: 4px; }.achievement-row span { color: var(--muted); font-size: .86rem; }
.profile-friends-panel { box-shadow: inset 4px 0 #8059d9; }
.profile-friend-grid { display: grid; gap: 8px; }
.profile-friend { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 64px; padding: 8px 11px; color: var(--text); text-decoration: none; border: 1px solid #1b354c; background: #07101d; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.profile-friend:hover { border-color: #477ca5; background: #0b2034; transform: translateX(2px); }
.profile-friend .friend-avatar { width: 46px; height: 46px; }
.profile-empty { color: var(--muted); line-height: 1.6; }
.profile-edit-form { display: grid; gap: 28px; }.profile-icon-picker { display: flex; flex-wrap: wrap; gap: 10px; }
.profile-icon-choice { display: block; color: var(--text); cursor: pointer; }.profile-icon-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.profile-icon-choice span { width: 78px; height: 78px; display: grid; place-items: center; overflow: hidden; border: 2px solid #243d54; background: #2b2f36; font-size: 1.8rem; font-weight: 900; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.profile-icon-choice img { width: 100%; height: 100%; object-fit: contain; }.profile-icon-choice:hover span { border-color: #4b8fbd; transform: translateY(-2px); }.profile-icon-choice input:checked + span { border-color: var(--accent-strong); box-shadow: 0 0 0 3px rgb(42 207 255 / 15%); }
.achievement-visibility-editor { display: grid; gap: 14px; }.achievement-visibility-editor > p { margin-top: -8px; color: var(--muted); }.achievement-visibility-editor fieldset { display: grid; gap: 8px; padding: 16px; border: 1px solid var(--line); }.achievement-visibility-editor legend { padding: 0 8px; color: var(--accent-strong); font-weight: 800; }.achievement-check span { display: grid; gap: 3px; }.achievement-check small { color: var(--muted); }
.profile-edit-actions { display: flex; justify-content: flex-end; gap: 10px; }.settings-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.portal-settings-form { display: flex; flex-direction: column; gap: 14px; }.portal-settings-form .button { margin-top: auto; }
.profile-products { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 22px; }
.profile-products span { padding: 8px 11px; border: 1px solid var(--line); color: var(--muted); background: var(--surface); }
.owner-badge { margin-left: auto; padding: 7px 10px; color: #07101d; background: var(--accent-strong); font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.portal-settings { max-width: 760px; }
.portal-friends { margin-top: 34px; }
.portal-section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 14px; }
.portal-section-heading h2 { margin: 2px 0 0; }
.friend-add-form { display: grid; grid-template-columns: minmax(220px, 1fr) auto; align-items: end; gap: 14px; margin-bottom: 14px; }
.friend-add-form .error { grid-column: 1 / -1; }
.portal-friend-list { display: grid; gap: 8px; }
.portal-friend-row { display: grid; grid-template-columns: auto minmax(160px, 1fr) auto; align-items: center; gap: 16px; padding: 12px 14px; border: 1px solid var(--line); background: #07101d; }
.portal-friend-row > div:nth-child(2) { display: grid; gap: 4px; }
.portal-friend-row > div:nth-child(2) span { color: var(--muted); font-size: .86rem; }
.friend-avatar { position: relative; width: 52px; height: 52px; font-size: 1.3rem; }
.friend-status { position: absolute; right: -4px; bottom: -4px; width: 13px; height: 13px; border: 2px solid #07101d; border-radius: 50%; background: #747d88; }
.friend-status.online { background: #43d36f; }.friend-status.away { background: #e7a83e; }.friend-status.dnd { background: #e34e58; }
.friend-actions { display: flex; gap: 8px; }.friend-actions form { margin: 0; }
.button.danger:hover { color: #fff; border-color: #c63d49; background: #a5252f; }
.status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0 34px; }
.service-card { display: flex; align-items: center; gap: 16px; }
.service-dot { flex: 0 0 13px; width: 13px; height: 13px; background: #788391; }
.service-dot.online { background: #43d36f; box-shadow: 0 0 14px rgb(67 211 111 / 55%); }
.service-dot.offline { background: #d95364; }
.user-admin-list { display: grid; gap: 16px; }
.user-admin-card { display: grid; gap: 20px; margin: 0; }
.user-admin-head { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto; gap: 18px; align-items: end; }
.permission-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.permission-grid fieldset { display: grid; gap: 12px; margin: 0; padding: 16px; border: 1px solid var(--line); }
.permission-grid legend { padding: 0 7px; color: var(--accent-strong); font-weight: 800; }
.user-list-panel { display: grid; margin-top: 24px; border: 1px solid var(--line); background: #07101d; }
.user-search { display: grid; gap: 8px; max-width: 520px; margin-top: 30px; }
.user-list-head, .user-list-row { display: grid; grid-template-columns: minmax(180px, 1fr) 130px 110px 130px; align-items: center; gap: 16px; min-height: 58px; padding: 8px 16px; border-bottom: 1px solid var(--line); }
.user-list-head { min-height: 44px; color: var(--muted); background: #0b1929; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.user-list-row:hover { background: #0b2945; }
.user-admin-dialog { width: min(980px, 92vw); max-height: 88vh; padding: 0; color: var(--text); border: 1px solid var(--line); background: #07101d; box-shadow: 0 30px 90px rgb(0 0 0 / 70%); }
.user-admin-dialog::backdrop { background: rgb(0 4 10 / 78%); backdrop-filter: blur(3px); }
.user-admin-dialog .user-admin-card { padding: 26px; }
.dialog-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.dialog-head h2 { margin: 0; }
.dialog-close { width: 42px; height: 42px; color: #fff; border: 0; background: #a5252f; font-size: 1.6rem; cursor: pointer; }
.dialog-close:hover { background: #d13b48; }
.news-channel-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 24px; }
.news-channel-tabs a { padding: 14px 16px; color: var(--muted); text-align: center; text-decoration: none; border: 1px solid var(--line); background: #07101d; }
.news-channel-tabs a:hover { color: var(--text); background: #103455; }
.news-channel-tabs a.active { color: #06121e; border-color: var(--accent-strong); background: var(--accent-strong); }
.build-upload { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(280px, 1fr) auto; align-items: end; gap: 14px; margin-bottom: 26px; }
.build-upload .error { grid-column: 1 / -1; }
.build-list { display: grid; border: 1px solid var(--line); background: #07101d; }
.build-list-head, .build-row { display: grid; grid-template-columns: 130px minmax(180px, 1fr) 150px 110px minmax(220px, auto); align-items: center; gap: 14px; min-height: 62px; padding: 9px 14px; border-bottom: 1px solid var(--line); }
.build-list-head { min-height: 44px; color: var(--muted); background: #0b1929; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.build-row.active { background: #0b2945; box-shadow: inset 4px 0 var(--accent-strong); }
.build-state { color: var(--muted); font-size: .75rem; font-weight: 900; letter-spacing: .08em; }
.build-row.active .build-state { color: var(--accent-strong); }
.build-actions { display: flex; justify-content: flex-end; gap: 7px; }.build-actions form { margin: 0; }
.site-footer { width: 100%; margin: 80px 0 0; padding: 42px 5vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; color: var(--muted); border-top: 1px solid var(--line); background: #02050a; }
.site-footer strong { color: var(--text); }
.footer-brand-logo { display: block; width: 150px; height: 90px; object-fit: contain; object-position: left center; }
.site-footer p { margin: 7px 0 0; }
.site-footer > p { justify-self: end; }
.footer-links { display: flex; gap: 22px; }
.footer-links a { color: var(--muted); text-decoration: none; }
.footer-links a:hover { color: var(--accent-strong); }

@media (max-width: 1050px) {
    .portal-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 16px; }
    .portal-submenu { width: 250px; }
    .profile-columns { grid-template-columns: 1fr; }
    .profile-panel { min-height: 0; }
}

@media (max-width: 760px) {
    .site-header { position: static; grid-template-columns: 1fr; gap: 8px; padding: 10px 16px 14px 0; }
    .brand { grid-column: 1; grid-row: 1; justify-self: start; }
    .brand-logo { width: 125px; height: 64px; }
    .account-nav { grid-column: 1; grid-row: 2; justify-self: center; font-size: .92rem; }
    .main-nav { grid-column: 1; grid-row: 3; justify-content: center; }
    .main-nav a { min-width: 96px; padding-inline: 14px; }
    h1 { font-size: clamp(2.8rem, 15vw, 4.5rem); }
    .feature { align-items: flex-start; flex-direction: column; }
    .three-columns, .account-grid { grid-template-columns: 1fr; }
    .admin-row { align-items: stretch; flex-direction: column; }
    .news-row, .news-grid { grid-template-columns: 1fr; }
    .news-card.has-media { grid-template-columns: 1fr; }
    .news-card.media-right img { order: initial; }
    .section-heading { align-items: flex-start; flex-direction: column; }
    .site-footer { grid-template-columns: 1fr; }
    .site-footer > p { justify-self: start; }
    .portal-layout { grid-template-columns: 1fr; }
    .portal-sidebar { position: static; min-height: 0; }
    .portal-sidebar .portal-settings-entry { margin-top: 8px; }
    .portal-sidebar-account { min-height: 68px; }
    .portal-submenu { position: static; width: auto; display: none; margin: 4px 0 7px 24px; transform: none; }
    .portal-menu-group:hover .portal-submenu, .portal-menu-group:focus-within .portal-submenu { display: grid; }
    .status-grid, .permission-grid { grid-template-columns: 1fr; }
    .user-admin-head { grid-template-columns: 1fr; }
    .friend-add-form, .portal-friend-row, .user-list-head, .user-list-row, .post-option-grid, .build-upload, .build-list-head, .build-row { grid-template-columns: 1fr; }
    .user-list-head { display: none; }
    .build-list-head { display: none; }
    .build-actions { justify-content: flex-start; flex-wrap: wrap; }
    .portal-profile-card { align-items: flex-start; flex-direction: column; }
    .public-profile-toolbar { align-items: stretch; flex-direction: column; }
    .public-profile-toolbar-actions { width: 100%; margin-left: 0; flex-wrap: wrap; }
    .profile-columns, .settings-stack { grid-template-columns: 1fr; }
    .translation-fields { grid-template-columns: 1fr; }
    .news-channel-tabs { grid-template-columns: 1fr; }
    .portal-page { padding: 22px; }
}

.pd-monogram{display:inline-grid;place-items:center;min-width:64px;min-height:54px;border:1px solid #a986ea;border-radius:14px;background:linear-gradient(145deg,#352152,#101e34);color:#eadcff;font-size:26px;font-weight:800;letter-spacing:3px}.pd-hero{display:flex;gap:32px;align-items:flex-start;max-width:1200px;margin:40px auto;padding:36px;background:linear-gradient(120deg,#231a36,#0c2338);border:1px solid #594273;border-radius:18px}.pd-hero p{max-width:850px;line-height:1.7}.pd-hero h1{font-size:clamp(30px,5vw,56px);margin:8px 0}.pd-hero .button{margin:12px 12px 0 0}.pd-monogram:hover{border-color:#e4c9ff;background:#493064}@media(max-width:650px){.pd-hero{margin:20px 12px;padding:22px;flex-direction:column}.main-nav{flex-wrap:wrap}}

/* Another Dungeon */
.ad-page{--ad-gold:#dcc39a;--ad-muted:#9cabb9;max-width:1320px;margin:auto;padding:0 40px 40px;color:#e9eef2}
.ad-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center;padding:80px 0 72px;border-bottom:1px solid #263644}
.ad-kicker{font-size:10px;font-weight:700;letter-spacing:2.1px;color:var(--ad-gold);line-height:1.8;margin:0 0 22px}
.ad-kicker>span,.ad-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b9d2b0;margin-right:8px;box-shadow:0 0 14px #b9d2b044}
.ad-hero h1{font-size:clamp(58px,6.8vw,96px);line-height:1.02;font-weight:700;letter-spacing:-4px;margin:0 0 28px}.ad-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--ad-gold)}.ad-title-dot{color:var(--ad-gold)}
.ad-tagline{font-size:21px;color:#e4eaf0;margin:0 0 14px}.ad-intro{color:var(--ad-muted);font-size:15px;line-height:1.85;max-width:490px}
.ad-actions{display:flex;gap:26px;align-items:center;margin:32px 0}.ad-primary,.ad-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;text-decoration:none;font-size:13px;font-weight:700;padding:16px 20px;border-radius:6px;transition:background .18s,transform .18s}.ad-primary{background:#dcc39a;color:#152231;border:1px solid #dcc39a;white-space:nowrap}.ad-primary:hover{background:#f0ddbd;transform:translateY(-2px);color:#152231}.ad-secondary{color:#c4cfda;padding:16px 0}.ad-secondary:hover{color:white}.ad-primary:focus-visible,.ad-secondary:focus-visible{outline:2px solid #fff;outline-offset:5px}
.ad-platforms{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;letter-spacing:.3px;color:#8496a7}.ad-status{display:inline-flex;align-items:center;color:#b5cbb3;white-space:nowrap}.ad-status i{width:5px;height:5px}
.ad-blueprint{border:1px solid #394651;border-radius:12px;background:radial-gradient(ellipse at 50% 80%,#7e613c20,transparent 65%),linear-gradient(140deg,#142635,#0b1823);box-shadow:0 24px 90px #0004;transform:rotate(-3deg);overflow:hidden}.ad-blueprint svg{display:block;width:100%;height:auto}.ad-map-top,.ad-map-bottom{display:flex;justify-content:space-between;padding:18px 20px;font-family:Consolas,monospace;font-size:10px;letter-spacing:1.2px;color:#8e9ba4}.ad-map-top{border-bottom:1px solid #ffffff0c}.ad-map-bottom{border-top:1px solid #ffffff0c;font-family:inherit;font-size:11px;letter-spacing:0}.ad-coordinate{font-family:Consolas,monospace;color:#b8a47e}
.ad-features,.ad-news{padding:66px 0}.ad-section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.ad-section-head .ad-kicker{margin-bottom:10px}.ad-section-head h2,.ad-account h2{font-size:clamp(24px,3vw,34px);letter-spacing:-1px;line-height:1.2;margin:0}.ad-section-head>p{color:var(--ad-muted);max-width:330px;font-size:13px;line-height:1.8;margin:0}
.ad-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ad-feature{background:linear-gradient(140deg,#152636,#0d1c28);border:1px solid #293b4a;border-radius:10px;padding:28px;transition:border-color .2s,transform .2s}.ad-feature:hover{border-color:#88785e;transform:translateY(-4px)}.ad-feature-number{font-family:Consolas,monospace;font-size:10px;letter-spacing:1px;color:#8e9cab}.ad-feature-symbol{font-size:34px;color:var(--ad-gold);margin:30px 0 16px}.ad-feature h3{font-size:19px;line-height:1.3;margin:0 0 12px;letter-spacing:-.3px}.ad-feature p{font-size:13px;line-height:1.8;color:var(--ad-muted);margin:0 0 25px}.ad-feature-note{display:block;border-top:1px solid #ffffff0d;padding-top:18px;font-size:10px;color:#bfae90;letter-spacing:.4px}
.ad-account{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:36px 40px;background:linear-gradient(110deg,#342b254d,#152b394d);border:1px solid #4b453b;border-radius:10px}.ad-account .ad-kicker{margin-bottom:9px}.ad-account p:not(.ad-kicker){font-size:13px;line-height:1.8;max-width:680px;color:var(--ad-muted);margin-bottom:0}.ad-news-count{font-size:11px;color:#92a2af;border:1px solid #34434e;padding:8px 12px;border-radius:20px}.ad-news-empty{grid-column:1/-1;display:flex;align-items:center;gap:25px;background:#101f2c;border:1px dashed #3b4852;border-radius:10px;padding:30px}.ad-news-empty>span:first-child{font-size:35px;color:var(--ad-gold)}.ad-news-empty h3{font-size:17px;margin:0 0 8px}.ad-news-empty p{font-size:13px;color:var(--ad-muted);line-height:1.7;margin:0}.ad-news-empty>.ad-status{margin-left:auto;font-size:11px}.ad-development-note{font-size:11px;color:#7f909e;line-height:1.7;border-top:1px solid #263644;padding-top:22px;margin:0}
@media(max-width:950px){.ad-hero{gap:30px;padding:50px 0}.ad-hero h1{font-size:64px}.ad-page{padding:0 24px 30px}.ad-feature{padding:22px}.ad-actions{gap:16px}.ad-account{gap:25px;padding:28px}.ad-map-bottom{flex-direction:column;gap:6px}}
@media(max-width:700px){.ad-hero{grid-template-columns:1fr;gap:40px}.ad-hero h1{font-size:70px}.ad-blueprint{max-width:430px;width:92%;margin:0 auto 15px;transform:rotate(-2deg)}.ad-feature-grid{grid-template-columns:1fr}.ad-section-head,.ad-account{align-items:flex-start;flex-direction:column}.ad-section-head>p{max-width:none}.ad-features,.ad-news{padding:42px 0}.ad-news-empty{align-items:flex-start;flex-wrap:wrap}.ad-news-empty>div{flex:1;min-width:170px}.ad-news-empty>.ad-status{margin-left:0}.ad-feature-symbol{margin-top:22px}.ad-hero h1{letter-spacing:-3px}}
@media(prefers-reduced-motion:reduce){.ad-primary,.ad-feature{transition:none}.ad-primary:hover,.ad-feature:hover{transform:none}}

/* Embedded Wiget Application uses the same portal, sized to its Windows host. */
.application-host .site-footer {display:none}
.application-host main {max-width:none;width:100%;margin:0}
.application-host .portal-layout {max-width:none;min-height:calc(100vh - 84px)}
.application-host .portal-sidebar {min-height:calc(100vh - 84px)}
.application-host .portal-logout-form {display:none}
/* Keep the minimal copyright footer below the complete page content. */
body:not(.wa-desktop) { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
body:not(.wa-desktop) > main { flex:1 0 auto; }
body:not(.wa-desktop) > .site-footer { display:block; flex-shrink:0; width:100%; margin-top:auto; padding:24px clamp(24px,5vw,80px); color:#8396a9; font-size:13px; text-align:left; background:transparent; border-top:1px solid #ffffff0a; }
.maintenance-page { background:radial-gradient(ellipse at 50% 20%,#203b55 0%,#0b1726 45%,#080f19 100%); }
.maintenance-message { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 24px; }
.maintenance-message > img { width:210px; max-width:65vw; margin-bottom:38px; }.maintenance-message .eyebrow { color:#79d7ea; letter-spacing:4px; font-size:12px; }.maintenance-message h1 { font-size:clamp(40px,6vw,76px); line-height:1.08; margin:18px 0 24px; }.maintenance-message > p:not(.eyebrow) { color:#a9bacb; line-height:1.8; }.maintenance-status { margin-top:28px; padding:10px 18px; border-radius:30px; border:1px solid #65cbe933; background:#65cbe90b; color:#8ddbec; font-size:13px; }

/* Shared account appearance */
body { background-attachment:fixed; }
.appearance-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.appearance-fields fieldset{border:1px solid #ffffff20;border-radius:14px;padding:18px;min-width:0}.appearance-fields label{display:grid;gap:8px;margin:12px 0}.appearance-fields select{width:100%;padding:12px;border:1px solid #ffffff25;border-radius:8px;background:#101b29;color:#eef5ff}.appearance-preview{padding:28px;border-radius:16px;margin:18px 0;display:grid;gap:8px}.appearance-preview strong{font-size:24px}.appearance-preview small{color:#d4dfed}.portal-profile-card{border-radius:18px;overflow:hidden}.portal-avatar{border-radius:18px}.portal-content,.portal-page{background:transparent}.profile-edit-form,.portal-profile-panel{background:#0b1522e8;backdrop-filter:blur(12px)}*{scrollbar-width:thin;scrollbar-color:#51718a #111b29}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#51718a;border:2px solid #111b29;border-radius:12px}*::-webkit-scrollbar-track{background:#111b29}@media(max-width:740px){.appearance-fields{grid-template-columns:1fr}}

.appearance-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.appearance-fields .appearance-tile{display:block;margin:0;position:relative;cursor:pointer}.appearance-tile input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.appearance-swatch{display:flex;align-items:center;justify-content:center;min-height:70px;border:2px solid transparent;border-radius:10px;color:#fff;font-weight:600;text-shadow:0 1px 4px #000;transition:border-color .12s,transform .12s}.appearance-tile:hover .appearance-swatch{transform:translateY(-2px);border-color:#88a9bf}.appearance-tile input:checked+.appearance-swatch{border-color:#76d7ff;box-shadow:0 0 0 2px #76d7ff30}.appearance-tile input:focus-visible+.appearance-swatch{outline:2px solid #fff;outline-offset:3px}.appearance-field-label{display:block;margin:16px 0 10px;color:#b8cee0}
/* One clearly scoped appearance area per card. */
.appearance-fields{grid-template-columns:1fr;gap:28px}.appearance-fields .appearance-section{padding:24px;border:1px solid #385267;border-radius:18px;background:#101e2c}.appearance-section legend{font-size:20px;font-weight:700;padding:0 10px;color:#f0f7ff}.appearance-scope,.appearance-help{color:#b5c7d8;line-height:1.6;margin:0 0 20px}.appearance-section-body{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);gap:28px}.appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.appearance-options>div+div{border-left:1px solid #ffffff18;padding-left:24px}.appearance-field-label{margin:0 0 12px;font-weight:700;color:#dce9f5}.appearance-preview-column .appearance-preview{margin:0;min-height:180px;align-content:center}.appearance-preview-column .appearance-preview strong{font-size:19px}.appearance-current{font-size:13px;line-height:1.7;color:#a9bfd2}.appearance-current strong{color:#8bd9ff}.appearance-avatar-example{width:48px;height:48px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;font-size:23px}.appearance-tile input:checked+.appearance-swatch::after{content:'✓';margin-left:7px}.appearance-swatch{min-height:54px}.appearance-tile input{z-index:1}.appearance-options .appearance-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1050px){.appearance-section-body{grid-template-columns:1fr}.appearance-preview-column .appearance-preview{min-height:110px}}@media(max-width:600px){.appearance-options{grid-template-columns:1fr}.appearance-options>div+div{border-left:0;border-top:1px solid #ffffff18;padding-left:0;padding-top:20px}.appearance-fields .appearance-section{padding:16px}}

/* Profile appearance is limited to the banner behind the icon. */
.portal-profile-card::after,.portal-profile-accent{display:none}.portal-avatar,.portal-sidebar-avatar{border:0;box-shadow:none;background:transparent}.profile-panel{background:#0b1522;box-shadow:none}

/* Match the native launcher profile: compact banner, icon showcase and counters. */
.launcher-profile .portal-profile-card{min-height:160px;box-sizing:border-box;padding:24px 34px;gap:32px;border-radius:0;box-shadow:none;align-items:flex-start}
.launcher-profile .portal-profile-accent{display:block;position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,#a4abb4,#4289ff)}
.launcher-profile .portal-avatar{width:112px;height:112px;border:1px solid #47657e;border-radius:0;box-shadow:none;background:transparent;font-size:3rem}
.launcher-profile .portal-profile-copy{flex:1;min-width:0}.launcher-profile .portal-profile-copy>strong{font-size:28px;line-height:40px}.launcher-profile .portal-profile-copy>span{display:block;margin-top:4px;color:#9cafc0}.launcher-profile .portal-profile-copy>p{margin:12px 0 0;color:#d4e2ef;font-size:16px}
.launcher-profile .owner-badge{margin:0 0 0 auto;min-width:80px;text-align:center;box-sizing:border-box;line-height:16px;padding:7px 10px;border-radius:0;background:#4289ff}
.launcher-profile .profile-columns{grid-template-columns:minmax(0,28fr) minmax(0,47fr) minmax(0,25fr);gap:18px}.launcher-profile .profile-panel{position:relative;border-radius:0;min-height:280px;padding:20px 24px;box-sizing:border-box}.launcher-profile .profile-panel:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#42cfff,#4289ff)}.launcher-profile .profile-achievements-panel:before{background:linear-gradient(#a0a9b5,#5b697c)}.launcher-profile .profile-friends-panel:before{background:linear-gradient(#8059d9,#4c3684)}
.launcher-profile .profile-panel-heading{min-height:48px;gap:10px}.launcher-profile .profile-panel-heading h2{font-size:24px}.profile-counters{display:flex;gap:8px;flex-shrink:0}.profile-counters>span{display:grid;place-items:center;min-width:42px;height:38px;padding:0 8px;box-sizing:border-box;border:1px solid #27445e;background:#0b1929}.profile-counters .profile-points{color:#42cfff;min-width:56px}
.profile-achievement-grid{display:flex;flex-wrap:wrap;gap:10px}.profile-achievement-icon{position:relative;width:54px;height:54px;display:grid;place-items:center;box-sizing:border-box;padding:7px;border:1px solid #2c7053;background:linear-gradient(#18342b,#0c1d1a);color:#42cfff;outline-offset:3px}.profile-achievement-icon img{width:100%;height:100%;object-fit:contain}.profile-achievement-icon:hover,.profile-achievement-icon:focus-visible{border-color:#42cfff;background:#23445d}.profile-achievement-tip{pointer-events:none;visibility:hidden;opacity:0;position:absolute;left:0;top:calc(100% + 8px);z-index:5;max-width:240px;width:max-content;padding:8px 12px;border:1px solid #37536b;background:#101e2c;color:#e1eef6;box-shadow:0 8px 18px #0005;font-size:14px}.profile-achievement-icon:hover .profile-achievement-tip,.profile-achievement-icon:focus-visible .profile-achievement-tip{visibility:visible;opacity:1}
@media(max-width:1000px){.launcher-profile .profile-columns{grid-template-columns:1fr 1fr}.launcher-profile .profile-friends-panel{grid-column:1/-1}}
@media(max-width:640px){.launcher-profile .portal-profile-card{padding:24px 18px;gap:16px;flex-direction:row;flex-wrap:wrap}.launcher-profile .portal-avatar{width:80px;height:80px}.launcher-profile .portal-profile-copy>strong{font-size:24px}.launcher-profile .owner-badge{position:absolute;right:12px;top:12px;min-width:0;font-size:10px;padding:3px 6px}.launcher-profile .profile-columns{grid-template-columns:1fr}.launcher-profile .profile-panel{min-height:160px}}
