/* Rounded symbols and controls shared by the store, account and launcher sign-in. */
/* Thematic filters stay near the results, including when the sidebar collapses. */
.community-themes{display:flex;align-items:flex-start;gap:15px;padding:17px 0;margin-top:10px;border-bottom:1px solid var(--line)}
.community-themes>strong{font-size:13px;line-height:34px;flex:none;color:var(--text-soft)}
.community-theme-options,.studio-category-field .studio-tag-presets{display:flex;flex-wrap:wrap;gap:6px}
html[data-season] body :is([data-community-category],.studio-category-field [data-studio-tag]){min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-soft);font:600 12px/1.6 Manrope,Arial,sans-serif;cursor:pointer;box-shadow:none}
html[data-season] body :is([data-community-category],.studio-category-field [data-studio-tag]):hover{background:var(--surface-raised);color:var(--text);border-color:var(--line)}
html[data-season] body :is([data-community-category],.studio-category-field [data-studio-tag])[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
html[data-season] body :is([data-community-category],.studio-category-field [data-studio-tag]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.studio-category-field{border:0;padding:0;margin:24px 0 0;min-width:0}
.studio-category-field legend{font-size:15px;font-weight:700;padding:0;color:var(--text)}
.studio-category-field .studio-tag-presets{margin:12px 0 0}
.studio-category-field #studio-category-status:empty{display:none}
.avatar-feedback{margin-top:10px;max-width:480px}
html[data-season] .avatar-feedback #profile-avatar-status{margin:7px 0 0!important;font-size:13px;line-height:1.7;color:var(--text-soft)!important}
.avatar-feedback progress{display:block;width:100%;height:7px;border:0;border-radius:10px;overflow:hidden;accent-color:var(--accent);background:var(--surface-raised)}
.avatar-feedback progress[hidden]{display:none}
.avatar-feedback progress::-webkit-progress-bar{background:var(--surface-raised)}
.avatar-feedback progress::-webkit-progress-value{background:var(--accent);border-radius:10px}
#profile-photo-row .profile-photo{position:relative;flex-shrink:0}
html[data-season] #profile-photo-row[data-avatar-state=saved] #profile-avatar-status{color:var(--success,#83d9b0)!important}
html[data-season=light] #profile-photo-row[data-avatar-state=saved] #profile-avatar-status{color:#17643c!important}
html[data-season] #profile-photo-row[data-avatar-state=error] #profile-avatar-status{color:var(--danger,#ffaca5)!important}
html[data-season=light] #profile-photo-row[data-avatar-state=error] #profile-avatar-status{color:#a62d28!important}
#profile-photo-row[data-avatar-state=uploading] .profile-photo:after{content:'';position:absolute;inset:0;background:var(--surface);opacity:.6;border-radius:inherit}
#profile-photo-row[data-avatar-state=saved] .profile-photo:after{content:'✓';position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;width:25px;height:25px;border:3px solid var(--surface);border-radius:50%;background:#237b4e;color:#fff;font:700 14px/1 Arial,sans-serif}
@media(max-width:700px){.community-themes{flex-direction:column;gap:5px;padding:12px 0}.community-themes>strong{line-height:1.6}.community-theme-options{gap:4px}html[data-season] body [data-community-category]{padding:6px 9px;min-height:36px}.profile-photo-row>div:last-child{min-width:0}}
.ui-icon{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;flex:none;vertical-align:middle;overflow:visible}
html[data-season] body :is(.button,.small-action,.text-link,.card-button,.account-bot,.nav-account,.nav-create,.profile-nav-toggle,.header-user>button,.file-choose-button,.file-picker-button,.danger-action){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 17px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:var(--surface-raised)!important;color:var(--text)!important;text-shadow:none!important;font:650 14px/1.6 Manrope,Arial,sans-serif!important;box-shadow:inset 0 1px #ffffff0b,0 2px 4px #0000000c!important;text-decoration:none;transition:background .18s,border-color .18s,transform .18s}
html[data-season] body :is(.button.primary,.button.identity-submit,.button.owner-submit){background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important;padding:14px 21px!important}
html[data-season] body :is(.button,.small-action,.text-link,.card-button,.nav-account,.file-picker-button):hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--accent) 12%,var(--surface-raised))!important;border-color:color-mix(in srgb,var(--accent) 65%,var(--line))!important;filter:none;transform:translateY(-1px)}
html[data-season] body .button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,white)!important;color:var(--accent-ink)!important}
html[data-season] body :is(.button,.small-action,.text-link,.card-button,.nav-account,.file-picker-button):active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 4px #0002!important}
html[data-season] body :is(button:disabled,.button[aria-disabled=true]){opacity:1;color:var(--text-soft)!important;cursor:not-allowed;transform:none;filter:none}
html[data-season] body .button.primary:disabled{background:var(--surface-raised)!important;border-color:var(--line)!important}
html[data-season] .action-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);color:inherit;background:color-mix(in srgb,currentColor 6%,transparent)}
.action-icon>.ui-icon{width:17px;height:17px;margin:0!important}
html[data-season] .theme-preview-halloween{background:linear-gradient(#160f1d44,#160f1d77),url('/assets/xxtra-halloween-world.webp') center/cover}
html[data-season] .theme-preview-light{background:linear-gradient(#ffffff22,#ffffff44),url('/assets/xxtra-daylight-world.webp') center/cover}
html[data-season] .theme-preview>.ui-icon{width:38px;height:38px;padding:8px;border:1px solid #ffffff66;border-radius:12px;background:#211a33aa;color:#fff;backdrop-filter:blur(8px)}
html[data-season] body .button.glass .ui-icon{fill:none}
html[data-season] body :is(.nav-account,.header-user>button){min-width:0;gap:9px;padding:9px 13px!important}
html[data-season] :is(.profile-nav-avatar,.header-user-avatar){border-radius:10px;overflow:hidden;width:29px;height:29px;flex:0 0 29px}
html[data-season] :is(.profile-nav-avatar,.header-user-avatar) img{border-radius:inherit}
html[data-season] :is(.profile-nav-toggle,.header-user>button)>.ui-icon{width:16px;height:16px;color:var(--text-soft)}
html[data-season] .account-nav :is(button,a)>.cabinet-icon{width:38px;height:38px;flex:0 0 38px;padding:8px;color:var(--accent);border:1px solid var(--line);border-radius:11px;background:var(--surface-raised)}
html[data-season] :is(.profile-nav-dropdown,.profile-menu) .profile-menu-icon :is(svg,img){width:21px;height:21px;padding:0;color:var(--accent)}
html[data-season] .staff-badge>.ui-icon{width:17px;height:17px;flex:0 0 17px;color:inherit;padding:0}
html[data-season] .hero-meta .interface-item{width:21px;height:21px;color:inherit}
html[data-season] .filter-tip .interface-item{color:var(--accent);width:25px;height:25px}
/* A compact glass dock uses the same symbols as the account. */
html[data-season] .hotbar{width:490px;max-width:100%;gap:4px!important;padding:7px!important;border:1px solid color-mix(in srgb,var(--line) 70%,var(--accent))!important;border-radius:17px;background:color-mix(in srgb,var(--surface) 82%,transparent)!important;backdrop-filter:blur(20px);box-shadow:0 12px 32px #0002,inset 0 1px #fff1!important}
html[data-season] .hotbar button{position:relative;display:grid;place-items:center;min-width:0;height:40px!important;border:0!important;border-radius:10px;background:transparent!important;box-shadow:none!important;color:var(--text-soft)}
html[data-season] .hotbar button:hover,html[data-season] .hotbar button.active{background:var(--surface-raised)!important;color:var(--accent)}
html[data-season] .hotbar .brand-item{width:23px;height:23px;flex:none;padding:0;filter:none;image-rendering:auto}
html[data-season] .hotbar small{position:absolute;bottom:1px;right:3px;font-size:8px!important;opacity:.65;color:inherit}
/* File input remains native and functional; the visible choice is a regular accessible button. */
.file-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.file-picker{display:flex;align-items:center;gap:12px;min-width:0;width:100%;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}
html[data-season] body .file-picker-button{flex:none;padding:9px 13px!important;min-height:42px;background:var(--surface)!important;font-size:13px!important;box-shadow:0 2px 4px #0001!important}
.file-picker-button .ui-icon{width:19px;height:19px;color:var(--accent)}
.file-picker-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 13px/1.6 Manrope,Arial,sans-serif;color:var(--text-soft)}
.file-picker.is-busy{opacity:.75}.profile-avatar-editor>label{min-width:0;display:grid;gap:10px}
.telegram-link-setting{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.telegram-link-setting .ui-icon{width:18px;height:18px}.telegram-link-setting>span{white-space:nowrap}
/* Image preparation stays local and bounded; transfer progress waits for server acknowledgement. */
.studio-transfer{position:sticky;bottom:94px;z-index:12;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:16px 20px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 6px 24px #0002;margin:16px 0}
.studio-transfer[hidden]{display:none!important}.studio-transfer>div{display:flex;align-items:center;justify-content:space-between;gap:14px;grid-column:1/-1}.studio-transfer strong{font-size:13px}.studio-transfer span{font-size:12px;color:var(--text-soft)}
.studio-transfer progress{display:block;width:100%;height:10px;align-self:center;appearance:none;accent-color:var(--accent);border:0;border-radius:20px;background:var(--surface-raised);overflow:hidden}.studio-transfer progress::-webkit-progress-bar{background:var(--surface-raised);border-radius:20px}.studio-transfer progress::-webkit-progress-value{background:var(--accent);border-radius:20px;transition:width .12s}.studio-transfer progress::-moz-progress-bar{background:var(--accent);border-radius:20px}.studio-transfer>button{border:1px solid var(--line);border-radius:9px;padding:6px 10px;font-size:12px;color:var(--text);background:var(--surface-raised)}
.studio-footer #community-save{margin-right:auto}.studio-footer #studio-step-caption{margin-left:0}.studio-footer #community-publish{min-width:155px}.studio-gallery-error{font-size:13px;line-height:1.8;color:var(--accent);margin:12px 0}.studio-screenshot-item img{aspect-ratio:16/10;object-fit:contain;background:var(--surface-raised)}
#studio-cover-edit{justify-self:start}#studio-cover-status:empty{display:none}.studio-file-fields .file-field{grid-template-rows:auto;align-content:start}.file-field-heading .ui-icon{width:22px;height:22px;color:var(--accent)}
html[data-season] .cover-crop-dialog{width:620px;max-width:calc(100vw - 28px);max-height:90svh;overflow:auto;padding:28px;background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--line);border-radius:23px;box-shadow:0 25px 100px #0007;font-family:Manrope,Arial,sans-serif}
.cover-crop-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cover-crop-dialog header .modal-close{position:static;flex:none}.cover-crop-dialog h2{font-size:24px;line-height:1.4;margin:8px 0 0}.cover-crop-dialog>p{font-size:13px;line-height:1.8;color:var(--text-soft)}
#cover-crop-canvas{display:block;width:100%;height:auto;max-height:40svh;object-fit:contain;background:var(--surface-raised);border:1px solid var(--line);border-radius:14px;touch-action:none;cursor:grab}#cover-crop-canvas:active{cursor:grabbing}.crop-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-top:18px}.crop-controls label{display:grid;gap:8px;min-width:0;font-size:12px;font-weight:600}.crop-controls input[type=range]{width:100%;min-width:0;accent-color:var(--accent);padding:0!important;height:24px;background:transparent!important;box-shadow:none!important}.crop-controls select{width:100%;padding:8px 12px;border:1px solid var(--line);font-size:13px}.cover-crop-dialog footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.cover-crop-dialog #cover-crop-status:empty{display:none}
@media(max-width:640px){.studio-footer{flex-wrap:wrap!important;gap:10px!important}.studio-footer #studio-step-caption{flex:1 1 100%;order:-1;text-align:center}.studio-footer #community-save,.studio-footer #community-publish{flex:1 1 calc(50% - 10px);padding:10px 12px!important;font-size:12px!important;min-width:0!important}.studio-transfer{bottom:160px;padding:13px}.studio-transfer>div{align-items:flex-start;flex-direction:column;gap:4px}.cover-crop-dialog footer{flex-direction:column}.crop-controls{grid-template-columns:1fr}html[data-season] .cover-crop-dialog{padding:22px}.cover-crop-dialog h2{font-size:21px}}
@media(max-width:640px){.studio-footer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch!important}.studio-footer #studio-step-caption{grid-column:1/-1}.studio-footer [data-studio-back],.studio-footer .studio-cancel{grid-column:1}.studio-footer [data-studio-next],.studio-footer #community-publish{grid-column:2}.studio-footer #community-save{grid-column:1;margin:0!important}.studio-footer #community-publish{margin:0!important}.studio-footer :is(#community-save,#community-publish){width:100%;height:100%}#project-editor[data-step="2"] .studio-footer .studio-cancel{grid-column:2}#project-editor[data-step="1"] .studio-footer .studio-cancel{display:none}}
html[data-season] .file-pick{border-radius:14px}.file-pick .file-choose-button{border-radius:10px!important}
html[data-season] #team-panel>label{display:grid;grid-template-columns:minmax(160px,auto) minmax(200px,380px);align-items:center;justify-content:space-between;gap:16px 24px;margin:24px 0 8px;width:100%;font-weight:600}
html[data-season] #team-search{width:100%;min-width:0;min-height:46px;padding:11px 14px;border:1px solid var(--line);border-radius:12px}
html[data-season] .settings-card dl>div{gap:18px;align-items:start}.settings-card dd{min-width:0;overflow-wrap:anywhere}
/* Light is a complete daytime palette, including the scene behind the controls. */
html[data-season=light]{--page-landscape:url('/assets/xxtra-daylight-world.webp');--page-floor:#f6f4f9;--panel:#fff;--cabinet-surface:#fff;--cabinet-muted:#62586e;--cabinet-line:#d6cede;--studio-ink:#2c2736;--studio-muted:#62586e}
html[data-season=light] body{background:#f6f4f9!important}
html[data-season=light] .hero{--text:#2c2736;--text-soft:#62586e;--accent:#76529d;--accent-ink:#fff;--line:#d6cede}
html[data-season=light] .hero-art{background-image:url('/assets/xxtra-daylight-world.webp')!important;filter:none!important;opacity:1}
html[data-season=light] .hero-shade{background:linear-gradient(0deg,#f6f4f9 0%,#f6f4f922 30%,#f6f4f944 100%),radial-gradient(ellipse at 50% 42%,#ffffffbb,transparent 66%)!important}
html[data-season=light] .hero-copy :is(h1,p,.hero-tagline,.hero-subtitle,.eyebrow,.hero-meta){color:var(--text)!important;text-shadow:none!important}
html[data-season=light] .hero-copy :is(.accent-word,em),html[data-season=light] .hero-subtitle{color:#664589!important;text-shadow:none!important}
html[data-season=light] .hero h1 .accent-word{color:#76529d!important;text-shadow:none!important}
html[data-season=light] .hero-copy>p :is(span,em){color:#5c456f!important;text-shadow:none!important}
html[data-season=light] :is(.hero-categories button,.hero-copy>.eyebrow){background:#ffffffcb!important;border-color:#cec1dc!important;color:#51435f!important;backdrop-filter:blur(10px)}
html[data-season=light] :is(.hero-meta,.scroll-cue,.hero-bottom,.hotbar-hint){color:#51435f!important;text-shadow:none!important}
html[data-season=light] .hero-actions .button{color:var(--text)!important;background:#fffffff0!important}
html[data-season=light] .hero-actions .button.primary{background:#76529d!important;color:#fff!important;border-color:#76529d!important}
html[data-season=light] .account-world{background:linear-gradient(#f6f4f950,#f6f4f9),url('/assets/xxtra-daylight-world.webp') center 42%/cover!important;opacity:.6!important}
html[data-season=light] .ambient-world::before{filter:blur(16px) saturate(.55)!important;opacity:.24}
html[data-season=light] :is(.market-hero::before,.market-portal-backdrop){background:linear-gradient(90deg,#f6f4f9dc,#f6f4f922),url('/assets/xxtra-daylight-world.webp') center/cover!important;opacity:.75}
html[data-season=light] :is(.account-heading,.market-hero-copy,.community-hero,.product-heading,.project-detail-title,.public-user-page,.support-page,.footer) :is(h1,h2,h3,p,.eyebrow,.subdued,.text-link){color:var(--text)!important;text-shadow:none!important}
html[data-season=light] :is(.final-cta,.home-pass,.ticker,.market-bottom,.market-faq,.steps article,.faq-list details,.subscription-world){background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-season=light] :is(.final-cta,.home-pass,.ticker,.market-bottom,.steps article,.faq-list details) :is(h2,h3,p,span,em,small){color:var(--text)!important;text-shadow:none!important}
html[data-season=light] :is(.product-modal,.community-dialog,dialog,.login-entry,.identity-form-card,.identity-telegram-card,.identity-profile-card,.identity-security-card,.login-splash,.account-error,.account-empty,.account-stats article,.account-overview,.favorite-card){background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important}
html[data-season=light] :is(dialog,.login-entry,.identity-form-card,.identity-telegram-card,.identity-profile-card,.identity-security-card,.account-empty,.account-stats,.settings-card) :is(h1,h2,h3,h4,strong,label,dt,dd,p,small){color:var(--text-soft)!important}
html[data-season=light] :is(dialog,.identity-form-card,.identity-telegram-card,.account-empty,.account-stats,.settings-card) :is(h1,h2,h3,h4,strong){color:var(--text)!important}
html[data-season=light] :is(.footer,.account-footer){color:var(--text-soft)!important;background:transparent!important}
html[data-season=light] .portal-composition{filter:drop-shadow(0 18px 22px #75648b20)}
html[data-season=light] .portal-classic{display:none!important}html[data-season=light] .portal-winter{display:block!important}
html[data-season=light] :is(.background-portal-surface,.portal-surface),html[data-season=halloween] :is(.background-portal-surface,.portal-surface){display:none!important}
/* Halloween changes the actual environment and portal, not only panel colors. */
html[data-season=halloween]{--page-landscape:url('/assets/xxtra-halloween-world.webp');--page-floor:#160f1d}
html[data-season=halloween] .hero-art{background-image:url('/assets/xxtra-halloween-world.webp')!important;filter:none!important}
html[data-season=halloween] .hero-shade{background:linear-gradient(0deg,#160f1d 0%,#160f1d12 42%,#160f1d40),radial-gradient(ellipse at 50% 35%,#160f1d60,transparent 75%)!important}
html[data-season=halloween] :is(.world-flow,.world-fx,.world-sky,.pixel-field,.season-snow){display:none!important}
html[data-season=halloween] .account-world{background:linear-gradient(#160f1d50,#160f1d),url('/assets/xxtra-halloween-world.webp') center/cover!important;opacity:.7}
html[data-season=halloween] :is(.market-hero::before,.market-portal-backdrop){background:linear-gradient(90deg,#160f1ddd,#160f1d33),url('/assets/xxtra-halloween-world.webp') center/cover!important}
html[data-season=halloween] .portal-composition>:not(.portal-halloween){display:none!important}
.portal-halloween{display:none!important;width:100%;height:auto;max-height:450px;object-fit:contain;filter:drop-shadow(0 20px 25px #07000a66)}
html[data-season=halloween] .portal-composition>.portal-halloween{display:block!important}
html[data-season=halloween] .final-cta{background:radial-gradient(ellipse at 80% 40%,#6c335030,transparent 70%),#241a2b!important;border-color:#dc9c8247!important;border-radius:24px}
html[data-season=halloween] .halloween-moon{display:none}html[data-season=halloween] .halloween-atmosphere{z-index:0;opacity:.35}
html[data-season=halloween] .hero-copy{position:relative;z-index:2}
/* Dialogs use the same quiet glass card and controls as the cabinet. */
html[data-season] :is(#login-dialog,#email-code-dialog,#delete-dialog){background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:24px;padding:34px;box-shadow:0 24px 100px #0007;max-width:min(540px,calc(100vw - 28px))}
html[data-season] dialog::backdrop{background:#0a07145c;backdrop-filter:blur(12px)}
html[data-season] .login-code{background:var(--surface-raised)!important;border:1px solid var(--line)!important;border-radius:8px;padding:4px 9px;color:var(--accent)!important;letter-spacing:.1em;font-size:16px}
html[data-season] .login-steps>li>span{border-radius:50%;background:var(--surface-raised);color:var(--accent);border-color:var(--line)}
html[data-season] .modal-close{display:grid;place-items:center;width:34px;height:34px;min-height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:var(--text-soft);box-shadow:none;font:400 24px/1 Arial,sans-serif}
@media(max-width:640px){html[data-season] #team-panel>label{grid-template-columns:minmax(0,1fr);gap:9px}html[data-season] .hotbar{width:100%;gap:1px!important;padding:5px!important;border-radius:13px}html[data-season] .hotbar button{height:34px!important}html[data-season] .hotbar .brand-item{width:20px;height:20px}.file-picker{flex-wrap:wrap;gap:8px}.file-picker-detail{flex:1 1 100%;padding:0 5px 3px}.file-picker-button{width:100%}html[data-season] :is(#login-dialog,#email-code-dialog,#delete-dialog){padding:26px 22px}.settings-card dl>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html[data-season] body :is(.button,.small-action,.text-link,.card-button,.nav-account,.file-picker-button){transition:none;transform:none!important}}

html[data-season] .studio-types label>.ui-icon{width:30px;height:30px;flex:0 0 30px;color:var(--accent)}
/* Icon swap without a flash */
:is(img[src$="/emojis/block.webp"]:not([id]),img[src$="/emojis/chest.webp"]:not([id]),img[src$="/emojis/book.webp"]:not([id]),img[src$="/emojis/gem.webp"]:not([id]),img[src$="/emojis/heart.webp"]:not([id]),img[src$="/emojis/compass.webp"]:not([id]),img[src$="/emojis/chat.webp"]:not([id]),img[src$="/emojis/tools.webp"]:not([id]),img[src$="/emojis/shield.webp"]:not([id]),img[src$="/emojis/helmet.webp"]:not([id]),img[src$="/emojis/crown.webp"]:not([id]),img[src$="/emojis/coin.webp"]:not([id]),img[src$="/emojis/fire.webp"]:not([id]),img[src$="/emojis/ticket.webp"]:not([id]),img[src$="/emojis/download.webp"]:not([id]),img[src$="/emojis/snowflake.webp"]:not([id]),img[src$="/xxtra-snowflake.webp"]:not([id]),img[src$="/xxtra-download.webp"]:not([id]),img[src$="/xxtra-search.webp"]:not([id]),img[src$="/xxtra-diamond.webp"]:not([id]),img[src$="/team/quill.svg"]:not([id]),img[src$="/team/jar.svg"]:not([id])):not(:is(.studio-preview-cover,.player-avatar,.profile-nav-avatar,.header-user-avatar,#profile-avatar-preview,.public-profile-avatar,.project-author-avatar) img){visibility:hidden}

/* Keep the launcher download immediately before the account, including after sign-in. */
.header .nav-launcher{flex:none;white-space:nowrap}.header .nav-launcher-label{font:inherit;letter-spacing:inherit}.header .nav-launcher>.ui-icon{width:19px;height:19px;flex:none}
@media(max-width:1200px){.header .nav-launcher-label{display:none}html[data-season] body .header .nav-launcher{width:46px;min-width:46px;min-height:46px;padding:10px!important}.header .nav-actions{gap:8px}}
@media(max-width:380px){html[data-season] body .header .nav-actions .profile-nav-toggle{padding:8px!important}.header .nav-actions .profile-nav-toggle>.ui-icon{display:none}}

/* Large decorative icons keep the thin glass line and a soft glow. */
html[data-season] :is(.pass-item,.translation-gem).ui-icon{stroke-width:1.35;color:var(--accent);filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 45%,transparent))}

/* Pixel icons (public/assets/pixel-icons.svg): 16x16 art, always scaled in whole steps and never outlined by line-icon rules. */
.px-icon{display:inline-block;flex:none;width:32px;height:32px;vertical-align:middle;image-rendering:pixelated;shape-rendering:crispEdges;stroke:none!important;filter:drop-shadow(0 2px 0 #00000055)}
.px-icon.is-sm{width:24px;height:24px}.px-icon.is-lg{width:48px;height:48px}
/* Login panel: the floating island replaces the portal picture. */
.identity-story .identity-island{width:min(360px,92%);margin-block:10px 18px;height:auto;image-rendering:pixelated;filter:drop-shadow(0 18px 28px #05020c88) drop-shadow(0 0 26px #8b5cf633)}
html.motion-on .identity-story .identity-island{animation:island-float 6s ease-in-out infinite}
@keyframes island-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
.identity-story ul .px-icon{width:32px;height:32px}.identity-kicker .px-icon{width:24px;height:24px}.identity-story ul li:has(.px-icon){display:flex;align-items:center;gap:10px}
/* Levels: six XP sources in a 3 x 2 grid, pixel icons a bit larger than text icons. */
.xp-sources{grid-template-columns:repeat(3,minmax(0,1fr))}
.xp-sources article>span .px-icon{width:48px;height:48px}
.xp-truth h3 .px-icon{margin-right:4px;translate:0 -1px}
@media(max-width:900px){.xp-sources{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Site icons are 16x16 pixel art (assets/ios-icons.svg): crisp edges, never smaller than the art itself. */
.ui-icon{shape-rendering:crispEdges;min-width:16px;min-height:16px}
/* Home hotbar: item icons at exactly 2x, like a Minecraft hotbar. */
.hotbar-wrap .hotbar button>span:has(>.ui-icon){width:32px!important;height:32px!important}.hotbar-wrap .hotbar button .ui-icon{width:32px!important;height:32px!important}
/* Light theme: cabinet stat buttons and summary cards used to keep their dark backgrounds with dark text. */
html[data-season=light] :is(.account-stats>button,.commerce-overview>.membership-summary,.commerce-overview>.reputation-summary,.telegram-link-card){background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important;box-shadow:0 10px 26px #2c273614!important}
html[data-season=light] :is(.account-stats>button,.commerce-overview>.membership-summary,.commerce-overview>.reputation-summary,.telegram-link-card) :is(small,p,span:not(.ui-icon)){color:var(--text-soft)!important}
html[data-season=light] :is(.account-stats>button,.commerce-overview>.membership-summary,.commerce-overview>.reputation-summary,.telegram-link-card) :is(strong,b,h2,h3){color:var(--text)!important}
/* Hotbar items are smooth glass icons (inline #glass-*, scripts/glass-icons.py): no pixel snapping, a soft glow and shadow. */
.hotbar-wrap .hotbar button .ui-icon{shape-rendering:auto;filter:drop-shadow(0 0 6px #ffffff26) drop-shadow(0 3px 5px #0a05146b)}
/* Glass icons outside the hotbar (the «Войти» button): smooth, with the same soft glow. */
.ui-icon.glass-icon{shape-rendering:auto;filter:drop-shadow(0 0 4px #ffffff24) drop-shadow(0 2px 3px #0a051459)}.nav-account .ui-icon.glass-icon{width:22px;height:22px}
/* Likes: on hover the heart lights up and, with motion on, beats. */
:is(.article-like:not(.is-static),.project-like,#project-page-like,.wall-like:not(.is-static)) .ui-icon{transition:transform .25s cubic-bezier(.3,1.6,.5,1),filter .25s}
:is(.article-like:not(.is-static),.project-like,#project-page-like,.wall-like:not(.is-static)):is(:hover,:focus-visible){border-color:#ff6b8a99;background:#ff6b8a1c;box-shadow:0 0 0 3px #ff6b8a14,0 8px 22px #ff3d6e2e;color:#ffd0db}
:is(.article-like:not(.is-static),.project-like,#project-page-like,.wall-like:not(.is-static)):is(:hover,:focus-visible) .ui-icon{transform:scale(1.22);filter:drop-shadow(0 0 6px #ff6b8acc) drop-shadow(0 0 2px #ff9db3)}
html.motion-on :is(.article-like:not(.is-static),.project-like,#project-page-like,.wall-like:not(.is-static)):hover .ui-icon{animation:like-beat 1s ease-in-out infinite}
@keyframes like-beat{0%,100%{transform:scale(1.16)}20%{transform:scale(1.32)}40%{transform:scale(1.12)}60%{transform:scale(1.26)}}
.password-setting{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.password-setting .ui-icon{width:18px;height:18px}
.password-setting>span{white-space:nowrap}
.password-setting>button[hidden]{display:none}
/* Desktop reads at «90%»: the whole site is drawn as if the browser zoom were 90% (phones and touch tablets keep 100%).
   CSS zoom also shrinks vh units, so the blocks that must fill the screen divide them back by the same .9
   (the «html» prefix keeps these ahead of sheets loaded later, like notify.css). */
@media (min-width:1024px) and (pointer:fine){
  html{zoom:.9}
  html .hero{height:calc(100svh / .9)}
  html .ambient-world{inset:clamp(760px,calc(100svh / .9),1100px) 0 auto}
  html :is(.account-page,.support-page){min-height:calc(100svh / .9)}
  html .account-page .account-sidebar{max-height:calc(100vh / .9 - 32px)}
  html :is(.profile-nav-dropdown,.profile-menu){max-height:calc(100svh / .9 - 125px)}
  html .notify-ban{padding-inline:max(18px,calc((100vw / .9 - 1200px) / 2))}
  @keyframes snow-drift{0%{opacity:0;transform:translate3d(0,-32px,0) rotate(0)}12%,75%{opacity:.6}100%{opacity:0;transform:translate3d(var(--snow-drift),calc(100dvh / .9 + 64px),0) rotate(var(--snow-turn))}}
}
/* Phone headers keep one row that fits: logo, help pill, bell, profile and menu.
   The shared button rule above shows .nav-create/.nav-launcher everywhere, so hide them here explicitly:
   «Создать проект» and the launcher download (Windows only) are in the burger menu. */
@media (max-width:880px){html[data-season] body .header .nav-create{display:none}}
@media (max-width:560px){html[data-season] body .header .nav-launcher{display:none}}
@media (max-width:360px){html[data-season] body .header .nav{gap:6px;padding-inline:10px}html[data-season] body .header .nav-actions{gap:4px}}
@media (max-width:340px){html[data-season] body :is(.header,.account-header,.support-header) .logo{font-size:0;gap:0}}
@media (max-width:700px){
  /* Cabinet: «Поддержка» wears its count on the corner, the profile button keeps only the avatar; the logo already leads to the shop. */
  html[data-season] body .account-header{flex-wrap:nowrap!important;gap:8px}
  html[data-season] body .account-header .account-back{display:none}
  html[data-season] body .account-header .account-help{position:relative;margin-left:auto;padding:10px!important;min-height:44px}
  html[data-season] body .account-header .account-help .notify-count{position:absolute;top:-7px;right:-7px;margin:0}
  html[data-season] body .header-user>button{padding:6px 8px!important;gap:6px}
  html[data-season] body .header-user #header-user-name{display:none}
  /* Support: links never break into several lines. */
  html[data-season] body .support-header{gap:10px}
  html[data-season] body .support-nav{gap:10px;align-items:center}
  html[data-season] body .support-nav>a{white-space:nowrap}
}
@media (max-width:480px){
  html[data-season] body .support-nav>a:is([href="/modpacks"],[href="/articles"]){display:none}
  /* Too narrow for the «Поддержка» label: icon and count only (the shared button rule sets 14px with !important). */
  html[data-season] body .account-header .account-help{font-size:0!important;gap:0;min-width:44px;justify-content:center}
  html[data-season] body .account-header .account-help .notify-count{font-size:11px}
}
