:root { --bg: var(--theme-base, #07111e); --bg-soft: var(--theme-base, #0b1a2c); --panel: var(--theme-base, #0e2135); --panel-light: var(--theme-panel, #12304a); --text: #f4f8fc; --muted: var(--theme-muted, #8da2b7); --blue: var(--theme-accent, #75c8ff); --blue-strong: var(--theme-accent, #48a9eb); --line: rgba(var(--theme-pale-rgb, 184, 221, 249), .14); --radius: 22px; }
.site-loader { position:fixed; inset:0; z-index:100; display:grid; align-content:center; justify-items:center; gap:14px; color:#dceefa; background-color:var(--theme-base, #071522); background-image:linear-gradient(rgba(var(--theme-accent-rgb, 117, 200, 255), .035) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--theme-accent-rgb, 117, 200, 255), .035) 1px,transparent 1px),radial-gradient(circle at 50% 40%,var(--theme-panel, #123957) 0,var(--theme-base, #071522) 48%); background-size:22px 22px,22px 22px,100% 100%; transition:opacity .2s ease,visibility .2s ease; }
.settings-ready .site-loader { opacity:0; visibility:hidden; pointer-events:none; }
.site-loader-mark { width:58px; height:58px; display:grid; place-items:center; border:4px solid var(--theme-panel, #173f5b); border-top-color:var(--theme-accent, #75c8ff); border-right-color:var(--theme-accent, #45a9e5); border-radius:8px; box-shadow:0 0 34px rgba(var(--theme-accent-rgb, 117, 200, 255), .2),inset 0 0 0 3px var(--theme-base, #071522); animation:loader-spin 1.1s steps(8,end) infinite; }
.site-loader-mark span { width:18px; height:18px; background:var(--theme-accent, #75c8ff); box-shadow:7px 0 var(--theme-accent, #45a9e5),0 7px var(--theme-accent, #45a9e5),7px 7px var(--theme-pale, #b9f1ff); animation:loader-block .9s steps(2,end) infinite; }
.site-loader-copy { width:min(340px,calc(100vw - 50px)); display:flex; justify-content:space-between; align-items:center; font-family:monospace; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.site-loader-copy strong { font-weight:800; }.site-loader-copy span { color:var(--theme-accent, #75c8ff); font-variant-numeric:tabular-nums; }
.site-loader-track { width:min(340px,calc(100vw - 50px)); height:12px; padding:2px; overflow:hidden; border:2px solid var(--theme-panel, #173f5b); border-radius:2px; background:var(--theme-deep, #050e18); box-shadow:inset 0 0 0 1px var(--theme-base, #071522); }.site-loader-track span { display:block; width:0; height:100%; background:repeating-linear-gradient(90deg,var(--theme-accent, #45a9e5) 0 16px,var(--theme-accent, #75c8ff) 16px 20px,var(--theme-panel, #173f5b) 20px 23px); box-shadow:0 0 12px rgba(var(--theme-accent-rgb, 117, 200, 255), .8); transition:width .2s steps(5,end); }
.site-loader small { min-height:15px; width:min(520px,calc(100vw - 50px)); color:var(--theme-muted, #91b4c9); font-family:inherit; font-size:11px; line-height:1.5; text-align:center; }
@keyframes loader-spin { to { transform:rotate(360deg); } } @keyframes loader-block { 50% { opacity:.45; transform:translate(2px,2px); } }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--bg); font-family: 'Unbounded', 'Unbounded Fallback: BlinkMacSystemFont', 'Unbounded Fallback: Segoe UI', 'Unbounded Fallback: Helvetica Neue', 'Unbounded Fallback: Arial', 'Unbounded Fallback: Noto Sans', sans-serif; overflow-x: hidden; }
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; opacity: .23; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent 82%); }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; cursor: pointer; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.ambient { position: fixed; pointer-events: none; filter: blur(90px); border-radius: 50%; z-index: -1; opacity: .38; }
.ambient-one { width: 400px; height: 400px; background: var(--theme-raised, #155a8c); top: -140px; left: -130px; }
.ambient-two { width: 320px; height: 320px; background: var(--theme-raised, #163e75); right: -120px; top: 800px; }
.site-header { min-height: 88px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; letter-spacing: -.04em; }
.brand-mark { width: 48px; height: 48px; display: grid; flex: 0 0 48px; place-items: center; color: var(--theme-base, #061321); background: var(--blue); border-radius: 50%; font-size: 25px; font-weight: 800; box-shadow: 0 0 26px rgba(var(--theme-accent-rgb, 117, 200, 255), .34); }
.brand-mark img { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: inherit; }
.brand-name { font-size: 22px; }
.main-nav { display: flex; gap: 30px; color: var(--muted); font-size: 13px; }
.main-nav a, .footer-links a, .footer-social a { transition: color .2s ease; }
.main-nav a:hover, .main-nav a.active, .footer-links a:hover, .footer-social a:hover { color: var(--text); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.server-status { display: inline-flex; gap: 9px; align-items: center; border: 0; background: transparent; color: var(--muted); font-size: 11px; }
.empty-store,.empty-news { width:100%; padding:42px 24px; border:1px dashed var(--line); border-radius:16px; color:var(--muted); text-align:center; font-size:12px; }
.product-avatar { width:100%; height:100%; display:block; object-fit:cover; border-radius:inherit; }
.public-home .product-avatar { opacity:0; transition:opacity .18s ease-out,transform .5s cubic-bezier(.16,1,.3,1); }
.public-home .product-avatar.is-decoded,.public-home .product-avatar.is-broken { opacity:1; }
.server-status strong { color: var(--text); font-size: 12px; }
.status-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #7cf4ae; box-shadow: 0 0 11px #7cf4ae; }
.icon-button { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.03); transition: transform .2s, background .2s; }
.icon-button:hover { transform: rotate(8deg); background: rgba(var(--theme-accent-rgb, 117, 200, 255), .14); }
.hero { min-height: 650px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 40px; padding: 72px 0 60px; }
.eyebrow { margin: 0 0 19px; color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow span { width: 23px; height: 1px; display: inline-block; vertical-align: middle; margin-right: 8px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 560px; margin-bottom: 25px; font-size: clamp(52px, 7vw, 92px); line-height: .93; letter-spacing: -.075em; }
h1 em, h2 em { color: var(--blue); font-style: normal; }
.hero-description { max-width: 445px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.hero-actions { display: flex; gap: 11px; margin: 31px 0 19px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 48px; padding: 0 19px; border: 0; border-radius: 13px; font-size: 12px; font-weight: 800; transition: transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--theme-base, #07111e); background: var(--blue); box-shadow: 0 13px 30px rgba(var(--theme-accent-rgb, 65, 172, 236), .18); }
.button-primary:hover { background: var(--theme-pale, #9bdcff); box-shadow: 0 16px 36px rgba(var(--theme-accent-rgb, 65, 172, 236), .3); }
.button-ghost { border: 1px solid var(--line); background: rgba(255,255,255,.035); }
.button-ghost:hover { background: rgba(255,255,255,.09); }
.button-light { color: var(--theme-base, #102237); background: #eff8ff; }
.button-full { width: 100%; }
.ip-line { color: var(--muted); font-size: 11px; }
.ip-line strong { margin-left: 8px; color: #d6e8f7; font-weight: 700; }
.ip-line button { margin-left: 8px; padding: 0; border: 0; background: transparent; color: var(--blue); }
.hero-scene { min-height: 500px; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 32px; background: radial-gradient(circle at 48% 42%, var(--theme-raised, #285d83) 0, var(--theme-panel, #102b48) 30%, var(--theme-base, #09182a) 67%); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 30px 80px rgba(0,0,0,.2); }
.hero-scene::before { content: ''; position: absolute; inset: 0; opacity: .35; background: radial-gradient(circle at 50% 44%, transparent 0 19%, rgba(var(--theme-accent-rgb, 117, 200, 255), .3) 19.2% 19.4%, transparent 19.7% 29%, rgba(var(--theme-accent-rgb, 117, 200, 255), .14) 29.3% 29.5%, transparent 29.8%), linear-gradient(140deg, transparent 55%, rgba(255,255,255,.08)); }
.scene-orbit { position: absolute; border: 1px solid rgba(var(--theme-pale-rgb, 159, 221, 255), .3); border-radius: 50%; transform: rotate(-22deg); }
.orbit-one { width: 330px; height: 140px; top: 100px; left: calc(50% - 165px); }
.orbit-two { width: 450px; height: 200px; top: 60px; left: calc(50% - 225px); opacity: .45; }
.scene-moon { position: absolute; width: 70px; height: 70px; top: 70px; right: 17%; border-radius: 50%; background: var(--theme-pale, #b9e7ff); box-shadow: 0 0 50px rgba(var(--theme-accent-rgb, 117, 200, 255), .55), inset -14px -10px 0 rgba(var(--theme-accent-rgb, 94, 175, 222), .25); }
.scene-cloud { position: absolute; height: 32px; width: 200px; border-radius: 50%; background: rgba(var(--theme-pale-rgb, 195, 232, 255), .16); filter: blur(2px); }
.cloud-one { bottom: 112px; left: 11%; transform: rotate(-10deg); }.cloud-two { top: 155px; right: -20px; transform: rotate(8deg); opacity: .65; }
.scene-island { position: absolute; width: 315px; height: 210px; left: calc(50% - 157px); bottom: 65px; transform: rotate(-4deg); }
.island-ground { position: absolute; width: 285px; height: 85px; left: 15px; bottom: 0; border-radius: 47% 46% 44% 45%; background: linear-gradient(155deg, var(--theme-accent, #73c8de), var(--theme-raised, #23738c) 44%, var(--theme-panel, #103c56)); box-shadow: 0 25px 40px rgba(0,0,0,.4); }
.island-ground::after { content: ''; position: absolute; width: 90px; height: 72px; left: 93px; top: 53px; border-radius: 0 0 45px 45px; background: var(--theme-panel, #0c3045); }
.island-tree { position: absolute; left: 133px; bottom: 76px; width: 26px; height: 74px; border-radius: 12px 12px 3px 3px; background: var(--theme-panel, #123c4f); z-index: 2; }.island-tree::before { content: ''; position: absolute; width: 90px; height: 72px; top: -42px; left: -32px; border-radius: 50% 50% 44% 44%; background: #7dd5cc; box-shadow: 18px -18px 0 -9px #b3f0df, -20px -14px 0 -14px var(--theme-strong, #4ca8b3); }
.island-crystal { position: absolute; z-index: 3; width: 18px; height: 45px; bottom: 78px; border-radius: 9px 9px 3px 3px; background: linear-gradient(180deg, #d9fbff, var(--theme-accent, #52bfe2)); box-shadow: 0 0 25px rgba(var(--theme-accent-rgb, 117, 200, 255), .9); }.crystal-one { left: 70px; transform: rotate(-13deg); }.crystal-two { right: 58px; height: 31px; transform: rotate(18deg); }
.scene-label { position: absolute; color: rgba(228,246,255,.72); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }.scene-label span { color: var(--blue); margin-right: 7px; }.label-top { top: 26px; left: 29px; }.label-bottom { right: 27px; bottom: 23px; }
.section { padding: 100px 0; }.section-heading { display: grid; grid-template-columns: 1fr 1fr; column-gap: 50px; align-items: end; margin-bottom: 40px; }.section-heading .eyebrow { grid-column: 1 / -1; }.section-heading h2, .section-topline h2 { margin-bottom: 0; font-size: clamp(40px, 5vw, 63px); line-height: .97; letter-spacing: -.07em; }.section-heading > p:last-child { max-width: 400px; margin: 0; color: var(--muted); line-height: 1.65; font-size: 14px; }
.feature-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 14px; }.feature-card { min-height: 310px; position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }.feature-card::after { content: ''; position: absolute; width: 210px; height: 210px; right: -80px; bottom: -95px; border: 1px solid rgba(var(--theme-accent-rgb, 117, 200, 255), .18); border-radius: 50%; box-shadow: 0 0 0 25px rgba(var(--theme-accent-rgb, 117, 200, 255), .03), 0 0 0 50px rgba(var(--theme-accent-rgb, 117, 200, 255), .02); }.feature-card-large { background: linear-gradient(140deg, var(--theme-panel, #123c58), var(--theme-base, #0d2339)); }.feature-card-blue { background: linear-gradient(140deg, var(--theme-strong, #2e88b7), var(--theme-panel, #0c3c5c)); }.feature-card-dark { background: linear-gradient(140deg, var(--theme-base, #101e32), var(--theme-base, #0b1524)); }.feature-icon { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(215,242,255,.22); border-radius: 12px; color: var(--blue); font-size: 20px; }.card-kicker, .product-type, .news-date { color: rgba(var(--theme-pale-rgb, 190, 225, 245), .62); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }.feature-card h3 { margin: 13px 0 11px; font-size: 28px; line-height: 1.01; letter-spacing: -.06em; }.feature-card p { max-width: 240px; margin: 0; color: rgba(224,241,250,.62); font-size: 12px; line-height: 1.6; }.card-arrow { position: absolute; top: 29px; right: 28px; color: rgba(228,246,255,.7); }
.store-section { padding-top: 40px; }.section-topline { display: flex; align-items: end; justify-content: space-between; margin-bottom: 35px; }.text-link { display: inline-flex; gap: 12px; align-items: center; color: var(--blue); font-size: 12px; font-weight: 700; }.store-tabs { display: flex; gap: 8px; margin-bottom: 22px; }.tab { padding: 9px 13px; border: 1px solid var(--line); border-radius: 99px; background: transparent; color: var(--muted); font-size: 11px; }.tab.active, .tab:hover { color: var(--theme-base, #07111e); background: var(--blue); border-color: var(--blue); }.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.product-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }.product-art { height: 225px; position: relative; display: grid; place-items: center; overflow: hidden; }.product-art::before, .product-art::after { content: ''; position: absolute; border: 1px solid rgba(var(--theme-pale-rgb, 202, 239, 255), .23); border-radius: 50%; transform: rotate(28deg); }.product-art::before { width: 210px; height: 75px; }.product-art::after { width: 280px; height: 112px; opacity: .48; }.art-aurora { background: radial-gradient(circle at 50% 50%, var(--theme-strong, #2c8bb1), var(--theme-panel, #132a4d) 55%, var(--theme-base, #091426)); }.art-celestial { background: radial-gradient(circle at 50% 50%, #73d4dc, var(--theme-raised, #286093) 43%, var(--theme-base, #0b1c36)); }.art-expedition { background: radial-gradient(circle at 40% 60%, #9e7e45, var(--theme-raised, #3d4250) 40%, var(--theme-base, #101a2a)); }.product-orb { width: 94px; height: 94px; position: absolute; border-radius: 50%; background: radial-gradient(circle at 31% 25%, #fff, var(--theme-pale, #a5efff) 9%, var(--theme-strong, #39a8d4) 35%, var(--theme-raised, #123c69) 72%); box-shadow: 0 0 45px rgba(var(--theme-accent-rgb, 104, 215, 255), .55); }.art-symbol { position: relative; z-index: 1; color: white; font-size: 34px; font-weight: 800; text-shadow: 0 0 20px #fff; }.product-info { display: flex; justify-content: space-between; align-items: end; padding: 20px 20px 13px; }.product-info h3 { margin: 7px 0 0; font-size: 18px; letter-spacing: -.04em; }.product-info strong { font-size: 14px; }.product-buy { width: calc(100% - 40px); display: flex; justify-content: space-between; margin: 0 20px 20px; padding: 12px 0; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--blue); font-size: 11px; font-weight: 800; }.product-buy:hover { color: white; }.product-card.hidden { display: none; }
.modes-section { padding-top: 95px; }.modes-section .section-heading { margin-bottom: 34px; }.modes-grid { display: grid; grid-template-columns: 1.35fr .9fr; gap: 14px; }.mode-card { min-height: 345px; position: relative; overflow: hidden; display: flex; align-items: end; border: 1px solid rgba(var(--theme-pale-rgb, 172, 220, 244), .2); border-radius: var(--radius); background: linear-gradient(135deg, var(--theme-panel, #113452), var(--theme-base, #0a1729)); background-size: cover; background-position: center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.025); }.mode-card::before { content: ''; position: absolute; inset: auto 0 0; height: 70%; background: linear-gradient(0deg, rgba(var(--theme-deep-rgb, 5, 14, 25), .95), transparent); pointer-events: none; }.mode-card::after { content: ''; width: 210px; height: 210px; position: absolute; top: -95px; right: -75px; border: 1px solid color-mix(in srgb, var(--mode-accent) 70%, white); border-radius: 50%; box-shadow: 0 0 0 24px rgba(var(--theme-pale-rgb, 159, 226, 255), .035), 0 0 0 58px rgba(var(--theme-pale-rgb, 159, 226, 255), .025); transform: rotate(25deg); }.mode-card-featured { min-height: 430px; grid-row: span 2; }.mode-content { position: relative; z-index: 1; width: min(100%, 520px); padding: 33px; }.mode-index { position: absolute; top: 27px; left: 30px; z-index: 1; color: rgba(222,245,255,.6); font-size: 10px; letter-spacing: .15em; }.mode-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--mode-accent); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.mode-kicker .status-dot.offline { background: #708399; box-shadow: none; }.mode-content h3 { max-width: 500px; margin: 13px 0 9px; font-size: clamp(32px, 4vw, 58px); line-height: .94; letter-spacing: -.075em; }.mode-content p { max-width: 430px; min-height: 38px; margin: 0 0 22px; color: rgba(218,238,248,.7); font-size: 12px; line-height: 1.6; }.mode-meta { display: flex; flex-wrap: wrap; gap: 8px 17px; color: rgba(var(--theme-pale-rgb, 208, 234, 246), .58); font-size: 10px; }.mode-enter { display: inline-flex; gap: 12px; align-items: center; margin-top: 20px; padding: 0; border: 0; background: transparent; color: var(--mode-accent); font-size: 11px; font-weight: 800; }.mode-enter:hover { color: white; transform: translateX(3px); }.empty-modes { grid-column: 1 / -1; min-height: 160px; display: grid; place-items: center; border: 1px dashed rgba(var(--theme-pale-rgb, 172, 220, 244), .28); border-radius: var(--radius); color: var(--muted); font-size: 12px; }
.mode-switcher-block { margin: 0 0 27px; padding: 18px; border: 1px solid rgba(var(--theme-pale-rgb, 172, 220, 244), .2); border-radius: var(--radius); background: rgba(var(--theme-panel-rgb, 17, 52, 82), .38); }.mode-switcher-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }.mode-switcher-heading > span { color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .14em; }.mode-switcher-heading strong, .mode-switcher-heading small { display: block; }.mode-switcher-heading strong { color: var(--text); font-size: 12px; }.mode-switcher-heading small { margin-top: 4px; color: var(--muted); font-size: 10px; }.mode-switcher { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 2px; }.mode-switch { min-width: 155px; display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid rgba(var(--theme-pale-rgb, 172, 220, 244), .17); border-radius: 13px; background: rgba(var(--theme-base-rgb, 4, 17, 31), .35); color: var(--muted); text-align: left; }.mode-switch:hover, .mode-switch.active { border-color: var(--blue); background: rgba(var(--theme-accent-rgb, 117, 200, 255), .13); color: var(--text); }.mode-switch-mark { width: 29px; height: 29px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid rgba(var(--theme-pale-rgb, 193, 233, 255), .35); border-radius: 9px; color: var(--blue); font-size: 12px; font-weight: 800; }.mode-switch b, .mode-switch small { display: block; white-space: nowrap; }.mode-switch b { font-size: 11px; }.mode-switch small { margin-top: 4px; color: var(--muted); font-size: 9px; }.mode-switch.active .mode-switch-mark { color: var(--theme-base, #061321); background: var(--blue); border-color: var(--blue); }
.world-banner { min-height: 410px; position: relative; display: flex; align-items: center; overflow: hidden; margin-top: 35px; padding: 60px; border-radius: 29px; background: linear-gradient(105deg, var(--theme-accent, #57b6dd), var(--theme-raised, #1a557b) 52%, var(--theme-panel, #112a4a)); }.world-banner::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 78% 36%, rgba(210,249,255,.45), transparent 24%), linear-gradient(120deg, transparent 39%, rgba(255,255,255,.08) 39.2%, transparent 40%); }.banner-content { position: relative; z-index: 1; }.world-banner .eyebrow { color: #d7f5ff; }.world-banner h2 { margin-bottom: 28px; font-size: clamp(45px, 6vw, 75px); line-height: .94; letter-spacing: -.08em; }.banner-rings { width: 500px; height: 500px; position: absolute; right: -35px; top: -50px; border: 1px solid rgba(236,252,255,.6); border-radius: 50%; transform: rotate(-23deg); box-shadow: 0 0 0 35px rgba(236,252,255,.08), 0 0 0 90px rgba(236,252,255,.04); }.banner-rings::after { content: ''; position: absolute; inset: 80px -120px; border: 1px solid rgba(236,252,255,.36); border-radius: 50%; transform: rotate(35deg); }
.news-section { padding-bottom: 75px; }.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.news-card { min-height: 215px; display: flex; flex-direction: column; justify-content: space-between; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }.news-card-accent { background: linear-gradient(145deg, var(--theme-panel, #153e5b), var(--theme-base, #0e2137)); }.news-card h3 { max-width: 250px; margin: 20px 0; font-size: 21px; line-height: 1.08; letter-spacing: -.05em; }.news-card a { color: var(--blue); font-size: 11px; font-weight: 800; }.news-card a span { margin-left: 10px; }.site-footer { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; padding: 42px 0 55px; border-top: 1px solid var(--line); }.footer-brand p { margin: 15px 0 0; color: var(--muted); font-size: 11px; }.footer-links, .footer-social { display: flex; flex-direction: column; gap: 10px; color: var(--muted); font-size: 11px; }.copyright { grid-column: 1 / -1; margin: 25px 0 0; color: rgba(var(--theme-muted-rgb, 141, 162, 183), .6); font-size: 10px; }
.news-highlight { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; margin-top: -28px; margin-bottom: 8px; padding: 18px 20px; overflow: hidden; border: 1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .28); border-radius: 18px; background: linear-gradient(110deg,rgba(var(--theme-panel-rgb, 16, 38, 68), .96),rgba(var(--theme-base-rgb, 9, 19, 38), .9)),var(--news-highlight-image); background-position:center; background-size:cover; box-shadow: 0 18px 50px rgba(var(--theme-deep-rgb, 3, 10, 25), .25), inset 0 1px rgba(255,255,255,.06); }
.news-highlight::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(var(--theme-base-rgb, 10, 25, 48), .1),rgba(var(--theme-base-rgb, 10, 25, 48), .74) 65%,rgba(var(--theme-base-rgb, 8, 16, 32), .95)); }
.news-highlight > * { position:relative; z-index:1; }
.news-highlight-mark { display:grid; place-items:center; width:45px; height:45px; border:1px solid rgba(var(--theme-accent-rgb, 139, 190, 255), .3); border-radius:14px; background:rgba(var(--theme-accent-rgb, 105, 157, 255), .15); box-shadow:0 0 25px rgba(var(--theme-accent-rgb, 91, 159, 255), .16); }
.news-highlight-mark .ui-icon { width:21px; height:21px; }
.news-highlight-copy { min-width:0; }
.news-highlight-kicker { display:block; margin-bottom:5px; color:var(--theme-accent, #8eb7ff); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.news-highlight h2 { margin:0 0 3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:18px; letter-spacing:-.04em; }
.news-highlight p { max-width:700px; margin:0; overflow:hidden; color:var(--theme-muted, #9eafca); font-size:11px; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.news-highlight-link { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(var(--theme-accent-rgb, 143, 181, 255), .28); border-radius:12px; background:rgba(var(--theme-accent-rgb, 101, 153, 255), .13); transition:transform .2s ease,background .2s ease; }
.news-highlight-link:hover { transform:translate(2px,-2px); background:rgba(var(--theme-accent-rgb, 101, 153, 255), .24); }
.news-highlight-link .ui-icon { width:16px; height:16px; }
.news-nav-link { display:inline-flex; align-items:center; gap:6px; }
.news-nav-badge { padding:3px 5px; border:1px solid rgba(120,224,189,.28); border-radius:6px; color:#8debc8; background:rgba(78,203,157,.12); font-size:7px; font-weight:800; letter-spacing:.06em; line-height:1; text-transform:uppercase; }
.modal-backdrop { position: fixed; inset: 0; z-index: 10; display: grid; place-items: center; padding: 20px; opacity: 0; pointer-events: none; background: rgba(var(--theme-deep-rgb, 1, 8, 15), .76); backdrop-filter: blur(10px); transition: opacity .22s; }.modal-backdrop[aria-hidden="true"] { display:none!important; }.modal-backdrop[aria-hidden="false"],.modal-backdrop.open { display:grid; opacity: 1; pointer-events: auto; }.purchase-modal { width: min(100%, 430px); position: relative; padding: 32px; border: 1px solid rgba(var(--theme-pale-rgb, 177, 224, 250), .2); border-radius: 25px; background: var(--theme-base, #0c1e31); box-shadow: 0 28px 80px rgba(0,0,0,.5); transform: translateY(15px); transition: transform .22s; }.open .purchase-modal { transform: translateY(0); }.modal-close { width: 32px; height: 32px; position: absolute; top: 18px; right: 18px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--muted); font-size: 21px; line-height: 1; }.purchase-modal h2 { margin: 0 0 9px; font-size: 33px; letter-spacing: -.06em; }.modal-subtitle, .modal-note { color: var(--muted); font-size: 12px; line-height: 1.6; }.purchase-modal form { display: grid; gap: 14px; margin-top: 25px; }.purchase-modal label { display: grid; gap: 7px; color: var(--theme-pale, #d4e6f3); font-size: 11px; font-weight: 700; }.optional { color: var(--muted); font-weight: 400; }.purchase-modal input { width: 100%; height: 43px; padding: 0 13px; outline: none; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.045); color: var(--text); font: inherit; font-size: 12px; }.purchase-modal input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(var(--theme-accent-rgb, 117, 200, 255), .1); }.modal-total { display: flex; justify-content: space-between; align-items: center; margin: 6px 0 2px; color: var(--muted); font-size: 12px; }.modal-total strong { color: var(--text); font-size: 17px; }.modal-note { margin: 17px 0 0; font-size: 10px; }.toast { position: fixed; right: 22px; bottom: 22px; z-index: 20; padding: 12px 16px; border: 1px solid rgba(var(--theme-accent-rgb, 117, 200, 255), .3); border-radius: 11px; background: var(--theme-panel, #102e46); color: #dff5ff; font-size: 12px; opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .2s, transform .2s; }.toast.show { opacity: 1; transform: translateY(0); }
.reveal { opacity: 0; transform: translateY(18px); animation: reveal .7s cubic-bezier(.2,.8,.2,1) forwards; animation-play-state: paused; }.reveal.visible { animation-play-state: running; }.reveal-delay { animation-delay: .08s; }.reveal-delay-2 { animation-delay: .16s; } @keyframes reveal { to { opacity: 1; transform: translateY(0); } }
@media (max-width: 850px) { .main-nav { display: none; }.hero { grid-template-columns: 1fr; padding-top: 55px; }.hero-scene { min-height: 400px; }.feature-grid, .product-grid, .news-grid { grid-template-columns: 1fr 1fr; }.feature-card-large { grid-column: 1 / -1; }.section-heading { grid-template-columns: 1fr; gap: 20px; }.section-heading > p:last-child { max-width: 540px; }.world-banner { padding: 42px; }.banner-rings { right: -180px; }.site-footer { grid-template-columns: 1fr 1fr; } }
@media (max-width: 850px) { .modes-grid { grid-template-columns: 1fr 1fr; }.mode-card-featured { min-height: 345px; grid-row: auto; grid-column: 1 / -1; } }
@media (max-width: 560px) { .container { width: min(100% - 30px, 1180px); }.site-header { min-height: 72px; }.server-status { display: none; }.hero { padding-top: 45px; }.hero-scene { min-height: 350px; }.scene-island { transform: scale(.8) rotate(-4deg); bottom: 42px; }.scene-moon { right: 10%; }.hero-actions { flex-direction: column; align-items: stretch; }.button { width: 100%; }.feature-grid, .product-grid, .news-grid { grid-template-columns: 1fr; }.feature-card-large { grid-column: auto; }.section { padding: 75px 0; }.section-topline { align-items: start; gap: 20px; flex-direction: column; }.store-tabs { overflow-x: auto; padding-bottom: 3px; }.tab { flex: 0 0 auto; }.world-banner { min-height: 390px; padding: 30px; }.world-banner h2 { font-size: 48px; }.site-footer { grid-template-columns: 1fr; }.copyright { grid-column: auto; }.purchase-modal { padding: 26px 21px; } }
@media (max-width: 560px) { .modes-grid { grid-template-columns: 1fr; }.mode-card, .mode-card-featured { min-height: 330px; grid-column: auto; }.mode-content { padding: 26px; }.mode-content h3 { font-size: 39px; } }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

.hero-scene.image-scene { background: transparent!important; background-image: none!important; }
.hero-scene.image-scene { border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
/* The old rectangular scene overlay creates a hard edge behind the floating art. */
.public-home .hero-scene.image-scene::before { content: none; display: none; }
.image-scene .scene-orbit, .image-scene .scene-moon, .image-scene .scene-cloud, .image-scene .scene-island { display: none; }
.hero-character-stage { width: 92%; height: 116%; position: absolute; top: 50%; right: -2%; z-index: 1; transform: translateY(-50%); pointer-events: none; }
.hero-portal { width: 62%; height: 88%; position: absolute; top: 50%; right: 13%; z-index: 1; border: 1px solid rgba(207,246,255,.72); border-radius: 48% 52% 50% 50%; transform: translateY(-50%) rotate(17deg); box-shadow: 0 0 0 12px rgba(var(--theme-accent-rgb, 117, 200, 255), .08), 0 0 0 35px rgba(var(--theme-accent-rgb, 117, 200, 255), .035), inset 0 0 45px rgba(var(--theme-accent-rgb, 117, 200, 255), .18), 0 0 70px rgba(var(--theme-accent-rgb, 117, 200, 255), .38); animation: portal-breathe 5s ease-in-out infinite; }
.hero-portal::before, .hero-portal::after { content: ''; position: absolute; inset: 8% -8%; border: 1px solid rgba(var(--theme-pale-rgb, 174, 232, 255), .35); border-radius: 50%; transform: rotate(37deg); }
.hero-portal::after { inset: 17% -15%; opacity: .55; transform: rotate(-31deg); }
.hero-portal span, .hero-portal i { position: absolute; display: block; border-radius: 50%; background: #d9f8ff; box-shadow: 0 0 13px 4px rgba(var(--theme-accent-rgb, 137, 225, 255), .9); }
.hero-portal span { width: 7px; height: 7px; top: 18%; left: 16%; }.hero-portal i { width: 5px; height: 5px; right: 10%; bottom: 24%; }
.hero-person { width: auto; height: 126%; position: absolute; top: 51%; right: -4%; z-index: 3; max-width: none; object-fit: contain; transform: translateY(-50%); filter: drop-shadow(0 25px 20px rgba(var(--theme-deep-rgb, 1, 10, 20), .56)) drop-shadow(0 0 24px rgba(var(--theme-accent-rgb, 76, 195, 255), .3)); animation: hero-person-float 5.5s ease-in-out infinite; }
.hero-person:not([src]) { visibility:hidden; }
[data-media-slot]:not([src]) { visibility:hidden; }
.hero-person-glow { width: 38%; height: 22%; position: absolute; z-index: 2; right: 19%; bottom: 5%; border-radius: 50%; background: rgba(var(--theme-accent-rgb, 54, 174, 239), .34); filter: blur(28px); animation: hero-glow 5.5s ease-in-out infinite; }
@keyframes portal-breathe { 0%,100% { transform: translateY(-50%) rotate(17deg) scale(.985); opacity: .84; } 50% { transform: translateY(-50%) rotate(20deg) scale(1.025); opacity: 1; } }
@keyframes hero-person-float { 0%,100% { transform: translateY(-50%) rotate(-1deg); } 50% { transform: translateY(calc(-50% - 12px)) rotate(1deg); } }
@keyframes hero-glow { 0%,100% { opacity: .45; transform: scale(.92); } 50% { opacity: .85; transform: scale(1.08); } }
@media (max-width: 850px) { .hero-character-stage { width: 98%; right: -5%; }.hero-portal { width: 60%; right: 13%; }.hero-person { height: 120%; right: -3%; }.hero-person-glow { right: 18%; } }
@media (max-width: 560px) { .hero-character-stage { width: 112%; right: -10%; }.hero-portal { width: 68%; right: 10%; }.hero-person { height: 110%; right: -2%; }.hero-person-glow { right: 14%; bottom: 8%; } }
@media (prefers-reduced-motion: reduce) { .hero-portal, .hero-person, .hero-person-glow { animation: none; } }
.site-header .brand-mark { width:48px; height:48px; flex-basis:48px; }
@media (max-width:560px) { .site-header .brand-mark { width:41px; height:41px; flex-basis:41px; } .site-header .brand-name { font-size:19px; } }
.section { padding-top:76px; padding-bottom:76px; }
.store-section { padding-top:30px; }
.product-art { height:245px; }
.product-avatar { object-fit:contain; padding:18px; filter:drop-shadow(0 18px 22px rgba(0,0,0,.28)); }
.captcha-host { min-height:65px; margin:4px 0 12px; overflow:hidden; border-radius:12px; color:rgba(var(--theme-pale-rgb, 202, 230, 244), .62); font-size:12px; }
.captcha-host iframe { max-width:100%; }
.product-badge { position:absolute; top:16px; left:16px; z-index:2; padding:7px 9px; border:1px solid rgba(218,247,255,.25); border-radius:999px; color:#061321; background:var(--blue); font-size:9px; font-weight:800; letter-spacing:.08em; }
.product-info strong { display:flex; flex-direction:column; align-items:flex-end; gap:3px; color:var(--text); }
.product-info strong del { color:rgba(var(--theme-pale-rgb, 190, 215, 231), .48); font-size:10px; font-weight:500; }
@media (max-width:560px) { .section { padding-top:58px; padding-bottom:58px; }.product-art { height:220px; } }
.reveal { animation-play-state:running; }
.section-heading, .section-topline { position:relative; }
.section-label { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 18px; color:rgba(var(--theme-pale-rgb, 202, 230, 244), .62); font-size:10px; font-weight:800; letter-spacing:.14em; line-height:1; text-transform:uppercase; }
.section-heading .section-label { grid-column:1 / -1; }
.section-label-index { color:var(--blue); font-variant-numeric:tabular-nums; }
.section-label-line { width:28px; height:1px; background:rgba(var(--theme-accent-rgb, 117, 200, 255), .55); }
.section-label b { color:var(--text); font-weight:800; }
.section-live { display:inline-flex; align-items:center; gap:6px; margin-left:5px; padding:6px 8px; border:1px solid rgba(124,244,174,.22); border-radius:999px; color:#7cf4ae; font-size:8px; font-style:normal; letter-spacing:.12em; }
.section-live > span { width:5px; height:5px; border-radius:50%; background:#7cf4ae; box-shadow:0 0 8px #7cf4ae; }
.section-heading::after, .section-topline::after { content:''; width:46px; height:3px; position:absolute; left:0; bottom:-18px; border-radius:99px; background:var(--blue); box-shadow:0 0 18px rgba(var(--theme-accent-rgb, 117, 200, 255), .45); }
.section-heading { margin-bottom:56px; }
.section-topline { margin-bottom:48px; }
.section-topline h2, .section-heading h2 { text-wrap:balance; }
.product-card { transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.product-card:hover { transform:translateY(-5px); border-color:rgba(var(--theme-accent-rgb, 117, 200, 255), .42); box-shadow:0 18px 42px rgba(0,0,0,.22); }
.product-buy { min-height:42px; align-items:center; padding:0 14px; border:1px solid rgba(var(--theme-accent-rgb, 117, 200, 255), .28); border-radius:11px; background:rgba(var(--theme-accent-rgb, 117, 200, 255), .1); color:var(--text); transition:background .2s, color .2s, transform .2s; }
.product-buy:hover { color:var(--theme-base, #061321); background:var(--blue); transform:translateY(-1px); }
.product-buy span { color:var(--blue); font-size:15px; transition:color .2s; }
.product-buy:hover span { color:var(--theme-base, #061321); }
@media (max-width:560px) { .section-heading { margin-bottom:42px; }.section-topline { margin-bottom:36px; }.section-heading::after, .section-topline::after { bottom:-13px; } }
.feature-character { position: absolute; z-index: 0; right: -14px; bottom: -34px; width: 58%; height: 92%; object-fit: contain; object-position: bottom right; pointer-events: none; filter: drop-shadow(0 18px 24px rgba(0,0,0,.3)); opacity: .9; }
.character-mage { width: 61%; right: -5px; bottom: -20px; }.character-warrior { width: 67%; right: -20px; bottom: -27px; }.character-engineer { width: 66%; right: -16px; bottom: -25px; }
.feature-card > :not(.feature-character) { position: relative; z-index: 1; }

/* Final mobile composition: keep the public storefront readable and never crop content. */
@media (max-width: 560px) {
  html, body { width: 100%; min-width: 0; overflow-x: hidden; }
  .public-home .container { width: calc(100% - 30px); }
  .public-home .site-header { min-height: 70px; gap: 8px; padding: 0; }
  .public-home .brand { min-width: 0; gap: 8px; }
  .public-home .site-header .brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .public-home .brand-name { max-width: 118px; font-size: 14px; }
  .public-home .header-actions { min-width: 0; gap: 7px; }
  .public-home .server-status { display: none; }
  .public-home .profile-button { width: auto; min-width: 74px; min-height: 38px; padding: 0 10px; overflow: visible; gap: 6px; font-size: 10px; white-space: nowrap; }
  .public-home .profile-button .ui-icon { width: 13px; height: 13px; filter: none; }
  .public-home .menu-toggle { width: 38px; height: 38px; flex: 0 0 38px; }
  .public-home .main-nav { top: 70px; left: 0; right: 0; width: 100%; max-height: calc(100dvh - 86px); overflow-y: auto; padding: 6px; border-radius: 16px; }
  .public-home .main-nav a { min-height: 43px; padding: 0 14px; font-size: 11px; }

  .public-home .hero { display: flex; flex-direction: column; align-items: stretch; gap: 18px; min-height: 0; padding: 42px 0 36px; }
  .public-home .hero-copy { width: 100%; }
  .public-home .hero h1 { max-width: 100%; margin-bottom: 18px; font-size: clamp(38px, 12.5vw, 54px); line-height: .98; letter-spacing: -.08em; overflow-wrap: anywhere; }
  .public-home .hero-description { max-width: 100%; font-size: 12px; line-height: 1.65; }
  .public-home .hero-actions { gap: 9px; margin: 24px 0 15px; }
  .public-home .hero-actions .button { width: 100%; min-height: 48px; }
  .public-home .ip-line { font-size: 10px; line-height: 1.7; }
  .public-home .hero-scene.image-scene { width: 100%; min-height: 315px; margin-top: 4px; }
  .public-home .hero-character-stage { width: 108%; height: 112%; top: 50%; right: -8%; }
  .public-home .hero-portal { width: 64%; height: 84%; right: 12%; }
  .public-home .hero-person { height: 104%; right: -2%; }
  .public-home .hero-proof { right: 2px; bottom: 0; }
  .public-home .hero-proof div { min-width: 92px; padding: 9px 10px; font-size: 9px; }

  .public-home .news-highlight { grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; margin-top: -12px; margin-bottom: 0; padding: 13px; border-radius: 15px; }
  .public-home .news-highlight-mark { width: 37px; height: 37px; border-radius: 11px; }
  .public-home .news-highlight-mark .ui-icon { width: 17px; height: 17px; }
  .public-home .news-highlight h2 { font-size: 14px; }
  .public-home .news-highlight p { font-size: 10px; }
  .public-home .news-highlight-link { width: 33px; height: 33px; border-radius: 10px; }

  .public-home .section { padding: 58px 0; }
  .public-home .section-heading, .public-home .section-topline { display: block; margin-bottom: 34px; }
  .public-home .section-heading h2, .public-home .section-topline h2 { max-width: 100%; margin-bottom: 16px; font-size: clamp(31px, 10vw, 43px); line-height: 1; }
  .public-home .section-heading > p:last-child { max-width: 100%; font-size: 11px; line-height: 1.65; }
  .public-home .section-topline .text-link { margin-top: 16px; }
  .public-home .feature-grid, .public-home .product-grid, .public-home .news-grid { grid-template-columns: 1fr; gap: 12px; }
  .public-home .feature-card, .public-home .feature-card-large, .public-home .feature-card-blue, .public-home .feature-card-dark { width: 100%; min-height: 310px; padding: 22px; grid-column: auto; }
  .public-home .feature-card .feature-copy, .public-home .feature-card-large .feature-copy { width: 64%; max-width: 64%; padding-top: 50px; }
  .public-home .feature-card h3 { font-size: 24px; line-height: 1.03; }
  .public-home .feature-card p { max-width: 100%; font-size: 10px; line-height: 1.55; }
  .public-home .feature-card .feature-character { right: -3%; width: 57%; height: 105%; }

  .public-home .mode-switcher-block { padding: 14px; }
  .public-home .mode-switcher-heading { align-items: flex-start; gap: 9px; }
  .public-home .mode-switcher { margin-right: -4px; padding-right: 4px; }
  .public-home .mode-switch { min-width: 142px; }
  .public-home .modes-grid { grid-template-columns: 1fr; gap: 12px; }
  .public-home .mode-card, .public-home .mode-card-featured { min-height: 300px; grid-column: 1 / -1; }
  .public-home .mode-content, .public-home .mode-card:nth-child(n+5) .mode-content { padding: 23px; }
  .public-home .mode-content h3, .public-home .mode-card:nth-child(n+5) .mode-content h3 { max-width: 100%; font-size: clamp(29px, 9vw, 39px); }
  .public-home .mode-content p { max-width: 100%; font-size: 10px; }
  .public-home .mode-meta { gap: 7px 12px; font-size: 9px; }

  .public-home .store-section { width: 100%; padding: 44px 15px 52px; border-radius: 18px; }
  .public-home .store-tabs { width: 100%; margin-right: 0; padding: 5px; }
  .public-home .tab { min-height: 36px; padding: 0 12px; font-size: 10px; white-space: nowrap; }
  .public-home .product-card, .public-home .product-card:nth-child(1), .public-home .product-card:nth-child(2) { grid-column: 1 / -1; }
  .public-home .product-art, .public-home .product-card:nth-child(-n+2) .product-art { height: 176px; flex-basis: auto; }
  .public-home .product-info { align-items: flex-start; padding: 16px 16px 10px; }
  .public-home .product-info h3 { font-size: 17px; }
  .public-home .product-info strong { align-items: flex-start; font-size: 14px; }
  .public-home .product-card-foot { padding: 10px 16px 16px; }
  .public-home .product-card-foot .product-buy { width: 100%; margin: 0; min-height: 44px; }

  .public-home .about-section { gap: 25px; }
  .public-home .about-visual { min-height: 300px; }
  .public-home .world-banner { min-height: 330px; margin-top: 18px; padding: 25px; border-radius: 18px; }
  .public-home .world-banner h2 { max-width: 75%; font-size: clamp(34px, 10vw, 48px); }
  .public-home .banner-rings { width: 300px; height: 300px; right: -145px; top: 15px; }
  .public-home .news-card, .public-home .news-card:first-child { min-height: 250px; padding: 21px; grid-column: auto; }
  .public-home .news-card h3 { font-size: 21px; }
  .public-home .site-footer { display: grid; grid-template-columns: 1fr; gap: 28px; padding: 38px 0 42px; }
  .public-home .site-footer .footer-legal { gap: 18px; margin-top: 8px; padding: 18px 0; }
  .public-home .site-footer .footer-legal nav { gap: 10px 15px; }
  .public-home .site-footer .footer-legal p, .public-home .site-footer .footer-self-employed { max-width: 100%; font-size: 9px; text-align: left; }
  .public-home .footer-bottom { gap: 10px; }
}

.feature-card p { max-width: 185px; }
.feature-card { overflow: hidden; }
.feature-card::after { z-index: 0; pointer-events: none; }
.feature-character { z-index: 2; top: 50%; left: auto; right: -55px; bottom: auto; width: auto; max-width: none; height: 112%; transform: translateY(-50%); opacity: 1; filter: drop-shadow(0 28px 28px rgba(0,0,0,.44)); }
.character-mage { height: 116%; right: -48px; }
.character-warrior { height: 122%; right: -62px; }
.character-engineer { height: 119%; right: -57px; }
.feature-card > div:not(.feature-icon) { max-width: 51%; }
.feature-card h3 { max-width: 190px; }
.feature-card > :not(.feature-character) { z-index: 3; }
@media (max-width: 850px) { .feature-character { height: 106%; right: -40px; top: 50%; bottom: auto; }.character-mage { height: 110%; right: -34px; }.character-warrior,.character-engineer { height: 115%; right: -45px; }.feature-card > div:not(.feature-icon) { max-width: 47%; } }
@media (max-width: 560px) { .feature-card { min-height: 310px; }.feature-character { height: 102%; right: -30px; top: 50%; bottom: auto; }.character-mage { height: 106%; right: -25px; }.character-warrior,.character-engineer { height: 110%; right: -34px; }.feature-card > div:not(.feature-icon) { max-width: 48%; }.feature-card p { max-width: 165px; } }

/* Fixed copy column: character positioning does not move the text. */
.feature-card { overflow: visible; }
.feature-card > div:not(.feature-icon) { position: relative; z-index: 4; width: 52%; max-width: 52%; margin: 0 !important; align-self: flex-start; }
.feature-card > .feature-icon { position: relative; z-index: 4; margin: 0; }
.feature-card h3,.feature-card p { text-align: left; }
.feature-character { position: absolute; top: 50%; left: auto !important; right: -115px !important; bottom: auto; width: auto; max-width: none; height: 126%; transform: translateY(-50%); z-index: 2; }
.character-mage { height: 130%; right: -100px !important; }.character-warrior { height: 138%; right: -130px !important; }.character-engineer { height: 134%; right: -118px !important; }
@media (max-width: 850px) { .feature-card > div:not(.feature-icon) { width: 50%; max-width: 50%; }.feature-character { height: 116%; right: -82px !important; }.character-mage { height: 120%; right: -70px !important; }.character-warrior,.character-engineer { height: 126%; right: -92px !important; } }
@media (max-width: 560px) { .feature-card { min-height: 310px; }.feature-card > div:not(.feature-icon) { width: 52%; max-width: 52%; }.feature-character { height: 108%; right: -55px !important; }.character-mage { height: 112%; right: -48px !important; }.character-warrior,.character-engineer { height: 116%; right: -65px !important; } }

/* Final split: copy is locked left, artwork is locked right. */
.feature-card .feature-copy { position: relative; z-index: 10; width: 48%; max-width: 48%; margin: 0 !important; align-self: flex-start; }
.feature-card .feature-icon { position: relative; z-index: 10; margin: 0 !important; }
.feature-card .feature-character { position: absolute; z-index: 2; top: 50%; left: auto !important; right: -105px !important; bottom: auto; width: auto; height: 128%; max-width: none; transform: translateY(-50%); }
.feature-card .character-mage { height: 132%; right: -92px !important; }.feature-card .character-warrior { height: 140%; right: -118px !important; }.feature-card .character-engineer { height: 136%; right: -108px !important; }
@media (max-width: 850px) { .feature-card .feature-copy { width: 49%; max-width: 49%; }.feature-card .feature-character { height: 118%; right: -76px !important; }.feature-card .character-mage { height: 122%; right: -65px !important; }.feature-card .character-warrior,.feature-card .character-engineer { height: 128%; right: -84px !important; } }
@media (max-width: 560px) { .feature-card .feature-copy { width: 52%; max-width: 52%; }.feature-card .feature-character { height: 110%; right: -51px !important; }.feature-card .character-mage { height: 114%; right: -42px !important; }.feature-card .character-warrior,.feature-card .character-engineer { height: 118%; right: -60px !important; } }
.product-description { margin: 0 0 12px; color: var(--theme-pale, #c3d8e5); font-size: 12px; line-height: 1.55; }

/* Artwork is anchored exactly to the right edge of each tile. */
.feature-card { overflow: hidden; }
.feature-card .feature-character { top: 50%; right: 0 !important; left: auto !important; bottom: auto; height: 100%; width: auto; max-width: none; transform: translateY(-50%) translateX(45%); object-fit: contain; object-position: right center; }
.feature-card { overflow: visible; }
.feature-card .character-mage { height: 104%; right: 0 !important; }.feature-card .character-warrior { height: 110%; right: 0 !important; }.feature-card .character-engineer { height: 108%; right: 0 !important; }
@media (max-width: 850px) { .feature-card .feature-character { height: 94%; right: 0 !important; }.feature-card .character-mage { height: 98%; }.feature-card .character-warrior,.feature-card .character-engineer { height: 103%; } }
@media (max-width: 560px) { .feature-card .feature-character { height: 90%; right: 0 !important; }.feature-card .character-mage { height: 94%; }.feature-card .character-warrior,.feature-card .character-engineer { height: 99%; } }

.profile-button { display: inline-flex; align-items: center; gap: 12px; padding: 10px 0 10px 14px; border: 0; background: transparent; color: var(--text); font-size: 12px; font-weight: 800; }
.profile-button span { color: var(--blue); font-size: 15px; }
.profile-button:hover { color: var(--blue); }
.about-section { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding-top: 65px; }
.about-visual { min-height: 390px; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: radial-gradient(circle at 50% 45%, var(--theme-strong, #286f9b), var(--theme-panel, #102b4b) 45%, var(--theme-base, #091525) 75%); }
.about-visual::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.13), transparent 34%); }
.about-stamp { position: absolute; top: 23px; left: 25px; color: rgba(218,242,255,.64); font-size: 12px; font-weight: 800; letter-spacing: .15em; line-height: 1.2; }
.about-stamp span { color: var(--blue); font-size: 9px; }
.about-lines { position: absolute; width: 440px; height: 440px; top: -20px; left: calc(50% - 220px); border: 1px solid rgba(var(--theme-pale-rgb, 156, 226, 255), .42); border-radius: 50%; transform: rotate(-28deg); box-shadow: 0 0 0 33px rgba(var(--theme-pale-rgb, 156, 226, 255), .04), 0 0 0 72px rgba(var(--theme-pale-rgb, 156, 226, 255), .04); }
.about-core { position: absolute; left: calc(50% - 54px); top: calc(50% - 54px); width: 108px; height: 108px; display: grid; place-items: center; border: 1px solid rgba(221,248,255,.7); border-radius: 50%; color: #eafaff; font-size: 52px; font-weight: 800; box-shadow: 0 0 45px rgba(var(--theme-accent-rgb, 117, 200, 255), .65), inset 0 0 32px rgba(var(--theme-accent-rgb, 117, 200, 255), .22); }
.about-core img { width:72%; height:72%; object-fit:contain; border-radius:12px; filter:drop-shadow(0 0 14px rgba(217,248,255,.45)); }
.about-stamp { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.about-caption { position: absolute; right: 24px; bottom: 22px; color: rgba(218,242,255,.65); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.about-copy h2 { margin: 0 0 22px; font-size: clamp(40px, 5vw, 62px); line-height: .97; letter-spacing: -.07em; }
.about-copy > p:not(.eyebrow) { max-width: 430px; margin-bottom: 26px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.about-stats { display: flex; gap: 34px; margin-top: 46px; padding-top: 20px; border-top: 1px solid var(--line); }
.about-stats div { display: grid; gap: 5px; }
.about-stats strong { color: var(--blue); font-size: 20px; letter-spacing: -.05em; }
.about-stats span { color: var(--muted); font-size: 9px; }
.rules-section { padding: 30px 0 100px; }
.rules-heading { margin-bottom: 34px; }
.rules-heading h2 { margin: 0; font-size: clamp(38px, 5vw, 59px); line-height: .97; letter-spacing: -.07em; }
.rules-list { border-top: 1px solid var(--line); }
.rules-list article { display: grid; grid-template-columns: 70px 1fr 30px; gap: 24px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }
.rules-list article > span { color: var(--blue); font-size: 11px; font-weight: 800; }
.rules-list h3 { margin: 0 0 6px; font-size: 18px; letter-spacing: -.04em; }
.rules-list p { max-width: 550px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.rules-list b { color: var(--blue); text-align: right; font-size: 18px; }
.auth-switcher { display: flex; gap: 19px; margin-bottom: 34px; border-bottom: 1px solid var(--line); }
.auth-tab { padding: 0 0 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-size: 12px; font-weight: 800; }
.auth-tab.active { border-color: var(--blue); color: var(--text); }
.auth-modal { width: min(100%, 430px); position: relative; padding: 32px; border: 1px solid rgba(var(--theme-pale-rgb, 177, 224, 250), .2); border-radius: 25px; background: var(--theme-base, #0c1e31); box-shadow: 0 28px 80px rgba(0,0,0,.5); transform: translateY(15px); transition: transform .22s; }
.open .auth-modal { transform: translateY(0); }
.auth-modal h2 { margin: 0 0 9px; font-size: 33px; letter-spacing: -.06em; }
.auth-form { display: grid; gap: 14px; margin-top: 25px; }
.auth-form label { display: grid; gap: 7px; color: var(--theme-pale, #d4e6f3); font-size: 11px; font-weight: 700; }
.auth-form input { width: 100%; height: 43px; padding: 0 13px; outline: none; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.045); color: var(--text); font: inherit; font-size: 12px; }
.auth-form input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(var(--theme-accent-rgb, 117, 200, 255), .1); }
.auth-registration-hint { margin:-5px 0 0; padding:10px 12px; border:1px solid rgba(var(--theme-accent-rgb, 125, 171, 248), .16); border-radius:10px; background:rgba(var(--theme-accent-rgb, 104, 151, 231), .06); color:var(--theme-muted, #9aacc7); font-size:10px; line-height:1.55; }
.auth-forgot { color: var(--muted); text-align: center; font-size: 10px; }
.auth-forgot:hover { color: var(--blue); }
.auth-link-button { padding:0; border:0; background:none; color:var(--muted); font:inherit; font-size:10px; cursor:pointer; }
.auth-link-button:hover { color:var(--blue); }
.is-hidden { display: none; }
.info-bar { position:fixed; right:50%; bottom:26px; z-index:19; display:flex; align-items:center; justify-content:center; gap:16px; width:min(760px,calc(100% - 30px)); min-height:64px; padding:15px 18px; border:1px solid rgba(117,200,255,.55); border-radius:18px; background:linear-gradient(110deg,rgba(12,50,78,.98),rgba(10,31,53,.98)); box-shadow:0 22px 65px rgba(0,0,0,.48),0 0 34px rgba(117,200,255,.25),inset 0 1px rgba(255,255,255,.13); color:#ecfaff; font-size:14px; font-weight:700; line-height:1.45; text-align:center; opacity:0; pointer-events:none; transform:translate(50%,20px); transition:opacity .24s,transform .24s; backdrop-filter:blur(14px); }
.info-bar[hidden] { display:none!important; }
.info-bar.is-closing { opacity:0; pointer-events:none; transform:translate(50%,20px); }
.toast:not(.show) { opacity:0!important; visibility:hidden!important; pointer-events:none!important; }
.toast.show { opacity:1!important; visibility:visible!important; pointer-events:auto; }
.info-bar.is-visible { opacity:1; pointer-events:auto; transform:translate(50%,0); }
.partners-section { padding-top: 55px; }
.partners-intro { max-width: 300px; margin: 0 0 4px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.partner-card { min-height: 220px; position: relative; display: grid; grid-template-columns: 132px minmax(0, 1fr) auto; align-items: center; gap: 30px; overflow: hidden; padding: 30px 34px; border: 1px solid rgba(255,151,75,.28); border-radius: 24px; background: linear-gradient(115deg, rgba(50,31,25,.96), rgba(var(--theme-base-rgb, 15, 19, 25), .98) 64%, rgba(35,26,24,.96)); color: var(--text); text-decoration: none; isolation: isolate; transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.partner-card::before { content: ''; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 16% 50%, rgba(245,106,20,.22), transparent 27%), linear-gradient(110deg, rgba(255,171,104,.07), transparent 40%, rgba(245,106,20,.08)); opacity: .95; }
.partner-card::after { content: ''; position: absolute; inset: 14px; z-index: -1; border: 1px solid rgba(255,183,119,.12); border-radius: 17px; pointer-events: none; }
.partner-card:hover { transform: translateY(-5px); border-color: rgba(255,151,75,.72); box-shadow: 0 22px 55px rgba(0,0,0,.3), 0 0 38px rgba(245,106,20,.16); }
.partner-glow { width: 360px; height: 360px; position: absolute; z-index:0; left: -105px; top: -70px; border: 1px solid rgba(255,146,64,.3); border-radius: 50%; box-shadow: 0 0 0 28px rgba(245,106,20,.055), 0 0 0 70px rgba(245,106,20,.035), 0 0 85px rgba(245,106,20,.28); transform: rotate(-24deg); pointer-events: none; animation: partner-breathe 5s ease-in-out infinite; }
.partner-orbit { position:absolute; z-index:0; left:-40px; top:50%; width:430px; height:135px; border:1px solid rgba(255,170,96,.25); border-radius:50%; transform:translateY(-50%) rotate(-22deg); pointer-events:none; animation:partner-orbit 16s linear infinite; }
.partner-orbit-two { width:360px; height:100px; left:-5px; border-color:rgba(255,191,137,.2); transform:translateY(-50%) rotate(21deg); animation-duration:21s; animation-direction:reverse; }
.partner-signal { position:absolute; z-index:0; left:0; top:18%; width:2px; height:64%; border-radius:50%; background:linear-gradient(180deg,transparent,rgba(255,145,57,.9),transparent); box-shadow:0 0 22px rgba(255,126,35,.75); opacity:.65; animation:partner-signal 4.5s ease-in-out infinite; pointer-events:none; }
.partner-logo { width: 118px; height: 118px; display: grid; place-items: center; overflow: hidden; z-index:1; border: 1px solid rgba(255,185,103,.9); border-radius: 27px; background: #050505; box-shadow: 0 0 20px rgba(255,126,35,.72), 0 0 52px rgba(244,91,18,.42), 0 14px 30px rgba(0,0,0,.28); transform: rotate(-3deg); transition: transform .24s ease, box-shadow .24s ease; }
.partner-card:hover .partner-logo { transform: rotate(0) scale(1.05); box-shadow: 0 0 24px rgba(255,145,57,.92), 0 0 70px rgba(244,91,18,.58), 0 14px 30px rgba(0,0,0,.3); }
.partner-logo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.partner-copy { max-width: 650px; display: grid; gap: 9px; position:relative; z-index:2; }
.partner-kicker { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.partner-copy strong { font-size: clamp(30px, 4vw, 52px); letter-spacing: -.07em; line-height: .95; }
.partner-copy > span:last-child { max-width: 620px; color: rgba(218,238,248,.72); font-size: 12px; line-height: 1.6; }
.partner-link { display: inline-flex; align-items: center; gap: 9px; justify-self: end; position:relative; z-index:2; color: #ffb274; font-size: 11px; font-weight: 800; white-space: nowrap; }
.partner-link .ui-icon { width: 15px; height: 15px; filter:brightness(0) saturate(100%) invert(76%) sepia(52%) saturate(1050%) hue-rotate(333deg) brightness(103%) contrast(101%); }
@keyframes partner-breathe { 0%,100% { opacity:.55; transform:rotate(-24deg) scale(.96); } 50% { opacity:1; transform:rotate(-19deg) scale(1.04); } }
@keyframes partner-orbit { from { transform:translateY(-50%) rotate(-22deg); } to { transform:translateY(-50%) rotate(338deg); } }
@keyframes partner-signal { 0%,100% { opacity:.18; transform:scaleY(.72) translateX(0); } 50% { opacity:.9; transform:scaleY(1) translateX(13px); } }
@media (prefers-reduced-motion: reduce) { .partner-glow,.partner-orbit,.partner-signal { animation:none; } }
@media (max-width: 850px) { .partner-card { grid-template-columns: 100px minmax(0,1fr); gap: 22px; padding: 25px; }.partner-logo { width: 94px; height: 94px; border-radius: 22px; }.partner-link { grid-column: 2; justify-self: start; } }
@media (max-width: 560px) { .partners-section { padding-top: 35px; }.partners-intro { margin: 0; }.partner-card { grid-template-columns: 1fr; gap: 20px; padding: 23px; }.partner-logo { width: 88px; height: 88px; }.partner-link { grid-column: auto; }.partner-copy strong { font-size: 38px; }.partner-copy > span:last-child { font-size: 11px; } }
.partners-page { min-height: 100vh; background: radial-gradient(circle at 82% 18%, rgba(245,106,20,.08), transparent 24%), var(--bg); }
.partners-page .site-header { border-bottom-color: rgba(var(--theme-pale-rgb, 174, 226, 249), .14); }
.partners-shell { min-height: calc(100vh - 170px); padding-top: 100px; padding-bottom: 100px; }
.partners-page-heading { max-width: 700px; margin-bottom: 48px; }
.partners-page-heading h1 { margin: 22px 0 16px; font-size: clamp(44px, 7vw, 84px); letter-spacing: -.08em; line-height: .9; }
.partners-page-heading > p:last-child { max-width: 500px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.partner-card-page { min-height: 280px; }
.partners-footer { margin-top: 0; }
@media (max-width: 850px) { .partners-shell { padding-top: 72px; padding-bottom: 70px; }.partners-page .main-nav { display: none; } }
.info-bar-mark { width:28px; height:28px; display:grid; flex:0 0 auto; place-items:center; border:1px solid rgba(117,200,255,.7); border-radius:50%; color:var(--blue); font-size:14px; font-weight:800; box-shadow:0 0 16px rgba(117,200,255,.35); }
.info-bar button { width:30px; height:30px; flex:0 0 auto; border:1px solid rgba(255,255,255,.15); border-radius:9px; background:rgba(255,255,255,.08); color:#c4dce8; font-size:20px; line-height:1; }
.info-bar button:hover { color:var(--text); background:rgba(255,255,255,.14); }
.info-bar { overflow:hidden; background:linear-gradient(110deg,rgba(39,126,176,.38),rgba(7,24,43,.62) 48%,rgba(67,151,194,.28)); border-color:rgba(185,234,255,.48); box-shadow:0 22px 65px rgba(0,0,0,.38),0 0 38px rgba(117,200,255,.2),inset 0 1px rgba(255,255,255,.22); backdrop-filter:blur(18px) saturate(135%); -webkit-backdrop-filter:blur(18px) saturate(135%); }
.info-bar::before { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 30%,transparent 68%,rgba(117,200,255,.1)); }
.info-bar > * { position:relative; z-index:1; }
@media (max-width:560px) { .info-bar { right:15px; bottom:15px; width:calc(100% - 30px); min-height:58px; padding:13px 12px; gap:10px; font-size:12px; transform:translateY(20px); }.info-bar.is-visible { transform:translateY(0); }.info-bar.is-closing { transform:translateY(20px); } }
.footer-bottom { grid-column:1 / -1; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-top:25px; padding-top:22px; border-top:1px solid rgba(var(--theme-pale-rgb, 184, 221, 249), .08); }
.footer-bottom .copyright { grid-column:auto; margin:0; }
.footer-disclaimer { max-width:540px; margin:0; color:rgba(var(--theme-muted-rgb, 141, 162, 183), .65); font-size:10px; line-height:1.7; text-align:right; }
.footer-disclaimer span { color:rgba(213,235,247,.8); }
.footer-disclaimer a { color:var(--blue); transition:color .2s ease; }
.footer-disclaimer a:hover { color:var(--text); }
@media (max-width:560px) { .footer-bottom { align-items:flex-start; flex-direction:column; gap:12px; }.footer-disclaimer { text-align:left; } }

/* Footer typography: one family, one rhythm, clear hierarchy. */
.public-home .site-footer,
.partners-page .site-footer,
.client-page .client-footer {
  font-family: inherit;
}
.public-home .site-footer .footer-brand p,
.public-home .site-footer .footer-links,
.public-home .site-footer .footer-social,
.partners-page .site-footer .footer-links,
.partners-page .site-footer .footer-social {
  font-size: 11px;
  line-height: 1.55;
}
.public-home .site-footer .footer-links,
.public-home .site-footer .footer-social { gap: 9px; }
.public-home .site-footer .footer-links strong,
.public-home .site-footer .footer-social strong,
.partners-page .site-footer .footer-links strong,
.partners-page .site-footer .footer-social strong {
  margin-bottom: 3px;
  color: #dce7fa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.3;
  text-transform: uppercase;
}
.public-home .site-footer .footer-legal { gap: 24px; }
.public-home .site-footer .footer-legal nav { gap: 10px 20px; }
.public-home .site-footer .footer-legal a,
.public-home .site-footer .footer-legal p,
.public-home .site-footer .footer-bottom,
.public-home .site-footer .footer-disclaimer,
.public-home .site-footer .copyright {
  font-size: 10px;
  line-height: 1.6;
}
.public-home .site-footer .footer-legal p,
.public-home .site-footer .footer-disclaimer,
.public-home .site-footer .copyright { color: var(--theme-muted, #76849b); }
.public-home .site-footer .footer-legal p .brand-name,
.public-home .site-footer .footer-bottom .copyright .brand-name,
.partners-page .site-footer .footer-legal p .brand-name,
.partners-page .site-footer .footer-bottom .copyright .brand-name {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

/* Partner card: AstralCross structure with Mitelis orange used as a precise accent. */
.partner-card {
  min-height: 300px;
  grid-template-columns: 156px minmax(0,1fr) auto;
  gap: 34px;
  padding: 38px 42px;
  border: 1px solid rgba(var(--theme-accent-rgb, 126, 164, 226), .28);
  border-radius: 28px;
  background: linear-gradient(118deg,var(--theme-base, #111e36) 0%,var(--theme-base, #0b1427) 62%,var(--theme-base, #101b31) 100%);
  box-shadow: 0 24px 70px rgba(var(--theme-deep-rgb, 1, 5, 14), .3),inset 0 1px rgba(255,255,255,.06);
}
.partner-card::before {
  background: radial-gradient(circle at 16% 50%,rgba(245,106,20,.13),transparent 23%),linear-gradient(115deg,rgba(var(--theme-accent-rgb, 120, 169, 255), .1),transparent 37%,rgba(var(--theme-accent-rgb, 120, 169, 255), .035));
}
.partner-card::after { inset: 12px; border-color: rgba(var(--theme-pale-rgb, 157, 192, 255), .1); border-radius: 20px; }
.partner-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--theme-pale-rgb, 157, 192, 255), .52);
  box-shadow: 0 28px 75px rgba(var(--theme-deep-rgb, 1, 5, 14), .4),0 0 34px rgba(var(--theme-accent-rgb, 120, 169, 255), .1);
}
.partner-index {
  position: absolute;
  top: 27px;
  left: 30px;
  z-index: 3;
  color: var(--theme-muted, #8094b7);
  font: 800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing: .14em;
}
.partner-kicker {
  position: absolute;
  top: 29px;
  left: 42px;
  z-index: 3;
  color: var(--theme-accent, #91b6f5);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.partner-logo {
  width: 132px;
  height: 132px;
  justify-self: center;
  border: 1px solid rgba(255,170,96,.8);
  border-radius: 34px;
  background: var(--theme-deep, #05070c);
  box-shadow: 0 0 20px rgba(255,126,35,.48),0 0 55px rgba(244,91,18,.22),0 20px 36px rgba(var(--theme-deep-rgb, 1, 5, 14), .38);
  transform: rotate(-4deg);
}
.partner-card:hover .partner-logo { transform: rotate(0) scale(1.04); box-shadow: 0 0 24px rgba(255,145,57,.72),0 0 62px rgba(244,91,18,.34),0 22px 40px rgba(var(--theme-deep-rgb, 1, 5, 14), .44); }
.partner-copy { gap: 13px; }
.partner-copy strong { color: #f0f5ff; font-size: clamp(38px,5vw,66px); }
.partner-copy > span:last-child { max-width: 590px; color: var(--theme-muted, #9eacc2); font-size: 12px; line-height: 1.7; }
.partner-link { align-self: end; padding: 11px 14px; border: 1px solid rgba(var(--theme-pale-rgb, 157, 192, 255), .25); border-radius: 11px; background: var(--theme-panel, #172946); color: var(--theme-pale, #b9d5ff); box-shadow: inset 0 1px rgba(255,255,255,.06); transition: background .2s ease,border-color .2s ease,transform .2s ease; }
.partner-link:hover { border-color: rgba(var(--theme-pale-rgb, 157, 192, 255), .55); background: var(--theme-raised, #253d65); color: #fff; transform: translateY(-2px); }
.partner-glow { border-color: rgba(255,146,64,.22); box-shadow: 0 0 0 28px rgba(245,106,20,.035),0 0 0 70px rgba(245,106,20,.018),0 0 75px rgba(245,106,20,.18); }
@media (max-width: 850px) {
  .partner-card { grid-template-columns: 112px minmax(0,1fr); gap: 24px; padding: 42px 28px 28px; }
  .partner-logo { width: 104px; height: 104px; }
  .partner-link { grid-column: 2; justify-self: start; align-self: auto; }
  .partner-kicker { left: 28px; }
}
@media (max-width: 560px) {
  .partner-card { grid-template-columns: 1fr; gap: 20px; padding: 58px 22px 23px; }
  .partner-logo { width: 102px; height: 102px; justify-self: start; }
  .partner-copy strong { font-size: 45px; }
  .partner-link { grid-column: auto; justify-self: start; }
  .partner-index { top: 25px; left: 22px; }
  .partner-kicker { top: 25px; left: 56px; font-size: 8px; }
}

/* Unbounded needs a slightly calmer display scale on the partner page. */
.partners-page-heading h1 { font-size: clamp(34px,6vw,68px); letter-spacing: -.075em; line-height: 1.02; }
.partner-copy strong { font-size: clamp(30px,4vw,54px); letter-spacing: -.065em; line-height: 1.02; }
.partner-copy > span:last-child { line-height: 1.8; }
@media (max-width: 560px) {
  .partners-page-heading h1 { font-size: 36px; }
  .partner-copy strong { font-size: 38px; }
}
.site-header .brand-mark { width:62px; height:62px; flex-basis:62px; color:var(--blue); background:transparent; border-radius:0; box-shadow:none; text-shadow:0 0 18px rgba(var(--theme-accent-rgb, 117, 200, 255), .9); }
.site-header .brand-mark img { filter:drop-shadow(0 0 12px rgba(var(--theme-accent-rgb, 117, 200, 255), .78)) drop-shadow(0 0 26px rgba(var(--theme-accent-rgb, 117, 200, 255), .32)); }
.footer-brand .brand-mark { color:var(--blue); background:transparent; border-radius:0; box-shadow:none; text-shadow:0 0 15px rgba(var(--theme-accent-rgb, 117, 200, 255), .82); }
.footer-brand .brand-mark img { filter:drop-shadow(0 0 10px rgba(var(--theme-accent-rgb, 117, 200, 255), .7)); }
@media (max-width:560px) { .site-header .brand-mark { width:52px; height:52px; flex-basis:52px; } }
.menu-toggle { display:none; width:38px; height:38px; padding:9px; border:1px solid var(--line); border-radius:11px; background:rgba(var(--theme-accent-rgb, 117, 200, 255), .08); }
.menu-toggle span { display:block; width:17px; height:1px; margin:4px auto; background:var(--text); transition:transform .2s, opacity .2s; }
.menu-open .menu-toggle span:first-child { transform:translateY(2.5px) rotate(45deg); }.menu-open .menu-toggle span:last-child { transform:translateY(-2.5px) rotate(-45deg); }
.about-stats strong[data-products-count], .about-stats strong[data-modes-count] { font-size:20px; }
@media (max-width:850px) {
  .site-header { position:relative; z-index:30; }
  .menu-toggle { display:block; }
  .header-actions { gap:8px; }
  .main-nav { position:absolute; top:76px; left:0; right:0; display:grid; gap:0; padding:8px; border:1px solid var(--line); border-radius:16px; background:rgba(var(--theme-base-rgb, 8, 27, 46), .97); box-shadow:0 22px 55px rgba(0,0,0,.32); opacity:0; pointer-events:none; transform:translateY(-8px); transition:opacity .2s, transform .2s; }
  .menu-open .main-nav { opacity:1; pointer-events:auto; transform:translateY(0); }
  .main-nav a { padding:12px 13px; border-radius:10px; font-size:12px; }
  .main-nav a:hover, .main-nav a.active { background:rgba(var(--theme-accent-rgb, 117, 200, 255), .1); }
}
.product-card { position:relative; display:flex; flex-direction:column; min-height:430px; background:linear-gradient(145deg,rgba(var(--theme-panel-rgb, 19, 49, 76), .9),rgba(var(--theme-base-rgb, 7, 20, 36), .96)); }
.product-card::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%,transparent 72%,rgba(var(--theme-accent-rgb, 117, 200, 255), .05)); opacity:0; transition:opacity .25s ease; }
.product-card:hover::after { opacity:1; }
.product-art { height:214px; flex:0 0 214px; isolation:isolate; }
.product-art::after { z-index:-1; }
.product-art-kicker { position:absolute; top:17px; right:17px; z-index:2; max-width:58%; overflow:hidden; color:rgba(226,247,255,.68); font-size:9px; font-weight:800; letter-spacing:.12em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.product-art-shine { position:absolute; inset:-40% 48% 15% -25%; z-index:1; border-radius:50%; background:rgba(255,255,255,.14); filter:blur(24px); transform:rotate(-22deg); pointer-events:none; }
.product-info { flex:1; align-items:flex-start; gap:13px; padding:19px 20px 8px; }
.product-copy { min-width:0; }
.product-info h3 { margin-top:6px; font-size:20px; }
.product-copy p { max-width:220px; margin:8px 0 0; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.45; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.product-price { flex:0 0 auto; padding-top:3px; color:#e8f8ff; white-space:nowrap; font-size:16px !important; }
.product-price del { display:block; margin-bottom:3px; color:rgba(var(--theme-pale-rgb, 199, 222, 236), .48); font-size:10px; font-weight:500; }
.product-card-foot { display:flex; align-items:center; gap:10px; padding:12px 20px 20px; }
.product-delivery { display:flex; align-items:center; gap:6px; min-width:0; color:var(--muted); font-size:9px; white-space:nowrap; }
.product-delivery i { width:6px; height:6px; border-radius:50%; background:#79e3be; box-shadow:0 0 10px #79e3be; }
.product-card-foot .product-buy { width:auto; flex:1; margin:0; }
.product-buy.is-unavailable { color:var(--theme-muted, #8498a8); border-color:rgba(var(--theme-muted-rgb, 132, 152, 168), .28); background:rgba(var(--theme-muted-rgb, 132, 152, 168), .08); }

.store-heading-actions { display:flex; align-items:center; gap:18px; }
.cart-open { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; }
.cart-open > span { min-width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .16); color:var(--theme-pale, #a9c7ff); font-size:11px; }
.cart-open > strong { color:#eaf1ff; }
.cart-open.has-items { border-color:rgba(var(--theme-accent-rgb, 120, 169, 255), .42); box-shadow:0 0 22px rgba(var(--theme-accent-rgb, 90, 137, 255), .12); }
.cart-add { min-height:42px; padding:0 13px; border:1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .25); border-radius:11px; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .07); color:var(--theme-pale, #a9c7ff); font:inherit; font-size:11px; font-weight:700; white-space:nowrap; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.cart-add:hover { border-color:rgba(var(--theme-accent-rgb, 120, 169, 255), .6); background:rgba(var(--theme-accent-rgb, 120, 169, 255), .15); transform:translateY(-1px); }
.cart-add:disabled { opacity:.5; cursor:not-allowed; }
.product-card-foot { gap:8px; }
.product-card-foot .product-buy { flex:1; }
.checkout-cart-items { display:grid; gap:8px; margin:14px 0 18px; max-height:220px; overflow:auto; }
.checkout-cart-items[hidden] { display:none; }
.checkout-cart-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:11px 12px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .14); border-radius:12px; background:rgba(255,255,255,.025); }
.checkout-cart-info { min-width:0; display:grid; gap:4px; }
.checkout-cart-info strong { overflow:hidden; color:#e6edff; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.checkout-cart-info small { color:var(--theme-muted, #8495b2); font-size:10px; }
.checkout-cart-quantity { display:flex; align-items:center; gap:8px; color:#e6edff; font-size:12px; }
.checkout-cart-quantity button { width:25px; height:25px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .2); border-radius:7px; background:var(--theme-base, #111c30); color:var(--theme-pale, #c4d6ff); cursor:pointer; }
.checkout-cart-quantity .checkout-cart-remove { width:auto; margin-left:3px; padding:0 7px; color:var(--theme-muted, #aab6cc); font-size:10px; }
.checkout-cart-price { color:#e6edff; font-size:11px; white-space:nowrap; }
.public-home .store-heading-actions { gap:14px; }
.public-home .cart-open {
  min-height:48px; padding:0 18px; border:1px solid rgba(var(--theme-accent-rgb, 129, 169, 255), .38); border-radius:13px;
  background:linear-gradient(145deg,rgba(var(--theme-panel-rgb, 28, 46, 79), .96),rgba(var(--theme-base-rgb, 14, 25, 45), .98));
  color:#eaf1ff; box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 22px rgba(0,0,0,.16);
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.public-home .cart-open:hover { border-color:rgba(var(--theme-accent-rgb, 141, 181, 255), .7); background:linear-gradient(145deg,var(--theme-raised, #223c67),var(--theme-panel, #14233d)); transform:translateY(-1px); box-shadow:0 10px 28px rgba(var(--theme-strong-rgb, 62, 104, 193), .2); }
.public-home .cart-open > span { background:var(--theme-accent, #8ab5ff); color:var(--theme-base, #081326); font-weight:800; }
.public-home .cart-open > strong { color:#fff; }
.purchase-modal.is-cart-checkout { width:min(100%,620px); padding:30px; }
.purchase-modal.is-cart-checkout .purchase-product-head { display:block; min-height:0; padding:0; }
.purchase-modal.is-cart-checkout .purchase-product-art,
.purchase-modal.is-cart-checkout .purchase-product-copy > .eyebrow,
.purchase-modal.is-cart-checkout #modal-description,
.purchase-modal.is-cart-checkout .purchase-trust { display:none; }
.purchase-modal.is-cart-checkout .purchase-product-copy h2 { margin:0; padding-right:38px; font-size:30px; }
.purchase-modal.is-cart-checkout .modal-subtitle { margin:9px 0 0; color:var(--theme-muted, #a2b2ce); }
.purchase-modal.is-cart-checkout form { gap:13px; margin-top:20px; }
.purchase-modal label[hidden] { display:none !important; }
.purchase-modal.is-cart-checkout .checkout-cart-items { max-height:250px; margin:16px 0 20px; padding-right:3px; }
.purchase-modal.is-cart-checkout .checkout-cart-row { grid-template-columns:minmax(0,1fr) auto auto; gap:14px; padding:13px 15px; border-color:rgba(var(--theme-accent-rgb, 157, 181, 224), .17); background:linear-gradient(110deg,rgba(var(--theme-panel-rgb, 22, 34, 57), .9),rgba(var(--theme-base-rgb, 12, 20, 36), .92)); }
.purchase-modal.is-cart-checkout .checkout-cart-info strong { font-size:13px; }
.purchase-modal.is-cart-checkout .checkout-cart-info small { font-size:10px; }
.purchase-modal.is-cart-checkout .checkout-cart-price { font-size:12px; }
.purchase-modal.is-cart-checkout .checkout-cart-quantity button { width:29px; height:29px; border-radius:9px; background:var(--theme-panel, #172641); }
.purchase-modal.is-cart-checkout .checkout-cart-quantity .checkout-cart-remove { min-height:29px; padding:0 9px; border-color:rgba(var(--theme-accent-rgb, 157, 181, 224), .15); color:var(--theme-muted, #aab9d3); }
.purchase-modal.is-cart-checkout .modal-total { padding-top:13px; border-top:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .13); }
@media (max-width:560px) {
  .store-heading-actions { width:100%; justify-content:space-between; gap:8px; }
  .product-card-foot { flex-wrap:wrap; }
  .product-card-foot .product-delivery { display:none; }
  .public-home .product-card-foot .product-buy { width:auto; min-width:0; flex:1; }
  .cart-add { flex:1; }
  .checkout-cart-row { grid-template-columns:minmax(0,1fr) auto; }
  .checkout-cart-price { grid-column:1; }
  .checkout-cart-quantity { grid-column:2; grid-row:1 / span 2; }
  .checkout-cart-quantity .checkout-cart-remove { width:auto; padding:0 6px; font-size:9px; }
  .purchase-modal.is-cart-checkout { width:min(100%,560px); padding:24px 18px; }
  .purchase-modal.is-cart-checkout .purchase-product-copy h2 { font-size:25px; }
  .purchase-modal.is-cart-checkout .checkout-cart-row { grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; padding:11px; }
  .purchase-modal.is-cart-checkout .checkout-cart-price { grid-column:1; }
  .purchase-modal.is-cart-checkout .checkout-cart-quantity { grid-column:2; grid-row:1 / span 2; gap:6px; }
  .purchase-modal.is-cart-checkout .checkout-cart-quantity .checkout-cart-remove { width:auto; min-height:27px; padding:0 6px; font-size:9px; }
}
.purchase-product-head { display:grid; grid-template-columns:104px 1fr; align-items:center; gap:16px; padding-right:22px; }
.purchase-product-art { height:104px; position:relative; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(var(--theme-pale-rgb, 190, 235, 255), .25); border-radius:18px; isolation:isolate; }
.purchase-product-art::before, .purchase-product-art::after { content:''; position:absolute; border:1px solid rgba(221,249,255,.32); border-radius:50%; transform:rotate(25deg); }
.purchase-product-art::before { width:135px; height:48px; }.purchase-product-art::after { width:175px; height:72px; opacity:.5; }
.purchase-product-art img { width:100%; height:100%; position:relative; z-index:1; object-fit:contain; padding:9px; filter:drop-shadow(0 12px 14px rgba(0,0,0,.35)); }
.purchase-product-orb { width:49px; height:49px; position:relative; z-index:1; border-radius:50%; background:radial-gradient(circle at 31% 25%,#fff,var(--theme-pale, #a5efff) 9%,var(--theme-strong, #39a8d4) 35%,var(--theme-raised, #123c69) 72%); box-shadow:0 0 28px rgba(var(--theme-accent-rgb, 104, 215, 255), .65); }
.purchase-product-symbol { position:relative; z-index:2; margin-left:-36px; color:white; font-size:22px; font-weight:800; text-shadow:0 0 14px #fff; }
.purchase-product-copy .eyebrow { margin-bottom:9px; }
.purchase-product-copy h2 { margin-bottom:6px; font-size:27px; }
.purchase-product-copy .product-description { margin:0; max-height:36px; overflow:hidden; }
.purchase-trust { display:flex; gap:14px; margin:20px 0 -4px; padding:11px 12px; border:1px solid rgba(var(--theme-accent-rgb, 117, 200, 255), .14); border-radius:11px; background:rgba(var(--theme-accent-rgb, 117, 200, 255), .055); color:var(--theme-pale, #b7d8e9); font-size:9px; }
.purchase-trust span { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.purchase-trust i { color:var(--blue); font-style:normal; }
.promo-feedback { min-height:14px; color:var(--muted); font-size:10px; font-weight:500; }.promo-feedback.is-success { color:#7cf4ae; }.promo-feedback.is-error { color:#f09a9a; }
@media (max-width:560px) { .product-card { min-height:410px; }.product-art { height:190px; flex-basis:190px; }.product-info { padding-left:16px; padding-right:16px; }.product-card-foot { padding-left:16px; padding-right:16px; }.product-delivery { display:none; }.purchase-product-head { grid-template-columns:82px 1fr; gap:12px; padding-right:8px; }.purchase-product-art { height:82px; }.purchase-product-copy h2 { font-size:23px; }.purchase-trust { gap:8px; font-size:8px; } }
@media (max-width: 850px) { .about-section { grid-template-columns: 1fr; gap: 38px; } }
@media (max-width: 560px) { .profile-button { padding-left: 0; } .rules-list article { grid-template-columns: 38px 1fr 20px; gap: 12px; } .rules-list article > span { font-size: 10px; } .rules-list h3 { font-size: 16px; } .about-stats { gap: 17px; } .purchase-modal, .auth-modal { padding: 26px 21px; } }
/* Local SVG icon system: stable across browsers and operating systems. */
.ui-icon { width: 1em; height: 1em; display: inline-block; flex: 0 0 auto; object-fit: contain; vertical-align: -.16em; }
.button .ui-icon,.text-link .ui-icon,.mode-enter .ui-icon,.product-buy .ui-icon { width: 14px; height: 14px; }
.feature-icon .ui-icon { width: 20px; height: 20px; }
.card-arrow { width: 17px; height: 17px; }
.ui-icon { filter: brightness(0) saturate(100%) invert(64%) sepia(34%) saturate(700%) hue-rotate(164deg) brightness(91%) contrast(91%); }
.button-primary .ui-icon,.product-buy .ui-icon { filter: brightness(0) saturate(100%) invert(15%) sepia(30%) saturate(1200%) hue-rotate(170deg) brightness(84%) contrast(96%); }
.feature-card .ui-icon,.mode-card .ui-icon { filter: brightness(0) saturate(100%) invert(84%) sepia(22%) saturate(900%) hue-rotate(164deg) brightness(105%) contrast(96%); }
.modal-close .ui-icon,.info-bar #info-bar-close .ui-icon { filter: brightness(0) saturate(100%) invert(56%) sepia(13%) saturate(500%) hue-rotate(164deg) brightness(90%) contrast(88%); }

/* Тип сообщения меняет только акцент и иконографику, сохраняя общую форму бара. */
.public-home .info-bar[data-info-type="notice"] { border-color:rgba(157,192,255,.42); background:linear-gradient(110deg,rgba(37,87,157,.48),rgba(10,25,49,.9)); }
.public-home .info-bar[data-info-type="discount"] { border-color:rgba(87,214,176,.46); background:linear-gradient(110deg,rgba(24,111,109,.5),rgba(8,34,48,.92)); }
.public-home .info-bar[data-info-type="problem"] { border-color:rgba(255,174,96,.52); background:linear-gradient(110deg,rgba(132,76,43,.55),rgba(42,25,30,.93)); }
.public-home .info-bar[data-info-type="discount"] .info-bar-mark { border-color:rgba(102,233,195,.48); background:#164d53; }
.public-home .info-bar[data-info-type="problem"] .info-bar-mark { border-color:rgba(255,193,117,.55); background:#5b372d; }
.public-home .info-bar[data-info-type="problem"] .info-bar-mark .ui-icon { filter:brightness(0) saturate(100%) invert(79%) sepia(47%) saturate(800%) hue-rotate(337deg) brightness(105%) contrast(101%); }
.public-home .info-bar[data-info-type="discount"] .info-bar-mark .ui-icon { filter:brightness(0) saturate(100%) invert(80%) sepia(30%) saturate(900%) hue-rotate(120deg) brightness(110%) contrast(101%); }

/* Классы продублированы с data-атрибутом: так стиль не зависит от порядка CSS-слоёв. */
.public-home .info-bar.info-bar-notice { border-color:rgba(157,192,255,.56)!important; background:linear-gradient(110deg,#25579d,#0a1931)!important; }
.public-home .info-bar.info-bar-discount { border-color:rgba(87,214,176,.62)!important; background:linear-gradient(110deg,#176f6d,#082230)!important; }
.public-home .info-bar.info-bar-problem { border-color:rgba(255,174,96,.68)!important; background:linear-gradient(110deg,#844c2b,#2a191e)!important; }

/* Public site redesign: premium sapphire game network. */
.public-home {
  --bg: var(--theme-deep, #050814);
  --bg-soft: var(--theme-base, #080d1b);
  --panel: var(--theme-base, #0b1223);
  --panel-light: var(--theme-base, #101a31);
  --text: #f2f6ff;
  --muted: var(--theme-muted, #8d99af);
  --blue: var(--theme-accent, #78a9ff);
  --blue-strong: var(--theme-accent, #5b8ff2);
  --line: rgba(var(--theme-accent-rgb, 157, 181, 224), .14);
  --radius: 18px;
  background:
    radial-gradient(circle at 78% 4%, rgba(var(--theme-strong-rgb, 62, 107, 190), .18), transparent 28rem),
    radial-gradient(circle at 12% 38%, rgba(var(--theme-raised-rgb, 35, 66, 124), .11), transparent 25rem),
    var(--bg);
}
.public-home::before {
  opacity: .18;
  background-image: linear-gradient(rgba(var(--theme-pale-rgb, 171, 195, 237), .022) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--theme-pale-rgb, 171, 195, 237), .022) 1px,transparent 1px);
  background-size: 72px 72px;
}
.public-home .ambient { opacity: .22; filter: blur(130px); }
.public-home .ambient-one { width: 34rem; height: 34rem; top: -20rem; left: -16rem; background: var(--theme-strong, #3469c5); }
.public-home .ambient-two { width: 28rem; height: 28rem; top: 64rem; right: -16rem; background: var(--theme-raised, #244886); }
.public-home .container { width: min(1320px, calc(100% - 64px)); }

.public-home .site-header {
  min-height: 76px;
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom-color: rgba(var(--theme-pale-rgb, 170, 195, 236), .12);
  background: rgba(var(--theme-deep-rgb, 5, 8, 20), .78);
  backdrop-filter: blur(20px) saturate(125%);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
}
.public-home .site-header::before { content: ''; position: fixed; inset: 0 0 auto; height: 76px; z-index: -1; background: rgba(var(--theme-deep-rgb, 5, 8, 20), .78); }
.public-home .site-header .brand { gap: 12px; }
.public-home .site-header .brand-mark { width: 56px; height: 56px; flex-basis: 56px; }
.public-home .brand-name { font-size: 18px; letter-spacing: -.045em; }
.public-home .main-nav { gap: clamp(14px,1.7vw,26px); font-size: 11px; font-weight: 700; }
.public-home .main-nav a { position: relative; padding: 30px 0 29px; }
.public-home .main-nav a::after { content: ''; position: absolute; right: 0; bottom: 20px; left: 0; height: 2px; border-radius: 2px; background: var(--blue); opacity: 0; transform: scaleX(.25); transition: opacity .2s ease, transform .2s ease; }
.public-home .main-nav a:hover::after,.public-home .main-nav a.active::after { opacity: 1; transform: scaleX(1); }
.public-home .server-status { padding: 9px 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
.public-home .profile-button { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; border: 1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .3); border-radius: 11px; background: rgba(var(--theme-accent-rgb, 120, 169, 255), .09); color: #dce8ff; font-size: 11px; font-weight: 800; transition: background .2s ease, transform .2s ease; }
.public-home .profile-button:hover { background: rgba(var(--theme-accent-rgb, 120, 169, 255), .17); transform: translateY(-1px); }

.public-home .hero {
  min-height: min(760px, calc(100dvh - 76px));
  grid-template-columns: minmax(0,.83fr) minmax(480px,1.17fr);
  gap: 20px;
  padding: 44px 0 40px;
}
.public-home .hero-copy { position: relative; z-index: 4; padding-left: clamp(0px,2vw,28px); }
.public-home .eyebrow { margin-bottom: 18px; color: var(--theme-pale, #95baff); font-size: 9px; letter-spacing: .16em; }
.public-home .hero h1 { max-width: 650px; margin-bottom: 22px; font-size: clamp(50px,6vw,82px); line-height: .92; letter-spacing: -.072em; text-wrap: balance; }
.public-home .hero-description { max-width: 510px; color: var(--theme-muted, #a1adc1); font-size: 15px; line-height: 1.65; }
.public-home .hero-actions { margin: 30px 0 20px; }
.public-home .button { min-height: 50px; padding: 0 20px; border-radius: 12px; letter-spacing: -.01em; }
.public-home .button:active,.public-home .product-buy:active { transform: translateY(1px) scale(.985); }
.public-home .button-primary { color: var(--theme-base, #071020); background: var(--theme-accent, #8ab5ff); box-shadow: 0 16px 45px rgba(var(--theme-strong-rgb, 69, 111, 187), .23); }
.public-home .button-primary:hover { background: var(--theme-pale, #a7c8ff); box-shadow: 0 18px 50px rgba(var(--theme-strong-rgb, 69, 111, 187), .34); }
.public-home .button-ghost { background: rgba(255,255,255,.025); }
.public-home .ip-line { display: flex; align-items: center; gap: 10px; color: var(--theme-muted, #727f96); }
.public-home .ip-line strong { margin: 0; color: #d9e6fb; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: 12px; }
.public-home .ip-line button { margin: 0; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--theme-pale, #a9c6fa); font-size: 9px; font-weight: 800; }
.public-home .hero-scene.image-scene { min-height: 590px; isolation: isolate; }
.public-home .hero-scene.image-scene::after { content: ''; position: absolute; width: 78%; height: 74%; top: 12%; right: 1%; z-index: 0; border: 1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .13); border-radius: 42% 58% 56% 44%; background: radial-gradient(circle at 50% 48%,rgba(var(--theme-strong-rgb, 65, 104, 178), .22),rgba(var(--theme-base-rgb, 8, 13, 27), .04) 62%,transparent 63%); transform: rotate(-7deg); }
.public-home .hero-character-stage { width: 100%; height: 112%; right: -2%; }
.public-home .hero-portal { width: 57%; height: 82%; right: 15%; border-color: rgba(var(--theme-pale-rgb, 181, 208, 255), .55); box-shadow: 0 0 0 12px rgba(var(--theme-accent-rgb, 120, 169, 255), .05),0 0 0 34px rgba(var(--theme-accent-rgb, 120, 169, 255), .025),inset 0 0 45px rgba(var(--theme-accent-rgb, 120, 169, 255), .13),0 0 65px rgba(var(--theme-strong-rgb, 69, 111, 187), .25); }
.public-home .hero-person { height: 124%; right: -2%; filter: drop-shadow(0 28px 25px rgba(var(--theme-deep-rgb, 1, 5, 14), .68)) drop-shadow(0 0 22px rgba(var(--theme-accent-rgb, 85, 130, 210), .2)); }
.public-home .hero-person-glow { right: 18%; background: rgba(var(--theme-accent-rgb, 79, 125, 210), .24); }
.public-home .hero-proof { position: absolute; right: 18px; bottom: 22px; z-index: 5; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid rgba(var(--theme-pale-rgb, 177, 202, 244), .18); border-radius: 14px; background: rgba(var(--theme-deep-rgb, 7, 12, 25), .72); box-shadow: inset 0 1px rgba(255,255,255,.05),0 18px 45px rgba(var(--theme-deep-rgb, 1, 5, 14), .32); backdrop-filter: blur(16px); }
.public-home .hero-proof div { min-width: 124px; padding: 13px 16px; }
.public-home .hero-proof div + div { border-left: 1px solid var(--line); }
.public-home .hero-proof span,.public-home .hero-proof strong { display: block; }
.public-home .hero-proof span { margin-bottom: 4px; color: var(--theme-muted, #7f8ba0); font-size: 9px; }
.public-home .hero-proof strong { color: #eaf1ff; font-size: 17px; }

.public-home .section { padding: 112px 0; }
.public-home .section-heading { display: block; max-width: 760px; margin-bottom: 48px; }
.public-home .section-heading h2,.public-home .section-topline h2 { font-size: clamp(42px,5vw,70px); line-height: .94; letter-spacing: -.07em; }
.public-home .section-heading > p:last-child { max-width: 560px; margin-top: 20px; color: var(--theme-muted, #919db1); font-size: 14px; }
.public-home .section-label { margin-bottom: 18px; color: var(--theme-muted, #78859b); font-size: 9px; letter-spacing: .15em; }
.public-home .section-label b { color: var(--theme-pale, #a9c6fa); }
.public-home .section-label-index,.public-home .section-label-line { display: none; }
.public-home .section-heading::after,.public-home .section-topline::after { display: none; }
.public-home .section-live { margin-left: 8px; border-color: rgba(113,213,169,.2); color: #8fd8b8; }

.public-home .feature-grid { grid-template-columns: repeat(12,1fr); grid-template-rows: repeat(2,minmax(230px,auto)); gap: 16px; }
.public-home .feature-card { min-height: 230px; justify-content: flex-end; padding: 30px; overflow: hidden; border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .13); border-radius: var(--radius); background: var(--theme-base, #0a1121); box-shadow: inset 0 1px rgba(255,255,255,.025); transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.public-home .feature-card:hover { border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .34); transform: translateY(-4px); box-shadow: 0 24px 60px rgba(var(--theme-deep-rgb, 1, 5, 14), .28); }
.public-home .feature-card-large { grid-column: span 7; grid-row: span 2; min-height: 476px; background: radial-gradient(circle at 78% 32%,rgba(var(--theme-strong-rgb, 66, 108, 187), .22),transparent 40%),var(--theme-base, #0b1427); }
.public-home .feature-card-blue { grid-column: span 5; background: radial-gradient(circle at 82% 20%,rgba(var(--theme-accent-rgb, 83, 129, 212), .2),transparent 48%),var(--theme-base, #0d1629); }
.public-home .feature-card-dark { grid-column: span 5; background: radial-gradient(circle at 78% 30%,rgba(var(--theme-raised-rgb, 38, 75, 139), .2),transparent 48%),var(--theme-base, #090f1d); }
.public-home .feature-card::after { width: 260px; height: 260px; right: -100px; bottom: -140px; border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .11); box-shadow: 0 0 0 28px rgba(var(--theme-accent-rgb, 120, 169, 255), .025),0 0 0 58px rgba(var(--theme-accent-rgb, 120, 169, 255), .012); }
.public-home .feature-icon { position: absolute !important; top: 28px; left: 28px; border-radius: 10px; background: rgba(var(--theme-accent-rgb, 120, 169, 255), .07); }
.public-home .feature-card .feature-copy { width: 55%; max-width: 55%; }
.public-home .feature-card-large .feature-copy { width: 45%; max-width: 45%; }
.public-home .feature-card h3 { max-width: 260px; margin: 10px 0; font-size: clamp(27px,2.5vw,39px); }
.public-home .feature-card p { max-width: 260px; color: var(--theme-muted, #8f9cb1); font-size: 11px; }
.public-home .feature-card .feature-character { right: -1% !important; height: 116%; transform: translateY(-50%) translateX(20%); transition: transform .45s cubic-bezier(.16,1,.3,1); }
.public-home .feature-card-large .feature-character { height: 108%; transform: translateY(-50%) translateX(10%); }
.public-home .feature-card:hover .feature-character { transform: translateY(-52%) translateX(16%) scale(1.025); }
.public-home .feature-card-large:hover .feature-character { transform: translateY(-52%) translateX(7%) scale(1.025); }
.public-home .card-arrow { top: 29px; right: 28px; opacity: .65; }

.public-home .modes-section { padding-top: 82px; }
.public-home .modes-grid { grid-template-columns: repeat(12,1fr); gap: 16px; }
.public-home .mode-card { grid-column: span 5; min-height: 360px; border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .15); background-color: var(--theme-base, #0a1120); background-position: center; transition: transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.public-home .mode-card:first-child { grid-column: span 7; min-height: 460px; }
.public-home .mode-card:nth-child(n+3) { grid-column: span 6; }
.public-home .mode-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb,var(--mode-accent) 42%,transparent); box-shadow: 0 26px 65px rgba(var(--theme-deep-rgb, 1, 5, 14), .32); }
.public-home .mode-card::before { height: 100%; background: linear-gradient(90deg,rgba(var(--theme-deep-rgb, 5, 9, 19), .96) 4%,rgba(var(--theme-deep-rgb, 5, 9, 19), .72) 55%,rgba(var(--theme-deep-rgb, 5, 9, 19), .16)),linear-gradient(0deg,rgba(var(--theme-deep-rgb, 5, 9, 19), .9),transparent 62%); }
.public-home .mode-card::after { width: 280px; height: 280px; top: -160px; right: -120px; opacity: .38; }
.public-home .mode-index { display: none; }
.public-home .mode-content { padding: 36px; }
.public-home .mode-content h3 { margin: 16px 0 12px; font-size: clamp(36px,4.5vw,64px); }
.public-home .mode-content p { max-width: 390px; color: var(--theme-muted, #9aa7ba); font-size: 12px; }
.public-home .mode-meta span { padding: 6px 9px; border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .13); border-radius: 7px; background: rgba(var(--theme-deep-rgb, 5, 9, 19), .35); }
.public-home .mode-enter { margin-top: 24px; padding: 11px 14px; border: 1px solid color-mix(in srgb,var(--mode-accent) 30%,transparent); border-radius: 10px; background: color-mix(in srgb,var(--mode-accent) 8%,transparent); }

.public-home .store-section { width: min(1400px,calc(100% - 32px)); margin-top: 40px; padding: 88px 40px 96px; border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .11); border-radius: 28px; background: linear-gradient(180deg,rgba(var(--theme-base-rgb, 16, 26, 49), .68),rgba(var(--theme-deep-rgb, 7, 11, 23), .82)); box-shadow: inset 0 1px rgba(255,255,255,.025),0 35px 90px rgba(var(--theme-deep-rgb, 1, 5, 14), .25); }
.public-home .section-topline { margin-bottom: 44px; }
.public-home .text-link { color: var(--theme-pale, #a9c6fa); }
.public-home .mode-switcher-block { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; padding: 13px; border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .12); border-radius: 15px; background: rgba(var(--theme-deep-rgb, 4, 8, 17), .42); }
.public-home .mode-switcher-heading { min-width: 190px; margin: 0; padding-left: 5px; }
.public-home .mode-switcher-heading > span { display: none; }
.public-home .mode-switcher-heading strong { font-size: 11px; }
.public-home .mode-switcher-heading small { font-size: 9px; }
.public-home .mode-switcher { flex: 1; }
.public-home .mode-switch { min-width: 150px; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.018); }
.public-home .mode-switch.active { border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .5); background: rgba(var(--theme-accent-rgb, 120, 169, 255), .12); }
.public-home .mode-switch-mark { border-radius: 8px; }
.public-home .store-tabs { margin: 0 0 24px; padding: 5px; border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .11); border-radius: 12px; background: rgba(var(--theme-deep-rgb, 4, 8, 17), .38); }
.public-home .tab { padding: 9px 14px; border: 0; border-radius: 8px; }
.public-home .tab.active,.public-home .tab:hover { color: var(--theme-base, #071020); background: var(--theme-accent, #8ab5ff); }
.public-home .product-grid { grid-template-columns: repeat(12,1fr); gap: 16px; }
.public-home .product-card { grid-column: span 4; min-height: 440px; overflow: hidden; border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .14); border-radius: 17px; background: var(--theme-base, #0a1120); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.public-home .product-card:nth-child(1),.public-home .product-card:nth-child(2) { grid-column: span 6; }
.public-home .product-card:only-child { grid-column: span 12; }
.public-home .product-card:nth-child(3):last-child { grid-column: span 12; }
.public-home .product-card:nth-child(3):nth-last-child(2),.public-home .product-card:nth-child(4):last-child { grid-column: span 6; }
.public-home .product-card:hover { border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .42); box-shadow: 0 26px 70px rgba(var(--theme-deep-rgb, 1, 5, 14), .35); }
.public-home .product-art { height: 240px; flex-basis: 240px; background: radial-gradient(circle at 50% 48%,var(--theme-raised, #254a87),var(--theme-base, #111d36) 55%,var(--theme-deep, #070c18)); }
.public-home .product-card:nth-child(-n+2) .product-art { height: 280px; flex-basis: 280px; }
.public-home .product-art::before,.public-home .product-art::after { border-color: rgba(var(--theme-pale-rgb, 167, 199, 255), .16); }
.public-home .product-avatar { padding: 14px; object-fit: contain; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.public-home .product-card:hover .product-avatar { transform: scale(1.055) translateY(-3px); }
.public-home .product-art-kicker { color: var(--theme-muted, #a9b6ca); }
.public-home .product-badge { color: #071020; background: #8ab5ff; border: 0; border-radius: 8px; }
.public-home .product-info { padding: 20px 20px 10px; }
.public-home .product-info h3 { color: #edf3ff; font-size: 21px; }
.public-home .product-copy p { max-width: 320px; color: var(--theme-muted, #8e9bb0); }
.public-home .product-price { color: #edf3ff; font-size: 18px !important; }
.public-home .product-card-foot { padding: 12px 20px 20px; }
.public-home .product-delivery { color: var(--theme-muted, #77849a); }
.public-home .product-delivery i { background: #8fd8b8; box-shadow: none; }
.public-home .product-card-foot .product-buy { min-height: 44px; justify-content: center; gap: 12px; border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .35); border-radius: 10px; background: var(--theme-accent, #8ab5ff); color: var(--theme-base, #071020); }
.public-home .product-card-foot .product-buy:hover { background: var(--theme-pale, #a7c8ff); }

.public-home .about-section { grid-template-columns: .9fr 1.1fr; gap: clamp(50px,8vw,110px); align-items: center; }
.public-home .about-visual { min-height: 500px; border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .13); border-radius: 24px; background: radial-gradient(circle at 50% 48%,rgba(var(--theme-strong-rgb, 55, 94, 169), .28),transparent 35%),var(--theme-base, #080e1c); }
.public-home .about-core { background: var(--theme-base, #101a30); border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .5); box-shadow: 0 0 0 22px rgba(var(--theme-accent-rgb, 120, 169, 255), .035),0 0 0 52px rgba(var(--theme-accent-rgb, 120, 169, 255), .018); }
.public-home .about-copy > p:not(.eyebrow) { color: var(--theme-muted, #95a2b7); font-size: 14px; }
.public-home .about-stats { border-top-color: var(--line); }
.public-home .about-stats strong { color: #eaf1ff; }

.public-home .world-banner { min-height: 440px; margin-top: 28px; padding: 64px; border: 1px solid rgba(var(--theme-pale-rgb, 171, 199, 244), .18); border-radius: 24px; background: radial-gradient(circle at 78% 45%,rgba(var(--theme-accent-rgb, 96, 143, 224), .28),transparent 24%),linear-gradient(115deg,var(--theme-panel, #111f3a),var(--theme-base, #0b1427) 58%,var(--theme-base, #080d1a)); }
.public-home .world-banner::before { background: linear-gradient(120deg,transparent 45%,rgba(255,255,255,.045) 45.2%,transparent 46%); }
.public-home .banner-rings { border-color: rgba(var(--theme-pale-rgb, 161, 194, 249), .33); box-shadow: 0 0 0 35px rgba(var(--theme-accent-rgb, 120, 169, 255), .035),0 0 0 90px rgba(var(--theme-accent-rgb, 120, 169, 255), .018); }
.public-home .button-light { color: var(--theme-base, #071020); background: #e8f0ff; }

.public-home .news-grid { grid-template-columns: 1.35fr .85fr .85fr; gap: 16px; }
.public-home .news-card { min-height: 300px; justify-content: flex-end; overflow: hidden; border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .13); border-radius: 17px; background-color: var(--theme-base, #0a1120); background-size: cover; background-position: center; transition: transform .25s ease,border-color .25s ease; }
.public-home .news-card:first-child { min-height: 390px; }
.public-home .news-card:hover { transform: translateY(-4px); border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .36); }
.public-home .news-card h3 { max-width: 340px; margin: 14px 0 8px; font-size: 25px; }
.public-home .news-card p { margin-bottom: 0; color: var(--theme-muted, #9aa7ba); font-size: 11px; line-height: 1.55; }
.public-home a.news-card { position:relative; isolation:isolate; color:inherit; text-decoration:none; cursor:pointer; }
.public-home .news-card-cover { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.public-home .news-card-with-cover::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(var(--theme-deep-rgb, 5, 12, 25), .08) 5%,rgba(var(--theme-deep-rgb, 5, 12, 25), .3) 38%,rgba(var(--theme-deep-rgb, 5, 12, 25), .96) 100%); content:''; }
.public-home .news-card:hover .news-card-cover { transform:scale(1.035); }
.public-home .news-card:focus-visible { outline:2px solid var(--theme-pale, #a9c6fa); outline-offset:4px; }
.public-home .news-read-more { display:inline-flex; align-items:center; gap:8px; margin-top:17px; color:var(--theme-pale, #9dc4ff); font-size:11px; font-weight:800; }
.public-home .news-read-more::after { content:'↗'; transition:transform .2s ease; }
.public-home .news-card:hover .news-read-more::after { transform:translate(2px,-2px); }

.public-home .site-footer { grid-template-columns: 1.3fr .9fr .55fr; padding-top: 58px; }
.public-home .footer-links,.public-home .footer-social { font-size: 10px; }
.public-home .footer-bottom { border-top-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .09); }
.public-home .purchase-modal { width: min(100%,480px); }
.public-home .purchase-modal,.public-home .auth-modal { border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .2); border-radius: 20px; background: var(--theme-base, #0a1120); box-shadow: 0 36px 100px rgba(var(--theme-deep-rgb, 1, 5, 14), .65); }
.public-home .purchase-product-art { border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .2); border-radius: 14px; background: radial-gradient(circle at 50% 48%,var(--theme-raised, #254a87),var(--theme-base, #111d36) 58%,var(--theme-deep, #070c18)); }
.public-home .purchase-trust { border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .13); background: rgba(var(--theme-accent-rgb, 120, 169, 255), .055); }
.public-home .purchase-modal input,.public-home .auth-form input { border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .16); background: var(--theme-deep, #070c18); }
.public-home .purchase-modal input:focus,.public-home .auth-form input:focus { border-color: var(--theme-accent, #78a9ff); box-shadow: 0 0 0 3px rgba(var(--theme-accent-rgb, 120, 169, 255), .1); }
.public-home :where(a,button,input):focus-visible { outline: 2px solid var(--theme-pale, #a9c6fa); outline-offset: 3px; }
.public-home .site-loader { color: #e5edff; background-color: var(--theme-deep, #050814); background-image: linear-gradient(rgba(var(--theme-accent-rgb, 120, 169, 255), .03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--theme-accent-rgb, 120, 169, 255), .03) 1px,transparent 1px),radial-gradient(circle at 50% 40%,var(--theme-panel, #14264a) 0,var(--theme-deep, #050814) 50%); }
.public-home .site-loader-mark { border-color: var(--theme-panel, #1a2e52); border-top-color: var(--theme-accent, #8ab5ff); border-right-color: var(--theme-accent, #5b8ff2); box-shadow: 0 0 34px rgba(var(--theme-accent-rgb, 90, 143, 242), .17),inset 0 0 0 3px var(--theme-deep, #050814); }
.public-home .site-loader-mark span { background: var(--theme-accent, #8ab5ff); box-shadow: 7px 0 var(--theme-accent, #5b8ff2),0 7px var(--theme-accent, #5b8ff2),7px 7px #d6e4ff; }
.public-home .site-loader-track { border-color: var(--theme-panel, #1a2e52); background: var(--theme-deep, #030611); }
.public-home .site-loader-track span { background: repeating-linear-gradient(90deg,var(--theme-accent, #5b8ff2) 0 16px,var(--theme-accent, #8ab5ff) 16px 20px,var(--theme-panel, #1a2e52) 20px 23px); box-shadow: 0 0 12px rgba(var(--theme-accent-rgb, 120, 169, 255), .65); }

@media (max-width: 1100px) {
  .public-home .main-nav { display: none; }
  .public-home .menu-toggle { display: block; }
  .public-home .main-nav { position:absolute; top:76px; left:0; right:0; gap:0; padding:8px; border:1px solid var(--line); border-radius:16px; background:rgba(var(--theme-deep-rgb, 5, 8, 20), .98); box-shadow:0 22px 55px rgba(0,0,0,.32); opacity:0; pointer-events:none; transform:translateY(-8px); transition:opacity .2s,transform .2s; }
  .public-home.menu-open .main-nav { display: grid; opacity: 1; pointer-events: auto; transform: translateY(0); }
  .public-home .main-nav a { padding: 12px 13px; }
  .public-home .main-nav a::after { display: none; }
}
@media (max-width: 850px) {
  .public-home .container { width: min(100% - 36px,1320px); }
  .public-home .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 54px; }
  .public-home .hero-copy { padding: 0; }
  .public-home .hero h1 { max-width: 720px; }
  .public-home .hero-scene.image-scene { min-height: 510px; }
  .public-home .feature-grid { grid-template-rows: none; }
  .public-home .feature-card-large,.public-home .feature-card-blue,.public-home .feature-card-dark { grid-column: span 12; min-height: 350px; grid-row: auto; }
  .public-home .feature-card .feature-copy,.public-home .feature-card-large .feature-copy { width: 48%; max-width: 48%; }
  .public-home .feature-card .feature-character { right: 1% !important; height: 112%; transform: translateY(-50%) translateX(8%); }
  .public-home .mode-card,.public-home .mode-card:first-child,.public-home .mode-card:nth-child(n+3) { grid-column: span 12; min-height: 390px; }
  .public-home .store-section { width: min(100% - 24px,1400px); padding: 66px 24px 74px; }
  .public-home .mode-switcher-block { display: block; }
  .public-home .mode-switcher-heading { margin-bottom: 13px; }
  .public-home .product-card,.public-home .product-card:nth-child(1),.public-home .product-card:nth-child(2) { grid-column: span 6; }
  .public-home .about-section { grid-template-columns: 1fr; }
  .public-home .news-grid { grid-template-columns: 1fr 1fr; }
  .public-home .news-card:first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .public-home .container { width: min(100% - 28px,1320px); }
  .public-home .site-header { min-height: 68px; }
  .public-home .site-header::before { height: 68px; }
  .public-home .site-header .brand-mark { width: 46px; height: 46px; flex-basis: 46px; }
  .public-home .brand-name { max-width: 105px; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
  .public-home .profile-button { width: 38px; min-height: 38px; overflow: hidden; padding: 0 11px; font-size: 0; gap: 0; }
  .public-home .profile-button .ui-icon { filter: none; }
  .public-home .main-nav { top: 68px; }
  .public-home .hero { padding-top: 44px; }
  .public-home .hero h1 { font-size: clamp(44px,15vw,64px); }
  .public-home .hero-description { font-size: 13px; }
  .public-home .hero-scene.image-scene { min-height: 390px; }
  .public-home .hero-character-stage { width: 112%; right: -10%; }
  .public-home .hero-person { height: 108%; }
  .public-home .hero-proof { right: 0; bottom: 6px; }
  .public-home .hero-proof div { min-width: 105px; padding: 11px 12px; }
  .public-home .section { padding: 78px 0; }
  .public-home .section-heading h2,.public-home .section-topline h2 { font-size: 43px; }
  .public-home .feature-card-large,.public-home .feature-card-blue,.public-home .feature-card-dark { min-height: 320px; }
  .public-home .feature-card { padding: 24px; }
  .public-home .feature-card .feature-copy,.public-home .feature-card-large .feature-copy { width: 55%; max-width: 55%; }
  .public-home .feature-card h3 { font-size: 28px; }
  .public-home .feature-card p { font-size: 10px; }
  .public-home .mode-content { padding: 27px; }
  .public-home .mode-content h3 { font-size: 42px; }
  .public-home .store-section { padding: 58px 15px 64px; border-radius: 21px; }
  .public-home .store-tabs { overflow-x: auto; }
  .public-home .product-card,.public-home .product-card:nth-child(1),.public-home .product-card:nth-child(2) { grid-column: span 12; }
  .public-home .product-card:nth-child(-n+2) .product-art { height: 220px; flex-basis: 220px; }
  .public-home .about-visual { min-height: 390px; }
  .public-home .world-banner { min-height: 390px; padding: 28px; }
  .public-home .world-banner h2 { font-size: 45px; }
  .public-home .news-grid { grid-template-columns: 1fr; }
  .public-home .news-card:first-child { grid-column: auto; min-height: 330px; }
  .public-home .site-footer { grid-template-columns: 1fr; }
}

/* The desktop navigation is a floating capsule, without a second rectangular shell underneath. */
@media (min-width: 1101px) {
  .public-home .site-header {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .public-home .site-header::before { display: none; }
  .public-home .main-nav {
    position: relative;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .public-home .main-nav::before {
    inset: -1px;
    border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .14);
    border-radius: 999px;
    background: linear-gradient(105deg,rgba(var(--theme-base-rgb, 16, 27, 52), .88),rgba(var(--theme-base-rgb, 8, 14, 29), .9) 58%,rgba(var(--theme-panel-rgb, 20, 37, 70), .8));
    box-shadow: inset 0 1px rgba(255,255,255,.06),inset 0 -1px rgba(0,0,0,.25),0 12px 34px rgba(var(--theme-deep-rgb, 1, 5, 14), .2);
  }
}

/* Keep the feature copy in its own vertical lane below the icon. */
.public-home .site-header {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.public-home .site-header::before { display: none; }
.public-home .feature-card {
  justify-content: flex-start;
}
.public-home .feature-card .feature-copy {
  margin-top: auto !important;
  padding-top: 68px;
}
.public-home .feature-card .feature-icon {
  top: 28px;
  left: 28px;
}
@media (max-width: 560px) {
  .public-home .feature-card .feature-copy {
    padding-top: 62px;
  }
}

/* Liquid Glass is used here as a restrained web approximation: blur, translucency and inner refraction. */
.public-home .main-nav,
.public-home .hero-proof,
.public-home .mode-switcher-block,
.public-home .store-tabs {
  border-color: rgba(var(--theme-pale-rgb, 190, 214, 255), .2);
  background: linear-gradient(135deg,rgba(255,255,255,.105),rgba(var(--theme-accent-rgb, 120, 169, 255), .045) 44%,rgba(var(--theme-base-rgb, 8, 14, 29), .58));
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  box-shadow: inset 0 1px rgba(255,255,255,.11),inset 0 -1px rgba(0,0,0,.2),0 18px 48px rgba(var(--theme-deep-rgb, 1, 5, 14), .23);
}
.public-home .main-nav::before {
  border-color: rgba(210,228,255,.22);
  background: linear-gradient(105deg,rgba(255,255,255,.12),rgba(var(--theme-accent-rgb, 120, 169, 255), .055) 42%,rgba(var(--theme-base-rgb, 8, 14, 29), .54));
  box-shadow: inset 0 1px rgba(255,255,255,.12),inset 0 -1px rgba(0,0,0,.25),0 14px 36px rgba(var(--theme-deep-rgb, 1, 5, 14), .22);
}
.public-home .feature-card,
.public-home .product-card {
  border-color: rgba(var(--theme-pale-rgb, 190, 214, 255), .17);
  background: linear-gradient(135deg,rgba(255,255,255,.065),rgba(var(--theme-accent-rgb, 120, 169, 255), .035) 48%,rgba(var(--theme-base-rgb, 8, 14, 29), .7));
  backdrop-filter: blur(16px) saturate(125%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  box-shadow: inset 0 1px rgba(255,255,255,.07),inset 0 -1px rgba(0,0,0,.18),0 20px 55px rgba(var(--theme-deep-rgb, 1, 5, 14), .2);
}
.public-home .feature-card-large,
.public-home .feature-card-blue,
.public-home .feature-card-dark {
  background: linear-gradient(135deg,rgba(255,255,255,.07),rgba(var(--theme-accent-rgb, 120, 169, 255), .04) 46%,rgba(var(--theme-base-rgb, 8, 14, 29), .72));
}
.public-home .mode-card::before {
  backdrop-filter: blur(5px) saturate(120%);
  -webkit-backdrop-filter: blur(5px) saturate(120%);
}
.public-home .mode-card,
.public-home .world-banner {
  border-color: rgba(var(--theme-pale-rgb, 190, 214, 255), .2);
  box-shadow: inset 0 1px rgba(255,255,255,.08),inset 0 -1px rgba(0,0,0,.2),0 24px 65px rgba(var(--theme-deep-rgb, 1, 5, 14), .25);
}
.public-home .store-section {
  border-color: rgba(var(--theme-pale-rgb, 190, 214, 255), .16);
  background: linear-gradient(135deg,rgba(255,255,255,.055),rgba(var(--theme-accent-rgb, 120, 169, 255), .035) 42%,rgba(var(--theme-deep-rgb, 7, 11, 23), .74));
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  box-shadow: inset 0 1px rgba(255,255,255,.08),inset 0 -1px rgba(0,0,0,.2),0 35px 90px rgba(var(--theme-deep-rgb, 1, 5, 14), .28);
}
@media (prefers-reduced-transparency: reduce) {
  .public-home .main-nav,
  .public-home .hero-proof,
  .public-home .mode-switcher-block,
  .public-home .store-tabs,
  .public-home .feature-card,
  .public-home .product-card,
  .public-home .store-section {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--theme-base, #0b1223);
  }
  .public-home .main-nav::before { background: var(--theme-base, #101a31); }
}
@media (prefers-reduced-transparency: reduce) {
  .public-home .site-header,.public-home .hero-proof { background: var(--theme-deep, #070b17); backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Shared navigation and client-facing inner pages. */
.public-home .main-nav,
.client-page .main-nav {
  gap: 3px;
  padding: 5px;
  border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12);
  border-radius: 14px;
  background: rgba(var(--theme-base-rgb, 8, 13, 27), .72);
  box-shadow: inset 0 1px rgba(255,255,255,.035),0 10px 35px rgba(var(--theme-deep-rgb, 1, 5, 14), .16);
}
.public-home .main-nav a,
.client-page .main-nav a {
  padding: 10px 13px;
  border-radius: 9px;
  color: var(--theme-muted, #7f8ba0);
  line-height: 1;
  transition: color .2s ease,background .2s ease,transform .2s ease;
}
.public-home .main-nav a::after { display: none; }
.public-home .main-nav a:hover,
.public-home .main-nav a.active,
.client-page .main-nav a:hover,
.client-page .main-nav a.active {
  color: #e9f1ff;
  background: linear-gradient(180deg,rgba(var(--theme-accent-rgb, 120, 169, 255), .16),rgba(var(--theme-accent-rgb, 120, 169, 255), .08));
  box-shadow: inset 0 0 0 1px rgba(var(--theme-accent-rgb, 120, 169, 255), .12);
}
.public-home .main-nav a:active,.client-page .main-nav a:active { transform: scale(.97); }
.public-home .store-tabs { gap: 4px; padding: 6px; border-radius: 14px; }
.public-home .tab { min-height: 38px; padding: 0 16px; border-radius: 9px; font-weight: 700; }

.site-footer .footer-links strong,.site-footer .footer-social strong { margin-bottom: 4px; color: #dce7fa; font-size: 10px; letter-spacing: .04em; }
.site-footer .footer-legal { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 28px; padding: 20px 0; border-top: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .09); border-bottom: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .09); }
.site-footer .footer-legal nav { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.site-footer .footer-legal a { color: var(--theme-muted, #a5b2c7); font-size: 10px; transition: color .2s ease; }
.site-footer .footer-legal a:hover { color: #dce8ff; }
.site-footer .footer-legal p { max-width: 480px; margin: 0; color: var(--theme-muted, #69758a); font-size: 9px; line-height: 1.55; text-align: right; }
.site-footer .footer-self-employed { display: grid; gap: 3px; min-width: 245px; color: var(--theme-muted, #69758a); font-size: 9px; line-height: 1.45; }
.site-footer .footer-self-employed strong { color: var(--theme-muted, #aebdd2); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.site-footer .footer-self-employed span { display: block; }
.site-footer .footer-bottom { margin-top: 0; padding-top: 0; border-top: 0; }
.site-footer .footer-disclaimer { max-width: none; }

.client-page {
  --bg: var(--theme-deep, #050814);
  --bg-soft: var(--theme-base, #080d1b);
  --panel: var(--theme-base, #0b1223);
  --panel-light: var(--theme-base, #101a31);
  --text: #f2f6ff;
  --muted: var(--theme-muted, #8d99af);
  --blue: var(--theme-accent, #78a9ff);
  --blue-strong: var(--theme-accent, #5b8ff2);
  --line: rgba(var(--theme-accent-rgb, 157, 181, 224), .14);
  --radius: 18px;
  min-height: 100dvh;
  background: radial-gradient(circle at 80% 3%,rgba(var(--theme-strong-rgb, 62, 107, 190), .15),transparent 30rem),radial-gradient(circle at 8% 62%,rgba(var(--theme-raised-rgb, 35, 66, 124), .1),transparent 28rem),var(--bg);
}
.client-page::before { opacity: .17; background-size: 72px 72px; }
.client-page .container { width: min(1320px,calc(100% - 64px)); }
.client-page .site-header { min-height: 76px; position: sticky; top: 0; z-index: 30; border-bottom-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .11); background: rgba(var(--theme-deep-rgb, 5, 8, 20), .82); backdrop-filter: blur(20px) saturate(125%); -webkit-backdrop-filter: blur(20px) saturate(125%); }
.client-page .site-header::before { content: ''; position: fixed; inset: 0 0 auto; height: 76px; z-index: -1; background: rgba(var(--theme-deep-rgb, 5, 8, 20), .82); }
.client-page .site-header .brand-mark { width: 54px; height: 54px; flex-basis: 54px; color: var(--blue); background: transparent; border-radius: 0; box-shadow: none; }
.client-page .site-header .brand-mark img { filter: drop-shadow(0 0 12px rgba(var(--theme-accent-rgb, 120, 169, 255), .55)); }
.client-page .site-header .brand-name { font-size: 18px; }
.client-page .main-nav { display: flex; font-size: 11px; font-weight: 700; }
.client-page .back-link { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 13px; border: 1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .24); border-radius: 10px; background: rgba(var(--theme-accent-rgb, 120, 169, 255), .07); color: var(--theme-pale, #aec7f3); font-size: 10px; font-weight: 800; }
.client-page .back-link:hover { color: #eef4ff; background: rgba(var(--theme-accent-rgb, 120, 169, 255), .13); }
.client-page .back-link .ui-icon { width: 13px; height: 13px; }
.client-footer { min-height: 110px; display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 30px; margin-top: 40px; border-top: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .11); color: var(--theme-muted, #78859a); font-size: 10px; }
.client-footer > div { display: grid; gap: 5px; }
.client-footer strong { color: #dce7fa; font-size: 13px; }
.client-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.client-footer a { transition: color .2s ease; }
.client-footer a:hover { color: #dce8ff; }
.client-footer > a { color: var(--theme-accent, #9dbcf0); }
.client-footer .footer-self-employed { gap: 3px; min-width: 210px; color: var(--theme-muted, #78859a); font-size: 9px; line-height: 1.45; }
.client-footer .footer-self-employed strong { color: var(--theme-muted, #aebdd2); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }

.legal-page-body .legal-page { min-height: calc(100dvh - 186px); padding: 52px 0 80px; }
.legal-page-body .legal-tabs { width: max-content; max-width: 100%; display: flex; gap: 4px; overflow-x: auto; margin-bottom: 68px; padding: 5px; border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12); border-radius: 13px; background: rgba(var(--theme-base-rgb, 8, 13, 27), .66); }
.legal-page-body .legal-tabs a { flex: 0 0 auto; padding: 11px 15px; border-radius: 8px; color: var(--theme-muted, #7f8ba0); font-size: 10px; font-weight: 800; transition: color .2s ease,background .2s ease; }
.legal-page-body .legal-tabs a:hover,.legal-page-body .legal-tabs a.active { color: #edf3ff; background: rgba(var(--theme-accent-rgb, 120, 169, 255), .13); box-shadow: inset 0 0 0 1px rgba(var(--theme-accent-rgb, 120, 169, 255), .13); }
.legal-page-body .legal-head { max-width: 820px; margin-bottom: 38px; }
.legal-page-body .legal-head h1 { max-width: 800px; margin-bottom: 18px; color: #f1f5ff; font-size: clamp(46px,6vw,78px); line-height: .94; }
.legal-page-body .legal-head p:last-child { color: var(--theme-muted, #929fb4); }
.legal-page-body .legal-document { border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .13); border-radius: 20px; background: rgba(var(--theme-base-rgb, 9, 15, 29), .8); box-shadow: inset 0 1px rgba(255,255,255,.025),0 30px 80px rgba(var(--theme-deep-rgb, 1, 5, 14), .3); }
.legal-page-body .legal-content { max-width: 900px; padding: 60px 64px 72px; color: var(--theme-muted, #b7c2d4); font-size: 15px; line-height: 1.82; }
.legal-page-body .legal-content h2 { color: #edf3ff; font-size: clamp(30px,4vw,48px); }
.legal-page-body .legal-content h3 { margin-top: 38px; color: #dbe7fa; }
.legal-page-body .legal-content p { margin-bottom: 18px; }
.legal-page-body .legal-toolbar { background: rgba(var(--theme-accent-rgb, 120, 169, 255), .035); }

.cms-page-body .page-view { min-height: calc(100dvh - 186px); padding: 92px 0 110px; }
.cms-page-body .page-view h1 { max-width: 900px; margin-bottom: 20px; color: #f1f5ff; font-size: clamp(48px,7vw,84px); line-height: .93; letter-spacing: -.075em; }
.cms-page-body .page-content { max-width: 820px; min-width: 0; margin-top: 44px; padding: 42px 46px; border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .13); border-radius: 18px; background: rgba(var(--theme-base-rgb, 9, 15, 29), .72); color: var(--theme-muted, #b5c0d1); font-size: 15px; line-height: 1.8; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.cms-page-body .page-content.page-content-no-container { width: 100%; max-width: none; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cms-page-body .page-content:empty { display: none; }
.cms-edit-mode .page-content:empty { display: block; }
.cms-page-body .page-content :where(h2,h3) { color: #edf3ff; letter-spacing: -.04em; }
.cms-page-body .page-content a { color: var(--theme-pale, #a9c6fa); text-decoration: underline; text-underline-offset: 3px; }
.cms-page-body .cms-tabs { display:flex; flex-wrap:wrap; gap:6px; width:max-content; max-width:100%; margin:38px 0 -18px; padding:6px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .14); border-radius:14px; background:rgba(var(--theme-base-rgb, 8, 15, 29), .72); }
.cms-page-body .cms-tabs[hidden] { display:none; }
.cms-page-body .cms-tabs button { border:0; border-radius:9px; padding:11px 15px; color:var(--theme-muted, #7f8fa8); background:transparent; font:inherit; font-size:10px; font-weight:800; cursor:pointer; transition:color .2s,background .2s,transform .2s; }
.cms-page-body .cms-tabs button:hover { color:#e7efff; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .1); }
.cms-page-body .cms-tabs button.active { color:var(--theme-base, #081326); background:var(--theme-accent, #8ab5ff); box-shadow:0 7px 18px rgba(var(--theme-accent-rgb, 92, 143, 240), .2); }
.cms-page-body .page-content :where(h2,h3,h4) { margin-top:30px; }
.cms-page-body .page-content img { display:block; max-width:100%; height:auto; margin:24px 0; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12); border-radius:14px; box-shadow:0 18px 45px rgba(var(--theme-deep-rgb, 1, 5, 14), .3); }
.cms-page-body .page-content blockquote { margin:24px 0; padding:16px 20px; border-left:2px solid var(--theme-accent, #78a9ff); border-radius:0 10px 10px 0; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .06); }
.page-edit-toolbar { position:fixed; z-index:30; right:24px; bottom:24px; left:24px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; border:1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .35); border-radius:14px; background:rgba(var(--theme-base-rgb, 8, 19, 36), .94); box-shadow:0 18px 55px rgba(0,0,0,.35); backdrop-filter:blur(16px); }
.page-edit-toolbar[hidden] { display:none; }
.page-edit-toolbar span { color:var(--theme-pale, #a9c4f5); font-size:11px; font-weight:700; }.page-edit-toolbar span i { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#6fe0b7; box-shadow:0 0 12px #6fe0b7; }
.page-edit-toolbar button { min-height:34px; padding:8px 13px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .2); border-radius:8px; color:var(--theme-pale, #c9dcfb); background:var(--theme-panel, #132744); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }.page-edit-toolbar button:first-child { margin-right:6px; color:var(--theme-base, #071225); background:var(--theme-accent, #8ab5ff); }
.cms-edit-mode #page-title,.cms-edit-mode #page-description,.cms-edit-mode #page-content { outline:1px dashed rgba(var(--theme-accent-rgb, 120, 169, 255), .45); outline-offset:8px; cursor:text; }.cms-edit-mode #page-title:focus,.cms-edit-mode #page-description:focus,.cms-edit-mode #page-content:focus { outline:2px solid var(--theme-accent, #8ab5ff); }
.cms-edit-mode #page-content { min-height:260px; }
.page-format-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:6px; width:max-content; max-width:100%; margin:32px 0 -12px; padding:7px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .16); border-radius:12px; background:rgba(var(--theme-base-rgb, 8, 17, 32), .9); box-shadow:0 14px 35px rgba(var(--theme-deep-rgb, 1, 5, 14), .24); }
.page-format-toolbar[hidden] { display:none; }
.page-format-toolbar button,.page-format-toolbar select { min-height:32px; padding:7px 10px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .16); border-radius:7px; color:var(--theme-muted, #a9b9d1); background:var(--theme-panel, #12223a); font:inherit; font-size:10px; font-weight:700; outline:none; cursor:pointer; }.page-format-toolbar button:hover,.page-format-toolbar select:focus { color:#edf4ff; border-color:rgba(var(--theme-accent-rgb, 120, 169, 255), .55); background:var(--theme-panel, #1a3357); }.page-format-toolbar select { max-width:155px; }
.page-section-tools { display:inline-flex; flex-wrap:wrap; gap:5px; margin-left:4px; padding-left:8px; border-left:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .16); }.page-section-tools button { color:var(--theme-accent, #9dbcf0); font-size:9px; }
@media (max-width:650px) { .cms-page-body .cms-tabs { width:100%; overflow-x:auto; flex-wrap:nowrap; margin-top:28px; margin-bottom:-4px; }.cms-page-body .cms-tabs button { flex:0 0 auto; }.cms-page-body .page-content { margin-top:28px; } }
@media (max-width:650px) { .page-edit-toolbar { right:10px; bottom:10px; left:10px; align-items:stretch; flex-direction:column; gap:8px; }.page-edit-toolbar div { display:flex; }.page-edit-toolbar button { flex:1; } }

@media (max-width: 1100px) {
  .client-page .main-nav { display: none; }
}
@media (max-width: 700px) {
  .public-home .site-footer .footer-legal { align-items: flex-start; flex-direction: column; }
  .site-footer .footer-legal p { text-align: left; }
  .client-page .container { width: min(100% - 30px,1320px); }
  .client-page .site-header { min-height: 68px; }
  .client-page .site-header::before { height: 68px; }
  .client-page .site-header .brand-mark { width: 44px; height: 44px; flex-basis: 44px; }
  .client-page .site-header .brand-name { max-width: 130px; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
  .client-page .back-link { padding: 0 10px; }
  .client-footer { grid-template-columns: 1fr; align-content: center; gap: 18px; padding: 30px 0; }
  .client-footer nav { gap: 10px 16px; }
  .site-footer .footer-self-employed { min-width: 0; text-align: left; }
  .legal-page-body .legal-page { padding: 34px 0 58px; }
  .legal-page-body .legal-tabs { width: 100%; margin-bottom: 48px; }
  .legal-page-body .legal-tabs a { padding: 10px 12px; }
  .legal-page-body .legal-content { padding: 32px 22px 40px; font-size: 14px; }
  .cms-page-body .page-view { padding: 62px 0 76px; }
  .cms-page-body .page-content { padding: 28px 22px; }
}

/* Final public polish: capsule navigation and a scalable mode bento. */
.public-home .main-nav {
  position: relative;
  gap: 2px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(var(--theme-base-rgb, 12, 19, 37), .82);
  box-shadow: inset 0 1px rgba(255,255,255,.055),inset 0 -1px rgba(0,0,0,.25),0 12px 34px rgba(var(--theme-deep-rgb, 1, 5, 14), .2);
}
.public-home .main-nav::before {
  content: '';
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(105deg,rgba(255,255,255,.04),transparent 34%,transparent 72%,rgba(var(--theme-accent-rgb, 120, 169, 255), .06));
}
.public-home .main-nav a {
  position: relative;
  z-index: 1;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 999px;
}
.public-home .main-nav a:hover,.public-home .main-nav a.active {
  border-color: rgba(var(--theme-accent-rgb, 120, 169, 255), .15);
  background: linear-gradient(180deg,rgba(var(--theme-accent-rgb, 120, 169, 255), .2),rgba(var(--theme-accent-rgb, 120, 169, 255), .09));
  box-shadow: inset 0 1px rgba(255,255,255,.06),0 4px 14px rgba(var(--theme-strong-rgb, 58, 103, 185), .14);
}
.public-home .main-nav a.active::before {
  content: '';
  width: 4px;
  height: 4px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--theme-pale, #9fc3ff);
  box-shadow: 0 0 9px rgba(var(--theme-pale-rgb, 159, 195, 255), .9);
}

.public-home .modes-grid {
  grid-auto-rows: minmax(280px,auto);
  align-items: stretch;
}
.public-home .mode-card {
  min-height: 360px;
  isolation: isolate;
  border-radius: 20px;
  background-blend-mode: normal;
  box-shadow: inset 0 1px rgba(255,255,255,.045),0 18px 48px rgba(var(--theme-deep-rgb, 1, 5, 14), .16);
}
.public-home .mode-card::after {
  z-index: -1;
  border-color: color-mix(in srgb,var(--mode-accent) 55%,white);
  box-shadow: 0 0 0 24px color-mix(in srgb,var(--mode-accent) 7%,transparent),0 0 0 58px color-mix(in srgb,var(--mode-accent) 4%,transparent);
  transition: transform .45s cubic-bezier(.16,1,.3,1),opacity .3s ease;
}
.public-home .mode-card:hover::after { transform: rotate(34deg) scale(1.08); opacity: .62; }
.public-home .mode-card::before { z-index: 0; }
.public-home .mode-content { z-index: 2; }
.public-home .mode-card:nth-child(3):last-child { grid-column: 1 / -1; min-height: 320px; }
.public-home .mode-card:nth-child(n+5) { grid-column: span 4; }
.public-home .mode-card:nth-child(5):last-child { grid-column: 1 / -1; min-height: 320px; }
.public-home .mode-card:nth-child(5):nth-last-child(2),.public-home .mode-card:nth-child(6):last-child { grid-column: span 6; }
.public-home .mode-card:nth-child(n+5) .mode-content { max-width: 100%; padding: 29px; }
.public-home .mode-card:nth-child(n+5) .mode-content h3 { font-size: clamp(30px,3.2vw,48px); }
.public-home .mode-card:nth-child(n+5) .mode-content p { min-height: 0; }
.public-home .mode-kicker { padding: 6px 8px; border: 1px solid color-mix(in srgb,var(--mode-accent) 27%,transparent); border-radius: 7px; background: color-mix(in srgb,var(--mode-accent) 8%,transparent); }
.public-home .mode-kicker .status-dot { width: 5px; height: 5px; }

@media (max-width: 850px) and (min-width: 561px) {
  .public-home .modes-grid { grid-template-columns: repeat(2,1fr); }
  .public-home .mode-card:first-child { grid-column: 1 / -1; }
  .public-home .mode-card:nth-child(n+2) { grid-column: span 1; min-height: 350px; }
  .public-home .mode-card:nth-child(3):last-child,.public-home .mode-card:nth-child(5):last-child { grid-column: 1 / -1; }
  .public-home .mode-card:nth-child(n+5) { grid-column: span 1; }
  .public-home .mode-card:nth-child(5):nth-last-child(2),.public-home .mode-card:nth-child(6):last-child { grid-column: span 1; }
}
@media (max-width: 560px) {
  .public-home .main-nav { border-radius: 17px; }
  .public-home .main-nav a { min-height: 42px; justify-content: flex-start; border-radius: 10px; }
  .public-home .main-nav a.active::before { display: none; }
  .public-home .modes-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .public-home .mode-card,.public-home .mode-card:first-child,.public-home .mode-card:nth-child(n+2),.public-home .mode-card:nth-child(n+5),.public-home .mode-card:nth-child(3):last-child,.public-home .mode-card:nth-child(5):last-child,.public-home .mode-card:nth-child(5):nth-last-child(2),.public-home .mode-card:nth-child(6):last-child { grid-column: 1 / -1; min-height: 330px; }
  .public-home .mode-card:nth-child(n+5) .mode-content { padding: 27px; }
}

/* Keep the desktop navigation as one floating glass capsule, never a full-width block. */
@media (min-width: 1101px) {
  .public-home .main-nav {
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
  }
  .public-home .main-nav::before {
    inset: -1px;
    border: 1px solid rgba(210,228,255,.22);
    border-radius: 999px;
    background: linear-gradient(105deg,rgba(255,255,255,.12),rgba(var(--theme-accent-rgb, 120, 169, 255), .055) 42%,rgba(var(--theme-base-rgb, 8, 14, 29), .54));
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
    box-shadow: inset 0 1px rgba(255,255,255,.12),inset 0 -1px rgba(0,0,0,.25),0 14px 36px rgba(var(--theme-deep-rgb, 1, 5, 14), .22);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .public-home .main-nav::before {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--theme-base, #101a31);
  }
}

/* Shared navigation surface on the homepage and all desktop inner pages. */
@media (min-width: 851px) {
  .public-home .main-nav,
  .client-page .main-nav {
    position: relative;
    isolation: isolate;
    gap: 3px;
    padding: 5px;
    border: 1px solid rgba(210,228,255,.2);
    border-radius: 999px;
    background: linear-gradient(135deg,rgba(255,255,255,.1),rgba(var(--theme-accent-rgb, 120, 169, 255), .045) 44%,rgba(var(--theme-base-rgb, 8, 14, 29), .72));
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
    box-shadow: inset 0 1px rgba(255,255,255,.12),inset 0 -1px rgba(0,0,0,.25),0 16px 42px rgba(var(--theme-deep-rgb, 1, 5, 14), .26);
  }
  .public-home .main-nav::before,
  .client-page .main-nav::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(105deg,rgba(255,255,255,.1),transparent 38%,rgba(var(--theme-accent-rgb, 120, 169, 255), .07));
    box-shadow: inset 0 1px rgba(255,255,255,.08);
  }
  .public-home .main-nav a,
  .client-page .main-nav a {
    position: relative;
    z-index: 1;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .public-home .main-nav,
  .client-page .main-nav {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--theme-base, #101a31);
  }
}

/* The glass surface belongs to the complete header: brand, navigation and actions. */
@media (min-width: 851px) {
  .public-home .site-header,
  .client-page .site-header {
    position: sticky;
    top: 16px;
    min-height: 76px;
    box-sizing: border-box;
    margin-top: 16px;
    padding: 8px 12px;
    border: 1px solid rgba(210,228,255,.2);
    border-bottom-color: rgba(210,228,255,.2);
    border-radius: 24px;
    isolation: isolate;
    background: linear-gradient(135deg,rgba(255,255,255,.105),rgba(var(--theme-accent-rgb, 120, 169, 255), .045) 42%,rgba(var(--theme-deep-rgb, 7, 12, 25), .78));
    backdrop-filter: blur(25px) saturate(140%);
    -webkit-backdrop-filter: blur(25px) saturate(140%);
    box-shadow: inset 0 1px rgba(255,255,255,.13),inset 0 -1px rgba(0,0,0,.28),0 18px 55px rgba(var(--theme-deep-rgb, 1, 5, 14), .3);
  }
  .public-home .site-header::before,
  .client-page .site-header::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    height: auto;
    pointer-events: none;
    border-radius: 22px;
    background: linear-gradient(105deg,rgba(255,255,255,.1),transparent 36%,rgba(var(--theme-accent-rgb, 120, 169, 255), .06));
    box-shadow: inset 0 1px rgba(255,255,255,.08);
  }
  .public-home .site-header .main-nav,
  .client-page .site-header .main-nav {
    border: 0;
    border-radius: 999px;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
  }
  .public-home .site-header .main-nav::before,
  .client-page .site-header .main-nav::before { display: none; }
  .public-home .site-header .header-actions { gap: 9px; }
  .client-page .site-header .back-link { margin-left: 4px; }
}

@media (max-width: 850px) {
  .public-home .site-header,
  .client-page .site-header {
    margin-top: 10px;
    border-radius: 20px;
    border-bottom-color: rgba(210,228,255,.18);
    background: linear-gradient(135deg,rgba(255,255,255,.09),rgba(var(--theme-accent-rgb, 120, 169, 255), .04) 44%,rgba(var(--theme-deep-rgb, 7, 12, 25), .86));
    box-shadow: inset 0 1px rgba(255,255,255,.1),0 16px 40px rgba(var(--theme-deep-rgb, 1, 5, 14), .28);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .public-home .site-header,
  .client-page .site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--theme-base, #0b1223);
  }
}

/* Central, readable feedback for errors and important account states. */
.toast {
  top: 24px;
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(560px,calc(100% - 32px));
  padding: 15px 20px;
  border: 1px solid rgba(181,213,255,.35);
  border-radius: 15px;
  background: linear-gradient(135deg,rgba(24,43,77,.96),rgba(10,20,40,.96));
  box-shadow: inset 0 1px rgba(255,255,255,.12),0 18px 50px rgba(1,5,14,.38);
  color: #eaf3ff;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  transform: translate(-50%,-14px);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
.toast.show { transform: translate(-50%,0); }
.payment-result-backdrop { z-index: 30; }
.payment-result-backdrop.is-success { background:rgba(2,8,18,.82); }
.payment-result-backdrop.is-success::before { content:''; position:absolute; inset:0; z-index:0; background:radial-gradient(circle at 18% 24%,rgba(255,190,112,.16),transparent 22%),radial-gradient(circle at 83% 20%,rgba(255,117,201,.16),transparent 24%),radial-gradient(circle at 76% 78%,rgba(103,230,192,.14),transparent 25%); animation:payment-aurora 7s ease-in-out infinite alternate; pointer-events:none; }
#payment-fireworks-canvas { position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; opacity:.98; mix-blend-mode:screen; }
@keyframes payment-aurora { from { filter:hue-rotate(0deg) blur(0); transform:scale(1); } to { filter:hue-rotate(22deg) blur(4px); transform:scale(1.08); } }
.payment-fireworks { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; opacity:0; transition:opacity .25s ease; }
.payment-result-backdrop.is-success .payment-fireworks { opacity:1; }
.firework { position:absolute; width:10px; height:10px; border-radius:50%; opacity:0; background:var(--theme-pale, #9cc6ff); box-shadow:0 0 22px 6px var(--theme-pale, #9cc6ff); animation:payment-firework 3.4s ease-out infinite; }
.firework::before { content:''; position:absolute; inset:-105px; border-radius:50%; background:repeating-conic-gradient(from 0deg,transparent 0 7deg,rgba(var(--theme-pale-rgb, 156, 198, 255), .95) 7.5deg 8.5deg,transparent 9deg 16deg); -webkit-mask:radial-gradient(circle,transparent 0 13px,#000 14px 100%); mask:radial-gradient(circle,transparent 0 13px,#000 14px 100%); transform:scale(.08); animation:payment-burst 3.4s ease-out infinite; }
.firework::after { content:''; position:absolute; inset:-5px; border:1px solid currentColor; border-radius:50%; box-shadow:0 0 0 18px transparent,0 0 0 36px transparent,0 0 0 54px transparent; animation:payment-ring 3.4s ease-out infinite; }
.firework-a { left:13%; top:22%; color:#ffc875; animation-delay:.2s; background:#ffc875; box-shadow:0 0 22px 6px #ffc875; }.firework-a::before { background:repeating-conic-gradient(from 0deg,transparent 0 7deg,rgba(255,200,117,.95) 7.5deg 8.5deg,transparent 9deg 16deg); animation-delay:.2s; }
.firework-b { right:13%; top:18%; color:#ff8ec8; animation-delay:1s; background:#ff8ec8; box-shadow:0 0 22px 6px #ff8ec8; }.firework-b::before { background:repeating-conic-gradient(from 0deg,transparent 0 7deg,rgba(255,142,200,.95) 7.5deg 8.5deg,transparent 9deg 16deg); animation-delay:1s; }
.firework-c { left:10%; bottom:20%; color:#79e5c1; animation-delay:1.7s; background:#79e5c1; box-shadow:0 0 22px 6px #79e5c1; }.firework-c::before { background:repeating-conic-gradient(from 0deg,transparent 0 7deg,rgba(121,229,193,.95) 7.5deg 8.5deg,transparent 9deg 16deg); animation-delay:1.7s; }
.firework-d { right:10%; bottom:25%; color:var(--theme-pale, #9aaeff); animation-delay:2.2s; background:var(--theme-pale, #9aaeff); box-shadow:0 0 22px 6px var(--theme-pale, #9aaeff); }.firework-d::before { background:repeating-conic-gradient(from 0deg,transparent 0 7deg,rgba(var(--theme-pale-rgb, 154, 174, 255), .95) 7.5deg 8.5deg,transparent 9deg 16deg); animation-delay:2.2s; }
@keyframes payment-firework { 0%,100% { opacity:0; transform:scale(.25); } 10% { opacity:1; transform:scale(1); } 22%,62% { opacity:.95; transform:scale(1.1); } 76% { opacity:0; transform:scale(.7); } }
@keyframes payment-burst { 0% { opacity:0; transform:scale(.08) rotate(0deg); } 14% { opacity:1; transform:scale(.08) rotate(12deg); } 62% { opacity:.9; transform:scale(1) rotate(38deg); } 100% { opacity:0; transform:scale(1.2) rotate(65deg); } }
@keyframes payment-ring { 0%,15% { opacity:0; transform:scale(.15); } 35% { opacity:.8; } 80%,100% { opacity:0; transform:scale(5); } }
.payment-result-modal { position:relative; z-index:2; width: min(100%, 460px); padding: 38px 34px 30px; border: 1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .28); border-radius: 26px; background: linear-gradient(145deg,var(--theme-base, #101d35),var(--theme-base, #091121)); box-shadow: 0 34px 100px rgba(0,0,0,.62), 0 0 55px rgba(var(--theme-accent-rgb, 91, 141, 255), .16); transform: translateY(14px) scale(.98); transition: transform .22s ease; }
.payment-result-backdrop.is-success .payment-result-modal { border-color:rgba(122,225,190,.46); box-shadow:0 34px 100px rgba(0,0,0,.62),0 0 70px rgba(86,220,177,.22); }
.payment-result-backdrop.is-success .payment-result-modal h2 { background:linear-gradient(110deg,#f2f6ff 10%,#8ff1ce 45%,#fff0b0 72%,#f2f6ff 90%); background-size:220% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:payment-title-shine 3.8s ease-in-out infinite; }
@keyframes payment-title-shine { from { background-position:180% center; } to { background-position:-30% center; } }
.payment-result-backdrop.open .payment-result-modal { transform: translateY(0) scale(1); }
.payment-result-icon { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 23px; border: 1px solid rgba(105,235,185,.45); border-radius: 20px; background: rgba(71,205,160,.13); box-shadow: 0 0 34px rgba(71,205,160,.2); }
.payment-result-icon .ui-icon { width: 27px; height: 27px; filter: brightness(0) saturate(100%) invert(82%) sepia(37%) saturate(865%) hue-rotate(103deg) brightness(96%); }
.payment-result-icon.is-error { border-color: rgba(255,130,151,.45); background: rgba(255,91,120,.12); box-shadow: 0 0 34px rgba(255,91,120,.16); }
.payment-result-icon.is-error .ui-icon { filter: brightness(0) saturate(100%) invert(72%) sepia(39%) saturate(1765%) hue-rotate(303deg) brightness(101%); }
.payment-result-modal h2 { margin: 0 0 12px; font-size: clamp(27px,5vw,40px); line-height: 1; letter-spacing: -.065em; }
.payment-result-lead { max-width: 390px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.payment-result-summary { display:flex; align-items:center; gap:13px; margin:22px 0 24px; padding:13px 15px; border:1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .16); border-radius:14px; background:rgba(var(--theme-accent-rgb, 145, 181, 255), .07); color:#dce8ff; font-size:12px; font-weight:700; line-height:1.5; }
.payment-result-avatar { width:64px; height:64px; flex:0 0 64px; object-fit:contain; border-radius:12px; background:rgba(var(--theme-deep-rgb, 4, 12, 27), .6); filter:drop-shadow(0 0 14px rgba(var(--theme-accent-rgb, 120, 169, 255), .35)); }
.payment-result-details { min-width:0; display:grid; gap:4px; }.payment-result-details strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.payment-result-details span { color:var(--theme-muted, #8fa4c4); font-size:10px; font-weight:600; }
.payment-result-modal .button { margin-top: 4px; }
.payment-method-picker { margin: 0; padding: 14px; border: 1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .16); border-radius: 16px; background: rgba(var(--theme-base-rgb, 8, 20, 40), .42); }
.payment-method-picker legend { padding: 0 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.payment-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 9px; }
.payment-method { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px; border: 1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .16); border-radius: 12px; color: var(--text); background: rgba(var(--theme-base-rgb, 11, 25, 48), .68); text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.payment-method:hover { border-color: rgba(var(--theme-accent-rgb, 145, 181, 255), .48); transform: translateY(-1px); }
.payment-method.is-selected { border-color: var(--theme-accent, #8eb5ff); background: linear-gradient(135deg, rgba(var(--theme-accent-rgb, 103, 151, 246), .22), rgba(var(--theme-panel-rgb, 19, 40, 73), .86)); box-shadow: 0 0 0 2px rgba(var(--theme-accent-rgb, 117, 166, 255), .12); }
.payment-method-avatar { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; overflow: hidden; border-radius: 9px; color: #dce8ff; background: rgba(var(--theme-accent-rgb, 112, 157, 255), .16); font-size: 12px; font-weight: 800; }
.payment-method-avatar img { width: 100%; height: 100%; object-fit: contain; }
.payment-method-copy { display: grid; gap: 3px; min-width: 0; }
.payment-method-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.payment-method-copy small { color: #79dfbd; font-size: 10px; font-weight: 700; }
.payment-method.is-unavailable { opacity:.78; border-color:rgba(255,174,112,.3); background:rgba(45,28,25,.48); cursor:not-allowed; }
.payment-method.is-unavailable:hover { transform:none; border-color:rgba(255,174,112,.55); }
.payment-method-copy .payment-method-unavailable { color:#ffd0a9; font-size:10px; font-weight:650; line-height:1.45; white-space:normal; }
.payment-method-icons { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; max-width:100%; }
.payment-method-chip { display:inline-flex; align-items:center; gap:7px; min-width:0; max-width:100%; padding:5px 9px 5px 5px; border:1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .22); border-radius:11px; color:var(--theme-pale, #b8c9e5); background:linear-gradient(135deg,rgba(var(--theme-panel-rgb, 20, 42, 76), .72),rgba(var(--theme-base-rgb, 5, 17, 35), .7)); font-size:10px; font-weight:750; line-height:1; white-space:nowrap; box-shadow:inset 0 1px rgba(255,255,255,.04); }
.payment-method-chip img { width:24px; height:24px; flex:0 0 24px; padding:4px; object-fit:contain; border:1px solid rgba(var(--theme-pale-rgb, 151, 190, 255), .26); border-radius:8px; background:rgba(var(--theme-accent-rgb, 125, 169, 255), .13); }
.nickname-validation { display:block; min-height:16px; margin-top:7px; color:var(--theme-muted, #91a6c4); font-size:10px; line-height:1.5; }
.nickname-validation.is-loading { color:var(--theme-pale, #9dbfff); }
.nickname-validation.is-success { color:#78e0bd; }
.nickname-validation.is-error { color:#ff899d; }
.modal form button:disabled { cursor:not-allowed; opacity:.45; filter:saturate(.65); }
.payment-choice-backdrop { z-index: 24; background: rgba(var(--theme-deep-rgb, 2, 8, 18), .84); }
.funpay-notice-backdrop { z-index: 27; background: rgba(var(--theme-deep-rgb, 2, 8, 18), .72); }
.funpay-notice-modal { position:relative; width:min(100%,570px); padding:34px; border:1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .3); border-radius:26px; background:radial-gradient(circle at 100% 0%,rgba(var(--theme-accent-rgb, 104, 158, 255), .18),transparent 38%),linear-gradient(145deg,var(--theme-panel, #12223b),var(--theme-base, #091322) 72%); box-shadow:0 32px 100px rgba(0,0,0,.68),0 0 60px rgba(var(--theme-accent-rgb, 83, 139, 255), .14); color:var(--text); transform:translateY(14px) scale(.98); transition:transform .22s ease; }
.funpay-notice-backdrop.open .funpay-notice-modal { transform:translateY(0) scale(1); }
.funpay-notice-modal h2 { max-width:440px; margin:8px 30px 10px 0; font-size:clamp(25px,5vw,34px); line-height:1.05; letter-spacing:-.055em; }
.funpay-notice-lead,.funpay-notice-footnote { color:var(--muted); font-size:12px; line-height:1.7; }
.funpay-notice-lead { margin:0 0 20px; }
.funpay-notice-steps { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.funpay-notice-steps li { display:flex; align-items:flex-start; gap:13px; padding:13px; border:1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .15); border-radius:15px; background:linear-gradient(120deg,rgba(var(--theme-panel-rgb, 31, 54, 87), .64),rgba(var(--theme-base-rgb, 11, 24, 42), .72)); }
.funpay-notice-steps li > span { display:grid; width:27px; height:27px; flex:0 0 27px; place-items:center; border:1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .28); border-radius:9px; color:var(--theme-pale, #c8dcff); background:rgba(var(--theme-accent-rgb, 115, 160, 255), .13); font-size:12px; font-weight:800; }
.funpay-notice-steps li div { display:grid; gap:4px; }
.funpay-notice-steps strong { font-size:12px; }
.funpay-notice-steps small { color:var(--theme-muted, #9aacc7); font-size:11px; line-height:1.55; }
.funpay-notice-footnote { margin:16px 0 20px; padding:11px 13px; border-left:2px solid #f2bd65; border-radius:0 10px 10px 0; color:#e6d5b3; background:rgba(150,101,27,.1); font-size:11px; }
.funpay-notice-actions { display:flex; justify-content:flex-end; gap:10px; }
.funpay-notice-actions .button { min-height:44px; }
.payment-choice-modal { position: relative; width: min(100%, 780px); padding: 42px; border: 1px solid rgba(var(--theme-accent-rgb, 137, 181, 255), .3); border-radius: 30px; background: radial-gradient(circle at 90% 0%, rgba(var(--theme-accent-rgb, 94, 145, 255), .16), transparent 34%), linear-gradient(145deg,var(--theme-base, #101e35),var(--theme-base, #081120)); box-shadow: 0 32px 100px rgba(0,0,0,.66), 0 0 70px rgba(var(--theme-accent-rgb, 83, 139, 255), .15); transform: translateY(15px) scale(.98); transition: transform .22s ease; }
.payment-choice-backdrop.open .payment-choice-modal { transform: translateY(0) scale(1); }
.payment-choice-modal h2 { margin: 7px 0 9px; font-size: clamp(26px,5vw,39px); letter-spacing: -.065em; line-height: 1; }
.payment-choice-lead { margin: 0 0 24px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.payment-choice-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.payment-choice-methods .payment-method { min-height: 86px; padding: 15px; border-radius: 17px; }
.payment-choice-methods .payment-method-avatar { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; }
.payment-choice-methods .payment-method-copy strong { font-size: 14px; }
.payment-choice-methods .payment-method-copy small { font-size: 11px; }
.payment-choice-methods .payment-method-copy .payment-choice-provider { color:var(--theme-muted, #8fa5c7); font-size:10px; font-weight:650; }
.payment-choice-methods .payment-method-copy .payment-method-discount { color:#83ebbd; }
.payment-choice-methods .payment-method-icons { gap: 8px; margin-top: 10px; }
.payment-choice-methods .payment-method-chip { padding: 6px 10px 6px 6px; border-radius: 13px; font-size: 11px; }
.payment-choice-methods .payment-method-chip img { width: 30px; height: 30px; flex-basis: 30px; padding: 5px; border-radius: 10px; }
.payment-choice-methods .payment-method.has-discount { border-color: rgba(112,230,177,.72); background: linear-gradient(135deg,rgba(48,151,116,.2),rgba(var(--theme-base-rgb, 11, 38, 43), .9)); box-shadow: 0 0 0 1px rgba(101,225,169,.18), 0 0 28px rgba(54,213,146,.13); }
.payment-choice-methods .payment-method.has-discount::after { content: 'ВЫГОДНО'; margin-left: auto; align-self: flex-start; padding: 4px 6px; border-radius: 6px; color: #91f1c9; background: rgba(49,189,132,.14); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.payment-choice-total { display: flex; justify-content: space-between; align-items: center; margin: 22px 0 16px; padding-top: 17px; border-top: 1px solid rgba(var(--theme-accent-rgb, 145, 181, 255), .14); color: var(--muted); font-size: 12px; }
.payment-choice-total strong { color: var(--text); font-size: 24px; letter-spacing: -.04em; }
.payment-free-note { grid-column:1/-1; padding:18px 20px; border:1px solid rgba(101,225,169,.32); border-radius:15px; color:#b9f3dc; background:linear-gradient(135deg,rgba(40,132,102,.18),rgba(var(--theme-base-rgb, 9, 25, 34), .72)); font-size:13px; line-height:1.6; text-align:center; }
@media (max-width: 560px) { .payment-choice-modal { padding: 28px 20px; border-radius: 22px; } .payment-choice-methods { grid-template-columns: 1fr; } .payment-choice-methods .payment-method-chip { font-size: 10px; } .payment-choice-methods .payment-method-chip img { width: 27px; height: 27px; flex-basis: 27px; } }
@media(prefers-reduced-motion:reduce) { .firework,.firework::before { animation:none; } }
.toast.toast-error {
  border-color: rgba(246,157,169,.5);
  background: linear-gradient(135deg,rgba(86,35,52,.97),rgba(35,18,34,.97));
  color: #ffe7eb;
  box-shadow: inset 0 1px rgba(255,255,255,.12),0 18px 50px rgba(64,13,30,.4);
}

/* Final CTA pass: clear hierarchy, tactile states and a premium sapphire finish. */
.public-home .product-card-foot .product-buy {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 48px;
  justify-content: space-between;
  gap: 14px;
  padding: 0 15px 0 17px;
  border: 1px solid rgba(var(--theme-pale-rgb, 181, 211, 255), .42);
  border-radius: 13px;
  background: linear-gradient(135deg,var(--theme-pale, #b9d5ff) 0%,var(--theme-accent, #8ab5ff) 48%,var(--theme-accent, #719df2) 100%);
  color: var(--theme-base, #071326);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: inset 0 1px rgba(255,255,255,.5),0 10px 28px rgba(var(--theme-strong-rgb, 73, 119, 207), .2);
  transition: transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease,filter .22s ease;
}
.public-home .product-card-foot .product-buy::before {
  content: '';
  position: absolute;
  inset: 1px 42% 1px 1px;
  z-index: -1;
  border-radius: 12px;
  background: linear-gradient(105deg,rgba(255,255,255,.32),transparent 75%);
  pointer-events: none;
}
.public-home .product-card-foot .product-buy:hover {
  transform: translateY(-2px);
  filter: brightness(1.06) saturate(1.05);
  box-shadow: inset 0 1px rgba(255,255,255,.62),0 14px 34px rgba(var(--theme-strong-rgb, 73, 119, 207), .34);
}
.public-home .product-card-foot .product-buy:active {
  transform: translateY(0) scale(.98);
  filter: brightness(.98);
}
.public-home .product-card-foot .product-buy .ui-icon {
  width: 15px;
  height: 15px;
  padding: 4px;
  box-sizing: content-box;
  border-radius: 50%;
  background: rgba(var(--theme-base-rgb, 7, 19, 38), .12);
}
.public-home .product-buy.is-unavailable {
  border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .2);
  background: linear-gradient(135deg,var(--theme-panel, #273752),var(--theme-panel, #1a2941));
  color: var(--theme-muted, #9aaac2);
  box-shadow: none;
  filter: none;
}
.public-home .product-buy.is-unavailable:hover { transform: none; }
.public-home .button-primary,
.public-home .button-light {
  min-height: 50px;
  border: 1px solid rgba(var(--theme-pale-rgb, 181, 211, 255), .38);
  border-radius: 14px;
  background: linear-gradient(135deg,var(--theme-pale, #b9d5ff),var(--theme-accent, #8ab5ff) 52%,var(--theme-accent, #719df2));
  box-shadow: inset 0 1px rgba(255,255,255,.48),0 13px 32px rgba(var(--theme-strong-rgb, 69, 111, 187), .24);
  font-weight: 900;
}
.public-home .button-primary:hover,
.public-home .button-light:hover {
  background: linear-gradient(135deg,var(--theme-pale, #c9e0ff),var(--theme-pale, #9fc3ff) 52%,var(--theme-accent, #81a9fa));
  box-shadow: inset 0 1px rgba(255,255,255,.6),0 17px 38px rgba(var(--theme-strong-rgb, 69, 111, 187), .36);
}
.public-home .button-ghost {
  min-height: 50px;
  border: 1px solid rgba(var(--theme-pale-rgb, 181, 211, 255), .2);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  color: #dce8ff;
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}
.public-home .button-ghost:hover { border-color: rgba(var(--theme-pale-rgb, 181, 211, 255), .38); background: rgba(var(--theme-accent-rgb, 120, 169, 255), .12); }

.public-home :where(.product-buy,.button,.profile-button):focus-visible,
.account-page-body :where(.account-tab,.small-action,.logout-button):focus-visible {
  outline: 2px solid var(--theme-pale, #b9d5ff);
  outline-offset: 3px;
}

/* Solid premium correction: keep the hierarchy, remove the overdone glass treatment. */
.public-home .site-header,
.client-page .site-header {
  border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .16);
  background: linear-gradient(180deg,var(--theme-base, #101a2d),var(--theme-base, #0b1324));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 14px 36px rgba(var(--theme-deep-rgb, 1, 5, 14), .24),inset 0 1px rgba(255,255,255,.05);
}
.public-home .site-header::before,
.client-page .site-header::before { display: none; }
.public-home .site-header .main-nav,
.client-page .site-header .main-nav {
  border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .16);
  background: var(--theme-base, #111d33);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: inset 0 1px rgba(255,255,255,.045),0 8px 22px rgba(var(--theme-deep-rgb, 1, 5, 14), .16);
}
.public-home .site-header .main-nav::before,
.client-page .site-header .main-nav::before { display: none; }
.public-home .hero-proof,
.public-home .mode-switcher-block,
.public-home .store-tabs,
.public-home .feature-card,
.public-home .product-card,
.public-home .store-section,
.public-home .world-banner,
.client-page .account-sidebar,
.client-page .account-main,
.client-page .account-cards article,
.client-page .security-panel > div,
.client-page .two-factor-card {
  background: var(--theme-base, #0d1729);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 18px 48px rgba(var(--theme-deep-rgb, 1, 5, 14), .2),inset 0 1px rgba(255,255,255,.035);
}
.public-home .feature-card-large,
.public-home .feature-card-blue,
.public-home .feature-card-dark { background: linear-gradient(145deg,var(--theme-panel, #142845),var(--theme-base, #0d1729)); }
.public-home .store-section { border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .14); }
.public-home .product-card { border-color: rgba(var(--theme-accent-rgb, 157, 181, 224), .15); }
.public-home .mode-card::before { backdrop-filter: none; -webkit-backdrop-filter: none; }
.public-home .button-primary,
.public-home .button-light,
.public-home .product-card-foot .product-buy {
  background: linear-gradient(135deg,var(--theme-pale, #9fbeff),var(--theme-accent, #6f98eb));
  box-shadow: 0 10px 25px rgba(var(--theme-strong-rgb, 62, 107, 190), .22),inset 0 1px rgba(255,255,255,.22);
}
.public-home .button-primary:hover,
.public-home .button-light:hover,
.public-home .product-card-foot .product-buy:hover { background: linear-gradient(135deg,var(--theme-pale, #b3cdff),var(--theme-accent, #80a8f4)); }
.toast {
  background: var(--theme-panel, #132542);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 16px 42px rgba(var(--theme-deep-rgb, 1, 5, 14), .38),inset 0 1px rgba(255,255,255,.06);
}

.toast.toast-error { background: #492633; box-shadow: 0 16px 42px rgba(64,13,30,.34),inset 0 1px rgba(255,255,255,.06); }

/* Auth journey: a focused, animated entry point that reuses the site's existing palette. */
#auth-modal { z-index:80; }
.auth-modal {
  display:grid;
  grid-template-columns:minmax(250px,.82fr) minmax(380px,1fr);
  width:min(100%,880px);
  max-height:calc(100dvh - 40px);
  padding:0;
  overflow:hidden;
  border-color:rgba(var(--theme-pale-rgb, 157, 192, 255), .23);
  background:var(--theme-base, #0a1120);
  box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 70px rgba(var(--theme-strong-rgb, 55, 105, 192), .12),inset 0 1px rgba(255,255,255,.06);
  transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .32s ease,box-shadow .32s ease;
}
.auth-visual {
  min-height:590px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  padding:32px;
  background:radial-gradient(ellipse at 48% 45%,rgba(var(--theme-strong-rgb, 58, 111, 203), .36),transparent 42%),linear-gradient(155deg,var(--theme-panel, #142b4b),var(--theme-base, #0c1930) 57%,var(--theme-base, #091120));
  isolation:isolate;
}
.auth-visual::before,.auth-visual::after { position:absolute; z-index:-1; content:""; width:390px; height:390px; left:50%; top:47%; border:1px solid rgba(var(--theme-accent-rgb, 145, 187, 255), .16); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 28px rgba(var(--theme-accent-rgb, 145, 187, 255), .025),0 0 90px rgba(var(--theme-accent-rgb, 89, 146, 255), .14); }
.auth-visual::after { width:280px; height:280px; border-color:rgba(var(--theme-accent-rgb, 145, 187, 255), .12); box-shadow:0 0 0 40px rgba(var(--theme-accent-rgb, 145, 187, 255), .018); }
.auth-visual-orbit { position:absolute; z-index:-1; width:135%; height:1px; left:-17%; top:46%; background:linear-gradient(90deg,transparent,rgba(var(--theme-accent-rgb, 123, 179, 255), .6),transparent); }
.auth-visual-orbit-one { transform:rotate(-32deg); animation:auth-orbit-drift 12s ease-in-out infinite alternate; }
.auth-visual-orbit-two { top:54%; opacity:.55; transform:rotate(28deg); animation:auth-orbit-drift 16s ease-in-out infinite alternate-reverse; }
.auth-visual-brand { display:flex; align-items:center; gap:11px; color:#f1f5ff; font-size:13px; font-weight:800; letter-spacing:-.03em; }
.auth-visual-mark { display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(var(--theme-pale-rgb, 179, 210, 255), .36); border-radius:12px; color:#dceaff; background:linear-gradient(145deg,rgba(var(--theme-pale-rgb, 159, 190, 255), .3),rgba(var(--theme-strong-rgb, 56, 102, 184), .15)); box-shadow:0 6px 22px rgba(var(--theme-strong-rgb, 54, 115, 213), .2); font-size:20px; }
.auth-visual-copy { position:relative; margin:auto 0; padding:50px 0 35px; }
.auth-visual-kicker { color:var(--theme-pale, #9bbcff); font-size:9px; font-weight:900; letter-spacing:.19em; }
.auth-visual-copy strong { display:block; margin-top:17px; color:#f0f5ff; font-size:clamp(35px,4vw,51px); line-height:.98; letter-spacing:-.075em; }
.auth-visual-copy em { color:var(--theme-accent, #91b7ff); font-style:normal; }
.auth-visual-copy p { max-width:260px; margin:17px 0 0; color:var(--theme-muted, #a1b1ca); font-size:12px; line-height:1.7; }
.auth-steps { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.auth-steps li { display:flex; align-items:center; gap:11px; color:var(--theme-muted, #8495b0); font-size:10px; transition:color .24s ease,transform .24s ease; }
.auth-steps li i { display:grid; width:27px; height:27px; place-items:center; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .16); border-radius:9px; color:var(--theme-muted, #8294b0); background:rgba(var(--theme-deep-rgb, 4, 12, 25), .32); font-size:8px; font-style:normal; font-weight:800; transition:all .24s ease; }
.auth-steps li.is-active { color:#eef4ff; transform:translateX(3px); }
.auth-steps li.is-active i,.auth-steps li.is-complete i { border-color:rgba(var(--theme-accent-rgb, 134, 177, 255), .46); color:#d8e7ff; background:rgba(var(--theme-accent-rgb, 111, 158, 245), .2); box-shadow:0 0 18px rgba(var(--theme-accent-rgb, 88, 142, 239), .16); }
.auth-steps li.is-complete { color:var(--theme-pale, #a9c7ff); }
.auth-visual-caption { align-self:flex-start; margin-top:18px; color:var(--theme-muted, #7489a8); font-size:8px; font-weight:800; letter-spacing:.18em; }
.auth-visual-caption i { padding:0 5px; color:var(--theme-accent, #85b1ff); font-style:normal; }
.auth-content { position:relative; min-width:0; align-self:center; padding:clamp(30px,4.5vw,56px); }
.auth-content .modal-close { z-index:2; }
.auth-switcher[hidden] { display:none!important; }
.auth-switcher { width:max-content; max-width:100%; gap:4px; margin:0 0 28px; padding:4px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12); border-radius:13px; background:rgba(var(--theme-deep-rgb, 4, 10, 20), .58); }
.auth-tab { min-height:37px; padding:0 15px; border:1px solid transparent; border-radius:9px; transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease; }
.auth-tab:hover { color:#e7efff; }
.auth-tab.active { border-color:rgba(var(--theme-pale-rgb, 157, 192, 255), .21); border-bottom-color:rgba(var(--theme-pale-rgb, 157, 192, 255), .21); color:#f2f6ff; background:linear-gradient(145deg,rgba(var(--theme-pale-rgb, 150, 187, 255), .2),rgba(var(--theme-accent-rgb, 98, 143, 225), .1)); box-shadow:inset 0 1px rgba(255,255,255,.06),0 5px 14px rgba(var(--theme-raised-rgb, 44, 82, 146), .12); }
.auth-modal .eyebrow { margin-bottom:10px; }
.auth-modal h2 { max-width:440px; margin-bottom:8px; font-size:clamp(30px,3.3vw,39px); line-height:1.04; }
.auth-content .modal-subtitle { max-width:380px; margin:0; font-size:12px; line-height:1.65; }
.auth-form:not(.is-hidden) { animation:auth-panel-in .34s cubic-bezier(.16,1,.3,1) both; }
.auth-form { gap:13px; margin-top:22px; }
.auth-form label { gap:8px; color:#dce7fa; font-size:11px; }
.auth-form input { height:48px; padding:0 14px; border-color:rgba(var(--theme-accent-rgb, 157, 181, 224), .16); border-radius:12px; background:rgba(var(--theme-deep-rgb, 3, 9, 19), .56); font-size:13px; transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,transform .22s ease; }
.auth-form input:hover { border-color:rgba(var(--theme-accent-rgb, 157, 181, 224), .32); }
.auth-form input:focus { border-color:var(--theme-accent, #8fb5ff); background:rgba(var(--theme-base-rgb, 7, 15, 29), .9); box-shadow:0 0 0 4px rgba(var(--theme-accent-rgb, 117, 157, 238), .11),0 7px 22px rgba(var(--theme-base-rgb, 6, 15, 31), .18); }
.auth-form input.auth-code-input { height:58px; border-color:rgba(var(--theme-accent-rgb, 132, 174, 255), .3); background:linear-gradient(110deg,rgba(var(--theme-accent-rgb, 97, 139, 222), .1),rgba(var(--theme-deep-rgb, 4, 10, 21), .76)); color:#edf4ff; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:23px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:.42em; text-align:center; }
.auth-form input.auth-code-input::placeholder { color:var(--theme-muted, #536884); letter-spacing:.42em; }
.auth-form .button-full { min-height:49px; margin-top:2px; transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,filter .2s ease; }
.auth-form .button-full:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 14px 30px rgba(var(--theme-strong-rgb, 59, 105, 190), .28); }
.auth-form .button-full:active:not(:disabled) { transform:translateY(0) scale(.99); }
.auth-form .button-full:disabled { cursor:wait; filter:saturate(.78); }
.auth-form.is-submitting .button-full::after { width:15px; height:15px; margin-left:9px; border:2px solid rgba(var(--theme-base-rgb, 8, 20, 41), .24); border-top-color:var(--theme-base, #0b1930); border-radius:50%; content:""; animation:auth-spinner .7s linear infinite; }
.auth-feedback { animation:auth-feedback-in .24s ease both; }
.auth-content .modal-note { margin-top:20px; font-size:10px; }
.auth-code-field { gap:9px!important; }
@keyframes auth-panel-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes auth-feedback-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@keyframes auth-spinner { to { transform:rotate(360deg); } }
@keyframes auth-orbit-drift { from { translate:-2% 0; opacity:.55; } to { translate:2% 0; opacity:1; } }
@media(max-width:700px) {
  .auth-modal { grid-template-columns:1fr; width:min(100%,510px); max-height:calc(100dvh - 24px); overflow-y:auto; }
  .auth-visual { min-height:0; padding:20px 22px 17px; }
  .auth-visual-brand { font-size:11px; }
  .auth-visual-mark { width:30px; height:30px; border-radius:10px; }
  .auth-visual-copy { margin:18px 0 15px; padding:0; }
  .auth-visual-copy strong { margin-top:8px; font-size:27px; }
  .auth-visual-copy p,.auth-visual-caption { display:none; }
  .auth-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .auth-steps li { gap:5px; font-size:8px; }
  .auth-steps li i { width:23px; height:23px; flex:0 0 23px; }
  .auth-visual::before { width:260px; height:260px; left:auto; right:-75px; top:35%; transform:translateY(-50%); }
  .auth-visual::after { width:185px; height:185px; left:auto; right:-35px; top:35%; transform:translateY(-50%); }
  .auth-content { padding:27px 24px 26px; }
  .auth-switcher { margin-bottom:21px; }
  .auth-modal .modal-close { top:14px; right:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .auth-modal,.auth-modal *, .auth-visual-orbit { animation:none!important; scroll-behavior:auto!important; transition:none!important; }
}

.auth-feedback {
  display: none;
  margin: -2px 0 0;
  padding: 11px 13px;
  border: 1px solid rgba(245,151,162,.34);
  border-radius: 11px;
  background: #351d2a;
  color: #ffcbd2;
  font-size: 11px;
  line-height: 1.45;
}
.auth-feedback.is-visible { display: block; }
.auth-feedback.is-maintenance { grid-row:1; border-color:rgba(242,190,112,.35); background:linear-gradient(135deg,rgba(74,52,29,.8),rgba(48,35,27,.86)); color:#ffe0ad; }

/* Purchase CTA: darker and quieter, so the product title and price stay readable. */
.public-home .product-card-foot .product-buy {
  min-height: 46px;
  border-color: rgba(var(--theme-accent-rgb, 126, 164, 226), .42);
  background: var(--theme-panel, #1a2b49);
  color: #e4edff;
  box-shadow: inset 0 1px rgba(255,255,255,.07),0 8px 20px rgba(var(--theme-deep-rgb, 2, 8, 20), .2);
}
.public-home .product-card-foot .product-buy::before { display: none; }
.public-home .product-card-foot .product-buy:hover {
  border-color: rgba(var(--theme-pale-rgb, 157, 192, 255), .7);
  background: var(--theme-raised, #253d65);
  color: #ffffff;
  filter: none;
  box-shadow: inset 0 1px rgba(255,255,255,.1),0 10px 24px rgba(var(--theme-raised-rgb, 43, 79, 143), .28);
}
.public-home .product-card-foot .product-buy .ui-icon {
  background: rgba(var(--theme-pale-rgb, 157, 192, 255), .12);
  filter: brightness(0) saturate(100%) invert(87%) sepia(19%) saturate(1087%) hue-rotate(183deg) brightness(103%) contrast(102%);
}
.public-home .product-card-foot .product-buy.is-unavailable {
  border-color: rgba(var(--theme-muted-rgb, 130, 146, 174), .24);
  background: var(--theme-panel, #172238);
  color: var(--theme-muted, #8290a8);
}

/* Project essence: characters read as dimensional figures outside the tiles. */
.public-home .feature-card {
  overflow: visible;
  isolation: isolate;
}
.public-home .feature-card::before {
  content: '';
  position: absolute;
  top: 9%;
  right: -4%;
  z-index: 1;
  width: 62%;
  height: 78%;
  border-radius: 50%;
  background: radial-gradient(ellipse,rgba(var(--theme-accent-rgb, 124, 178, 255), .3),rgba(var(--theme-accent-rgb, 74, 119, 211), .12) 43%,transparent 72%);
  filter: blur(24px);
  pointer-events: none;
}
.public-home .feature-card .feature-character {
  right: -8% !important;
  z-index: 3;
  height: 126%;
  transform: translateY(-50%) translateX(12%) scale(1.04);
  filter: drop-shadow(0 26px 22px rgba(0,0,0,.52)) drop-shadow(0 0 22px rgba(var(--theme-accent-rgb, 116, 172, 255), .28));
  transition: transform .45s cubic-bezier(.16,1,.3,1),filter .35s ease;
}
.public-home .feature-card-large .feature-character { height: 119%; transform: translateY(-50%) translateX(9%) scale(1.05); }
.public-home .feature-card:hover .feature-character {
  transform: translateY(-53%) translateX(10%) scale(1.09);
  filter: drop-shadow(0 31px 25px rgba(0,0,0,.58)) drop-shadow(0 0 30px rgba(var(--theme-accent-rgb, 130, 185, 255), .4));
}
.public-home .feature-card-large:hover .feature-character { transform: translateY(-53%) translateX(7%) scale(1.1); }
.public-home .feature-card .feature-copy,
.public-home .feature-card .feature-icon,
.public-home .feature-card .card-arrow { z-index: 5; }
@media (max-width: 850px) {
  .public-home .feature-card .feature-character { right: -4% !important; height: 116%; transform: translateY(-50%) translateX(7%) scale(1.02); }
  .public-home .feature-card-large .feature-character { height: 112%; }
}
@media (max-width: 560px) {
  .public-home .feature-card { overflow: visible; }
  .public-home .feature-card .feature-character { right: -2% !important; height: 107%; transform: translateY(-50%) translateX(5%) scale(1); }
  .public-home .feature-card-large .feature-character { height: 104%; }
  .public-home .feature-card:hover .feature-character,
  .public-home .feature-card-large:hover .feature-character { transform: translateY(-51%) translateX(3%) scale(1.03); }
}

/* Layer the overflowing figures and protect copy from bright artwork. */
.public-home .feature-card:nth-child(1) { z-index: 1; }
.public-home .feature-card:nth-child(2) { z-index: 2; }
.public-home .feature-card:nth-child(3) { z-index: 3; }
.public-home .feature-card:hover { z-index: 8; }
.public-home .feature-card .feature-copy {
  position: relative;
  isolation: isolate;
  padding: 18px 14px 17px;
  margin: -18px -14px -17px !important;
}
.public-home .feature-card .feature-copy::before {
  content: '';
  position: absolute;
  inset: 0 -14% 0 -18%;
  z-index: -1;
  border-radius: 18px;
  background: linear-gradient(90deg,rgba(var(--theme-deep-rgb, 5, 12, 25), .94),rgba(var(--theme-deep-rgb, 5, 12, 25), .78) 68%,rgba(var(--theme-deep-rgb, 5, 12, 25), .12));
  filter: blur(7px);
  opacity: .92;
  pointer-events: none;
}
.public-home .feature-card .feature-copy h3 { text-shadow: 0 2px 12px rgba(0,0,0,.48); }
.public-home .feature-card .feature-copy p { color: var(--theme-pale, #b8c7de); text-shadow: 0 1px 8px rgba(0,0,0,.55); }
@media (max-width: 560px) {
  .public-home .feature-card .feature-copy { padding: 14px 10px 13px; margin: -14px -10px -13px !important; }
}

/* Refine feature hover: no jumping figures and no visible text rectangle. */
.public-home .feature-card:hover { transform: none; }
.public-home .feature-card .feature-copy::before {
  inset: -38% -34% -38% -30%;
  border-radius: 50%;
  background: radial-gradient(ellipse at 24% 52%,rgba(var(--theme-deep-rgb, 5, 12, 25), .82) 0%,rgba(var(--theme-deep-rgb, 5, 12, 25), .58) 42%,rgba(var(--theme-deep-rgb, 5, 12, 25), .18) 70%,transparent 100%);
  filter: blur(25px);
  opacity: .78;
}
.public-home .feature-card .feature-copy h3,
.public-home .feature-card .feature-copy p { text-shadow: none; }
.public-home .feature-card .feature-character,
.public-home .feature-card-large .feature-character {
  transition: filter .35s ease;
}
.public-home .feature-card:hover .feature-character,
.public-home .feature-card-large:hover .feature-character {
  transform: translateY(-50%) translateX(12%) scale(1.04);
  filter: drop-shadow(0 26px 22px rgba(0,0,0,.52)) drop-shadow(0 0 30px rgba(var(--theme-accent-rgb, 130, 185, 255), .42));
}
.public-home .feature-card-large .feature-character,
.public-home .feature-card-large:hover .feature-character { transform: translateY(-50%) translateX(9%) scale(1.05); }
@media (max-width: 850px) {
  .public-home .feature-card:hover .feature-character { transform: translateY(-50%) translateX(7%) scale(1.02); }
  .public-home .feature-card-large:hover .feature-character { transform: translateY(-50%) translateX(7%) scale(1.02); }
}
@media (max-width: 560px) {
  .public-home .feature-card:hover .feature-character { transform: translateY(-50%) translateX(5%) scale(1); }
  .public-home .feature-card-large:hover .feature-character { transform: translateY(-50%) translateX(5%) scale(1); }
}

/* The feature tiles stay typographic and character-led, without extra glyphs. */
.public-home .feature-card .feature-icon,
.public-home .feature-card .card-arrow { display: none; }
.public-home .feature-card .feature-copy { padding-top: 18px; }
@media (max-width: 560px) {
  .public-home .feature-card .feature-copy { padding-top: 14px; }
}

/* Mobile header action: fixed hit area, no text clipping or icon collapse. */
@media (max-width: 850px) {
  .public-home .header-actions { gap: 6px; flex: 0 0 auto; }
  .public-home .profile-button {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    flex: 0 0 42px;
    display: inline-grid;
    place-items: center;
    overflow: visible;
    padding: 0;
    border: 1px solid rgba(var(--theme-pale-rgb, 157, 192, 255), .35);
    border-radius: 12px;
    background: var(--theme-panel, #172946);
    font-size: 0;
  }
  .public-home .profile-button .ui-icon {
    width: 16px;
    height: 16px;
    display: block;
    filter: brightness(0) saturate(100%) invert(87%) sepia(19%) saturate(1087%) hue-rotate(183deg) brightness(103%) contrast(102%);
  }
  .public-home .profile-button:hover { background: var(--theme-raised, #253d65); transform: none; }
  .public-home .menu-toggle { flex: 0 0 38px; z-index: 4; }
}
@media (max-width: 560px) {
  .public-home .profile-button { width: 40px; min-width: 40px; height: 40px; min-height: 40px; flex-basis: 40px; }
}

/* Mobile navigation: one predictable dropdown, with a readable login action. */
@media (max-width: 850px) {
  .public-home .site-header { position: sticky; z-index: 40; }
  .public-home .main-nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    margin: 0 !important;
    display: grid !important;
    gap: 3px !important;
    max-height: min(70vh,420px);
    overflow-y: auto;
    padding: 8px !important;
    border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .22) !important;
    border-radius: 17px !important;
    background: var(--theme-base, #101a2d) !important;
    box-shadow: 0 20px 46px rgba(var(--theme-deep-rgb, 1, 5, 14), .42),inset 0 1px rgba(255,255,255,.06) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .2s ease,visibility .2s ease,transform .2s ease;
  }
  .public-home.menu-open .main-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .public-home .main-nav::before { display: none !important; }
  .public-home .main-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 14px !important;
    border-radius: 11px;
    color: var(--theme-muted, #a8b8d1);
  }
  .public-home .main-nav a:hover,
  .public-home .main-nav a.active { background: var(--theme-panel, #1a2d4d); color: #f0f5ff; }
  .public-home .profile-button {
    width: auto;
    min-width: 72px;
    height: 40px;
    min-height: 40px;
    flex: 0 0 auto;
    display: inline-flex;
    justify-content: center;
    gap: 6px;
    padding: 0 11px;
    font-size: 10px;
    white-space: nowrap;
  }
  .public-home .profile-button .ui-icon { width: 14px; height: 14px; }
}
@media (max-width: 360px) {
  .public-home .brand-name { max-width: 72px; }
  .public-home .profile-button { min-width: 66px; padding: 0 8px; }
  .public-home .header-actions { gap: 4px; }
}

/* Responsive pass: keep every surface usable between phone and wide desktop. */
html { overflow-x: hidden; }
body { min-width: 320px; overflow-x: hidden; }
img,svg,video { max-width: 100%; }
@media (max-width: 1100px) and (min-width: 851px) {
  .public-home .site-header { min-height: 68px; padding: 7px 10px; }
  .public-home .site-header .brand-mark { width: 48px; height: 48px; flex-basis: 48px; }
  .public-home .server-status { display: none; }
  .public-home .menu-toggle { display: block; }
  .public-home .main-nav {
    position: absolute;
    top: 76px;
    right: 0;
    left: 0;
    display: grid;
    gap: 3px;
    padding: 8px;
    border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .18);
    border-radius: 16px;
    background: var(--theme-base, #101a2d);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .2s ease,transform .2s ease;
  }
  .public-home.menu-open .main-nav { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .public-home .main-nav a { min-height: 42px; padding: 0 13px; border-radius: 10px; }
  .public-home .main-nav::before { display: none; }
  .public-home .hero { grid-template-columns: minmax(0,.9fr) minmax(360px,1.1fr); }
  .client-page .main-nav { display: flex; gap: 1px; padding: 3px; font-size: 10px; }
  .client-page .main-nav a { padding: 9px 10px; }
}
@media (max-width: 900px) {
  .public-home .container,.client-page .container { width: min(100% - 40px,1320px); }
  .account-page-body .account-layout { grid-template-columns: 1fr; gap: 24px; }
  .account-page-body .account-sidebar { position: static; }
}

/* Information bar aligned with the solid sapphire system. */
.public-home .info-bar {
  right: auto;
  bottom: 22px;
  left: 50%;
  width: min(700px,calc(100% - 32px));
  min-height: 58px;
  padding: 13px 17px;
  border: 1px solid rgba(126,164,226,.42);
  border-radius: 16px;
  background: #132542;
  box-shadow: 0 18px 48px rgba(1,5,14,.42),inset 0 1px rgba(255,255,255,.07);
  color: #e5efff;
  font-size: 12px;
  transform: translate(-50%,20px);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.public-home .info-bar.is-visible { transform: translate(-50%,0); }
.public-home .info-bar.is-closing { transform: translate(-50%,20px); }
.public-home .info-bar-mark { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(157,192,255,.3); border-radius: 10px; background: #1d3560; }
.public-home .info-bar-mark .ui-icon { width: 15px; height: 15px; filter: brightness(0) saturate(100%) invert(86%) sepia(17%) saturate(1052%) hue-rotate(181deg) brightness(105%) contrast(101%); }
.public-home .info-bar button { width: 30px; height: 30px; border-color: rgba(157,192,255,.28); border-radius: 9px; background: #1a2d4d; }
.public-home .info-bar button:hover { background: #28456f; }
@media (max-width: 560px) {
  .public-home .info-bar { bottom: 14px; width: calc(100% - 24px); padding: 11px 12px; gap: 10px; font-size: 11px; }
  .public-home .info-bar-mark { width: 26px; height: 26px; border-radius: 8px; }
  .public-home .info-bar button { width: 28px; height: 28px; }
}

.public-home .store-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.public-home .store-toolbar .store-tabs { flex: 1 1 auto; margin: 0; }
.public-home .store-search { width: min(270px,34%); position: relative; display: grid; gap: 6px; flex: 0 0 auto; }
.public-home .store-search span { color: var(--theme-muted, #8291aa); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.public-home .store-search input { width: 100%; height: 40px; padding: 0 13px; border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .2); border-radius: 11px; outline: none; background: var(--theme-base, #111d33); color: #e7efff; font: inherit; font-size: 11px; box-shadow: inset 0 1px rgba(255,255,255,.04); }
.public-home .store-search input::placeholder { color: var(--theme-muted, #667691); }
.public-home .store-search input:focus { border-color: rgba(var(--theme-pale-rgb, 157, 192, 255), .58); box-shadow: 0 0 0 3px rgba(var(--theme-accent-rgb, 120, 169, 255), .1); }
.public-home .store-search-empty { grid-column: 1 / -1; padding: 44px 24px; border: 1px dashed rgba(var(--theme-accent-rgb, 157, 181, 224), .2); border-radius: 16px; color: var(--theme-muted, #8d9bb2); text-align: center; font-size: 12px; }
@media (max-width: 700px) {
  .public-home .store-toolbar { align-items: stretch; flex-direction: column; }
  .public-home .store-search { width: 100%; }
  .public-home .store-toolbar .store-tabs { width: 100%; }
}

/* Last responsive layer: mobile rules must win over legacy desktop overrides above. */
@media (max-width: 560px) {
  .public-home .site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    width: calc(100% - 30px);
    min-height: 68px;
    padding: 8px 0;
    border-bottom: 0;
    background: rgba(var(--theme-base-rgb, 7, 13, 27), .9);
    box-shadow: 0 10px 28px rgba(var(--theme-deep-rgb, 1, 5, 14), .2);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .public-home .brand { min-width: 0; max-width: calc(100% - 124px); gap: 8px; }
  .public-home .brand-mark { width: 36px; height: 36px; flex: 0 0 36px; }
  .public-home .brand-name { max-width: 118px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
  .public-home .header-actions { gap: 6px; min-width: 0; }
  .public-home .profile-button { width: auto; min-width: 70px; height: 38px; min-height: 38px; padding: 0 10px; border-radius: 11px; font-size: 10px; white-space: nowrap; }
  .public-home .profile-button .ui-icon { width: 13px; height: 13px; }
  .public-home .menu-toggle { width: 38px; height: 38px; flex: 0 0 38px; }

  .public-home .main-nav {
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100dvh - 84px);
    padding: 6px !important;
    border-radius: 15px !important;
    background: var(--theme-base, #101a2d) !important;
  }
  .public-home .main-nav a { min-height: 42px; padding: 0 13px !important; font-size: 11px; }

  .public-home .hero {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-height: 0;
    padding: 38px 0 34px;
  }
  .public-home .hero-copy { width: 100%; }
  .public-home .hero h1 { max-width: 100%; font-size: clamp(36px, 12vw, 52px); line-height: .98; letter-spacing: -.075em; overflow-wrap: anywhere; }
  .public-home .hero-description { max-width: 100%; font-size: 12px; line-height: 1.65; }
  .public-home .hero-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin: 23px 0 14px; }
  .public-home .hero-actions .button { width: 100%; min-height: 48px; }
  .public-home .hero-scene.image-scene { width: 100%; min-height: 285px; margin-top: 0; }
  .public-home .hero-character-stage { width: 108%; height: 108%; right: -8%; }
  .public-home .hero-person { height: 101%; right: -2%; }
  .public-home .hero-portal { width: 65%; height: 82%; right: 11%; }
  .public-home .hero-proof { right: 2px; bottom: 0; }
  .public-home .hero-proof div { min-width: 86px; padding: 8px 9px; font-size: 8px; }

  .public-home .section { padding: 54px 0; }
  .public-home .section-heading, .public-home .section-topline { display: block; margin-bottom: 32px; }
  .public-home .section-heading h2, .public-home .section-topline h2 { max-width: 100%; margin-bottom: 14px; font-size: clamp(30px, 9.5vw, 43px); line-height: 1; }
  .public-home .section-heading > p:last-child { max-width: 100%; font-size: 11px; line-height: 1.65; }
  .public-home .feature-grid, .public-home .modes-grid, .public-home .product-grid, .public-home .news-grid { grid-template-columns: 1fr; gap: 12px; }
  .public-home .feature-card, .public-home .feature-card-large, .public-home .mode-card, .public-home .mode-card-featured, .public-home .news-card { grid-column: auto; width: 100%; min-width: 0; }
  .public-home .feature-card { min-height: 286px; padding: 20px; }
  .public-home .feature-card > div:not(.feature-icon), .public-home .feature-card .feature-copy { width: 58%; max-width: 58%; }
  .public-home .feature-card h3 { max-width: 100%; font-size: 22px; }
  .public-home .feature-card p { max-width: 100%; font-size: 10px; line-height: 1.55; }
  .public-home .feature-card .feature-character { right: -27px; width: auto; height: 102%; }
  .public-home .feature-card .character-mage { right: -22px; height: 105%; }
  .public-home .feature-card .character-warrior, .public-home .feature-card .character-engineer { right: -31px; height: 109%; }

  .public-home .mode-switcher-block { padding: 13px; }
  .public-home .mode-switcher { max-width: 100%; overflow-x: auto; padding-bottom: 3px; }
  .public-home .mode-switch { min-width: 135px; }
  .public-home .mode-card, .public-home .mode-card-featured { min-height: 280px; }
  .public-home .mode-content, .public-home .mode-card:nth-child(n+5) .mode-content { padding: 21px; }
  .public-home .mode-content h3, .public-home .mode-card:nth-child(n+5) .mode-content h3 { max-width: 100%; font-size: clamp(27px, 8.5vw, 38px); }
  .public-home .mode-content p { max-width: 100%; font-size: 10px; }

  .public-home .store-section { width: 100%; padding: 38px 13px 46px; border-radius: 17px; }
  .public-home .store-tabs { max-width: 100%; overflow-x: auto; padding: 5px; }
  .public-home .tab { min-height: 36px; padding: 0 11px; font-size: 10px; white-space: nowrap; }
  .public-home .product-card, .public-home .product-card:nth-child(1), .public-home .product-card:nth-child(2) { grid-column: 1 / -1; min-width: 0; }
  .public-home .product-art, .public-home .product-card:nth-child(-n+2) .product-art { height: 164px; flex-basis: auto; }
  .public-home .product-info { min-width: 0; align-items: flex-start; padding: 15px 15px 9px; }
  .public-home .product-info h3 { max-width: 100%; font-size: 16px; overflow-wrap: anywhere; }
  .public-home .product-info strong { align-items: flex-start; font-size: 13px; }
  .public-home .product-card-foot { padding: 9px 15px 15px; }
  .public-home .product-card-foot .product-buy { width: 100%; min-height: 44px; margin: 0; }

  .public-home .about-section { gap: 22px; }
  .public-home .about-visual { min-height: 270px; }
  .public-home .world-banner { min-height: 300px; margin-top: 16px; padding: 23px; border-radius: 17px; }
  .public-home .world-banner h2 { max-width: 76%; font-size: clamp(32px, 9.5vw, 46px); }
  .public-home .banner-rings { width: 270px; height: 270px; right: -140px; top: 15px; }
  .public-home .news-card { min-height: 230px; padding: 20px; }
  .public-home .news-card h3 { font-size: 20px; }
  .public-home .site-footer { display: grid; grid-template-columns: 1fr; gap: 25px; padding: 36px 0 40px; }
  .public-home .site-footer .footer-legal { gap: 16px; margin-top: 7px; padding: 17px 0; }
  .public-home .site-footer .footer-legal nav { gap: 10px 14px; }
  .public-home .site-footer .footer-legal p, .public-home .site-footer .footer-self-employed { max-width: 100%; font-size: 9px; line-height: 1.55; text-align: left; }
  .public-home .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }

  .public-home .info-bar { bottom: 12px; width: calc(100% - 24px); max-width: none; padding: 10px 11px; font-size: 10px; }
}

/* Inner public pages use the same safe gutters and never force content wider than the viewport. */
@media (max-width: 560px) {
  .client-page { min-width: 0; overflow-x: hidden; }
  .client-page .container { width: calc(100% - 30px); }
  .client-page .site-header { min-height: 68px; gap: 8px; }
  .client-page .site-header .brand-mark { width: 36px; height: 36px; flex-basis: 36px; }
  .client-page .site-header .brand-name { max-width: 125px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
  .client-page .header-actions { min-width: 0; }
  .client-page .partners-back { max-width: 110px; min-height: 38px; padding: 0 9px; font-size: 9px; white-space: nowrap; }
  .client-page .partners-shell, .client-page .legal-page, .client-page .page-view, .client-page .account-page { padding-top: 48px; padding-bottom: 54px; }
  .partners-page-heading h1, .legal-head h1, .cms-page-body .page-view h1 { max-width: 100%; font-size: clamp(35px, 11vw, 55px); line-height: .96; overflow-wrap: anywhere; }
  .partners-page-heading > p:last-child, .legal-head > p:last-child, .cms-page-body .hero-description { font-size: 11px; line-height: 1.65; }
  .partner-card { width: 100%; min-width: 0; }
  .legal-tabs { max-width: 100%; overflow-x: auto; }
  .legal-content, .page-content, .legal-document { max-width: 100%; overflow-wrap: anywhere; }
  .client-page .site-footer { grid-template-columns: 1fr; gap: 24px; padding: 34px 0 38px; }
  .client-page .footer-legal nav { gap: 10px 14px; }
  .client-page .footer-legal p, .client-page .footer-self-employed { font-size: 9px; line-height: 1.55; }
}

/* Mobile storefront composition: a deliberate phone layout, not a squeezed desktop grid. */
@media (max-width: 600px) {
  .public-home { background: var(--theme-base, #070d1b); }
  .public-home .container { width: calc(100% - 32px); max-width: none; }
  .public-home .site-header { width: calc(100% - 32px); min-height: 64px; padding: 7px 0; background: rgba(var(--theme-base-rgb, 7, 13, 27), .96); }
  .public-home .brand-name { font-size: 12px; letter-spacing: -.02em; }
  .public-home .profile-button { min-width: 68px; height: 36px; min-height: 36px; border-radius: 10px; }
  .public-home .menu-toggle { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; }
  .public-home .main-nav { top: calc(100% + 7px) !important; padding: 5px !important; border-radius: 13px !important; box-shadow: 0 18px 40px rgba(0,0,0,.42) !important; }

  .public-home .hero { padding: 31px 0 28px; gap: 14px; }
  .public-home .hero .eyebrow { margin-bottom: 15px; font-size: 8px; }
  .public-home .hero h1 { margin-bottom: 15px; font-size: clamp(34px, 11vw, 48px); line-height: .99; }
  .public-home .hero-description { font-size: 11px; line-height: 1.62; }
  .public-home .hero-actions { margin: 19px 0 12px; }
  .public-home .hero-actions .button { min-height: 46px; font-size: 10px; }
  .public-home .hero-scene.image-scene { min-height: 260px; }
  .public-home .hero-character-stage { width: 105%; height: 105%; right: -5%; }
  .public-home .hero-person { height: 98%; right: 0; }
  .public-home .hero-portal { width: 63%; height: 80%; right: 13%; }
  .public-home .hero-proof { display: none; }

  .public-home .section { padding: 46px 0; }
  .public-home .section-heading, .public-home .section-topline { margin-bottom: 27px; }
  .public-home .section-heading h2, .public-home .section-topline h2 { font-size: clamp(28px, 9vw, 39px); letter-spacing: -.065em; }
  .public-home .section-heading > p:last-child { font-size: 10px; }

  .public-home .feature-card { min-height: 250px; padding: 19px; border-radius: 18px; }
  .public-home .feature-card > div:not(.feature-icon), .public-home .feature-card .feature-copy { width: 63%; max-width: 63%; padding-top: 22px; }
  .public-home .feature-card .feature-copy { margin: -8px -7px -8px !important; padding-left: 7px; padding-right: 7px; }
  .public-home .feature-card h3 { font-size: 20px; letter-spacing: -.055em; }
  .public-home .feature-card p { font-size: 9px; line-height: 1.5; }
  .public-home .feature-card .feature-character { right: -20px; height: 96%; }
  .public-home .feature-card .character-mage { right: -16px; height: 99%; }
  .public-home .feature-card .character-warrior, .public-home .feature-card .character-engineer { right: -23px; height: 102%; }

  .public-home .mode-switcher-block { border-radius: 18px; padding: 11px; }
  .public-home .mode-switcher-heading { display: block; }
  .public-home .mode-switcher-heading h3 { margin-bottom: 11px; font-size: 16px; }
  .public-home .mode-switcher { width: 100%; margin: 0; }
  .public-home .mode-switch { min-width: 126px; min-height: 35px; font-size: 9px; }
  .public-home .mode-card, .public-home .mode-card-featured { min-height: 245px; border-radius: 18px; }
  .public-home .mode-content, .public-home .mode-card:nth-child(n+5) .mode-content { padding: 18px; }
  .public-home .mode-content h3, .public-home .mode-card:nth-child(n+5) .mode-content h3 { font-size: clamp(25px, 8vw, 34px); }

  .public-home .store-section { padding: 30px 11px 38px; }
  .public-home .store-toolbar { gap: 12px; margin-bottom: 17px; }
  .public-home .store-search span { font-size: 8px; }
  .public-home .store-search input { height: 38px; font-size: 10px; }
  .public-home .product-card { border-radius: 16px; }
  .public-home .product-art, .public-home .product-card:nth-child(-n+2) .product-art { height: 142px; }
  .public-home .product-info h3 { font-size: 15px; }
  .public-home .product-card-foot .product-buy { min-height: 42px; font-size: 10px; }

  .public-home .about-visual { min-height: 230px; }
  .public-home .world-banner { min-height: 258px; padding: 20px; }
  .public-home .world-banner h2 { max-width: 72%; font-size: clamp(29px, 9vw, 40px); }
  .public-home .banner-rings { width: 225px; height: 225px; right: -120px; top: 18px; }
  .public-home .news-card { min-height: 205px; padding: 18px; }
  .public-home .news-card h3 { font-size: 18px; }
}

@media (max-width: 370px) {
  .public-home .container, .public-home .site-header { width: calc(100% - 24px); }
  .public-home .brand-name { max-width: 92px; }
  .public-home .profile-button { min-width: 63px; padding: 0 7px; font-size: 9px; }
  .public-home .header-actions { gap: 4px; }
  .public-home .feature-card > div:not(.feature-icon), .public-home .feature-card .feature-copy { width: 65%; max-width: 65%; }
  .public-home .feature-card { min-height: 238px; }
}

/* Hero artwork on phones: preserve the character silhouette instead of cropping its source canvas. */
@media (max-width: 600px) {
  .public-home .hero-scene.image-scene {
    min-height: 278px;
    isolation: isolate;
  }
  .public-home .hero-character-stage {
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    transform: none;
    overflow: visible;
  }
  .public-home .hero-character-stage::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(var(--theme-base-rgb, 7, 13, 27), .12), transparent 42%, rgba(var(--theme-base-rgb, 7, 13, 27), .06));
  }
  .public-home .hero-portal {
    width: 59%;
    height: 79%;
    top: 45%;
    right: 17%;
    z-index: 1;
  }
  .public-home .hero-person {
    width: 128%;
    height: auto;
    max-width: none;
    top: auto;
    right: -12%;
    bottom: -3%;
    z-index: 3;
    transform: none;
    animation: hero-person-mobile-float 5.5s ease-in-out infinite;
    filter: drop-shadow(0 24px 20px rgba(var(--theme-deep-rgb, 1, 5, 14), .64)) drop-shadow(0 0 24px rgba(var(--theme-accent-rgb, 78, 143, 232), .28));
  }
  .public-home .hero-person-glow {
    width: 42%;
    height: 17%;
    right: 25%;
    bottom: 3%;
    z-index: 2;
  }
  @keyframes hero-person-mobile-float {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-.4deg); }
    50% { transform: translate3d(0, -7px, 0) rotate(.4deg); }
  }
}

@media (max-width: 370px) {
  .public-home .hero-scene.image-scene { min-height: 248px; }
  .public-home .hero-person { width: 134%; right: -15%; }
  .public-home .hero-portal { right: 16%; }
}

/* Final art balance on phones: hero stays expressive, feature art becomes a side accent. */
@media (max-width: 600px) {
  .public-home main { padding-bottom: 72px; }
  .public-home .hero-scene.image-scene { min-height: 238px; margin-top: 2px; }
  .public-home .hero-character-stage { width: 100%; height: 100%; }
  .public-home .hero-person { width: 116%; right: -7%; bottom: -2%; }
  .public-home .hero-portal { width: 57%; height: 76%; right: 19%; opacity: .82; }
  .public-home .hero-person-glow { width: 36%; right: 29%; opacity: .72; }

  .public-home .feature-card { min-height: 264px; }
  .public-home .feature-card > div:not(.feature-icon),
  .public-home .feature-card .feature-copy { width: 54%; max-width: 54%; }
  .public-home .feature-card .feature-copy { padding-top: 17px; }
  .public-home .feature-card h3 { font-size: 19px; }
  .public-home .feature-card p { font-size: 9px; }
  .public-home .feature-card .feature-character,
  .public-home .feature-card .character-mage,
  .public-home .feature-card .character-warrior,
  .public-home .feature-card .character-engineer {
    width: auto;
    height: 82%;
    right: -92px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    opacity: .92;
  }
  .public-home .feature-card .character-mage { height: 85%; right: -86px; }
  .public-home .feature-card .character-warrior,
  .public-home .feature-card .character-engineer { height: 88%; right: -98px; }
  .public-home .feature-card:hover .feature-character,
  .public-home .feature-card-large:hover .feature-character { transform: translateY(-50%); }

  .public-home .info-bar { bottom: 10px; min-height: 0; padding: 8px 10px; border-radius: 14px; }
  .public-home #info-bar-text { line-height: 1.35; }
}

@media (max-width: 370px) {
  .public-home .hero-scene.image-scene { min-height: 220px; }
  .public-home .hero-person { width: 121%; right: -10%; }
  .public-home .feature-card { min-height: 250px; }
  .public-home .feature-card > div:not(.feature-icon),
  .public-home .feature-card .feature-copy { width: 56%; max-width: 56%; }
}

/* Hero character: a composed focal scene with depth, not a loose image at the edge. */
.public-home .hero-scene.image-scene {
  isolation: isolate;
  background:
    radial-gradient(ellipse at 63% 45%, rgba(var(--theme-accent-rgb, 66, 131, 224), .2), transparent 30%),
    radial-gradient(ellipse at 58% 100%, rgba(var(--theme-accent-rgb, 51, 128, 232), .16), transparent 45%),
    transparent;
}
.public-home .hero-scene.image-scene::after {
  content: '';
  position: absolute;
  left: 39%;
  right: 5%;
  bottom: 2%;
  z-index: 0;
  height: 17%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(var(--theme-accent-rgb, 75, 157, 255), .34), rgba(var(--theme-accent-rgb, 75, 157, 255), .1) 38%, transparent 72%);
  filter: blur(18px);
  pointer-events: none;
}
.public-home .hero-character-stage { z-index: 1; }
.public-home .hero-person { z-index: 4; }
.public-home .hero-portal { z-index: 2; }
.public-home .hero-person-glow { z-index: 3; }

@media (max-width: 600px) {
  .public-home .hero-scene.image-scene {
    min-height: 286px;
    margin-top: 4px;
    background:
      radial-gradient(ellipse at 67% 46%, rgba(var(--theme-accent-rgb, 66, 131, 224), .23), transparent 33%),
      radial-gradient(ellipse at 55% 100%, rgba(var(--theme-accent-rgb, 51, 128, 232), .2), transparent 48%),
      transparent;
  }
  .public-home .hero-scene.image-scene::after {
    left: 25%;
    right: 8%;
    bottom: 1%;
    height: 18%;
  }
  .public-home .hero-character-stage { width: 100%; height: 100%; right: 0; }
  .public-home .hero-portal {
    width: 58%;
    height: 78%;
    top: 43%;
    right: 17%;
    border-color: rgba(var(--theme-pale-rgb, 177, 223, 255), .64);
    box-shadow: 0 0 0 10px rgba(var(--theme-accent-rgb, 117, 200, 255), .06), 0 0 0 26px rgba(var(--theme-accent-rgb, 117, 200, 255), .025), inset 0 0 34px rgba(var(--theme-accent-rgb, 117, 200, 255), .14), 0 0 52px rgba(var(--theme-accent-rgb, 117, 200, 255), .26);
  }
  .public-home .hero-person {
    width: 119%;
    right: -9%;
    bottom: -4%;
    filter: drop-shadow(0 25px 22px rgba(var(--theme-deep-rgb, 1, 5, 14), .68)) drop-shadow(0 0 28px rgba(var(--theme-accent-rgb, 78, 143, 232), .32));
  }
  .public-home .hero-person-glow { width: 38%; right: 26%; bottom: 2%; opacity: .82; }
}

@media (max-width: 370px) {
  .public-home .hero-scene.image-scene { min-height: 262px; }
  .public-home .hero-person { width: 124%; right: -12%; }
}

/* Keep the source canvas centered: the artwork already contains the correct silhouette spacing. */
.public-home .hero-scene.image-scene::before {
  background:
    radial-gradient(ellipse at 58% 45%, rgba(var(--theme-accent-rgb, 91, 157, 241), .18), transparent 34%),
    radial-gradient(ellipse at 58% 92%, rgba(var(--theme-accent-rgb, 63, 133, 235), .12), transparent 42%);
  opacity: 1;
}
@media (max-width: 600px) {
  .public-home .hero-scene.image-scene {
    min-height: 292px;
    background: transparent;
  }
  .public-home .hero-character-stage { width: 100%; height: 100%; }
  .public-home .hero-person {
    width: 100%;
    height: auto;
    right: 0;
    bottom: -4%;
    top: auto;
    transform: none;
    animation: hero-person-mobile-float 5.5s ease-in-out infinite;
  }
  .public-home .hero-portal {
    width: 59%;
    height: 80%;
    top: 42%;
    right: 21%;
    opacity: .72;
  }
  .public-home .hero-person-glow { width: 37%; right: 32%; bottom: 1%; }
}
@media (max-width: 370px) {
  .public-home .hero-scene.image-scene { min-height: 268px; }
  .public-home .hero-person { width: 104%; right: -2%; }
}

/* Use the whole hero frame so transparent padding in the 1280x720 artwork cannot push the character down. */
@media (max-width: 600px) {
  .public-home .hero-scene.image-scene {
    min-height: 248px;
    overflow: hidden;
    background: radial-gradient(ellipse at 58% 54%, rgba(var(--theme-strong-rgb, 58, 121, 214), .18), transparent 52%);
  }
  .public-home .hero-scene.image-scene::after { display: none; }
  .public-home .hero-character-stage {
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .public-home .hero-person {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 50% 50%;
    transform: none;
    animation: hero-person-mobile-float 5.5s ease-in-out infinite;
  }
  .public-home .hero-portal {
    width: 56%;
    height: 76%;
    top: 47%;
    right: 22%;
    opacity: .48;
  }
  .public-home .hero-person-glow { width: 38%; right: 31%; bottom: 2%; opacity: .7; }
}
@media (max-width: 370px) {
  .public-home .hero-scene.image-scene { min-height: 224px; }
}

/* Final hero positioning: centered full silhouette, with no clipping by the visual container. */
@media (max-width: 600px) {
  .public-home .hero-scene.image-scene {
    min-height: 260px;
    overflow: visible;
  }
  .public-home .hero-character-stage {
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
  }
  .public-home .hero-person {
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    width: auto;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center;
    transform: translate(-50%, -50%);
    animation: hero-person-centered-float 5.5s ease-in-out infinite;
  }
  .public-home .hero-portal {
    top: 50%;
    left: 50%;
    right: auto;
    width: 57%;
    height: 79%;
    transform: translate(-50%, -50%) rotate(17deg);
    opacity: .48;
  }
  .public-home .hero-person-glow { left: 50%; right: auto; width: 38%; bottom: 1%; transform: translateX(-50%); }
  @keyframes hero-person-centered-float {
    0%, 100% { transform: translate(-50%, -50%) rotate(-.35deg); }
    50% { transform: translate(-50%, calc(-50% - 7px)) rotate(.35deg); }
  }
}
@media (max-width: 370px) {
  .public-home .hero-scene.image-scene { min-height: 238px; }
  .public-home .hero-person { height: 98%; }
}

@media (max-width: 600px) {
  .public-home .hero-scene.image-scene {
    background: transparent !important;
    box-shadow: none !important;
  }
  .public-home .hero-scene.image-scene::before,
  .public-home .hero-scene.image-scene::after,
  .public-home .hero-character-stage::before {
    display: none !important;
    background: none !important;
  }
  .public-home .hero-person,
  .public-home .hero-portal { left: 25%; }
  .public-home .hero-person-glow { left: 25%; }
}

/* Store mobile cleanup: labels wrap inside their own blocks and product art stays visible. */
@media (max-width: 600px) {
  .public-home .store-toolbar,
  .public-home .mode-switcher-block { min-width: 0; }
  .public-home .mode-switcher-block { display: block; }
  .public-home .mode-switcher-heading { width: 100%; min-width: 0; margin: 0 0 12px; padding: 0; }
  .public-home .mode-switcher-heading strong,
  .public-home .mode-switcher-heading small { white-space: normal; overflow-wrap: anywhere; }
  .public-home .mode-switcher { width: 100%; min-width: 0; overflow-x: auto; }
  .public-home .mode-switch { min-width: 128px; max-width: 180px; }
  .public-home .mode-switch b,
  .public-home .mode-switch small { white-space: normal; overflow-wrap: anywhere; }
  .public-home .store-tabs { width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; }
  .public-home .tab { flex: 0 0 auto; white-space: nowrap; }
  .public-home .product-art { isolation: isolate; }
  .public-home .product-avatar {
    position: relative;
    z-index: 3;
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    padding: 10px;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    visibility: visible;
  }
  .public-home .product-art-shine { z-index: 1; pointer-events: none; }
  .public-home .product-art-kicker {
    top: auto;
    right: 12px;
    bottom: 10px;
    z-index: 4;
    max-width: calc(100% - 24px);
    overflow-wrap: anywhere;
    white-space: normal;
    text-align: right;
    line-height: 1.35;
  }
}

/* Mobile header bounds: logo, login and menu must stay inside one navigation capsule. */
@media (max-width: 600px) {
  .public-home .site-header {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px);
    min-width: 0;
    padding: 7px 9px;
    box-sizing: border-box;
    overflow: visible;
  }
  .public-home .brand {
    min-width: 0;
    max-width: calc(100% - 119px);
    flex: 1 1 auto;
    overflow: hidden;
  }
  .public-home .brand-mark,
  .public-home .site-header .brand-mark {
    width: 34px;
    height: 34px;
    min-width: 34px;
    flex: 0 0 34px;
  }
  .public-home .brand-name {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
  }
  .public-home .header-actions {
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
    gap: 5px;
  }
  .public-home .profile-button {
    width: 66px;
    min-width: 66px;
    max-width: 66px;
    height: 36px;
    min-height: 36px;
    padding: 0 7px;
    overflow: hidden;
    white-space: nowrap;
  }
  .public-home .menu-toggle {
    width: 35px;
    min-width: 35px;
    max-width: 35px;
    height: 35px;
    flex: 0 0 35px;
  }
  .public-home .main-nav {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
}
@media (max-width: 370px) {
  .public-home .site-header { width: calc(100% - 16px) !important; max-width: calc(100% - 16px); padding-inline: 7px; }
  .public-home .brand { max-width: calc(100% - 108px); }
  .public-home .brand-mark,
  .public-home .site-header .brand-mark { width: 31px; height: 31px; min-width: 31px; flex-basis: 31px; }
  .public-home .profile-button { width: 61px; min-width: 61px; max-width: 61px; padding-inline: 5px; font-size: 9px; }
  .public-home .menu-toggle { width: 33px; min-width: 33px; max-width: 33px; height: 33px; flex-basis: 33px; }
}

/* Desktop header: give the links room and keep the glass treatment on one surface. */
@media (min-width: 1101px) {
  .public-home .site-header { gap: 18px; }
  .public-home .site-header .brand { flex: 0 0 auto; gap: 9px; min-width: 0; }
  .public-home .site-header .brand-mark { width: 44px; height: 44px; flex-basis: 44px; }
  .public-home .site-header .brand-name { max-width: 180px; overflow: hidden; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
  .public-home .site-header .main-nav {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
    gap: 2px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .public-home .site-header .main-nav::before { display: none; }
  .public-home .site-header .main-nav a { min-width: 0; padding-inline: 10px; color: var(--theme-muted, #a4b0c6); font-size: 11.5px; white-space: nowrap; }
  .public-home .site-header .main-nav a:hover { color: #eef3ff; }
  .public-home .site-header .header-actions { flex: 0 0 auto; gap: 8px; }
  .public-home .site-header .server-status { gap: 7px; font-size: 10px; }
  .public-home .site-header .profile-button { min-height: 39px; padding-inline: 12px; font-size: 10px; }
  .public-home .news-nav-link { gap: 4px; }
  .public-home .news-nav-badge { width: 5px; height: 5px; margin-left: 1px; padding: 0; border: 0; border-radius: 50%; background: #72e4bb; box-shadow: 0 0 7px rgba(114,228,187,.55); font-size: 0; }
}

/* Product artwork: never apply a rectangular shadow to the uploaded avatar. */
.public-home .product-art {
  isolation: isolate;
  overflow: hidden;
}
.public-home .product-art::before,
.public-home .product-art::after { z-index: 0; pointer-events: none; }
.public-home .product-art::after {
  background: radial-gradient(ellipse, rgba(var(--theme-accent-rgb, 115, 178, 255), .2), transparent 70%);
  border: 0;
  filter: blur(18px);
  transform: none;
}
.public-home .product-avatar {
  position: relative;
  z-index: 3;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 12px;
  border-radius: 0;
  filter: none !important;
  box-shadow: none !important;
  opacity: 1;
  visibility: visible;
}
.public-home .product-art-shine { z-index: 2; pointer-events: none; }
.public-home .product-card:hover .product-avatar { transform: translateY(-3px) scale(1.035); }
.public-home .purchase-product-art img {
  position: relative;
  z-index: 3;
  filter: none !important;
  box-shadow: none !important;
  object-fit: contain;
}

@media (min-width: 761px) {
  .public-home .product-art > .product-avatar {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    max-width: min(58%, 280px);
    max-height: 54%;
    padding: 0;
    transform: translate(-50%, -50%);
  }
  .public-home .product-card:hover .product-art > .product-avatar {
    transform: translate(-50%, -50%) scale(1.035);
  }
}

/* Logo glow: one restrained halo, without stacked square shadows or image filters. */
.public-home .site-header .brand-mark,
.public-home .footer-brand .brand-mark {
  position: relative;
  z-index: 0;
  overflow: visible !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.public-home .site-header .brand-mark::before,
.public-home .footer-brand .brand-mark::before {
  content: '';
  position: absolute;
  inset: 20%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--theme-accent-rgb, 110, 170, 255), .62) 0, rgba(var(--theme-accent-rgb, 110, 170, 255), .28) 34%, transparent 74%);
  filter: blur(10px);
  opacity: .9;
  pointer-events: none;
}
.public-home .site-header .brand-mark img,
.public-home .footer-brand .brand-mark img {
  position: relative;
  z-index: 1;
  filter: none !important;
  mix-blend-mode: multiply;
  box-shadow: none !important;
}
/* Launcher picker: focused start flow for the hero CTA. */
.launcher-backdrop { z-index:60; }
.start-game-modal { width:min(100%,760px); max-height:min(820px,calc(100dvh - 32px)); overflow:auto; position:relative; padding:38px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .2); border-radius:26px; background:linear-gradient(145deg,var(--theme-base, #101f37),var(--theme-base, #080f1e)); box-shadow:0 36px 110px rgba(var(--theme-deep-rgb, 1, 5, 14), .7),inset 0 1px rgba(255,255,255,.06); transform:translateY(18px) scale(.98); transition:transform .28s cubic-bezier(.2,.8,.2,1); }
.open .start-game-modal { transform:translateY(0) scale(1); }
.start-game-modal::before { content:''; width:230px; height:230px; position:absolute; top:-120px; right:-80px; border-radius:50%; background:rgba(var(--theme-accent-rgb, 104, 157, 255), .2); filter:blur(60px); pointer-events:none; }
.launcher-modal-kicker { display:flex; align-items:center; gap:9px; color:var(--theme-pale, #9fbeff); font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.launcher-kicker-line { width:30px; height:1px; background:var(--theme-accent, #78a9ff); box-shadow:0 0 14px rgba(var(--theme-accent-rgb, 120, 169, 255), .8); }
.start-game-modal h2 { position:relative; max-width:560px; margin:18px 0 9px; color:#eef4ff; font-size:clamp(28px,4vw,46px); line-height:1.02; letter-spacing:-.07em; }
.launcher-modal-lead { max-width:520px; margin:0; color:var(--theme-muted, #8e9fba); font-size:12px; line-height:1.7; }
.launcher-proxy-brand { display:inline-flex; align-items:center; gap:10px; margin-top:21px; padding:7px 10px 7px 7px; border:1px solid rgba(255,132,190,.2); border-radius:13px; color:#eaf1ff; background:linear-gradient(105deg,rgba(255,98,170,.12),rgba(var(--theme-accent-rgb, 120, 169, 255), .06)); box-shadow:0 10px 25px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.06); font-size:11px; font-weight:700; text-decoration:none; transition:border-color .2s ease,transform .2s ease,background .2s ease; }
.launcher-proxy-brand:hover { border-color:rgba(255,145,201,.55); background:linear-gradient(105deg,rgba(255,98,170,.18),rgba(var(--theme-accent-rgb, 120, 169, 255), .1)); transform:translateY(-2px); }
.launcher-proxy-logo { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:rgba(var(--theme-deep-rgb, 5, 10, 22), .5); }
.launcher-proxy-brand img.logo-icon { width:32px; height:32px; object-fit:contain; border-radius:9px; filter:drop-shadow(0 0 13px rgba(255,109,174,.42)); }
.launcher-proxy-copy { display:flex; flex-direction:column; gap:3px; }
.launcher-proxy-copy strong { color:#f6f3ff; font-size:10px; letter-spacing:-.02em; }
.launcher-proxy-copy small { color:#e1a2c5; font-size:7px; font-weight:600; letter-spacing:.02em; }
.launcher-proxy-arrow { width:13px; height:13px; margin-left:5px; opacity:.72; }
.launcher-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:28px; }
.launcher-option { min-width:0; position:relative; padding:20px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .15); border-radius:18px; background:var(--theme-base, #0b172a); box-shadow:inset 0 1px rgba(255,255,255,.035); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.launcher-option:hover { transform:translateY(-3px); border-color:rgba(var(--theme-accent-rgb, 143, 181, 255), .42); box-shadow:0 18px 35px rgba(var(--theme-deep-rgb, 1, 5, 14), .25),inset 0 1px rgba(255,255,255,.06); }
.launcher-option-pirate { background:linear-gradient(145deg,rgba(var(--theme-panel-rgb, 24, 43, 74), .9),var(--theme-base, #0b172a) 70%); }
.launcher-option-head { display:flex; align-items:center; gap:12px; min-width:0; }
.launcher-option-icon { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .18); border-radius:13px; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .1); box-shadow:0 0 25px rgba(var(--theme-accent-rgb, 85, 130, 210), .14); }
.launcher-option-icon img { width:19px; height:19px; filter:brightness(0) saturate(100%) invert(78%) sepia(32%) saturate(970%) hue-rotate(185deg) brightness(102%); }
.launcher-option-licensed .launcher-option-icon img { filter:none; object-fit:contain; }
.launcher-option-pirate .launcher-option-icon img { filter:none; object-fit:contain; }
.launcher-label { display:block; margin-bottom:4px; color:var(--theme-muted, #7f91ad); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.launcher-option h3 { margin:0; overflow-wrap:anywhere; color:#eaf1ff; font-size:16px; letter-spacing:-.04em; }
.launcher-option>p { min-height:52px; margin:17px 0 12px; color:var(--theme-muted, #95a6c0); font-size:10px; line-height:1.7; }
.launcher-release { min-height:30px; display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:14px; color:var(--theme-muted, #8093b1); font-size:9px; }
.launcher-release strong { color:#dce8ff; font-size:10px; }
.launcher-release>span { color:var(--theme-muted, #657895); }
.launcher-download { width:100%; min-height:42px; justify-content:center; }
.launcher-platform-list { width:100%; display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.launcher-platform-link { padding:6px 8px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .15); border-radius:8px; color:var(--theme-pale, #9fbeff); background:rgba(var(--theme-accent-rgb, 120, 169, 255), .06); font-size:8px; text-decoration:none; transition:background .16s ease,border-color .16s ease; }
.launcher-platform-link:hover { border-color:rgba(var(--theme-accent-rgb, 143, 181, 255), .45); background:rgba(var(--theme-accent-rgb, 120, 169, 255), .14); }
.launcher-downloads-label { flex-basis:100%; margin-top:2px; color:var(--theme-pale, #9fbeff) !important; font-size:8px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.launcher-select { width:100%; min-height:42px; justify-content:center; }
.launcher-option.is-selected { border-color:rgba(var(--theme-accent-rgb, 143, 181, 255), .55); box-shadow:0 18px 35px rgba(var(--theme-deep-rgb, 1, 5, 14), .25),0 0 0 3px rgba(var(--theme-accent-rgb, 120, 169, 255), .08),inset 0 1px rgba(255,255,255,.06); }
.launcher-downloads-panel { margin-top:14px; padding-top:14px; border-top:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12); }
.launcher-downloads-title { display:block; margin-bottom:9px; color:var(--theme-pale, #9fbeff); font-size:9px; font-weight:700; }
.launcher-downloads-panel .launcher-platform-list { margin:0 0 12px; }
.launcher-platform-link { border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .15); cursor:pointer; font:inherit; }
.launcher-platform-link.is-detected { border-color:rgba(var(--theme-accent-rgb, 120, 169, 255), .65); box-shadow:0 0 0 2px rgba(var(--theme-accent-rgb, 120, 169, 255), .1); }
.launcher-platform-link.is-selected { color:#eaf1ff; border-color:var(--theme-accent, #78a9ff); background:rgba(var(--theme-accent-rgb, 120, 169, 255), .2); }
.launcher-connect-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:16px; padding:17px 18px; border:1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .2); border-radius:16px; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .07); }
.launcher-section-label { display:block; margin-bottom:8px; color:var(--theme-muted, #7f91ad); font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.launcher-connect-card h3 { margin:0 0 5px; color:#eaf1ff; font-size:13px; }
.launcher-connect-card p { margin:0; color:var(--theme-muted, #8e9fba); font-size:9px; line-height:1.6; }
.launcher-server-address { display:flex; align-items:center; gap:9px; flex:0 0 auto; }
.launcher-server-address code { display:block; max-width:250px; overflow:hidden; padding:11px 12px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .18); border-radius:10px; color:#dce8ff; background:var(--theme-base, #080f1e); font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }
.launcher-server-address button { min-height:38px; padding:9px 11px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .24); border-radius:10px; color:var(--theme-pale, #bcd0f8); background:var(--theme-panel, #142642); font:600 9px/1.4 inherit; cursor:pointer; }
.launcher-server-address button:hover { border-color:var(--theme-accent, #78a9ff); background:var(--theme-panel, #1b3155); }
.launcher-address-note { display:block; margin-top:9px; color:var(--theme-muted, #647793); font-size:8px; line-height:1.5; }
.launcher-steps { margin-top:22px; }
.launcher-step-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.launcher-step-list article { display:flex; gap:10px; padding:12px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .1); border-radius:13px; background:rgba(255,255,255,.025); }
.launcher-step-list b { color:var(--theme-accent, #78a9ff); font:700 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }
.launcher-step-list strong,.launcher-step-list small { display:block; }
.launcher-step-list strong { color:#dce8ff; font-size:9px; }
.launcher-step-list small { margin-top:5px; color:var(--theme-muted, #7f91ad); font-size:8px; line-height:1.55; }
.launcher-modal-note { margin:20px 0 0; color:var(--theme-muted, #647793); font-size:9px; line-height:1.6; }
@media(max-width:650px) { .start-game-modal { padding:29px 20px 22px; border-radius:22px; }.launcher-options { grid-template-columns:1fr; margin-top:22px; }.launcher-option>p { min-height:0; }.start-game-modal h2 { font-size:32px; }.launcher-connect-card { align-items:stretch; flex-direction:column; }.launcher-server-address { width:100%; }.launcher-server-address code { flex:1; max-width:none; }.launcher-step-list { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .start-game-modal,.launcher-option { transition:none; } }

/* Compact launcher launch-screen: artwork carries the atmosphere, controls stay above the fold. */
.start-game-modal { width:min(1080px,100%); height:min(760px,calc(100dvh - 34px)); max-height:none; overflow:hidden; padding:0; border-color:rgba(var(--theme-accent-rgb, 144, 185, 255), .28); background:radial-gradient(circle at 86% 52%,rgba(var(--theme-strong-rgb, 44, 105, 215), .24),transparent 33%),linear-gradient(125deg,var(--theme-base, #0a1428) 0%,var(--theme-base, #0d1d38) 58%,var(--theme-panel, #132b51) 100%); }
.start-game-modal > .modal-close { z-index:5; }
.start-game-modal::after { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(var(--theme-deep-rgb, 6, 13, 27), .98) 0%,rgba(var(--theme-base-rgb, 7, 16, 32), .94) 45%,rgba(var(--theme-base-rgb, 7, 16, 32), .22) 82%,rgba(var(--theme-base-rgb, 7, 16, 32), .05)); }
.launcher-content { position:relative; z-index:3; width:61%; height:100%; box-sizing:border-box; padding:42px 42px 30px; }
.launcher-visual { position:absolute; inset:0 0 0 auto; z-index:1; width:55%; overflow:hidden; pointer-events:none; }
.launcher-visual-core { position:absolute; width:370px; height:370px; top:50%; left:48%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(var(--theme-accent-rgb, 128, 194, 255), .42) 0,rgba(var(--theme-accent-rgb, 55, 125, 229), .15) 31%,transparent 68%); filter:blur(5px); box-shadow:0 0 100px rgba(var(--theme-accent-rgb, 78, 152, 255), .3); }
.launcher-visual-orbit { position:absolute; left:50%; top:50%; width:520px; height:180px; border:1px solid rgba(var(--theme-pale-rgb, 163, 207, 255), .34); border-radius:50%; transform:translate(-50%,-50%) rotate(-25deg); box-shadow:0 0 28px rgba(var(--theme-accent-rgb, 90, 166, 255), .12); animation:launcher-orbit 12s linear infinite; }
.launcher-visual-orbit-b { width:430px; height:270px; transform:translate(-50%,-50%) rotate(52deg); opacity:.62; animation-duration:17s; animation-direction:reverse; }
.launcher-visual-orbit::after { content:''; position:absolute; width:8px; height:8px; top:10%; left:13%; border-radius:50%; background:#d4efff; box-shadow:0 0 16px 5px rgba(var(--theme-pale-rgb, 150, 217, 255), .75); }
.launcher-visual-orbit-b::after { top:auto; left:auto; right:9%; bottom:14%; width:5px; height:5px; }
.launcher-visual img { position:absolute; z-index:2; left:50%; bottom:-8%; width:min(560px,115%); height:95%; object-fit:contain; object-position:center bottom; transform:translateX(-50%); filter:drop-shadow(0 25px 24px rgba(0,0,0,.6)) drop-shadow(0 0 30px rgba(var(--theme-accent-rgb, 100, 178, 255), .32)); animation:launcher-character-float 5.5s ease-in-out infinite; }
@keyframes launcher-character-float { 0%,100% { transform:translate(-50%,0) rotate(-1deg); } 50% { transform:translate(-50%,-10px) rotate(1deg); } }
@keyframes launcher-orbit { to { transform:translate(-50%,-50%) rotate(335deg); } }
.launcher-content .launcher-modal-kicker { margin-bottom:15px; }
.launcher-content h2 { max-width:580px; margin:0 0 8px; font-size:clamp(30px,3.7vw,50px); }
.launcher-content .launcher-modal-lead { max-width:500px; font-size:10px; line-height:1.55; }
.launcher-proxy-brand { margin-top:14px; }
.launcher-proxy-logo,.launcher-proxy-brand img.logo-icon { width:29px; height:29px; }
.launcher-options { gap:10px; margin-top:19px; }
.launcher-option { padding:15px; border-radius:15px; background:rgba(var(--theme-base-rgb, 7, 18, 36), .72); backdrop-filter:blur(5px); }
.launcher-option:hover { transform:none; }
.launcher-option-head { gap:9px; }
.launcher-option-icon { width:32px; height:32px; flex-basis:32px; border-radius:10px; }
.launcher-option h3 { font-size:13px; }
.launcher-option>p { min-height:35px; margin:10px 0 9px; font-size:8px; line-height:1.5; }
.launcher-release { min-height:18px; margin-bottom:9px; font-size:8px; }
.launcher-release strong { font-size:9px; }
.launcher-select,.launcher-download { min-height:35px; font-size:9px; }
.launcher-downloads-panel { margin-top:10px; padding-top:10px; }
.launcher-downloads-title { margin-bottom:7px; font-size:8px; }
.launcher-platform-list { gap:4px; margin-bottom:8px; }
.launcher-platform-link { padding:5px 6px; font-size:7px; }
.launcher-connect-card { gap:12px; margin-top:11px; padding:11px 13px; border-radius:12px; background:rgba(var(--theme-accent-rgb, 113, 169, 255), .09); }
.launcher-section-label { margin-bottom:4px; font-size:7px; }
.launcher-connect-card h3 { margin-bottom:3px; font-size:10px; }
.launcher-connect-card p { font-size:7px; line-height:1.4; }
.launcher-server-address { gap:5px; }
.launcher-server-address code { max-width:135px; padding:8px 9px; font-size:8px; }
.launcher-server-address button { min-height:30px; padding:6px 8px; font-size:7px; }
.launcher-steps { margin-top:12px; }
.launcher-step-list { gap:5px; }
.launcher-step-list article { gap:6px; padding:8px; border-radius:9px; }
.launcher-step-list b { font-size:8px; }
.launcher-step-list strong { font-size:7px; }
.launcher-step-list small { margin-top:3px; font-size:6px; line-height:1.35; }
.launcher-modal-note { margin-top:9px; font-size:7px; }
@media(max-width:760px) {
  .start-game-modal { height:min(760px,calc(100dvh - 18px)); }
  .launcher-content { width:100%; padding:28px 20px 20px; }
  .launcher-visual { width:100%; opacity:.28; }
  .launcher-visual img { width:72%; right:-10%; left:auto; transform:none; }
  .launcher-visual-core { left:72%; }
  .launcher-options { grid-template-columns:1fr 1fr; }
  .launcher-option>p { min-height:0; }
  .launcher-connect-card { position:relative; }
}
@media(prefers-reduced-motion:reduce) {
  .launcher-content > .launcher-connect-card::before,
  .launcher-content > .launcher-connect-card::after,
  .launcher-status-pulse,
  .launcher-content > .launcher-connect-card .launcher-copy-guide span { animation:none; }
}
@media(max-width:520px) {
  .start-game-modal { height:calc(100dvh - 12px); border-radius:20px; }
  .launcher-content { padding:27px 15px 14px; }
  .launcher-content h2 { max-width:300px; font-size:27px; }
  .launcher-content .launcher-modal-lead { max-width:280px; font-size:8px; }
  .launcher-proxy-brand { margin-top:10px; }
  .launcher-options { grid-template-columns:1fr; gap:7px; margin-top:12px; }
  .launcher-option { padding:11px; }
  .launcher-option>p { display:none; }
  .launcher-release { margin-bottom:6px; }
  .launcher-connect-card { align-items:center; }
  .launcher-step-list { grid-template-columns:repeat(3,1fr); }
  .launcher-step-list article { min-width:0; }
  .launcher-step-list small { display:none; }
}
@media(prefers-reduced-motion:reduce) { .launcher-visual img,.launcher-visual-orbit { animation:none; } }

/* Email delivery progress */
.mail-progress-backdrop { position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:20px; background:rgba(var(--theme-deep-rgb, 2, 8, 18), .58); backdrop-filter:blur(9px); opacity:1; transition:opacity .2s ease; }
.mail-progress-backdrop.is-done { opacity:0; pointer-events:none; }
.mail-progress-card { position:relative; width:min(100%,320px); padding:28px 26px 24px; overflow:hidden; border:1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .34); border-radius:20px; background:linear-gradient(145deg,var(--theme-panel, #132844),var(--theme-base, #091526)); box-shadow:0 25px 80px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.07); text-align:center; }
.mail-progress-card::before { content:''; position:absolute; width:180px; height:180px; top:-115px; left:50%; transform:translateX(-50%); border-radius:50%; background:rgba(var(--theme-accent-rgb, 100, 169, 255), .22); filter:blur(28px); }
.mail-progress-icon { position:relative; z-index:1; display:grid; place-items:center; width:54px; height:54px; margin:0 auto 16px; border:1px solid rgba(var(--theme-accent-rgb, 143, 190, 255), .45); border-radius:17px; color:#d9e8ff; background:var(--theme-panel, #1b365e); font-size:23px; box-shadow:0 0 25px rgba(var(--theme-accent-rgb, 85, 153, 255), .24); animation:mail-icon-float 1.8s ease-in-out infinite; }
.mail-progress-icon img { width:25px; height:25px; filter:brightness(0) invert(1); }
.mail-progress-card strong,.mail-progress-card>span { position:relative; z-index:1; display:block; }.mail-progress-card strong { color:#eef5ff; font-size:15px; }.mail-progress-card>span { margin-top:7px; color:var(--theme-muted, #93a9c6); font-size:10px; }
.mail-progress-track { position:relative; height:5px; margin-top:21px; overflow:hidden; border-radius:99px; background:rgba(var(--theme-accent-rgb, 157, 181, 224), .16); }.mail-progress-track i { position:absolute; inset:0 auto 0 -35%; width:42%; border-radius:inherit; background:linear-gradient(90deg,transparent,var(--theme-pale, #9bc3ff),#62e0be,transparent); box-shadow:0 0 18px rgba(var(--theme-accent-rgb, 123, 188, 255), .85); animation:mail-progress-sweep 1.25s ease-in-out infinite; }
@keyframes mail-progress-sweep { from { transform:translateX(0); } to { transform:translateX(320%); } } @keyframes mail-icon-float { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-5px) rotate(3deg); } }
@media(prefers-reduced-motion:reduce) { .mail-progress-icon,.mail-progress-track i { animation:none; } }

/* Final launcher readability pass: the character is the hero of the dialog, copy stays legible. */
.launcher-visual { width:60%; }
.launcher-visual img { width:auto; max-width:none !important; height:103%; left:25%; right:auto; bottom:-1%; transform:translateX(-50%); object-fit:contain; }
@keyframes launcher-character-float { 0%,100% { transform:translateX(-50%) translateY(0) rotate(-1deg); } 50% { transform:translateX(-50%) translateY(-8px) rotate(1deg); } }
.launcher-options { align-items:start; }
.launcher-option { height:max-content; align-self:start; }
.launcher-connect-card { position:absolute; left:42px; bottom:25px; width:calc(100% - 84px); box-sizing:border-box; margin-top:0; }
.launcher-connect-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.launcher-steps,.launcher-modal-note { display:none; }
.launcher-content .launcher-modal-lead { font-size:12px; line-height:1.65; }
.launcher-option h3 { font-size:16px; }
.launcher-option>p { min-height:40px; font-size:10px; line-height:1.6; }
.launcher-release { font-size:10px; }
.launcher-release strong { font-size:11px; }
.launcher-select,.launcher-download { min-height:40px; font-size:10px; }
.launcher-downloads-title { font-size:9px; }
.launcher-platform-link { padding:7px 8px; font-size:8px; }
.launcher-platform-group { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.launcher-platform-group + .launcher-platform-group { margin-top:5px; }
.launcher-platform-group-title { flex:0 0 42px; color:var(--theme-muted, #7f91ad); font-size:7px; font-weight:700; }
.launcher-copy-guide { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; grid-column:1 / -1; margin-top:12px; padding-top:11px; border-top:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .16); }
.launcher-copy-guide span { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; padding:7px 8px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12); border-radius:8px; background:rgba(255,255,255,.025); }
.launcher-copy-guide b { color:var(--theme-accent, #78a9ff); font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.launcher-copy-guide strong { color:#dce8ff; font-size:8px; line-height:1.35; }
.launcher-option.is-selected > p { display:none; }
.launcher-option.is-selected .launcher-platform-list { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:6px; }
.launcher-option.is-selected .launcher-platform-group { min-width:0; display:flex; flex-wrap:wrap; align-content:flex-start; gap:5px; margin:0; padding:7px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .11); border-radius:9px; background:rgba(255,255,255,.025); }
.launcher-option.is-selected .launcher-platform-group:last-child { grid-column:1 / -1; }
.launcher-option.is-selected .launcher-platform-group-title { flex:0 0 100%; margin:0 0 1px; color:var(--theme-accent, #91a9cf); font-size:7px; letter-spacing:.04em; }
.launcher-option.is-selected .launcher-platform-link { padding:6px 8px; font-size:7px; }
.launcher-options { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.launcher-option { height:100%; box-sizing:border-box; display:flex; flex-direction:column; }
.launcher-option .launcher-select { margin-top:auto; }
.launcher-downloads-dock { position:relative; z-index:4; margin-top:10px; }
.launcher-downloads-dock[hidden] { display:none !important; }
.launcher-downloads-dock .launcher-downloads-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 12px; margin:0; padding:10px 12px; border:1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .28); border-radius:13px; background:rgba(var(--theme-base-rgb, 8, 20, 40), .94); box-shadow:0 12px 30px rgba(0,0,0,.2); }
.launcher-downloads-dock .launcher-downloads-heading { grid-column:1 / -1; display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.launcher-downloads-dock .launcher-downloads-heading .launcher-section-label { margin:0; color:var(--theme-pale, #9fbeff); }
.launcher-downloads-dock .launcher-downloads-heading strong { color:#dce8ff; font-size:9px; }
.launcher-downloads-dock .launcher-platform-list { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:0; }
.launcher-downloads-dock .launcher-platform-group { display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin:0; padding:0; border:0; background:none; }
.launcher-downloads-dock .launcher-platform-group + .launcher-platform-group { margin-left:5px; }
.launcher-downloads-dock .launcher-platform-group-title { flex:0 0 auto; margin:0 2px 0 0; font-size:7px; }
.launcher-downloads-dock .launcher-platform-link { padding:5px 7px; font-size:7px; }
.launcher-downloads-dock .launcher-download { width:auto; min-width:145px; min-height:34px; }
.launcher-content > .launcher-connect-card { position:absolute; left:42px; bottom:25px; width:calc(100% - 84px); margin:0; padding:12px 13px 10px; overflow:hidden; border-color:rgba(var(--theme-accent-rgb, 120, 169, 255), .34); background:radial-gradient(circle at 8% 15%,rgba(var(--theme-accent-rgb, 101, 165, 255), .2),transparent 35%),linear-gradient(110deg,rgba(var(--theme-panel-rgb, 24, 53, 97), .94),rgba(var(--theme-base-rgb, 8, 19, 39), .96)); box-shadow:0 14px 35px rgba(0,0,0,.24),0 0 26px rgba(var(--theme-accent-rgb, 71, 137, 237), .1),inset 0 1px rgba(255,255,255,.1); }
.launcher-content > .launcher-connect-card::before { content:''; position:absolute; left:-20%; top:0; width:35%; height:2px; background:linear-gradient(90deg,transparent,var(--theme-pale, #a9d3ff),transparent); box-shadow:0 0 16px rgba(var(--theme-accent-rgb, 120, 169, 255), .95); animation:launcher-scanline 4.5s ease-in-out infinite; }
.launcher-content > .launcher-connect-card::after { content:''; position:absolute; inset:0; pointer-events:none; opacity:.18; background:repeating-linear-gradient(0deg,transparent 0 10px,rgba(var(--theme-pale-rgb, 172, 211, 255), .12) 11px,transparent 12px); animation:launcher-scan 7s linear infinite; }
@keyframes launcher-scanline { 0%,100% { left:-25%; } 50% { left:95%; } }
@keyframes launcher-scan { from { transform:translateY(0); } to { transform:translateY(12px); } }
.launcher-connect-copy,.launcher-server-address,.launcher-copy-guide { position:relative; z-index:1; }
.launcher-connect-copy .launcher-section-label { display:flex; align-items:center; gap:5px; }
.launcher-status-pulse { width:6px; height:6px; display:inline-block; border-radius:50%; background:#70e0b2; box-shadow:0 0 0 0 rgba(112,224,178,.6); animation:launcher-pulse 2s ease-out infinite; }
@keyframes launcher-pulse { 0% { box-shadow:0 0 0 0 rgba(112,224,178,.6); } 70% { box-shadow:0 0 0 7px rgba(112,224,178,0); } 100% { box-shadow:0 0 0 0 rgba(112,224,178,0); } }
.launcher-content > .launcher-connect-card .launcher-copy-guide { display:block; margin-top:9px; padding-top:9px; }
.launcher-guide-head { display:flex; align-items:center; gap:8px; margin-bottom:7px; color:var(--theme-accent, #91a9cf); font-size:7px; font-weight:700; letter-spacing:.08em; }
.launcher-guide-head > span { display:inline; min-width:0; padding:0; border:0; border-radius:0; background:none; }
.launcher-guide-title { color:var(--theme-pale, #9fbeff); text-transform:uppercase; }
.launcher-guide-counter { margin-left:auto; padding:4px 7px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .14); border-radius:6px; color:var(--theme-accent, #91a9cf); background:rgba(255,255,255,.035); font-size:7px; font-weight:600; letter-spacing:.02em; }
.launcher-guide-counter span { display:inline; padding:0; border:0; color:#eaf1ff; background:none; }
.launcher-guide-head b { color:#dce8ff; }
.launcher-guide-head button { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .28); border-radius:7px; color:#cfe0ff; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .1); font:700 7px/1 inherit; cursor:pointer; transition:background .2s ease,border-color .2s ease; }
.launcher-guide-head button:hover { border-color:var(--theme-accent, #78a9ff); background:rgba(var(--theme-accent-rgb, 120, 169, 255), .2); }
.launcher-guide-head .ui-icon { width:9px; height:9px; }
.launcher-guide-viewport { overflow:hidden; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .11); border-radius:8px; background:rgba(255,255,255,.025); }
.launcher-guide-track { display:flex; width:300%; transition:transform .36s cubic-bezier(.2,.8,.2,1); }
.launcher-guide-track article { width:33.333%; flex:0 0 33.333%; display:flex; align-items:center; gap:8px; box-sizing:border-box; padding:8px 9px; }
.launcher-guide-track article>b { color:var(--theme-accent, #78a9ff); font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.launcher-guide-track strong,.launcher-guide-track small { display:block; }
.launcher-guide-track strong { color:#dce8ff; font-size:8px; }
.launcher-guide-track small { margin-top:3px; color:var(--theme-muted, #8fa4c4); font-size:7px; line-height:1.35; }
.launcher-guide-dots { display:flex; justify-content:center; gap:4px; margin-top:6px; }
.launcher-guide-dots i { width:4px; height:4px; border-radius:50%; background:var(--theme-raised, #405574); transition:width .2s ease,background .2s ease; }
.launcher-guide-dots i.active { width:12px; border-radius:4px; background:var(--theme-accent, #78a9ff); }
@media(prefers-reduced-motion:reduce) { .launcher-guide-track,.launcher-guide-dots i { transition:none; } }
.launcher-downloads-dock .launcher-downloads-panel[hidden] { display:none !important; }
.launcher-connect-card h3 { font-size:12px; }
.launcher-connect-card p { font-size:9px; }
.launcher-server-address code { max-width:170px; font-size:10px; }
.launcher-server-address button { min-height:34px; font-size:8px; }
.launcher-address-prefix { color:var(--theme-muted, #6e87aa); font:700 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.12em; }
.launcher-server-address button { transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.launcher-server-address button:hover { box-shadow:0 0 18px rgba(var(--theme-accent-rgb, 120, 169, 255), .22); transform:translateY(-1px); }
.launcher-step-list strong { font-size:8px; }
.launcher-step-list small { font-size:7px; }
@media(max-width:760px) {
  .launcher-visual { width:100%; opacity:.36; }
  .launcher-visual img { width:auto; max-width:none !important; height:101%; right:auto; left:48%; bottom:0; transform:translateX(-50%); transform-origin:center bottom; }
  .launcher-content .launcher-modal-lead { font-size:10px; }
  .launcher-option h3 { font-size:14px; }
  .launcher-option>p { font-size:9px; }
  .launcher-connect-card { left:20px; bottom:18px; width:calc(100% - 40px); }
}
@media(max-width:520px) {
  .launcher-visual { opacity:.25; }
  .launcher-visual img { width:auto; max-width:none !important; height:98%; left:54%; right:auto; bottom:0; transform:translateX(-50%); }
  .launcher-option h3 { font-size:13px; }
  .launcher-option>p { font-size:8px; }
  .launcher-connect-card p { font-size:8px; }
}

@media(max-width:760px) {
  .launcher-content > .launcher-connect-card { left:20px; bottom:18px; width:calc(100% - 40px); }
  .launcher-downloads-dock .launcher-downloads-panel { grid-template-columns:1fr; }
  .launcher-downloads-dock .launcher-downloads-heading,.launcher-downloads-dock .launcher-platform-list { grid-column:1; }
  .launcher-downloads-dock .launcher-download { width:100%; min-width:0; }
}

/* Mobile launcher layout: keep every section in one scrollable flow. */
@media(max-width:760px) {
  .start-game-modal { overflow-x:hidden; overflow-y:auto; }
  .launcher-content { height:auto; min-height:100%; overflow:visible; padding-bottom:26px; }
  .launcher-options { grid-template-columns:1fr; gap:10px; }
  .launcher-option { height:auto; min-height:0; }
  .launcher-content > .launcher-connect-card { position:relative !important; left:auto !important; right:auto !important; bottom:auto !important; width:auto !important; margin:16px 0 0 !important; }
  .launcher-downloads-dock { margin-top:10px; }
}

/* Mobile modal system: lock the document and scroll only inside the dialog. */
html:has(body.modal-open) { overflow:hidden; }
body.modal-open {
  overflow:hidden;
  overscroll-behavior:none;
  touch-action:none;
}
.modal-backdrop {
  box-sizing:border-box;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.modal-backdrop > [role="dialog"] {
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  max-height:calc(100dvh - 32px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.purchase-modal,
.payment-choice-modal,
.auth-modal,
.payment-result-modal {
  box-sizing:border-box;
  min-width:0;
}
.purchase-modal input,
.purchase-modal select,
.purchase-modal textarea,
.purchase-modal button,
.payment-choice-modal button,
.auth-modal input,
.auth-modal button {
  max-width:100%;
  box-sizing:border-box;
}
.purchase-modal *,
.payment-choice-modal *,
.auth-modal *,
.payment-result-modal * {
  min-width:0;
  overflow-wrap:anywhere;
}

@media (max-width: 650px) {
  /* iOS Safari zooms the whole page when it focuses a control below 16px. */
  .purchase-modal input,
  .purchase-modal select,
  .purchase-modal textarea,
  .auth-modal input,
  .auth-modal select,
  .auth-modal textarea {
    font-size:16px !important;
    line-height:1.25;
  }
  .modal-backdrop {
    align-items:flex-start;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
  }
  .modal-backdrop > [role="dialog"] {
    width:100%;
    max-width:none;
    max-height:calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));
    margin:auto 0;
    border-radius:20px;
  }
  .purchase-modal,
  .payment-choice-modal,
  .auth-modal,
  .payment-result-modal {
    width:100%;
    max-width:none;
    padding-left:18px;
    padding-right:18px;
  }
  .payment-choice-methods {
    min-width:0;
  }
  .payment-choice-total strong {
    max-width:48%;
    overflow-wrap:anywhere;
  }
  .start-game-modal {
    width:100%;
    max-width:none;
    max-height:calc(100dvh - 12px);
  }
}
.footer-social-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:3px; }
.footer-social-links[hidden] { display:none; }
.footer-social-links a { width:44px; height:44px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .18); border-radius:14px; background:linear-gradient(145deg,rgba(var(--theme-panel-rgb, 25, 43, 70), .9),rgba(var(--theme-base-rgb, 10, 18, 33), .95)); color:#dce7fa; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.footer-social-links a:hover { transform:translateY(-2px); border-color:rgba(var(--theme-accent-rgb, 139, 179, 255), .55); background:var(--theme-panel, #162746); }
.footer-social-links img { width:24px; height:24px; object-fit:contain; border-radius:7px; }
.footer-social-links .footer-social-text-link { width:auto; min-width:44px; padding:0 13px; font-size:11px; text-decoration:none; }
.client-footer > .footer-social-links { display:flex; grid-column:1/-1; }
.public-home .product-description-toggle {
  min-height: 28px;
  margin-top: 2px;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: var(--theme-pale, #9fbeff);
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.public-home .product-description-toggle:hover { color: #d6e4ff; }
.public-home .product-description-toggle:focus-visible { outline: 2px solid var(--theme-pale, #9fbeff); outline-offset: 2px; border-radius: 3px; }
.product-details-backdrop { z-index: 60; }
.product-details-modal {
  box-sizing: border-box;
  width: min(100%, 590px);
  position: relative;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(var(--theme-accent-rgb, 139, 179, 255), .3);
  border-radius: 24px;
  background: radial-gradient(ellipse at 12% 0%,rgba(var(--theme-accent-rgb, 79, 126, 211), .17),transparent 42%),linear-gradient(145deg,var(--theme-base, #111d34),var(--theme-base, #080e1b) 72%);
  box-shadow: 0 34px 100px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.06);
  color: #edf3ff;
  transform: translateY(12px) scale(.985);
  transition: transform .22s cubic-bezier(.2,.8,.2,1);
}
.product-details-backdrop.open .product-details-modal { transform: translateY(0) scale(1); }
.product-details-modal .product-details-close:first-child { z-index:2; }
.product-details-head { position:relative; display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; gap:22px; padding:4px 32px 24px 0; }
.product-details-art { width:150px; height:150px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(var(--theme-accent-rgb, 139, 179, 255), .2); border-radius:19px; background:radial-gradient(circle at 50% 45%,var(--theme-raised, #294879),var(--theme-base, #111d34) 68%,var(--theme-base, #0a1020)); box-shadow:inset 0 1px rgba(255,255,255,.06),0 16px 38px rgba(0,0,0,.22); }
.product-details-art img { width:100%; height:100%; padding:12px; box-sizing:border-box; object-fit:contain; }
.product-details-mark { color:var(--theme-pale, #b9d0ff); font-size:58px; font-weight:900; text-shadow:0 0 32px rgba(var(--theme-accent-rgb, 116, 163, 255), .55); }
.product-details-heading .eyebrow { display:block; margin:0 0 11px; color:var(--theme-pale, #9fbeff); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.product-details-heading .eyebrow span { width:auto; height:auto; display:inline; margin:0; padding:5px 9px; border:1px solid rgba(var(--theme-accent-rgb, 139, 179, 255), .18); border-radius:999px; background:rgba(var(--theme-accent-rgb, 120, 169, 255), .08); }
.product-details-heading h2 { max-width:100%; margin:0 0 12px; font-size:clamp(26px,5vw,36px); line-height:1.04; letter-spacing:-.055em; overflow-wrap:anywhere; }
.product-details-server { display:inline-flex; align-items:center; gap:7px; color:var(--theme-muted, #a3b2ca); font-size:11px; }
.product-details-server::before { content:''; width:6px; height:6px; border-radius:50%; background:#81dfbd; box-shadow:0 0 10px rgba(129,223,189,.55); }
.product-details-copy { position:relative; padding:19px 20px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .14); border-radius:15px; background:rgba(var(--theme-deep-rgb, 5, 12, 24), .48); }
.product-details-label { color:var(--theme-accent, #91a9d0); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.product-details-copy p { max-height:min(42vh,360px); margin:10px 0 0; overflow:auto; color:var(--theme-pale, #d4deef); font-size:13px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; scrollbar-color:var(--theme-muted, #415b84) transparent; }
.product-details-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:20px; }
.product-details-footer > strong { font-size:21px; letter-spacing:-.03em; }
.product-details-footer .button { min-height:42px; padding:0 20px; }
@media (max-width:560px) {
  .product-details-backdrop { padding:14px; }
  .product-details-modal { padding:22px 18px 18px; border-radius:20px; }
  .product-details-head { grid-template-columns:84px minmax(0,1fr); gap:14px; padding-right:28px; padding-bottom:18px; }
  .product-details-art { width:84px; height:84px; border-radius:14px; }
  .product-details-art img { padding:7px; }
  .product-details-heading .eyebrow { margin-bottom:7px; font-size:8px; }
  .product-details-heading h2 { margin-bottom:8px; font-size:22px; }
  .product-details-server { font-size:10px; }
  .product-details-copy { padding:15px; }
  .product-details-copy p { max-height:46vh; font-size:12px; }
}

/* The cart belongs to the store section; only checkout details use a modal. */
.store-cart-widget[hidden] { display:none !important; }
.store-cart-widget {
  display:grid; gap:16px; margin:18px 0 20px; padding:22px;
  border:1px solid rgba(var(--theme-accent-rgb, 127, 166, 239), .27); border-radius:20px;
  background:radial-gradient(ellipse at 0 0,rgba(var(--theme-accent-rgb, 92, 136, 224), .13),transparent 48%),linear-gradient(135deg,var(--theme-base, #101a2d),var(--theme-base, #0b1322) 74%);
  box-shadow:0 18px 44px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.035);
}
.store-cart-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.store-cart-title { display:grid; gap:6px; }
.store-cart-title > span { color:var(--theme-accent, #8fb5ff); font-size:9px; font-weight:800; letter-spacing:.16em; }
.store-cart-title > strong { color:#eef3ff; font-size:18px; letter-spacing:-.035em; }
.store-cart-close { min-height:36px; padding:0 12px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .18); border-radius:10px; background:rgba(255,255,255,.025); color:var(--theme-muted, #aab9d3); font-size:11px; }
.store-cart-list { display:grid; gap:9px; max-height:min(360px,52vh); overflow:auto; padding-right:4px; }
.store-cart-row { display:grid; grid-template-columns:46px minmax(140px,1fr) auto minmax(90px,auto) auto; align-items:center; gap:13px; min-width:0; padding:11px 14px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12); border-radius:13px; background:rgba(var(--theme-deep-rgb, 4, 10, 20), .32); }
.store-cart-avatar { width:44px; height:44px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(var(--theme-accent-rgb, 139, 177, 255), .24); border-radius:11px; background:linear-gradient(145deg,var(--theme-panel, #1b3154),var(--theme-base, #111b2c)); color:var(--theme-pale, #a9c7ff); font-weight:800; }
.store-cart-avatar img { width:100%; height:100%; object-fit:cover; }
.store-cart-info { min-width:0; display:grid; gap:5px; }
.store-cart-info strong { overflow:hidden; color:#edf3ff; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.store-cart-info small { color:var(--theme-muted, #8c9bb4); font-size:10px; }
.store-cart-quantity { display:flex; align-items:center; gap:10px; color:#eaf1ff; }
.store-cart-quantity button { width:29px; height:29px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .18); border-radius:9px; background:var(--theme-panel, #14223a); color:var(--theme-pale, #c9dcff); font-size:16px; }
.store-cart-quantity b { min-width:14px; text-align:center; font-size:12px; }
.store-cart-price { color:#edf3ff; font-size:12px; white-space:nowrap; }
.store-cart-remove { min-height:30px; padding:0 9px; border:1px solid rgba(236,135,154,.16); border-radius:8px; background:rgba(120,26,51,.12); color:#d29baa; font-size:10px; }
.store-cart-footer { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding-top:14px; border-top:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .12); }
.store-cart-footer > span { color:var(--theme-muted, #9aabc6); font-size:11px; }
.store-cart-footer > strong { margin-right:8px; color:#fff; font-size:17px; }
.store-cart-checkout { min-height:44px !important; }
.purchase-modal.is-cart-checkout { width:min(100%,740px); padding:34px; }
.purchase-modal.is-cart-checkout .purchase-product-copy h2 { font-size:32px; }
.purchase-modal.is-cart-checkout form { grid-template-columns:minmax(0,1fr); gap:15px; }
.purchase-modal.is-cart-checkout form > label,
.purchase-modal.is-cart-checkout form > .modal-total,
.purchase-modal.is-cart-checkout form > button[type="submit"] { grid-column:1; min-width:0; }
.purchase-modal.is-cart-checkout form > label { width:100%; }
.purchase-modal.is-cart-checkout form input { box-sizing:border-box; width:100%; }
.purchase-modal.is-cart-checkout .modal-subtitle { max-width:620px; }
.purchase-modal.is-cart-checkout .modal-total { margin:0; padding-top:15px; }
@media(max-width:700px) {
  .store-cart-widget { padding:17px; }
  .store-cart-row { grid-template-columns:40px minmax(0,1fr) auto; gap:10px; }
  .store-cart-avatar { width:40px; height:40px; }
  .store-cart-quantity { grid-column:2; grid-row:2; }
  .store-cart-price { grid-column:3; grid-row:1; }
  .store-cart-remove { grid-column:3; grid-row:2; justify-self:end; }
}
@media(max-width:560px) {
  .store-heading-actions { width:100%; }
  .purchase-modal.is-cart-checkout { width:min(100%,560px); padding:25px 19px; }
  .purchase-modal.is-cart-checkout .purchase-product-copy h2 { font-size:26px; }
  .purchase-modal.is-cart-checkout form { grid-template-columns:minmax(0,1fr); gap:14px; }
  .purchase-modal.is-cart-checkout form > label,
  .purchase-modal.is-cart-checkout form > .modal-total,
  .purchase-modal.is-cart-checkout form > button[type="submit"] { grid-column:1; }
  .store-cart-footer { display:grid; grid-template-columns:1fr auto; gap:8px 12px; }
  .store-cart-footer > strong { margin:0; text-align:right; }
  .store-cart-checkout { grid-column:1 / -1; width:100%; }
}

/* Mode selector refresh: artwork first, clear details second; live status updates stay still. */
.public-home .modes-section .modes-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.public-home .modes-section .mode-card,
.public-home .modes-section .mode-card:first-child,
.public-home .modes-section .mode-card:nth-child(2),
.public-home .modes-section .mode-card:nth-child(n+3) { grid-column:auto; min-height:0; display:flex; flex-direction:column; border-radius:24px; background:linear-gradient(155deg,var(--theme-base, #111d32) 0%,var(--theme-base, #0a1221) 68%); }
.public-home .modes-section .mode-card::before { display:none; }
.public-home .modes-section .mode-card::after { top:-155px; right:-115px; opacity:.22; }
.public-home .modes-section .mode-card:hover::after { opacity:.36; }
.public-home .mode-card-art { position:relative; display:grid; place-items:center; height:210px; margin:10px 10px 0; overflow:hidden; border-radius:17px; background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--mode-accent) 25%,transparent),transparent 62%),linear-gradient(145deg,rgba(var(--theme-panel-rgb, 29, 48, 79), .72),rgba(var(--theme-base-rgb, 9, 17, 31), .5)); }
.public-home .mode-card-art::before { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(var(--theme-deep-rgb, 5, 10, 20), .04),rgba(var(--theme-deep-rgb, 5, 10, 20), .24)); }
.mode-art-glow { position:absolute; width:126px; height:126px; border-radius:50%; background:var(--mode-accent); filter:blur(58px); opacity:.32; }
.mode-art-orbit { position:absolute; width:190px; height:78px; border:1px solid color-mix(in srgb,var(--mode-accent) 46%,transparent); border-radius:50%; transform:rotate(-22deg); opacity:.54; }
.mode-art-orbit-two { width:230px; height:98px; transform:rotate(24deg); opacity:.23; }
.public-home .mode-card-art img { position:relative; z-index:1; width:min(72%,240px); height:82%; object-fit:contain; filter:drop-shadow(0 14px 25px rgba(0,0,0,.45)); transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s ease; }
.public-home .mode-card:hover .mode-card-art img { transform:translateY(-5px) scale(1.045); filter:drop-shadow(0 19px 30px rgba(0,0,0,.5)); }
.mode-art-initial { position:relative; z-index:1; display:grid; place-items:center; width:112px; height:112px; border:1px solid color-mix(in srgb,var(--mode-accent) 54%,rgba(255,255,255,.28)); border-radius:32px; background:linear-gradient(145deg,color-mix(in srgb,var(--mode-accent) 28%,var(--theme-panel, #1a2942)),var(--theme-base, #0d1729)); color:#f1f5ff; font-size:58px; font-weight:800; letter-spacing:-.08em; box-shadow:0 18px 55px color-mix(in srgb,var(--mode-accent) 22%,transparent),inset 0 1px rgba(255,255,255,.18); transform:rotate(-7deg); }
.public-home .mode-content { display:flex; flex:1; flex-direction:column; width:100%; padding:22px 22px 20px; }
.public-home .mode-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.public-home .mode-overline { display:block; margin:0 0 8px; color:color-mix(in srgb,var(--mode-accent) 78%,white); font-size:9px; letter-spacing:.18em; }
.public-home .mode-content h3 { margin:0; font-size:clamp(25px,2.2vw,32px); line-height:1.05; letter-spacing:-.055em; }
.public-home .mode-kicker { flex:0 0 auto; gap:7px; padding:7px 9px; border-color:rgba(var(--theme-pale-rgb, 201, 219, 247), .1); background:var(--theme-base, #0b1423); color:var(--theme-muted, #95a4bd); font-size:9px; letter-spacing:0; text-transform:none; }
.public-home .mode-kicker.is-online { color:#8fe5bd; }
.public-home .mode-kicker.is-offline { color:var(--theme-muted, #a1acc0); }
.public-home .mode-kicker .status-dot { width:6px; height:6px; flex:0 0 auto; box-shadow:none; animation:none !important; }
.public-home .mode-kicker .status-dot.offline { background:#79869d; }
.public-home .mode-content > p { max-width:100%; min-height:50px; margin:13px 0 18px; color:var(--theme-muted, #9aa9c1); font-size:11px; line-height:1.65; }
.public-home .mode-card-bottom { display:flex; flex-direction:column; align-items:stretch; gap:16px; margin-top:auto; }
.public-home .mode-meta { gap:7px; }
.public-home .mode-version,.public-home .mode-players { min-height:28px; padding:0 9px; border-radius:9px; background:rgba(var(--theme-base-rgb, 18, 30, 49), .8); color:var(--theme-muted, #aebbd0); font-size:9px; }
.public-home .mode-players { transition:none; }
.public-home .mode-enter { justify-content:space-between; width:100%; min-height:44px; margin:0; padding:0 13px; border-color:rgba(var(--theme-pale-rgb, 191, 212, 247), .14); background:rgba(var(--theme-base-rgb, 17, 29, 48), .88); font-size:10px; }
.public-home .mode-enter .ui-icon { opacity:.78; }
@media(max-width:900px) {
  .public-home .modes-section .modes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-home .modes-section .mode-card:first-child { grid-column:auto; min-height:0; }
}
@media(max-width:600px) {
  .public-home .modes-section .modes-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .public-home .mode-card-art { height:185px; }
  .public-home .mode-content { padding:19px; }
  .public-home .mode-content h3 { font-size:29px; }
  .public-home .mode-content > p { min-height:0; }
}

/* Floating cart is shown only while the shop section is in view. */
.cart-fab[hidden] { display:none !important; }
.cart-fab {
  position:fixed; right:28px; bottom:calc(26px + env(safe-area-inset-bottom, 0px)); z-index:24; isolation:isolate; display:grid; place-items:center;
  width:66px; height:66px; border:1px solid rgba(var(--theme-pale-rgb, 151, 187, 255), .58); border-radius:22px;
  background:radial-gradient(ellipse at 30% 10%,rgba(var(--theme-accent-rgb, 112, 169, 255), .28),transparent 55%),linear-gradient(145deg,var(--theme-panel, #182b4a),var(--theme-base, #0b1528) 76%); color:#d9e9ff; cursor:pointer;
  box-shadow:0 15px 40px rgba(0,0,0,.42),0 0 32px rgba(var(--theme-accent-rgb, 89, 138, 232), .2),inset 0 1px rgba(255,255,255,.13),inset 0 -12px 24px rgba(var(--theme-deep-rgb, 2, 8, 18), .18);
  transition:width .34s cubic-bezier(.2,.8,.2,1),transform .24s ease,border-color .24s ease,border-radius .3s ease,box-shadow .24s ease;
}
.cart-fab::before { position:absolute; z-index:0; inset:3px; border:1px solid rgba(208,227,255,.08); border-radius:inherit; background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 45%); content:""; pointer-events:none; }
.cart-fab::after { position:absolute; z-index:0; top:1px; left:20%; width:60%; height:1px; border-radius:50%; background:linear-gradient(90deg,transparent,rgba(224,239,255,.56),transparent); content:""; pointer-events:none; }
.cart-fab:hover,.cart-fab:focus-visible { width:178px; grid-template-columns:27px auto; justify-content:center; gap:12px; transform:translateY(-4px); border-color:var(--theme-pale, #a9c7ff); border-radius:20px; box-shadow:0 20px 48px rgba(0,0,0,.43),0 0 35px rgba(var(--theme-accent-rgb, 89, 138, 232), .24); }
.cart-fab > svg { position:relative; z-index:1; width:29px; height:29px; flex:0 0 29px; filter:drop-shadow(0 2px 5px rgba(var(--theme-accent-rgb, 115, 177, 255), .3)); transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .24s ease; }
.cart-fab:hover > svg,.cart-fab:focus-visible > svg { transform:rotate(-8deg) scale(1.06); filter:drop-shadow(0 0 8px rgba(var(--theme-accent-rgb, 144, 187, 255), .62)); }
.cart-fab-total { position:absolute; z-index:1; top:50%; right:22px; max-width:0; overflow:hidden; opacity:0; color:#f1f5ff; font-size:14px; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; transform:translate(8px,-50%); transition:max-width .34s ease,opacity .2s ease .06s,transform .3s cubic-bezier(.2,.8,.2,1); }
.cart-fab:hover .cart-fab-total,.cart-fab:focus-visible .cart-fab-total { position:relative; top:auto; right:auto; max-width:112px; opacity:1; transform:translateX(0); }
.cart-fab-count { position:absolute; z-index:2; top:-7px; right:-7px; min-width:26px; height:26px; display:grid; place-items:center; padding:0 5px; border:2px solid var(--theme-base, #0b1425); border-radius:999px; background:linear-gradient(145deg,var(--theme-pale, #a9cbff),var(--theme-accent, #6e9cff)); color:var(--theme-base, #081326); font-size:11px; font-weight:850; font-variant-numeric:tabular-nums; box-shadow:0 4px 12px rgba(0,0,0,.32),0 0 14px rgba(var(--theme-accent-rgb, 113, 161, 255), .38); }
.cart-fab.is-bumping { animation:cart-added-pop .48s cubic-bezier(.2,.85,.25,1.3); }
.cart-fab.is-bumping .cart-fab-count { animation:cart-count-pop .45s cubic-bezier(.2,.85,.25,1.35); }
@keyframes cart-added-pop { 0% { transform:scale(1); } 35% { transform:scale(1.13) rotate(-4deg); box-shadow:0 0 0 10px rgba(var(--theme-accent-rgb, 138, 181, 255), .13),0 22px 52px rgba(0,0,0,.45),0 0 38px rgba(var(--theme-accent-rgb, 89, 138, 232), .32); } 68% { transform:scale(.96) rotate(2deg); } 100% { transform:scale(1); } }
@keyframes cart-count-pop { 0%,100% { transform:scale(1); } 45% { transform:scale(1.3); } }
.cart-modal-backdrop { z-index:30; }
.cart-modal { width:min(100%,760px); max-height:calc(100dvh - 36px); overflow:auto; padding:32px; border:1px solid rgba(var(--theme-pale-rgb, 151, 187, 255), .28); border-radius:24px; background:radial-gradient(ellipse at 0 0,rgba(var(--theme-accent-rgb, 81, 124, 207), .16),transparent 44%),linear-gradient(145deg,var(--theme-base, #101a2d),var(--theme-base, #080f1d) 78%); box-shadow:0 35px 100px rgba(0,0,0,.58); }
.cart-modal-heading { display:flex; align-items:center; gap:16px; padding:0 42px 22px 0; border-bottom:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .13); }
.cart-modal-icon { width:54px; height:54px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(var(--theme-accent-rgb, 139, 177, 255), .28); border-radius:16px; background:linear-gradient(145deg,rgba(var(--theme-accent-rgb, 120, 169, 255), .2),rgba(var(--theme-panel-rgb, 17, 32, 56), .6)); color:var(--theme-pale, #a9c7ff); box-shadow:inset 0 1px rgba(255,255,255,.08); }
.cart-modal-icon svg { width:27px; height:27px; }
.cart-modal-heading .eyebrow { margin:0 0 7px; font-size:9px; }
.cart-modal-heading h2 { margin:0; color:#f0f4ff; font-size:28px; letter-spacing:-.05em; }
.cart-modal-heading p:last-child { margin:6px 0 0; color:var(--theme-muted, #91a1bb); font-size:12px; }
.cart-modal-items { display:grid; gap:10px; max-height:min(48vh,420px); overflow:auto; padding:19px 3px 19px 0; }
.cart-modal-row { display:grid; grid-template-columns:52px minmax(120px,1fr) auto minmax(92px,auto) auto; align-items:center; gap:15px; min-width:0; padding:13px 15px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .13); border-radius:15px; background:linear-gradient(110deg,rgba(var(--theme-panel-rgb, 23, 37, 62), .74),rgba(var(--theme-base-rgb, 10, 18, 33), .74)); }
.cart-modal-avatar { width:50px; height:50px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(var(--theme-accent-rgb, 139, 177, 255), .25); border-radius:13px; background:linear-gradient(145deg,var(--theme-panel, #1c3151),var(--theme-base, #101a2b)); color:var(--theme-pale, #a9c7ff); }
.cart-modal-avatar img { width:100%; height:100%; object-fit:cover; }
.cart-modal-avatar svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.cart-modal-info { min-width:0; display:grid; gap:5px; }
.cart-modal-info strong { overflow:hidden; color:#edf3ff; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.cart-modal-info small { color:var(--theme-muted, #8d9db7); font-size:10px; }
.cart-modal-quantity { display:flex; align-items:center; gap:9px; }
.cart-modal-quantity button { width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .19); border-radius:9px; background:var(--theme-panel, #172641); color:#d6e3ff; font-size:17px; }
.cart-modal-quantity b { min-width:16px; color:#eaf1ff; font-size:12px; text-align:center; }
.cart-modal-price { color:#f0f4ff; font-size:13px; white-space:nowrap; }
.cart-modal-remove { min-height:32px; padding:0 10px; border:1px solid rgba(236,135,154,.18); border-radius:9px; background:rgba(120,26,51,.12); color:#d5a3b0; font-size:10px; white-space:nowrap; }
.cart-modal-empty { margin:0; padding:26px 12px; color:var(--theme-muted, #9baac3); text-align:center; }
.cart-modal-footer { display:grid; grid-template-columns:1fr minmax(220px,auto); align-items:center; gap:16px; padding-top:18px; border-top:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .14); }
.cart-modal-total { display:grid; gap:5px; }
.cart-modal-total span { color:var(--theme-muted, #91a1bb); font-size:11px; }
.cart-modal-total strong { color:#fff; font-size:22px; letter-spacing:-.04em; }
.cart-modal-footer .button { min-height:48px; gap:12px; }
.modal-backdrop[aria-hidden="false"]:not(#auth-modal) { animation:modal-veil-in .28s ease both; }
.modal-backdrop[aria-hidden="false"]:not(#auth-modal) > [role="dialog"] { transform-origin:50% 58%; animation:modal-window-in .42s cubic-bezier(.16,1,.3,1) both; }
.cart-modal-row { transition:border-color .22s ease,background .22s ease,transform .22s cubic-bezier(.2,.8,.2,1); }
.cart-modal-row:hover { transform:translateY(-1px); border-color:rgba(var(--theme-pale-rgb, 151, 187, 255), .28); background:linear-gradient(110deg,rgba(var(--theme-panel-rgb, 28, 47, 78), .82),rgba(var(--theme-base-rgb, 12, 22, 41), .82)); }
.cart-modal .modal-close { transition:transform .24s ease,color .2s ease,border-color .2s ease,background .2s ease; }
.cart-modal .modal-close:hover { transform:rotate(90deg); border-color:rgba(var(--theme-pale-rgb, 151, 187, 255), .4); background:rgba(var(--theme-accent-rgb, 120, 169, 255), .1); color:#eaf2ff; }
@keyframes modal-veil-in { from { opacity:0; backdrop-filter:blur(0); } to { opacity:1; backdrop-filter:blur(10px); } }
@keyframes modal-window-in { from { opacity:0; transform:translateY(18px) scale(.975); filter:blur(5px); } 70% { opacity:1; filter:blur(0); } to { opacity:1; transform:translateY(0) scale(1); filter:blur(0); } }
@media(max-width:650px) {
  .cart-fab { right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); width:58px; height:58px; border-radius:19px; }
  .cart-modal { width:min(100%,580px); padding:24px 18px; border-radius:20px; }
  .cart-modal-heading { gap:12px; padding-bottom:17px; }
  .cart-modal-icon { width:46px; height:46px; border-radius:13px; }
  .cart-modal-heading h2 { font-size:24px; }
  .cart-modal-row { grid-template-columns:44px minmax(0,1fr) auto; gap:9px 11px; padding:11px; }
  .cart-modal-avatar { width:42px; height:42px; grid-row:1 / span 2; }
  .cart-modal-info { grid-column:2; }
  .cart-modal-quantity { grid-column:2; }
  .cart-modal-price { grid-column:3; grid-row:1; }
  .cart-modal-remove { grid-column:3; grid-row:2; justify-self:end; }
  .cart-modal-footer { grid-template-columns:1fr; gap:12px; }
  .cart-modal-footer .button { width:100%; }
}
.mode-enter-arrow { font-size:0; }
.mode-enter-arrow .ui-icon { display:block; width:15px; height:15px; filter:brightness(0) saturate(100%) invert(91%) sepia(12%) saturate(489%) hue-rotate(184deg) brightness(103%) contrast(100%); }
.cart-add { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 14px; border:1px solid rgba(var(--theme-accent-rgb, 120, 169, 255), .46); border-radius:12px; background:linear-gradient(145deg,rgba(var(--theme-panel-rgb, 29, 49, 79), .98),rgba(var(--theme-base-rgb, 13, 25, 44), .98)); color:#dce9ff; font-weight:800; box-shadow:inset 0 1px rgba(255,255,255,.08),0 7px 18px rgba(0,0,0,.17); transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.cart-add::before { content:""; width:16px; height:16px; flex:0 0 16px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 4.5h2l2.1 10.1a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.9-1.4l1.4-6.3H7'/%3E%3Ccircle cx='10' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E") center/contain no-repeat; }
.cart-add:hover { transform:translateY(-2px); border-color:var(--theme-pale, #9bc4ff); background:linear-gradient(145deg,var(--theme-raised, #28446e),var(--theme-panel, #142a49)); color:#fff; box-shadow:inset 0 1px rgba(255,255,255,.12),0 11px 25px rgba(var(--theme-strong-rgb, 64, 112, 192), .2); }
.cart-add:active { transform:translateY(0) scale(.98); }
@media(max-width:560px) { .product-card-foot .cart-add { flex:0 0 auto; min-width:112px; padding-inline:11px; } }
@media(hover:none) { .cart-fab:hover { width:58px; gap:0; transform:none; } .cart-fab:hover .cart-fab-total { position:absolute; top:50%; right:22px; max-width:0; opacity:0; transform:translate(8px,-50%); } .cart-fab:hover > svg { transform:none; filter:none; } }
@media(prefers-reduced-motion:reduce) { .cart-fab,.cart-fab-total,.cart-fab > svg { transition:none!important; } .cart-fab.is-bumping,.cart-fab.is-bumping .cart-fab-count { animation:none!important; } .modal-backdrop[aria-hidden="false"]:not(#auth-modal),.modal-backdrop[aria-hidden="false"]:not(#auth-modal) > [role="dialog"] { animation:none!important; } }

/* Home page: mode cards get a clearer hierarchy and a more distinctive game-world feel. */
.public-home .modes-section .modes-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.public-home .modes-section .mode-card,
.public-home .modes-section .mode-card:first-child,
.public-home .modes-section .mode-card:nth-child(n+3) { position:relative; isolation:isolate; grid-column:span 6; min-width:0; min-height:390px; overflow:hidden; align-items:stretch; border:1px solid color-mix(in srgb,var(--mode-accent) 25%,rgba(var(--theme-accent-rgb, 157, 181, 224), .14)); border-radius:26px; background-color:var(--theme-base, #0b1424); background-size:cover; background-position:center; box-shadow:0 22px 55px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.035); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.public-home .modes-section .mode-card:first-child { grid-column:span 7; min-height:445px; }
.public-home .modes-section .mode-card:nth-child(2) { grid-column:span 5; }
.public-home .modes-section .mode-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--mode-accent) 54%,rgba(255,255,255,.24)); box-shadow:0 30px 70px rgba(0,0,0,.34),0 0 38px color-mix(in srgb,var(--mode-accent) 11%,transparent),inset 0 1px rgba(255,255,255,.06); }
.public-home .modes-section .mode-card::before { z-index:-1; inset:0; height:auto; background:linear-gradient(90deg,rgba(var(--theme-deep-rgb, 5, 10, 20), .95) 0%,rgba(var(--theme-deep-rgb, 5, 10, 20), .84) 48%,rgba(var(--theme-deep-rgb, 5, 10, 20), .34) 100%),linear-gradient(0deg,rgba(var(--theme-deep-rgb, 5, 10, 20), .72),transparent 66%); }
.public-home .modes-section .mode-card::after { z-index:-1; width:310px; height:310px; top:-130px; right:-125px; border-color:color-mix(in srgb,var(--mode-accent) 72%,white); opacity:.3; transition:transform .6s ease,opacity .4s ease; }
.public-home .modes-section .mode-card:hover::after { transform:rotate(38deg) scale(1.08); opacity:.55; }
.mode-card-glow { position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 82% 24%,color-mix(in srgb,var(--mode-accent) 24%,transparent),transparent 34%); opacity:.8; }
.mode-card-top { position:absolute; z-index:2; top:23px; right:24px; left:25px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.public-home .mode-index { position:static; color:#dce8ff; font-size:10px; font-weight:800; letter-spacing:.16em; }
.mode-index i { color:rgba(212,225,248,.42); font-style:normal; }
.public-home .mode-kicker { gap:8px; padding:8px 11px; border:1px solid rgba(var(--theme-pale-rgb, 205, 220, 248), .13); border-radius:999px; background:rgba(var(--theme-base-rgb, 7, 14, 27), .52); color:#dce7fb; font-size:9px; letter-spacing:.08em; backdrop-filter:blur(10px); }
.public-home .mode-content { z-index:1; display:flex; flex-direction:column; align-items:flex-start; align-self:stretch; width:min(100%,560px); padding:105px 34px 28px; }
.mode-overline { margin-bottom:10px; color:var(--mode-accent); font-size:9px; font-weight:850; letter-spacing:.2em; }
.public-home .mode-content h3 { max-width:100%; margin:0 0 12px; font-size:clamp(35px,4.2vw,58px); line-height:.98; letter-spacing:-.065em; text-wrap:balance; }
.public-home .mode-content p { min-height:0; max-width:390px; margin:0 0 22px; color:rgba(226,236,251,.72); font-size:12px; line-height:1.7; }
.public-home .mode-meta { align-items:center; gap:8px; color:var(--theme-pale, #d7e2f4); font-size:10px; }
.mode-version,.mode-players { display:inline-flex; align-items:center; min-height:30px; padding:0 11px; border:1px solid rgba(var(--theme-pale-rgb, 202, 219, 248), .14); border-radius:10px; background:rgba(var(--theme-base-rgb, 7, 14, 27), .48); }
.mode-players { color:rgba(221,233,250,.76); }
.mode-players b { margin-right:4px; color:#f0f5ff; }
.public-home .mode-enter { min-height:43px; gap:12px; margin-top:auto; padding:0 15px; border:1px solid color-mix(in srgb,var(--mode-accent) 42%,rgba(255,255,255,.1)); border-radius:12px; background:color-mix(in srgb,var(--mode-accent) 14%,rgba(var(--theme-base-rgb, 9, 17, 31), .74)); color:#edf4ff; font-size:11px; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.public-home .mode-enter:hover { transform:translateX(3px); border-color:color-mix(in srgb,var(--mode-accent) 72%,white); background:color-mix(in srgb,var(--mode-accent) 24%,rgba(var(--theme-base-rgb, 9, 17, 31), .8)); color:#fff; }
.public-home .mode-enter .ui-icon { width:15px; height:15px; }
.mode-card-watermark { position:absolute; z-index:0; right:24px; bottom:-30px; color:rgba(232,240,255,.045); font-size:clamp(130px,17vw,230px); font-weight:900; line-height:1; letter-spacing:-.1em; pointer-events:none; }
@media(max-width:850px) {
  .public-home .modes-section .mode-card,
  .public-home .modes-section .mode-card:first-child,
  .public-home .modes-section .mode-card:nth-child(2),
  .public-home .modes-section .mode-card:nth-child(n+3) { grid-column:span 6; min-height:360px; }
  .public-home .modes-section .mode-card:first-child { grid-column:1 / -1; min-height:400px; }
}
@media(max-width:560px) {
  .public-home .modes-section .modes-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .public-home .modes-section .mode-card,
  .public-home .modes-section .mode-card:first-child,
  .public-home .modes-section .mode-card:nth-child(2),
  .public-home .modes-section .mode-card:nth-child(n+3) { grid-column:1 / -1; min-height:330px; border-radius:21px; }
  .public-home .modes-section .mode-card:first-child { min-height:365px; }
  .mode-card-top { top:17px; right:16px; left:17px; }
  .public-home .mode-content { padding:91px 19px 20px; }
  .public-home .mode-content h3 { font-size:clamp(31px,9vw,43px); }
  .public-home .mode-content p { max-width:95%; font-size:11px; }
  .mode-card-watermark { right:12px; bottom:-17px; font-size:150px; }
}

/* Final mode-card layout overrides: compact, even tiles with no status-driven motion. */
.public-home #server-modes.modes-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:18px; }
.public-home #server-modes .mode-card,
.public-home #server-modes .mode-card:first-child,
.public-home #server-modes .mode-card:nth-child(2),
.public-home #server-modes .mode-card:nth-child(n+3) { grid-column:auto; min-height:0; height:100%; display:flex; flex-direction:column; align-self:stretch; padding:0; border-radius:22px; }
.public-home #server-modes .mode-card-art { flex:0 0 190px; height:190px; margin:9px 9px 0; }
.public-home #server-modes .mode-card-art > img { width:min(78%,270px); height:86%; object-fit:contain; mix-blend-mode:screen; }
.public-home #server-modes .mode-card-art .mode-kicker { position:absolute; z-index:3; top:13px; left:13px; }
.public-home #server-modes .mode-content { flex:1 1 auto; display:flex; flex-direction:column; align-items:stretch; align-self:auto; width:100%; min-width:0; padding:19px 19px 17px; }
.public-home #server-modes .mode-card-heading { display:block; }
.public-home #server-modes .mode-overline { margin-bottom:6px; }
.public-home #server-modes .mode-content h3 { overflow-wrap:anywhere; margin:0; font-size:clamp(25px,2vw,32px); }
.public-home #server-modes .mode-content > p { flex:1 0 auto; min-height:0; margin:9px 0 15px; }
.public-home #server-modes .mode-card-bottom { margin-top:auto; gap:13px; }
.public-home #server-modes .mode-enter { margin-top:0; }
.mode-art-core { position:relative; z-index:1; display:grid; place-items:center; width:112px; height:112px; border:1px solid color-mix(in srgb,var(--mode-accent) 56%,rgba(255,255,255,.25)); border-radius:30px; background:linear-gradient(145deg,color-mix(in srgb,var(--mode-accent) 20%,var(--theme-panel, #243956)),var(--theme-base, #101a2b)); box-shadow:0 18px 45px color-mix(in srgb,var(--mode-accent) 22%,transparent),inset 0 1px rgba(255,255,255,.18); transform:rotate(-8deg); }
.mode-art-core img { width:54px; height:54px; opacity:.95; filter:drop-shadow(0 0 14px color-mix(in srgb,var(--mode-accent) 55%,transparent)); }
.public-home #server-modes .mode-kicker,
.public-home #server-modes .mode-kicker.is-online,
.public-home #server-modes .mode-kicker.is-offline,
.public-home #server-modes .mode-kicker .status-dot,
.public-home #server-modes .mode-players { animation:none !important; transition:none !important; }
.public-home #server-modes .mode-kicker { min-height:27px; padding:0 9px; backdrop-filter:none; }
.public-home #server-modes .mode-kicker.is-online { color:#9be8c2; }
.public-home #server-modes .mode-kicker.is-offline { color:var(--theme-muted, #a1acc0); }
@media(max-width:900px) {
  .public-home #server-modes.modes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-home #server-modes .mode-card:first-child { grid-column:auto; }
}
@media(max-width:600px) {
  .public-home #server-modes.modes-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .public-home #server-modes .mode-card-art { flex-basis:170px; height:170px; }
  .public-home #server-modes .mode-content { padding:17px; }
}

/* Full-bleed mode artwork with a high-contrast, static availability badge. */
.public-home #server-modes.modes-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.public-home #server-modes .mode-card-fullbleed,
.public-home #server-modes .mode-card-fullbleed:first-child,
.public-home #server-modes .mode-card-fullbleed:nth-child(n) { position:relative; isolation:isolate; grid-column:auto; display:flex; flex-direction:column; justify-content:space-between; height:390px; min-height:390px; overflow:hidden; padding:20px; border:1px solid color-mix(in srgb,var(--mode-accent) 42%,rgba(var(--theme-pale-rgb, 172, 201, 244), .28)); border-radius:24px; background-color:var(--theme-base, #101a2d); background-size:cover; background-position:center; box-shadow:0 18px 48px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.07); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.public-home #server-modes .mode-card-fullbleed:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--mode-accent) 72%,white); box-shadow:0 25px 55px rgba(0,0,0,.38),0 0 35px color-mix(in srgb,var(--mode-accent) 15%,transparent); }
.public-home #server-modes .mode-card-fullbleed::before { position:absolute; z-index:-1; inset:0; height:auto; content:""; pointer-events:none; background:linear-gradient(0deg,rgba(var(--theme-deep-rgb, 5, 10, 20), .97) 0%,rgba(var(--theme-deep-rgb, 5, 10, 20), .84) 34%,rgba(var(--theme-deep-rgb, 5, 10, 20), .15) 100%),linear-gradient(90deg,rgba(var(--theme-deep-rgb, 5, 10, 20), .18),transparent 75%); }
.public-home #server-modes .mode-card-fullbleed::after { z-index:-1; top:-150px; right:-120px; width:310px; height:310px; opacity:.3; }
.public-home #server-modes .mode-card-fullbleed:not([style*="background-image"]) { background-image:radial-gradient(ellipse at 78% 30%,color-mix(in srgb,var(--mode-accent) 42%,transparent),transparent 42%),linear-gradient(145deg,var(--theme-panel, #192a45) 0%,var(--theme-base, #0b1424) 72%); }
.public-home #server-modes .mode-card-top { position:relative; inset:auto; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.public-home #server-modes .mode-overline { margin:0; color:#dce9ff; text-shadow:0 2px 12px #000; }
.public-home #server-modes .mode-kicker,
.public-home #server-modes .mode-kicker.is-online,
.public-home #server-modes .mode-kicker.is-offline { position:relative; display:inline-flex; align-items:center; gap:8px; min-height:34px; padding:0 12px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(var(--theme-base-rgb, 8, 15, 27), .76); color:#e1e8f4; font-size:10px; font-weight:800; letter-spacing:.015em; text-shadow:none; box-shadow:0 6px 20px rgba(0,0,0,.25); backdrop-filter:blur(10px); }
.public-home #server-modes .mode-kicker.is-online { color:#bdffdc; border-color:rgba(87,244,167,.58); background:linear-gradient(110deg,rgba(12,83,57,.92),rgba(9,47,39,.84)); box-shadow:0 0 0 3px rgba(83,241,165,.1),0 0 24px rgba(64,244,157,.27),0 8px 24px rgba(0,0,0,.26); }
.public-home #server-modes .mode-kicker.is-offline { color:var(--theme-muted, #d2d8e3); border-color:rgba(var(--theme-muted-rgb, 193, 204, 224), .25); background:rgba(var(--theme-base-rgb, 10, 17, 29), .8); }
.public-home #server-modes .mode-kicker .status-dot { width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:#56f1a4; box-shadow:0 0 10px rgba(86,241,164,.85); animation:none !important; transition:none !important; }
.public-home #server-modes .mode-kicker .status-dot.offline { background:#818da2; box-shadow:none; }
.public-home #server-modes .mode-content { position:relative; z-index:1; display:flex; flex:0 0 auto; flex-direction:column; align-items:stretch; width:100%; min-width:0; padding:0; }
.public-home #server-modes .mode-content h3 { max-width:100%; margin:0 0 8px; color:#f2f6ff; font-size:clamp(30px,3vw,43px); line-height:1; letter-spacing:-.065em; text-shadow:0 3px 22px rgba(0,0,0,.5); }
.public-home #server-modes .mode-content > p { max-width:100%; min-height:0; margin:0 0 16px; color:rgba(233,240,251,.82); font-size:12px; line-height:1.55; text-shadow:0 2px 12px rgba(0,0,0,.8); }
.public-home #server-modes .mode-card-bottom { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin:0; }
.public-home #server-modes .mode-meta { display:flex; gap:8px; }
.public-home #server-modes .mode-version,
.public-home #server-modes .mode-players { min-height:27px; padding:0 10px; border:1px solid rgba(217,229,250,.2); border-radius:8px; background:rgba(var(--theme-deep-rgb, 7, 14, 25), .64); color:var(--theme-pale, #d8e2f2); font-size:9px; }
.public-home #server-modes .mode-players { transition:none !important; }
.public-home #server-modes .mode-enter { display:flex; justify-content:space-between; width:100%; min-height:44px; margin:0; padding:0 14px; border:1px solid color-mix(in srgb,var(--mode-accent) 68%,white); border-radius:11px; background:color-mix(in srgb,var(--mode-accent) 28%,rgba(var(--theme-base-rgb, 9, 19, 34), .9)); color:#f5f8ff; font-size:11px; text-shadow:0 1px 8px rgba(0,0,0,.4); }
.public-home #server-modes .mode-enter:hover { background:color-mix(in srgb,var(--mode-accent) 48%,rgba(var(--theme-base-rgb, 9, 19, 34), .9)); transform:translateY(-1px); }
@media(max-width:900px) { .public-home #server-modes.modes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .public-home #server-modes.modes-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .public-home #server-modes .mode-card-fullbleed,
  .public-home #server-modes .mode-card-fullbleed:first-child,
  .public-home #server-modes .mode-card-fullbleed:nth-child(n) { height:340px; min-height:340px; padding:16px; border-radius:20px; }
  .public-home #server-modes .mode-content h3 { font-size:34px; }
}
.public-home #server-modes .mode-card-bottom { flex-direction:row; align-items:center; justify-content:space-between; gap:12px; }
.public-home #server-modes .mode-enter { width:auto; min-height:38px; display:inline-flex; flex-direction:row-reverse; justify-content:flex-start; gap:9px; padding:0; border:0; background:transparent; color:#e5edfb; font-size:11px; font-weight:700; text-shadow:none; box-shadow:none; }
.public-home #server-modes .mode-enter:hover { transform:translateX(2px); background:transparent; color:#fff; }
.mode-enter-arrow { display:grid; place-items:center; width:32px; height:32px; border:1px solid color-mix(in srgb,var(--mode-accent) 55%,rgba(221,234,255,.2)); border-radius:50%; background:color-mix(in srgb,var(--mode-accent) 17%,rgba(var(--theme-base-rgb, 7, 15, 28), .9)); color:#ddecff; font-size:15px; line-height:1; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.public-home #server-modes .mode-enter:hover .mode-enter-arrow { transform:translate(2px,-2px); border-color:color-mix(in srgb,var(--mode-accent) 78%,white); background:color-mix(in srgb,var(--mode-accent) 32%,rgba(var(--theme-base-rgb, 7, 15, 28), .9)); }
@media(max-width:380px) {
  .public-home #server-modes .mode-card-bottom { align-items:flex-start; flex-direction:column; }
  .public-home #server-modes .mode-enter { align-self:flex-end; }
}
.auth-modal { width:min(100%,880px); height:min(680px,calc(100dvh - 40px)); min-height:min(540px,calc(100dvh - 40px)); max-height:calc(100dvh - 40px); padding:0; grid-template-rows:minmax(0,1fr); overflow:hidden; }
.auth-visual { min-height:0; }
.auth-content { min-height:0; align-self:stretch; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(var(--theme-accent-rgb, 143, 181, 244), .24) transparent; }
#auth-modal[aria-hidden="false"] { animation:auth-backdrop-in .24s ease both; }
#auth-modal[aria-hidden="false"] .auth-modal { animation:auth-dialog-in .42s cubic-bezier(.16,1,.3,1) both; }
#auth-modal.is-closing { animation:auth-backdrop-out .19s ease both; }
#auth-modal.is-closing .auth-modal { animation:auth-dialog-out .19s ease both; }
@keyframes auth-backdrop-in { from { opacity:0; backdrop-filter:blur(0); } to { opacity:1; backdrop-filter:blur(10px); } }
@keyframes auth-backdrop-out { to { opacity:0; } }
@keyframes auth-dialog-in { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes auth-dialog-out { to { opacity:0; transform:translateY(8px) scale(.99); } }
@media(max-width:700px) {
  .auth-modal { width:min(100%,510px); height:auto; min-height:0; max-height:calc(100dvh - 24px); grid-template-rows:auto minmax(0,1fr); overflow-y:auto; }
  .auth-content { overflow:visible; padding:22px 22px 24px; }
  .auth-visual { min-height:0; }
}
@media(max-height:620px) and (min-width:701px) {
  .auth-modal { height:calc(100dvh - 24px); min-height:0; }
  .auth-visual { padding-block:20px; }
  .auth-content { padding-block:24px; }
  .auth-switcher { margin-bottom:17px; }
  .auth-form { gap:9px; margin-top:15px; }
  .auth-form input { height:42px; }
  .auth-form input.auth-code-input { height:50px; }
  .auth-content .modal-note { margin-top:12px; }
}
@media(max-width:700px) { .auth-modal { width:min(100%,510px); max-width:100%; padding:0; } }
@media(prefers-reduced-motion:reduce) {
  #auth-modal[aria-hidden="false"],#auth-modal[aria-hidden="false"] .auth-modal,#auth-modal.is-closing,#auth-modal.is-closing .auth-modal { animation:none!important; }
}
.auth-modal { --auth-ease-out:cubic-bezier(.23,1,.32,1); height:auto; min-height:0; max-height:calc(100dvh - 32px); overflow:hidden; }
.auth-visual { min-height:460px; }
.auth-content { align-self:stretch; overflow-x:hidden; overflow-y:auto; padding:32px clamp(28px,4vw,48px); }
.auth-switcher { margin-bottom:20px; }
.auth-form { gap:11px; margin-top:17px; }
.auth-code-field { gap:8px!important; }
.auth-code-control { position:relative; display:block; width:100%; height:58px; }
.auth-code-slots { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; width:100%; height:100%; pointer-events:none; }
.auth-code-slot { display:grid; min-width:0; place-items:center; border:1px solid rgba(var(--theme-accent-rgb, 132, 174, 255), .24); border-radius:11px; background:linear-gradient(145deg,rgba(var(--theme-panel-rgb, 20, 37, 64), .9),rgba(var(--theme-deep-rgb, 5, 12, 24), .92)); color:#edf4ff; font:800 21px/1 ui-monospace,SFMono-Regular,Menlo,monospace; font-style:normal; font-variant-numeric:tabular-nums; transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s var(--auth-ease-out); }
.auth-code-slot.is-filled { border-color:rgba(var(--theme-accent-rgb, 136, 179, 255), .48); background:linear-gradient(145deg,rgba(var(--theme-strong-rgb, 59, 94, 151), .44),rgba(var(--theme-base-rgb, 12, 27, 49), .94)); animation:auth-slot-fill .18s var(--auth-ease-out) both; }
.auth-code-slot.is-current { border-color:var(--theme-accent, #91b8ff); box-shadow:0 0 0 3px rgba(var(--theme-accent-rgb, 117, 157, 238), .1),0 0 18px rgba(var(--theme-accent-rgb, 108, 158, 255), .14); }
.auth-form .auth-code-control input.auth-code-input { position:absolute; z-index:2; inset:0; width:100%; height:100%; padding:0; border:1px solid transparent; background:transparent; color:transparent; caret-color:transparent; -webkit-text-fill-color:transparent; letter-spacing:0; }
.auth-form .auth-code-control:focus-within input.auth-code-input { border-color:transparent; background:transparent; box-shadow:none; }
.auth-code-control:focus-within .auth-code-slot.is-current { transform:translateY(-2px); }
.auth-code-control.is-error { animation:auth-code-shake .42s cubic-bezier(.36,.07,.19,.97) both; }
.auth-code-control.is-error .auth-code-slot { color:#ffb6c1; border-color:rgba(255,112,132,.72); background:linear-gradient(145deg,rgba(93,30,48,.55),rgba(30,12,25,.92)); }
.auth-code-control.is-success .auth-code-slot { color:#91f0c8; border-color:rgba(87,218,174,.72); background:linear-gradient(145deg,rgba(22,91,72,.48),rgba(10,48,43,.76)); box-shadow:0 0 14px rgba(87,218,174,.12); }
.auth-feedback.is-success { display:block; border-color:rgba(87,218,174,.3); background:linear-gradient(135deg,rgba(22,91,72,.38),rgba(10,48,43,.3)); color:#91f0c8; }
.auth-feedback.is-progress { display:block; border-color:rgba(var(--theme-accent-rgb, 132, 174, 255), .24); background:rgba(var(--theme-strong-rgb, 54, 94, 157), .14); color:var(--theme-pale, #b7d0ff); }
.auth-feedback.is-maintenance { display:block; }
.auth-content .modal-note { margin-top:14px; }
.auth-visual-mark img { display:block; width:100%; height:100%; border-radius:inherit; object-fit:contain; }
@keyframes auth-slot-fill { from { opacity:.45; transform:translateY(3px) scale(.94); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes auth-code-shake { 15%,45%,75% { transform:translateX(-4px); } 30%,60%,90% { transform:translateX(4px); } 100% { transform:translateX(0); } }
@media(max-height:760px) and (min-width:701px) {
  .auth-visual { min-height:0; padding:22px; }
  .auth-visual-copy,.auth-steps,.auth-visual-caption { display:none; }
  .auth-content { padding:22px 30px; }
  .auth-switcher { margin-bottom:16px; }
  .auth-form { gap:9px; margin-top:12px; }
  .auth-content .modal-note { margin-top:10px; }
}
@media(max-width:700px) {
  .auth-modal { grid-template-rows:auto minmax(0,1fr); max-height:calc(100dvh - 20px); }
  .auth-visual { min-height:0; padding:13px 18px; }
  .auth-visual-copy,.auth-steps,.auth-visual-caption { display:none; }
  .auth-content { padding:20px 20px 22px; overflow-y:auto; }
  .auth-switcher { margin-bottom:15px; }
  .auth-form { gap:9px; margin-top:12px; }
  .auth-form input { height:44px; }
  .auth-code-control { height:54px; }
  .auth-form .auth-code-control input.auth-code-input { height:54px; }
  .auth-form .button-full { min-height:46px; }
  .auth-content .modal-note { margin-top:10px; }
}
@media(max-width:380px) {
  .auth-content { padding:16px 15px 18px; }
  .auth-code-slots { gap:5px; }
  .auth-code-slot { border-radius:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .auth-code-slot,.auth-code-slot.is-filled,.auth-code-control.is-error { animation:none!important; transition:color .15s ease,border-color .15s ease,background .15s ease; }
}
.public-home #server-modes .mode-card-fullbleed.has-mode-emblem { background-image:radial-gradient(ellipse at 74% 34%,color-mix(in srgb,var(--mode-accent) 30%,transparent),transparent 42%),radial-gradient(ellipse at 20% 0%,rgba(var(--theme-accent-rgb, 100, 145, 213), .2),transparent 48%),linear-gradient(145deg,var(--theme-panel, #172740) 0%,var(--theme-base, #0c1729) 62%,var(--theme-base, #08111f) 100%); }
.public-home #server-modes .mode-card-fullbleed.has-mode-emblem::before { background:linear-gradient(0deg,rgba(var(--theme-deep-rgb, 5, 10, 20), .97) 0%,rgba(var(--theme-deep-rgb, 5, 10, 20), .78) 36%,rgba(var(--theme-deep-rgb, 5, 10, 20), .04) 100%); }
.public-home #server-modes .mode-card-fullbleed.has-mode-emblem::after { top:80px; right:28px; width:235px; height:88px; border-color:color-mix(in srgb,var(--mode-accent) 55%,rgba(218,235,255,.5)); box-shadow:0 0 0 15px color-mix(in srgb,var(--mode-accent) 5%,transparent); opacity:.42; transform:rotate(-24deg); }
.mode-fallback-art { position:absolute; top:40%; right:24%; width:158px; height:158px; display:grid; place-items:center; pointer-events:none; filter:drop-shadow(0 20px 25px rgba(0,0,0,.38)); }
.mode-fallback-art::before { position:absolute; inset:17px -30px; content:""; border:1px solid color-mix(in srgb,var(--mode-accent) 58%,rgba(225,239,255,.5)); border-radius:50%; transform:rotate(-28deg); box-shadow:0 0 26px color-mix(in srgb,var(--mode-accent) 17%,transparent),inset 0 0 24px color-mix(in srgb,var(--mode-accent) 9%,transparent); }
.mode-fallback-art::after { position:absolute; width:118px; height:118px; content:""; border-radius:50%; background:var(--mode-accent); filter:blur(48px); opacity:.27; }
.mode-fallback-art i { position:relative; z-index:1; display:block; width:84px; height:106px; clip-path:polygon(50% 0,89% 19%,100% 72%,50% 100%,0 72%,11% 19%); background:linear-gradient(145deg,color-mix(in srgb,var(--mode-accent) 88%,white),color-mix(in srgb,var(--mode-accent) 57%,var(--theme-panel, #182b46)) 53%,var(--theme-base, #0c1728)); box-shadow:0 0 34px color-mix(in srgb,var(--mode-accent) 38%,transparent); }
.mode-fallback-art i::before { position:absolute; inset:2px; content:""; clip-path:inherit; background:linear-gradient(110deg,rgba(255,255,255,.36),transparent 38%),linear-gradient(70deg,transparent 49%,rgba(var(--theme-deep-rgb, 4, 12, 25), .42) 50%); }
.public-home #server-modes .mode-card-fullbleed.has-mode-emblem .mode-content { position:relative; z-index:2; }
.public-home #server-modes .mode-card-fullbleed.has-mode-cover { background-position:center 38%; }
.public-home #server-modes .mode-card-fullbleed.has-mode-character { background-blend-mode:normal; }
.public-home #server-modes .mode-card-fullbleed.has-mode-character::after { z-index:0; top:auto; right:10%; bottom:8%; width:48%; height:42%; border:0; border-radius:50%; background:radial-gradient(ellipse, color-mix(in srgb,var(--mode-accent) 24%,transparent), transparent 70%); filter:blur(16px); opacity:.8; transform:none; }
.public-home #server-modes .mode-character { position:absolute; z-index:1; right:-2%; bottom:-3%; width:61%; height:92%; object-fit:contain; object-position:right bottom; pointer-events:none; user-select:none; filter:drop-shadow(0 16px 22px rgba(0,0,0,.38)) drop-shadow(0 0 18px color-mix(in srgb,var(--mode-accent) 22%,transparent)); }
.public-home #server-modes .mode-card-fullbleed.has-mode-character .mode-card-top,
.public-home #server-modes .mode-card-fullbleed.has-mode-character .mode-content { z-index:2; }
.public-home #server-modes .mode-card-fullbleed.has-mode-character .mode-content { max-width:62%; }
.public-home #server-modes .mode-card-fullbleed.has-mode-character .mode-content > p { max-width:100%; }
@media(max-width:600px) {
  .public-home #server-modes .mode-character { right:-2%; bottom:-2%; width:58%; height:78%; }
  .public-home #server-modes .mode-card-fullbleed.has-mode-character .mode-content { max-width:68%; }
}
.mode-switch-mark { position:relative; isolation:isolate; overflow:hidden; display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border:1px solid color-mix(in srgb,var(--mode-icon-accent,var(--theme-accent, #83aaff)) 42%,rgba(var(--theme-pale-rgb, 193, 216, 255), .2)); border-radius:13px; background:radial-gradient(circle at 28% 18%,color-mix(in srgb,var(--mode-icon-accent,var(--theme-accent, #83aaff)) 32%,transparent),transparent 64%),linear-gradient(145deg,var(--theme-panel, #1a2b45),var(--theme-base, #0b1423)); box-shadow:inset 0 1px rgba(255,255,255,.13),0 5px 16px rgba(0,0,0,.2); color:#e8f2ff; font-size:16px; font-weight:800; }
.mode-switch-mark::after { content:""; position:absolute; z-index:-1; inset:7px; border:1px solid color-mix(in srgb,var(--mode-icon-accent,var(--theme-accent, #83aaff)) 55%,transparent); border-radius:9px; transform:rotate(45deg); opacity:.58; }
.mode-switch-server img { width:100%; height:100%; object-fit:cover; }
.mode-switch-server:has(img)::before { position:absolute; inset:0; content:""; background:linear-gradient(145deg,rgba(var(--theme-base-rgb, 7, 15, 28), .08),rgba(var(--theme-base-rgb, 7, 15, 28), .62)); }
.mode-switch-server i { font-style:normal; text-shadow:0 1px 12px var(--mode-icon-accent,var(--theme-accent, #83aaff)); }
.mode-switch-all { color:var(--theme-pale, #c7dbff); background:radial-gradient(circle at 50% 42%,rgba(var(--theme-accent-rgb, 137, 177, 255), .3),transparent 65%),linear-gradient(145deg,var(--theme-panel, #1c3456),var(--theme-base, #0a1424)); }
.mode-switch-all img { width:19px; height:19px; filter:brightness(0) invert(1); }
.shop-promo-section { position:relative; min-height:400px; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.72fr); align-items:center; gap:30px; margin-top:30px; margin-bottom:30px; padding:58px 64px 72px; overflow:hidden; border:1px solid rgba(var(--theme-pale-rgb, 150, 187, 255), .2); border-radius:30px; background:radial-gradient(ellipse at 78% 48%,rgba(var(--theme-strong-rgb, 67, 116, 197), .22),transparent 42%),linear-gradient(120deg,var(--theme-base, #101c31),var(--theme-base, #0b1423) 64%,var(--theme-base, #101b30)); box-shadow:inset 0 1px rgba(255,255,255,.05),0 28px 90px rgba(0,0,0,.22); }
.shop-promo-copy { position:relative; z-index:2; max-width:590px; }.shop-promo-copy h2 { margin:20px 0 14px; font-size:clamp(36px,5vw,64px); line-height:1.08; letter-spacing:-.075em; }.shop-promo-copy h2 em { color:var(--theme-pale, #9bbaff); font-style:normal; }.shop-promo-copy>p:not(.eyebrow) { max-width:480px; margin:0 0 25px; color:var(--muted); font-size:13px; line-height:1.8; }.shop-promo-copy .button { width:max-content; }
.shop-promo-art { position:absolute; top:0; right:1%; width:43%; height:100%; display:grid; place-items:center; opacity:.9; }.shop-promo-orbit { position:absolute; width:390px; height:160px; border:1px solid rgba(var(--theme-pale-rgb, 149, 190, 255), .34); border-radius:50%; transform:rotate(-24deg); box-shadow:0 0 50px rgba(var(--theme-accent-rgb, 96, 146, 234), .1); }.shop-promo-orbit-two { width:300px; height:240px; transform:rotate(37deg); opacity:.5; }.shop-promo-crystal { display:grid; place-items:center; width:132px; height:152px; color:#e5eeff; font-size:76px; background:linear-gradient(145deg,rgba(var(--theme-pale-rgb, 152, 189, 255), .26),rgba(var(--theme-panel-rgb, 29, 53, 91), .55)); border:1px solid rgba(var(--theme-pale-rgb, 167, 202, 255), .55); clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%); filter:drop-shadow(0 0 34px rgba(var(--theme-accent-rgb, 112, 164, 255), .34)); animation:shop-crystal-float 5s ease-in-out infinite; }.shop-promo-spark { position:absolute; color:var(--theme-pale, #c8ddff); font-size:25px; animation:shop-sparkle 3s ease-in-out infinite; }.shop-promo-spark-one { top:20%; right:20%; }.shop-promo-spark-two { bottom:22%; left:17%; animation-delay:1.2s; }.shop-promo-foot { position:absolute; right:36px; bottom:23px; left:36px; display:flex; justify-content:space-between; padding-top:15px; border-top:1px solid rgba(var(--theme-pale-rgb, 170, 195, 234), .13); color:var(--theme-muted, #8296b8); font-size:10px; }.shop-promo-foot span:first-child { display:flex; align-items:center; gap:8px; }.shop-promo-foot i,.shop-hero-assurance i,.shop-catalog-note i { width:7px; height:7px; display:inline-block; border-radius:50%; background:#58d7ad; box-shadow:0 0 13px rgba(88,215,173,.7); }
@keyframes shop-crystal-float { 0%,100% { transform:translateY(0) rotate(-7deg); } 50% { transform:translateY(-12px) rotate(0); } } @keyframes shop-sparkle { 0%,100% { opacity:.35; transform:scale(.8); } 50% { opacity:1; transform:scale(1.15); } }
.public-shop { --shop-container:min(1240px,calc(100% - 64px)); }.public-shop .site-header { width:var(--shop-container); }.public-shop .site-footer { width:var(--shop-container); }.public-shop .main-nav { gap:22px; }.public-shop .shop-page-main { display:block; }.public-shop .shop-hero { position:relative; width:var(--shop-container); min-height:495px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; margin:34px auto 12px; overflow:hidden; border:1px solid rgba(var(--theme-pale-rgb, 157, 191, 249), .2); border-radius:30px; background:radial-gradient(ellipse at 80% 47%,rgba(var(--theme-accent-rgb, 80, 129, 211), .24),transparent 38%),radial-gradient(ellipse at 20% 5%,rgba(var(--theme-strong-rgb, 78, 124, 195), .13),transparent 42%),linear-gradient(135deg,var(--theme-base, #111e34),var(--theme-base, #091321) 70%); box-shadow:inset 0 1px rgba(255,255,255,.06),0 35px 100px rgba(0,0,0,.25); }
.shop-hero-copy { position:relative; z-index:3; padding:52px 0 50px 58px; }.shop-hero-copy .eyebrow { font-size:10px; letter-spacing:.14em; }.shop-hero-copy h1 { max-width:650px; margin:22px 0 16px; font-size:clamp(45px,6.2vw,78px); line-height:1.04; letter-spacing:-.085em; }.shop-hero-copy h1 em { color:var(--theme-pale, #a6c0ff); font-style:normal; text-shadow:0 0 45px rgba(var(--theme-accent-rgb, 133, 166, 255), .2); }.shop-hero-description { max-width:500px; margin:0; color:var(--theme-muted, #9aabc4); font-size:13px; line-height:1.85; }.shop-hero-actions { display:flex; align-items:center; gap:22px; margin-top:27px; }.shop-hero-actions .button { width:max-content; }.shop-hero-assurance { display:flex; align-items:center; gap:9px; color:var(--theme-muted, #9babbe); font-size:10px; }.shop-hero-stats { display:flex; align-items:center; gap:22px; margin-top:39px; }.shop-hero-stats span { display:grid; gap:5px; }.shop-hero-stats b { color:#e7efff; font-size:16px; }.shop-hero-stats small { color:var(--theme-muted, #7588a7); font-size:9px; }.shop-hero-stats>i { width:1px; height:28px; background:rgba(var(--theme-pale-rgb, 169, 196, 238), .18); }
.shop-hero-character-wrap { position:relative; align-self:stretch; min-height:480px; display:grid; justify-items:center; align-items:end; }.shop-hero-backdrop { position:absolute; inset:0; overflow:hidden; pointer-events:none; }.shop-hero-backdrop i,.shop-hero-backdrop b { position:absolute; top:12%; right:-10%; width:550px; height:220px; border:1px solid rgba(var(--theme-pale-rgb, 163, 198, 255), .27); border-radius:50%; transform:rotate(-24deg); }.shop-hero-backdrop b { top:18%; right:0; width:420px; height:280px; transform:rotate(39deg); opacity:.6; }.shop-hero-backdrop span { position:absolute; top:18%; right:14%; width:270px; height:270px; border-radius:50%; background:rgba(var(--theme-accent-rgb, 103, 152, 234), .16); filter:blur(70px); }.shop-character-halo { position:absolute; bottom:12%; width:min(75%,380px); aspect-ratio:1; border:1px solid rgba(var(--theme-pale-rgb, 154, 189, 255), .35); border-radius:50%; background:radial-gradient(circle,rgba(var(--theme-accent-rgb, 106, 153, 234), .16),transparent 68%); box-shadow:0 0 75px rgba(var(--theme-accent-rgb, 100, 149, 231), .12),inset 0 0 55px rgba(var(--theme-accent-rgb, 102, 150, 230), .1); }.shop-character-halo::before,.shop-character-halo::after { position:absolute; inset:12%; content:""; border:1px solid rgba(var(--theme-pale-rgb, 167, 198, 255), .2); border-radius:50%; transform:rotate(52deg) scaleX(1.5); }.shop-character-halo::after { transform:rotate(-52deg) scaleX(1.35); }.shop-hero-character { position:relative; z-index:2; width:min(100%,490px); max-height:490px; height:94%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 22px 30px rgba(0,0,0,.36)); animation:shop-character-in 1s cubic-bezier(.2,.8,.2,1) both,shop-character-float 6s ease-in-out 1s infinite; }.shop-character-platform { position:absolute; z-index:1; bottom:42px; width:56%; height:42px; border:1px solid rgba(var(--theme-pale-rgb, 171, 204, 255), .4); border-radius:50%; background:radial-gradient(ellipse,rgba(var(--theme-accent-rgb, 120, 169, 255), .24),rgba(var(--theme-accent-rgb, 85, 125, 200), .09) 48%,transparent 72%); box-shadow:0 15px 35px rgba(var(--theme-strong-rgb, 60, 109, 193), .2); }.shop-character-platform::before { position:absolute; content:""; inset:5px 15%; border-top:1px solid rgba(var(--theme-pale-rgb, 201, 221, 255), .45); border-radius:50%; }.shop-character-label { position:absolute; z-index:4; right:25px; bottom:24px; display:flex; align-items:center; gap:9px; color:var(--theme-accent, #a5b8d7); font-size:8px; letter-spacing:.13em; }.shop-character-label i { width:6px; height:6px; background:var(--theme-pale, #96b5ff); border-radius:50%; box-shadow:0 0 10px var(--theme-pale, #96b5ff); }.shop-hero-scroll { position:absolute; z-index:4; bottom:24px; left:58px; display:flex; align-items:center; gap:10px; color:var(--theme-muted, #687e9f); font-size:8px; letter-spacing:.12em; }.shop-hero-scroll span { color:var(--theme-pale, #b6ccff); font-size:16px; animation:shop-scroll-bob 1.5s ease-in-out infinite; }
@keyframes shop-character-in { from { opacity:0; transform:translateY(22px) scale(.97); } to { opacity:1; } } @keyframes shop-character-float { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } } @keyframes shop-scroll-bob { 50% { transform:translateY(4px); } }
.public-shop .store-section { width:var(--shop-container); padding:64px 0 95px; }.public-shop .section-topline { margin-bottom:30px; }.public-shop .section-topline h2 { font-size:clamp(36px,4.5vw,54px); }.shop-catalog-note { display:flex; align-items:center; gap:9px; padding:12px 15px; border:1px solid rgba(124,207,181,.17); border-radius:99px; background:rgba(54,153,124,.08); color:#a5c8bd; font-size:9px; }.public-shop .mode-switcher-block { margin-bottom:23px; padding:18px 20px; border-color:rgba(var(--theme-accent-rgb, 156, 188, 245), .15); background:linear-gradient(120deg,rgba(var(--theme-panel-rgb, 23, 39, 65), .94),rgba(var(--theme-base-rgb, 12, 21, 36), .94)); }.public-shop .mode-switcher-heading { margin:0 0 15px; }.public-shop .mode-switcher-heading strong { font-size:12px; }.public-shop .mode-switcher { display:flex; gap:10px; overflow-x:auto; padding:2px 1px 6px; scrollbar-width:thin; }.public-shop .mode-switch { min-width:190px; min-height:62px; display:flex; gap:12px; align-items:center; padding:9px 13px; border:1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .15); border-radius:14px; background:rgba(var(--theme-deep-rgb, 6, 13, 24), .58); text-align:left; transition:transform .22s,border-color .22s,background .22s; }.public-shop .mode-switch:hover { transform:translateY(-2px); border-color:rgba(var(--theme-pale-rgb, 156, 191, 255), .42); }.public-shop .mode-switch.active { border-color:rgba(var(--theme-accent-rgb, 146, 181, 255), .66); background:linear-gradient(135deg,rgba(var(--theme-accent-rgb, 105, 150, 228), .23),rgba(var(--theme-panel-rgb, 31, 49, 78), .62)); box-shadow:inset 0 1px rgba(255,255,255,.07),0 8px 24px rgba(var(--theme-raised-rgb, 44, 82, 148), .15); }.public-shop .mode-switch>span:last-child { display:grid; gap:5px; min-width:0; }.public-shop .mode-switch b { overflow:hidden; color:#e8efff; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.public-shop .mode-switch small { color:var(--theme-muted, #8295b2); font-size:8px; }.public-shop .mode-switch-server img { border-radius:12px; }
.public-shop .store-toolbar { display:flex; align-items:end; justify-content:space-between; gap:22px; margin-bottom:25px; }.public-shop .store-toolbar .store-tabs { flex:1; margin:0; }.public-shop .store-search { width:min(290px,32%); }.public-shop .product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.public-shop .product-card { grid-column:auto; min-height:430px; border:1px solid rgba(var(--theme-accent-rgb, 155, 185, 234), .15); border-radius:20px; background:linear-gradient(150deg,var(--theme-base, #111e32),var(--theme-base, #0a1322) 66%); box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 40px rgba(0,0,0,.13); transition:transform .28s,border-color .28s,box-shadow .28s; }.public-shop .product-card:hover { transform:translateY(-5px); border-color:rgba(var(--theme-accent-rgb, 145, 184, 255), .42); box-shadow:0 25px 60px rgba(0,0,0,.3),0 0 32px rgba(var(--theme-accent-rgb, 106, 151, 226), .08); }.public-shop .product-art { height:215px; flex-basis:215px; }.public-shop .product-info { align-items:start; gap:10px; min-height:126px; padding:18px 19px 9px; }.public-shop .product-info h3 { font-size:16px; line-height:1.4; }.public-shop .product-info p { color:var(--theme-muted, #8699b6); font-size:9px; line-height:1.7; }.public-shop .product-price { flex:none; padding-top:2px; color:#eff4ff; font-size:13px; white-space:nowrap; }.public-shop .product-card-foot { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 18px 17px; }.public-shop .product-delivery { grid-column:1/-1; color:var(--theme-muted, #8193ae); font-size:8px; }.public-shop .product-buy,.public-shop .cart-add { width:100%; min-height:42px; margin:0; padding:0 12px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(var(--theme-accent-rgb, 142, 177, 240), .22); border-radius:11px; background:rgba(var(--theme-accent-rgb, 118, 154, 218), .08); color:var(--theme-pale, #c3d6ff); font-size:9px; font-weight:700; }.public-shop .cart-add { background:linear-gradient(135deg,var(--theme-pale, #a8c4ff),var(--theme-accent, #769de8)); border-color:transparent; color:var(--theme-base, #091426); }.public-shop .product-buy:hover,.public-shop .cart-add:hover { filter:brightness(1.1); }.public-shop .product-buy .ui-icon { width:14px; height:14px; }.public-shop .empty-store,.public-shop .store-search-empty { grid-column:1/-1; }
@media(max-width:900px) { .public-shop .main-nav { gap:13px; font-size:10px; }.public-shop .shop-hero { grid-template-columns:1fr .8fr; }.shop-hero-copy { padding-left:34px; }.shop-hero-copy h1 { font-size:clamp(42px,7vw,65px); }.public-shop .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .public-shop { --shop-container:calc(100% - 28px); }.public-shop .site-header { min-height:72px; }.public-shop .server-status { display:none; }.public-shop .main-nav { display:none; }.public-shop .shop-hero { min-height:620px; grid-template-columns:1fr; grid-template-rows:auto 1fr; margin-top:14px; border-radius:22px; }.shop-hero-copy { padding:32px 23px 0; }.shop-hero-copy h1 { max-width:460px; margin:16px 0 12px; font-size:clamp(40px,11vw,62px); }.shop-hero-description { max-width:430px; font-size:11px; }.shop-hero-actions { flex-wrap:wrap; gap:15px; margin-top:19px; }.shop-hero-actions .button { min-height:44px; }.shop-hero-stats { gap:15px; margin-top:23px; }.shop-hero-stats b { font-size:14px; }.shop-hero-stats small { font-size:8px; }.shop-hero-character-wrap { min-height:250px; }.shop-hero-character { width:min(77%,340px); max-height:330px; }.shop-character-platform { bottom:27px; }.shop-character-label { right:13px; bottom:13px; font-size:6px; }.shop-hero-scroll { bottom:15px; left:23px; }.public-shop .store-section { padding:40px 0 65px; }.public-shop .section-topline { align-items:start; flex-direction:column; gap:10px; }.public-shop .section-topline h2 { font-size:clamp(34px,9vw,46px); }.shop-catalog-note { font-size:8px; }.public-shop .mode-switcher-block { padding:14px; }.public-shop .mode-switch { min-width:160px; }.public-shop .store-toolbar { align-items:stretch; flex-direction:column; gap:13px; }.public-shop .store-search { width:100%; }.public-shop .store-tabs { overflow:auto; }.public-shop .product-grid { grid-template-columns:1fr; gap:13px; }.public-shop .product-card { min-height:0; }.public-shop .product-art { height:190px; flex-basis:190px; }.public-shop .product-info { min-height:110px; }.shop-promo-section { width:calc(100% - 28px); min-height:390px; grid-template-columns:1fr; padding:34px 24px 72px; border-radius:22px; }.shop-promo-art { top:15px; right:-20%; width:62%; opacity:.5; }.shop-promo-copy h2 { font-size:39px; }.shop-promo-copy>p:not(.eyebrow) { max-width:360px; font-size:11px; }.shop-promo-foot { right:22px; left:22px; font-size:7px; } }
@media(max-width:600px) {
  .mode-fallback-art { top:38%; right:25%; transform:scale(.82); }
}

/* Shop: let the game artwork carry the page, keep the interface quiet. */
.public-shop .shop-hero {
  min-height: 500px;
  margin-top: 22px;
  border: 1px solid rgba(var(--theme-accent-rgb, 151, 181, 232), .14);
  border-radius: 22px;
  background: linear-gradient(105deg, var(--theme-base, #0c1524) 0%, var(--theme-base, #101b2c) 52%, var(--theme-panel, #17253a) 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.035);
}
.public-shop .shop-hero-copy { padding-left: 66px; }
.public-shop .shop-hero-copy h1 { max-width: 620px; margin-bottom: 18px; font-size: clamp(46px, 5.4vw, 70px); line-height: 1; letter-spacing: -.07em; }
.public-shop .shop-hero-copy h1 em { color: var(--theme-pale, #a9c4ff); text-shadow: none; }
.public-shop .shop-hero-description { max-width: 450px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.public-shop .shop-hero-backdrop i,
.public-shop .shop-hero-backdrop b { display: none; }
.public-shop .shop-hero-backdrop span { top: 20%; right: 8%; width: 360px; height: 360px; background: rgba(var(--theme-strong-rgb, 80, 119, 184), .13); filter: blur(90px); }
.public-shop .shop-character-halo { bottom: 8%; width: 82%; border: 0; background: radial-gradient(ellipse, rgba(var(--theme-accent-rgb, 113, 153, 222), .16), transparent 68%); box-shadow: none; }
.public-shop .shop-character-halo::before,
.public-shop .shop-character-halo::after { display: none; }
.public-shop .shop-hero-character { width: min(100%, 560px); height: 500px; max-height: none; object-fit: cover; object-position: center; filter: drop-shadow(0 18px 30px rgba(0,0,0,.24)); }
.public-shop .shop-character-platform { bottom: 35px; width: 48%; height: 26px; border-color: rgba(var(--theme-pale-rgb, 164, 194, 242), .22); background: radial-gradient(ellipse, rgba(var(--theme-accent-rgb, 123, 158, 217), .18), transparent 72%); box-shadow: none; }
.public-shop .shop-character-platform::before { display: none; }
.public-shop .shop-character-label { color: var(--theme-muted, #8596b1); }
.public-shop .shop-hero-scroll { color: var(--theme-muted, #8999b2); }
.public-shop .shop-hero-stats { gap: 18px; }
.public-shop .shop-hero-stats b { font-size: 14px; }
.public-shop .section-topline h2 { font-size: clamp(34px, 4vw, 46px); }
.public-shop .mode-switch-mark { width: 46px; height: 46px; flex-basis: 46px; border-radius: 12px; box-shadow: none; }
.public-shop .mode-switch-mark::after { display: none; }
.public-shop .mode-switch-server:has(img)::before { background: linear-gradient(145deg, rgba(var(--theme-base-rgb, 9, 17, 30), .02), rgba(var(--theme-base-rgb, 9, 17, 30), .25)); }
.public-shop .mode-switch-server img { border-radius: 11px; }
.public-shop .mode-switch-all { border-color: rgba(var(--theme-accent-rgb, 161, 190, 239), .2); background: var(--theme-panel, #1b2b43); }
.public-shop .mode-switch { min-width: 180px; border-radius: 12px; }
.public-shop .mode-switch.active { border-color: rgba(var(--theme-pale-rgb, 156, 190, 255), .5); background: var(--theme-panel, #1a2a42); box-shadow: inset 0 0 0 1px rgba(var(--theme-pale-rgb, 157, 189, 255), .08); }
.public-shop .product-card { min-height: 405px; border-radius: 16px; background: var(--theme-base, #0e1929); box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.public-shop .product-card:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,0,0,.22); }
.public-shop .product-art { border-radius: 15px 15px 0 0; }
.public-shop .product-info { min-height: 112px; }
.public-shop .product-info h3 { font-size: 15px; }
.public-shop .product-info p { font-size: 10px; }
.public-shop .cart-add { background: var(--theme-pale, #a9c4ff); }
.public-shop .shop-catalog-note { border-color: rgba(124,207,181,.13); background: rgba(54,153,124,.055); }
.shop-promo-section { border-color: rgba(var(--theme-accent-rgb, 151, 181, 232), .15); border-radius: 22px; background: linear-gradient(110deg,var(--theme-base, #101b2c),var(--theme-base, #0c1524) 68%,var(--theme-panel, #15233a)); box-shadow: inset 0 1px rgba(255,255,255,.035); }
.shop-promo-art { right: 2%; width: 44%; overflow: hidden; }
.shop-promo-glow { position: absolute; right: 12%; bottom: 7%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: rgba(var(--theme-accent-rgb, 87, 132, 207), .18); filter: blur(62px); }
.shop-promo-art img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 14px 24px rgba(0,0,0,.24)); }
@media (max-width: 900px) {
  .public-shop .shop-hero-copy { padding-left: 34px; }
  .public-shop .shop-hero-character { width: min(100%, 460px); height: 430px; }
}
@media (max-width: 650px) {
  .public-shop .shop-hero { min-height: 610px; }
  .public-shop .shop-hero-copy { padding: 30px 23px 0; }
  .public-shop .shop-hero-character-wrap { min-height: 300px; }
  .public-shop .shop-hero-character { width: min(100%, 390px); height: 320px; }
  .public-shop .shop-hero-stats { gap: 12px; }
  .public-shop .shop-hero-scroll { display: none; }
  .shop-promo-art { top: auto; right: 0; bottom: 0; width: 62%; height: 68%; opacity: .8; }
}

/* Product list: compact image, readable details, one clear primary action. */
.public-home.public-shop .product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
}

/* Give the shop catalog and hero enough breathing room; keep character motion compositor-friendly. */
.public-shop .store-section {
  box-sizing: border-box;
  padding: 58px 34px 84px;
}
.public-shop .section-topline {
  align-items: center;
  margin-bottom: 36px;
}
.public-shop .shop-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  min-height: 520px;
}
.public-shop .shop-hero-copy {
  padding: 54px 20px 54px 70px;
}
.public-shop .shop-hero-character-wrap {
  min-width: 0;
  min-height: 500px;
  overflow: hidden;
}
.public-shop .shop-hero-character {
  display: block;
  width: min(128%, 760px);
  height: auto;
  max-height: 500px;
  margin-left: -8%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.2));
  animation: shop-character-in .65s ease-out both;
}
.shop-promo-art { right: 0; bottom: 44px; width: 54%; height: calc(100% - 44px); overflow: visible; }
.shop-promo-art img { width: min(100%, 760px); height: 100%; object-fit: contain; object-position: center bottom; }
.shop-promo-foot { z-index: 2; }
.public-shop .shop-character-halo { width: min(78%, 390px); }
.public-shop .shop-hero-backdrop span { filter: blur(46px); }
.shop-promo-section,
.shop-promo-art img {
  backface-visibility: hidden;
}
.shop-promo-art img { will-change: transform; }
@keyframes shop-character-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (max-width: 900px) {
  .public-shop .store-section { padding: 48px 26px 68px; }
  .public-shop .shop-hero-copy { padding-left: 38px; }
  .public-shop .shop-hero-character-wrap { min-height: 430px; }
  .public-shop .shop-hero-character { width: min(130%, 620px); max-height: 430px; }
  .shop-promo-art { width: 54%; }
}
@media (max-width: 650px) {
  .public-shop .store-section { padding: 42px 17px 58px; }
  .public-shop .shop-hero { min-height: 620px; }
  .public-shop .shop-hero-copy { padding: 32px 23px 0; }
  .public-shop .shop-hero-character-wrap { min-height: 275px; }
  .public-shop .shop-hero-character { width: min(112%, 420px); max-height: 300px; margin-left: 0; }
  .shop-promo-art { right: 0; bottom: 44px; width: 72%; height: 70%; opacity: .72; }
}
@media (prefers-reduced-motion: reduce) {
  .public-shop .shop-hero-character,
  .shop-promo-crystal,
  .shop-promo-spark,
  .shop-hero-scroll span { animation: none !important; }
  .public-shop .mode-switch,
  .public-shop .product-card { transition: none !important; }
}

/* Homepage shop promotion: make the catalog destination and its contents unmistakable. */
.shop-promo-section {
  min-height: 430px;
  padding: 54px 64px 80px;
  border-color: rgba(var(--theme-accent-rgb, 151, 181, 232), .22);
  background: radial-gradient(ellipse at 77% 48%,rgba(var(--theme-accent-rgb, 77, 125, 212), .22),transparent 40%),linear-gradient(115deg,var(--theme-base, #101c30) 0%,var(--theme-base, #0d1728) 55%,var(--theme-panel, #14233a) 100%);
}
.shop-promo-copy { max-width: 650px; }
.shop-promo-copy h2 { max-width: 720px; margin: 17px 0 13px; font-size: clamp(40px,4.7vw,60px); line-height: 1.02; letter-spacing: -.075em; }
.shop-promo-copy > p:not(.eyebrow) { max-width: 510px; margin-bottom: 17px; font-size: 13px; line-height: 1.7; }
.shop-promo-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.shop-promo-tags span { padding:7px 10px; border:1px solid rgba(var(--theme-pale-rgb, 160, 190, 245), .17); border-radius:999px; background:rgba(var(--theme-accent-rgb, 132, 167, 228), .07); color:var(--theme-pale, #c1d2ee); font-size:9px; font-weight:700; }
.shop-promo-cta {
  width:min(300px,100%) !important;
  min-height:64px;
  justify-content:space-between;
  gap:16px;
  padding:7px 10px 7px 18px;
  border:1px solid rgba(224,236,255,.3);
  border-radius:15px;
  background:linear-gradient(115deg,var(--theme-pale, #a9c5ff),var(--theme-accent, #82aaff) 72%,var(--theme-accent, #7399ee));
  box-shadow:0 12px 32px rgba(var(--theme-accent-rgb, 84, 128, 221), .27),inset 0 1px rgba(255,255,255,.36);
  text-align:left;
}
.shop-promo-cta > span { display:grid; gap:4px; }
.shop-promo-cta small { color:rgba(var(--theme-base-rgb, 10, 24, 48), .65); font-size:8px; font-weight:800; letter-spacing:.13em; }
.shop-promo-cta strong { color:var(--theme-base, #09172c); font-size:13px; font-weight:800; }
.shop-promo-cta i { width:42px; height:42px; display:grid; flex:0 0 42px; place-items:center; border:1px solid rgba(255,255,255,.27); border-radius:12px; background:rgba(255,255,255,.2); transition:transform .2s ease,background .2s ease; }
.shop-promo-cta i .ui-icon { width:17px; height:17px; filter:brightness(0) saturate(100%) invert(10%) sepia(23%) saturate(1584%) hue-rotate(182deg) brightness(91%) contrast(95%); }
.shop-promo-cta:hover i { transform:translate(2px,-2px); background:rgba(255,255,255,.34); }
.shop-promo-cta:focus-visible { outline:3px solid #e0ebff; outline-offset:4px; }
.shop-promo-foot { color:var(--theme-muted, #a0b2d0); }
.shop-promo-foot span:first-child i { background:var(--theme-accent, #82aaff); box-shadow:0 0 12px rgba(var(--theme-accent-rgb, 130, 170, 255), .65); }
.shop-promo-section { overflow:visible; }
.shop-promo-art { z-index:1; overflow:visible; transform:translateY(-8px) scale(1.08); transform-origin:center bottom; }
.shop-promo-art img { object-fit:contain; object-position:center bottom; }
@media (max-width:650px) {
  .shop-promo-section { min-height:470px; padding:32px 22px 78px; }
  .shop-promo-copy { max-width:100%; }
  .shop-promo-copy h2 { max-width:100%; font-size:clamp(34px,9vw,43px); }
  .shop-promo-copy > p:not(.eyebrow) { max-width:100%; font-size:11px; }
  .shop-promo-tags { gap:6px; margin-bottom:16px; }
  .shop-promo-tags span { padding:6px 8px; font-size:8px; }
  .shop-promo-cta { min-height:58px; }
  .shop-promo-cta i { width:38px; height:38px; flex-basis:38px; }
  .shop-promo-foot { right:18px; left:18px; font-size:7px; }
  .shop-promo-foot span:last-child { display:none; }
  .shop-promo-art { width:72%; height:70%; transform:translateY(-5px) scale(1.04); }
}

/* The shop intro now uses the same copy + illustrated scene composition as the homepage. */
.public-shop .shop-hero {
  box-sizing: border-box;
  width: var(--shop-container);
  min-height: min(700px, calc(100svh - 150px));
  grid-template-columns: minmax(0, .83fr) minmax(480px, 1.17fr);
  gap: 20px;
  margin: 18px auto 28px;
  padding: 30px 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.public-shop .shop-hero-copy { padding: 20px 0 20px 34px; }
.public-shop .shop-hero-copy h1 {
  max-width: 650px;
  margin: 0 0 22px;
  font-size: clamp(50px, 6vw, 82px);
  line-height: .92;
  letter-spacing: -.072em;
}
.public-shop .shop-hero-description { max-width: 510px; font-size: 15px; line-height: 1.65; }
.public-shop .shop-hero-actions { margin: 30px 0 20px; }
.public-shop .shop-hero-scene {
  min-width: 0;
  min-height: 590px;
  isolation: isolate;
}
.public-shop .shop-hero-scene::after {
  left: 39%;
  right: 5%;
  bottom: 2%;
  height: 17%;
}
.public-shop .shop-hero .hero-character-stage {
  top: 50%;
  left: 50%;
  right: auto;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}
.public-shop .shop-hero .shop-hero-character {
  --shop-character-x: -60%;
  --shop-character-scale: 1.5;
  top: 50%;
  left: 50%;
  right: auto;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  transform: translate(var(--shop-character-x), -50%) scale(var(--shop-character-scale));
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 22px 24px rgba(var(--theme-deep-rgb, 1, 5, 14), .48)) drop-shadow(0 0 20px rgba(var(--theme-accent-rgb, 85, 130, 210), .17));
  will-change: transform;
  animation: shop-character-gentle-float 5.5s ease-in-out infinite;
}
.public-shop .shop-hero .hero-person-glow { right: 19%; background: rgba(var(--theme-accent-rgb, 79, 125, 210), .24); animation: hero-glow 5.5s ease-in-out infinite; }
.public-shop .shop-hero .hero-portal { animation: portal-breathe 5s ease-in-out infinite; }
.public-home.public-shop .product-card.hidden { display: none !important; }
@keyframes shop-character-gentle-float {
  0%, 100% { transform: translate(var(--shop-character-x), -50%) scale(var(--shop-character-scale)) rotate(-1deg); }
  50% { transform: translate(var(--shop-character-x), calc(-50% - 12px)) scale(var(--shop-character-scale)) rotate(1deg); }
}
@media (max-width: 900px) {
  .public-shop .shop-hero { grid-template-columns: minmax(0, .9fr) minmax(400px, 1.1fr); }
  .public-shop .shop-hero-scene { min-height: 520px; }
  .public-shop .shop-hero .shop-hero-character { --shop-character-x: -58%; --shop-character-scale: 1.36; }
}
@media (max-width: 700px) {
  .public-shop .shop-hero { min-height: 0; grid-template-columns: 1fr; gap: 0; padding: 32px 0 0; }
  .public-shop .shop-hero-copy { padding: 12px 18px 0; }
  .public-shop .shop-hero-scene { width: 100%; min-height: 420px; margin: 0; }
  .public-shop .shop-hero .hero-character-stage { width: 100%; height: 100%; }
  .public-shop .shop-hero .shop-hero-character { --shop-character-x: -50%; --shop-character-scale: 1.05; }
}
@media (max-width: 480px) {
  .public-shop .shop-hero-copy { padding-inline: 8px; }
  .public-shop .shop-hero .shop-hero-scene { min-height: 360px; }
  .public-shop .shop-hero .shop-hero-character { --shop-character-scale: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  .public-shop .shop-hero .shop-hero-character,
  .public-shop .shop-hero .hero-person-glow,
  .public-shop .shop-hero .hero-portal { animation: none !important; }
}
.public-home.public-shop .product-card,
.public-home.public-shop .product-card:nth-child(n) {
  display: grid;
  grid-column: auto;
  grid-template-columns: minmax(160px, .78fr) minmax(0, 1.22fr);
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 245px;
  overflow: hidden;
  border: 1px solid rgba(var(--theme-accent-rgb, 157, 181, 224), .16);
  border-radius: 18px;
  background: linear-gradient(140deg, var(--theme-base, #111d30), var(--theme-base, #0a1423) 78%);
  box-shadow: 0 12px 30px rgba(0,0,0,.14), inset 0 1px rgba(255,255,255,.035);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.public-home.public-shop .product-card:hover {
  transform: translateY(-3px);
  border-color: rgba(var(--theme-accent-rgb, 142, 179, 245), .42);
  box-shadow: 0 20px 42px rgba(0,0,0,.24);
}
.public-home.public-shop .product-art {
  grid-column: 1;
  grid-row: 1 / 3;
  height: auto;
  min-height: 245px;
  flex: none;
  border-radius: 0;
  background: radial-gradient(ellipse at 50% 48%, var(--theme-raised, #304b76), var(--theme-panel, #17263e) 58%, var(--theme-base, #0d1728));
}
.public-home.public-shop .product-art::before {
  width: 170px;
  height: 105px;
  border-color: rgba(var(--theme-pale-rgb, 180, 207, 255), .18);
}
.public-home.public-shop .product-art::after {
  width: 205px;
  height: 135px;
  border-color: rgba(var(--theme-pale-rgb, 180, 207, 255), .11);
}
.public-home.public-shop .product-avatar {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: 82%;
  max-height: 82%;
  min-width: 0;
  min-height: 0;
  padding: 4px;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.34));
  transform: translate(-50%, -50%) scale(1.08);
  transition: transform .25s ease;
}
.public-home.public-shop .product-card:hover .product-avatar { transform: translate(-50%, -50%) scale(1.16); }
.public-home.public-shop .product-art-kicker { top: 12px; right: 12px; font-size: 7px; }
.public-home.public-shop .product-info {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  min-height: 0;
  align-items: flex-start;
  gap: 9px;
  padding: 18px 17px 5px;
}
.public-home.public-shop .product-type { color: var(--theme-muted, #92a7c7); font-size: 8px; letter-spacing: .12em; }
.public-home.public-shop .product-info h3 { margin: 6px 0 7px; color: #f0f4fc; font-size: 16px; line-height: 1.35; }
.public-home.public-shop .product-copy p { display: -webkit-box; overflow: hidden; color: var(--theme-muted, #95a5bc); font-size: 10px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.public-home.public-shop .product-price { padding-top: 1px; color: #f3f6fc; font-size: 15px !important; white-space: nowrap; }
.public-home.public-shop .product-price del { display: block; margin-bottom: 4px; color: var(--theme-muted, #7e8ca2); font-size: 9px; }
.public-home.public-shop .product-card-foot {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 9px 14px 14px;
}
.public-home.public-shop .product-delivery { grid-column: 1 / -1; color: var(--theme-muted, #8fa2b9); font-size: 8px; }
.public-home.public-shop .product-delivery i { background: #75d4b2; }
.public-home.public-shop .cart-add {
  width: auto;
  min-height: 40px;
  padding: 0 11px;
  border-color: rgba(var(--theme-accent-rgb, 151, 181, 232), .2);
  border-radius: 10px;
  background: rgba(var(--theme-accent-rgb, 151, 181, 232), .07);
  color: var(--theme-pale, #c1d2ec);
  font-size: 9px;
}
.public-home.public-shop .product-card-foot .product-buy {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  margin: 0;
  padding: 0 12px;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 10px;
  background: var(--theme-pale, #a8c3ff);
  color: var(--theme-base, #0b1729);
  font-size: 10px;
}
.public-home.public-shop .product-card-foot .product-buy:hover { background: var(--theme-pale, #c0d3ff); }
.public-home.public-shop .product-card-foot .product-buy .ui-icon { width: 13px; height: 13px; }
.public-home.public-shop .product-card.is-special-offer,
.public-home.public-shop .product-card.is-special-offer:nth-child(n) {
  grid-column: 1 / -1;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
  min-height: 290px;
  border-color: rgba(var(--theme-accent-rgb, 255, 205, 125),.72);
  background: radial-gradient(ellipse at 84% 0%, rgba(var(--theme-accent-rgb, 255, 205, 125),.13), transparent 42%), linear-gradient(115deg, var(--theme-panel, #20283a), var(--theme-base, #111b2d) 55%, var(--theme-panel, #18263d));
  box-shadow: 0 16px 42px rgba(0,0,0,.2), 0 0 34px rgba(var(--theme-accent-rgb, 255, 205, 125),.16), inset 3px 0 rgba(var(--theme-accent-rgb, 255, 205, 125),.85), inset 0 1px rgba(255,255,255,.07);
}
.public-home.public-shop .product-card.is-special-offer .product-art {
  min-height: 290px;
  background: radial-gradient(ellipse at 50% 48%, var(--theme-raised, #66513b), var(--theme-panel, #28344d) 60%, var(--theme-base, #172239));
}
.public-home.public-shop .product-card.is-special-offer .product-info { position: relative; padding: 22px 22px 7px; }
.public-home.public-shop .product-card.is-special-offer .product-info::before { position: absolute; top: 18px; bottom: 18px; left: 0; width: 1px; background: linear-gradient(transparent, rgba(var(--theme-accent-rgb, 255, 205, 125),.36), transparent); content: ''; }
.public-home.public-shop .product-card.is-special-offer .product-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.public-home.public-shop .product-card.is-special-offer .product-special-label { margin: 0; }
.public-home.public-shop .product-card.is-special-offer .product-type { display: block; padding: 4px 8px; border: 1px solid rgba(var(--theme-accent-rgb, 178, 198, 230),.12); border-radius: 99px; background: rgba(var(--theme-deep-rgb, 5, 12, 23),.28); line-height: 1.4; }
.public-home.public-shop .product-card.is-special-offer .product-info h3 { margin: 1px 0 0; font-size: 22px; line-height: 1.25; }
.public-home.public-shop .product-card.is-special-offer .product-copy p { max-width: 520px; margin: 0; line-height: 1.7; }
.public-home.public-shop .product-card.is-special-offer .product-price { margin: -5px -5px 0 0; padding: 8px 11px; border: 1px solid rgba(var(--theme-accent-rgb, 255, 205, 125),.2); border-radius: 12px; background: rgba(var(--theme-deep-rgb, 7, 13, 23),.28); color: var(--theme-pale, #ffe0ae); }
.public-home.public-shop .product-special-label {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  padding: 7px 10px;
  border: 1px solid rgba(var(--theme-accent-rgb, 255, 205, 125),.34);
  border-radius: 99px;
  background: rgba(var(--theme-accent-rgb, 255, 205, 125),.2);
  color: var(--theme-accent, #ffd28e);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
}
.public-home.public-shop .product-card.is-special-offer .product-price { font-size: 18px !important; }
.public-home.public-shop .product-card.is-special-offer .product-avatar { max-width: 88%; max-height: 88%; }
@media (max-width: 900px) {
  .public-home.public-shop .product-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .public-home.public-shop .product-card,
  .public-home.public-shop .product-card:nth-child(n) {
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 205px;
    border-radius: 14px;
  }
  .public-home.public-shop .product-card.is-special-offer,
  .public-home.public-shop .product-card.is-special-offer:nth-child(n) {
    grid-column: auto;
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 205px;
  }
  .public-home.public-shop .product-card.is-special-offer .product-art { min-height: 205px; }
  .public-home.public-shop .product-card.is-special-offer .product-info { padding: 13px 11px 3px; }
  .public-home.public-shop .product-card.is-special-offer .product-copy { gap: 5px; }
  .public-home.public-shop .product-card.is-special-offer .product-info h3 { font-size: 14px; }
  .public-home.public-shop .product-special-label { margin-bottom: 3px; padding: 5px 7px; font-size: 7px; }
  .public-home.public-shop .product-art { min-height: 205px; }
  .public-home.public-shop .product-art-kicker { display: none; }
  .public-home.public-shop .product-avatar { transform: translate(-50%, -50%) scale(1.04); }
  .public-home.public-shop .product-card:hover .product-avatar { transform: translate(-50%, -50%) scale(1.1); }
  .public-home.public-shop .product-info { gap: 6px; padding: 13px 11px 3px; }
  .public-home.public-shop .product-info h3 { font-size: 14px; }
  .public-home.public-shop .product-copy p { font-size: 9px; -webkit-line-clamp: 2; }
  .public-home.public-shop .product-price { font-size: 12px !important; }
  .public-home.public-shop .product-card-foot { gap: 6px; padding: 7px 10px 11px; }
  .public-home.public-shop .product-delivery { display: none; }
  .public-home.public-shop .cart-add { min-height: 36px; padding: 0 7px; font-size: 8px; }
  .public-home.public-shop .product-card-foot .product-buy { min-height: 36px; padding: 0 8px; font-size: 9px; }
}

/* Homepage catalog banner: character size follows the card height. */
.shop-promo-section {
  display:block; isolation:isolate; overflow:visible; padding:58px 64px;
  margin-top:80px; margin-bottom:60px; min-height:430px;
  border-color:rgba(var(--theme-pale-rgb, 156, 176, 255), .32);
  background:radial-gradient(ellipse at 78% 48%,rgba(var(--theme-strong-rgb, 101, 76, 194), .28),transparent 48%),linear-gradient(115deg,var(--theme-base, #101c30),var(--theme-base, #0b1425) 52%,var(--theme-panel, #192443));
  box-shadow:inset 0 1px 0 rgba(220,230,255,.1),0 24px 65px rgba(0,0,0,.24);
}
.shop-promo-section::before {
  content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none;
  background:linear-gradient(120deg,transparent 55%,rgba(var(--theme-pale-rgb, 151, 169, 255), .06) 55.1%,transparent 75%),repeating-linear-gradient(135deg,transparent 0 55px,rgba(var(--theme-pale-rgb, 161, 183, 255), .025) 56px 57px,transparent 58px 112px);
}
.shop-promo-section::after { content:""; position:absolute; top:0; left:12%; width:38%; height:1px; background:linear-gradient(90deg,transparent,var(--theme-pale, #9ab8ff),transparent); pointer-events:none; }
.shop-promo-section .shop-promo-cta { min-height:60px; padding:12px 17px 12px 23px; box-shadow:0 8px 30px rgba(var(--theme-accent-rgb, 103, 141, 255), .24),inset 0 1px rgba(255,255,255,.4); }
.shop-promo-section .shop-promo-tags span { border-radius:8px; padding:9px 12px; background:rgba(var(--theme-accent-rgb, 126, 153, 224), .09); }
.shop-promo-crystal { position:absolute; width:20px; height:30px; clip-path:polygon(50% 0,100% 35%,70% 100%,20% 85%,0 30%); background:linear-gradient(125deg,#d3edff,var(--theme-accent, #7e9cff) 43%,var(--theme-strong, #5746ab) 44%,var(--theme-accent, #ab86ff)); opacity:.8; animation:shop-promo-crystal-float 7s ease-in-out infinite; }
.crystal-one { left:12%; top:24%; rotate:-22deg; }
.crystal-two { right:9%; top:17%; width:15px; height:23px; rotate:24deg; animation-delay:-2s; }
.crystal-three { right:13%; bottom:18%; width:25px; height:36px; rotate:16deg; animation-delay:-4s; }
@keyframes shop-promo-crystal-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@media(prefers-reduced-motion:reduce) { .shop-promo-crystal { animation:none; } }
.shop-promo-copy { width:59%; max-width:740px; }
.shop-promo-copy h2 { max-width:none; font-size:clamp(42px,3.55vw,52px); line-height:1.04; }
.shop-promo-art { position:absolute; top:0; right:1%; bottom:0; width:48%; height:auto; transform:none; overflow:visible; isolation:isolate; opacity:1; pointer-events:none; }
.shop-promo-effects { position:absolute; inset:0; z-index:0; overflow:hidden; border-radius:20px; pointer-events:none; }
.shop-promo-effects .shop-promo-glow { position:absolute; inset:0; width:auto; height:auto; aspect-ratio:auto; border-radius:0; filter:none; background:radial-gradient(ellipse at 52% 48%,rgba(var(--theme-accent-rgb, 134, 142, 255), .36),rgba(var(--theme-accent-rgb, 114, 79, 215), .15) 42%,transparent 70%); animation:shop-promo-glow-pulse 5.5s ease-in-out infinite; }
.shop-promo-art img { position:absolute; z-index:1; top:50%; left:50%; width:auto; height:calc(100% + 72px); max-width:none; max-height:none; object-fit:contain; backface-visibility:visible; will-change:auto; translate:-50% 0; transform:translateY(-50%); filter:none; transition:none; animation:hero-person-float 5.5s ease-in-out infinite; }
@keyframes shop-promo-glow-pulse { 0%,100% { opacity:.65; } 50% { opacity:1; } }
@media (max-width:1000px) and (min-width:651px) {
  .shop-promo-copy { width:60%; }
  .shop-promo-copy h2 { font-size:clamp(34px,4vw,42px); }
  .shop-promo-art { right:0; width:43%; }
}
@media (max-width:650px) {
  .shop-promo-section { padding:30px 22px 24px; }
  .shop-promo-copy { width:100%; }
  .shop-promo-copy h2 { font-size:clamp(32px,8.5vw,43px); }
  .shop-promo-art { position:relative; top:auto; right:auto; bottom:auto; width:100%; height:250px; margin:0 0 12px; transform:none; }
  .shop-promo-art img { width:auto; height:calc(100% + 24px); }
}
@media (prefers-reduced-motion:reduce) {
  .shop-promo-art img,.shop-promo-effects .shop-promo-glow { animation:none; }
}

/* Decorative light specks stay inside the banner's effects layer. */
.shop-promo-effects::before,.shop-promo-effects::after {
  content:""; position:absolute; inset:12%; pointer-events:none;
  background:radial-gradient(circle at 14% 24%,var(--theme-pale, #c4d9ff) 0 2px,transparent 3px),radial-gradient(circle at 82% 18%,var(--theme-pale, #a7c4ff) 0 2px,transparent 3px),radial-gradient(circle at 88% 73%,var(--theme-pale, #c6b5ff) 0 1.5px,transparent 3px),radial-gradient(circle at 22% 84%,var(--theme-pale, #a4ceff) 0 1.5px,transparent 3px);
  animation:shop-promo-specks 4s ease-in-out infinite alternate;
}
.shop-promo-effects::after { inset:22% 5%; opacity:.3; animation-delay:-2s; }
@keyframes shop-promo-specks { from { opacity:.2; } to { opacity:.8; } }
@media (prefers-reduced-motion:reduce) {
 .shop-promo-effects::before,.shop-promo-effects::after { animation:none; opacity:.45; }
}

/* Mode cards borrow the feature-card character treatment without inheriting its masonry spans. */
.public-home .modes-section { padding-top:84px; padding-bottom:84px; }
.public-home .modes-section .section-heading { max-width:760px; margin-bottom:30px; }
.public-home #server-modes.modes-grid { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:minmax(330px,auto); gap:16px; align-items:stretch; }
.public-home #server-modes.modes-grid[data-mode-count="1"] { grid-template-columns:minmax(0,560px); }
.public-home #server-modes.modes-grid[data-mode-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-home #server-modes .mode-feature-card { position:relative; isolation:isolate; grid-column:auto !important; grid-row:auto !important; width:100%; min-width:0; min-height:330px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:24px; overflow:hidden; border:1px solid rgba(var(--theme-pale-rgb,157,181,224),.15); border-radius:var(--radius); box-shadow:inset 0 1px rgba(255,255,255,.06),0 16px 38px rgba(0,0,0,.2); }
.public-home #server-modes .mode-feature-card.mode-tone-one { background:radial-gradient(ellipse at 82% 18%,color-mix(in srgb,var(--mode-accent) 25%,transparent),transparent 44%),linear-gradient(145deg,var(--theme-panel,#172740),var(--theme-base,#0b1427) 78%); }
.public-home #server-modes .mode-feature-card.mode-tone-two { background:radial-gradient(ellipse at 82% 18%,color-mix(in srgb,var(--mode-accent) 21%,transparent),transparent 47%),linear-gradient(145deg,var(--theme-strong,#193958),var(--theme-base,#0b1427) 82%); }
.public-home #server-modes .mode-feature-card.mode-tone-three { background:radial-gradient(ellipse at 82% 18%,color-mix(in srgb,var(--mode-accent) 20%,transparent),transparent 47%),linear-gradient(145deg,var(--theme-raised,#16243d),var(--theme-base,#090f1d) 82%); }
.public-home #server-modes .mode-card-backdrop { position:absolute; z-index:0; inset:0; background-position:center; background-size:cover; opacity:.12; mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.14) 28%,#000 100%); }
.public-home #server-modes .mode-feature-card::before { position:absolute; z-index:1; inset:0; content:""; pointer-events:none; background:linear-gradient(0deg,rgba(var(--theme-deep-rgb,5,12,25),.42),transparent 75%); }
.public-home #server-modes .mode-feature-card::after { z-index:0; top:auto; right:-70px; bottom:-150px; width:260px; height:260px; border-color:color-mix(in srgb,var(--mode-accent) 36%,rgba(218,235,255,.24)); opacity:.2; }
.public-home #server-modes .mode-feature-card .mode-character { position:absolute; z-index:2; top:50%; right:-8%; bottom:auto; left:auto; width:auto; height:118%; max-width:70%; object-fit:contain; object-position:center bottom; transform:translateY(-48%) scale(1.13); filter:drop-shadow(0 18px 20px rgba(0,0,0,.42)); transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.public-home #server-modes .mode-feature-card:hover .mode-character { transform:translateY(-49%) translateX(1%) scale(1.18); filter:drop-shadow(0 22px 24px rgba(0,0,0,.5)) drop-shadow(0 0 20px color-mix(in srgb,var(--mode-accent) 28%,transparent)); }
.public-home #server-modes .mode-feature-card .feature-copy { position:relative; z-index:4; width:63%; max-width:63%; margin:0 !important; padding:0 0 22px; }
.public-home #server-modes .mode-feature-card .feature-copy::before { inset:-22% -23% -22% -20%; background:radial-gradient(ellipse at 25% 55%,rgba(var(--theme-deep-rgb,5,12,25),.78),rgba(var(--theme-deep-rgb,5,12,25),.42) 60%,transparent 100%); filter:blur(22px); }
.public-home #server-modes .mode-feature-card .card-kicker { display:block; margin-bottom:9px; color:color-mix(in srgb,var(--mode-accent) 62%,white); font-size:9px; letter-spacing:.13em; }
.public-home #server-modes .mode-feature-card .feature-copy h3 { max-width:100%; margin:0 0 9px; font-size:clamp(25px,2.1vw,34px); line-height:1.04; letter-spacing:-.06em; overflow-wrap:anywhere; }
.public-home #server-modes .mode-feature-card .feature-copy p { max-width:100%; min-height:0; margin:0; color:rgba(230,239,252,.76); font-size:11px; line-height:1.6; }
.public-home #server-modes .mode-feature-card .mode-kicker { position:absolute; z-index:5; top:17px; right:17px; display:inline-flex; align-items:center; gap:7px; min-height:30px; padding:0 10px; border:1px solid rgba(225,237,255,.17); border-radius:999px; background:rgba(var(--theme-deep-rgb,5,12,25),.68); color:#dce7f8; font-size:9px; backdrop-filter:blur(10px); }
.public-home #server-modes .mode-feature-card .mode-kicker.is-online { border-color:rgba(87,224,163,.34); color:#aaf1cf; }
.public-home #server-modes .mode-feature-card .mode-feature-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:18px; }
.public-home #server-modes .mode-feature-card .mode-edition { color:var(--theme-muted,#899ab5); font-size:9px; }
.public-home #server-modes .mode-feature-card .mode-enter { display:inline-flex; align-items:center; justify-content:flex-start; gap:8px; width:auto; min-height:36px; margin:0; padding:0 12px; border:1px solid color-mix(in srgb,var(--mode-accent) 38%,rgba(225,238,255,.18)); border-radius:10px; background:color-mix(in srgb,var(--mode-accent) 14%,rgba(var(--theme-deep-rgb,5,12,25),.7)); color:#edf3ff; font-size:10px; font-weight:700; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.public-home #server-modes .mode-feature-card .mode-enter:hover { border-color:color-mix(in srgb,var(--mode-accent) 65%,white); background:color-mix(in srgb,var(--mode-accent) 26%,rgba(var(--theme-deep-rgb,5,12,25),.68)); transform:translateY(-1px); }
.public-home #server-modes .mode-feature-card .mode-enter-arrow { display:grid; place-items:center; width:22px; height:22px; border-radius:7px; background:rgba(255,255,255,.08); }
@media(max-width:1080px) { .public-home #server-modes.modes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.public-home #server-modes.modes-grid[data-mode-count="1"] { grid-template-columns:minmax(0,560px); } }
@media(max-width:640px) {
 .public-home .modes-section { padding-top:64px; padding-bottom:64px; }
 .public-home .modes-section .section-heading { margin-bottom:24px; }
 .public-home #server-modes.modes-grid { grid-template-columns:minmax(0,1fr); grid-auto-rows:minmax(290px,auto); gap:12px; }
 .public-home #server-modes .mode-feature-card { min-height:290px; padding:21px; }
 .public-home #server-modes .mode-feature-card .mode-character { right:-5%; height:112%; max-width:64%; transform:translateY(-48%) scale(1.1); }
 .public-home #server-modes .mode-feature-card:hover .mode-character { transform:translateY(-49%) scale(1.14); }
 .public-home #server-modes .mode-feature-card .feature-copy { width:65%; max-width:65%; padding-bottom:16px; }
 .public-home #server-modes .mode-feature-card .feature-copy h3 { font-size:29px; }
 .public-home #server-modes .mode-feature-card .mode-kicker { top:13px; right:13px; }
 .public-home #server-modes .mode-feature-card .mode-feature-footer { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .public-home #server-modes .mode-feature-card .mode-character,.public-home #server-modes .mode-feature-card .mode-enter { transition:none; } }

/* Match the project feature layout: one anchor world, two compact worlds beside it. */
.public-home #server-modes.modes-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(230px,auto)); gap:16px; align-items:stretch; }
.public-home #server-modes .mode-feature-card { grid-column:span 5 !important; grid-row:auto !important; min-height:230px; height:100%; padding:30px; overflow:visible; }
.public-home #server-modes .mode-feature-card.feature-card-large { grid-column:span 7 !important; grid-row:span 2 !important; min-height:476px; }
.public-home #server-modes .mode-feature-card.feature-card-blue,.public-home #server-modes .mode-feature-card.feature-card-dark { grid-column:span 5 !important; grid-row:auto !important; min-height:230px; }
.public-home #server-modes .mode-feature-card.mode-feature-extra { grid-column:span 4 !important; grid-row:auto !important; min-height:270px; }
.public-home #server-modes .mode-feature-card .mode-character { right:-8% !important; z-index:3; height:126%; max-width:none; transform:translateY(-50%) translateX(12%) scale(1.04); filter:drop-shadow(0 26px 22px rgba(0,0,0,.52)) drop-shadow(0 0 22px rgba(var(--theme-accent-rgb,116,172,255),.28)); transition:transform .45s cubic-bezier(.16,1,.3,1),filter .35s ease; }
.public-home #server-modes .mode-feature-card.feature-card-large .mode-character { height:119%; transform:translateY(-50%) translateX(9%) scale(1.05); }
.public-home #server-modes .mode-feature-card:hover .mode-character { transform:translateY(-53%) translateX(10%) scale(1.09); filter:drop-shadow(0 31px 25px rgba(0,0,0,.58)) drop-shadow(0 0 30px color-mix(in srgb,var(--mode-accent) 36%,transparent)); }
.public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-53%) translateX(7%) scale(1.1); }
.public-home #server-modes .mode-feature-card .feature-copy { z-index:5; width:55%; max-width:55%; padding:0; }
.public-home #server-modes .mode-feature-card.feature-card-large .feature-copy { width:45%; max-width:45%; }
.public-home #server-modes .mode-feature-card .feature-copy h3 { font-size:clamp(28px,2.5vw,39px); }
.public-home #server-modes .mode-feature-card:not(.feature-card-large) .feature-copy h3 { font-size:clamp(26px,2.2vw,34px); }
.public-home #server-modes .mode-feature-card .mode-kicker { position:absolute; z-index:6; top:22px; right:24px; display:inline-flex; align-items:center; gap:7px; min-height:29px; padding:0 10px; border:1px solid rgba(225,237,255,.17); border-radius:999px; background:rgba(var(--theme-deep-rgb,5,12,25),.7); color:#dce7f8; font-size:9px; backdrop-filter:blur(8px); }
.public-home #server-modes .mode-feature-card .mode-kicker.is-online { border-color:rgba(87,224,163,.34); color:#aaf1cf; }
.public-home #server-modes .mode-feature-card .mode-feature-footer { display:flex; align-items:center; gap:12px; margin-top:16px; }
.public-home #server-modes .mode-feature-card .mode-edition { color:var(--theme-muted,#899ab5); font-size:9px; white-space:nowrap; }
.public-home #server-modes .mode-feature-card .mode-enter { display:inline-flex; align-items:center; gap:8px; width:auto; min-height:36px; margin:0; padding:0 11px; border:1px solid color-mix(in srgb,var(--mode-accent) 38%,rgba(225,238,255,.18)); border-radius:10px; background:color-mix(in srgb,var(--mode-accent) 14%,rgba(var(--theme-deep-rgb,5,12,25),.7)); color:#edf3ff; font-size:10px; font-weight:700; }
.public-home #server-modes .mode-feature-card .mode-enter-arrow { display:grid; place-items:center; width:22px; height:22px; border-radius:7px; background:rgba(255,255,255,.08); }
.public-home #server-modes.modes-grid[data-mode-count="1"] { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; }
.public-home #server-modes.modes-grid[data-mode-count="1"] .mode-feature-card { grid-column:auto !important; grid-row:auto !important; min-height:390px; }
.public-home #server-modes.modes-grid[data-mode-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
.public-home #server-modes.modes-grid[data-mode-count="2"] .mode-feature-card { grid-column:span 1 !important; grid-row:auto !important; min-height:360px; }
@media(max-width:850px) {
 .public-home #server-modes.modes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
 .public-home #server-modes .mode-feature-card,.public-home #server-modes .mode-feature-card.feature-card-blue,.public-home #server-modes .mode-feature-card.feature-card-dark,.public-home #server-modes .mode-feature-card.mode-feature-extra { grid-column:span 1 !important; grid-row:auto !important; min-height:300px; }
 .public-home #server-modes .mode-feature-card.feature-card-large { grid-column:1/-1 !important; grid-row:auto !important; min-height:360px; }
}
@media(max-width:560px) {
 .public-home #server-modes.modes-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
 .public-home #server-modes .mode-feature-card,.public-home #server-modes .mode-feature-card.feature-card-large,.public-home #server-modes .mode-feature-card.feature-card-blue,.public-home #server-modes .mode-feature-card.feature-card-dark,.public-home #server-modes .mode-feature-card.mode-feature-extra { grid-column:auto !important; grid-row:auto !important; min-height:310px; padding:22px; overflow:hidden; }
 .public-home #server-modes .mode-feature-card .mode-character { right:-3% !important; height:108%; transform:translateY(-50%) translateX(6%) scale(1.02); }
 .public-home #server-modes .mode-feature-card .mode-feature-footer { align-items:flex-start; flex-direction:column; gap:9px; }
}
@media(prefers-reduced-motion:reduce) { .public-home #server-modes .mode-feature-card .mode-character { transition:none; } }

/* Preserve the feature-card character scale while keeping its text readable. */
.public-home #server-modes .mode-feature-card { overflow:visible; }
.public-home #server-modes .mode-feature-card::before { background:radial-gradient(ellipse at 78% 40%,color-mix(in srgb,var(--mode-accent) 24%,transparent),transparent 48%),linear-gradient(90deg,rgba(var(--theme-deep-rgb,5,12,25),.28),transparent 76%),linear-gradient(0deg,rgba(var(--theme-deep-rgb,5,12,25),.22),transparent 72%); }
.public-home #server-modes .mode-feature-card .mode-character { top:50%; right:-8% !important; z-index:3; width:auto; height:126%; max-width:none; object-fit:contain; object-position:center bottom; transform:translateY(-50%) translateX(12%) scale(1.04); filter:drop-shadow(0 26px 22px rgba(0,0,0,.52)) drop-shadow(0 0 22px rgba(var(--theme-accent-rgb,116,172,255),.28)); transition:transform .45s cubic-bezier(.16,1,.3,1),filter .35s ease; }
.public-home #server-modes .mode-feature-card.feature-card-large .mode-character { height:119%; transform:translateY(-50%) translateX(9%) scale(1.05); }
.public-home #server-modes .mode-feature-card:hover .mode-character,
.public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-53%) translateX(7%) scale(1.1); }
.public-home #server-modes .mode-feature-card:not(.feature-card-large):hover .mode-character { transform:translateY(-53%) translateX(10%) scale(1.09); }
.public-home #server-modes .mode-feature-card .mode-kicker { top:20px; right:auto; left:22px; }
.public-home #server-modes .mode-feature-card .feature-copy { position:relative; isolation:isolate; }
.public-home #server-modes .mode-feature-card .feature-copy::before { inset:-24% -20% -20% -18%; background:radial-gradient(ellipse at 22% 55%,rgba(var(--theme-deep-rgb,5,12,25),.84),rgba(var(--theme-deep-rgb,5,12,25),.5) 56%,transparent 100%); filter:blur(19px); }
@media(max-width:850px) {
 .public-home #server-modes .mode-feature-card .mode-character { right:-4% !important; height:116%; transform:translateY(-50%) translateX(7%) scale(1.02); }
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { height:112%; }
}
@media(max-width:560px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-2% !important; height:108%; transform:translateY(-50%) translateX(5%) scale(1); }
 .public-home #server-modes .mode-feature-card .mode-kicker { top:14px; left:16px; }
}

/* Responsive mode catalog: keep the three-card feature composition, use even tiles for other counts. */
.public-home #server-modes.modes-grid[data-mode-layout="single"] { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card.feature-card-large { grid-column:auto !important; grid-row:auto !important; min-height:390px; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:56%; max-width:56%; align-self:flex-start; margin-top:auto !important; margin-bottom:auto !important; padding:0; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-kicker { margin-bottom:18px; font-size:12px; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .card-kicker { margin-bottom:11px; font-size:11px; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy h3 { margin-bottom:13px; font-size:clamp(38px,3.3vw,56px); }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy p { min-height:0; font-size:15px; line-height:1.65; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-feature-footer { justify-content:flex-start; gap:20px; margin-top:22px; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-edition { font-size:12px; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-enter { min-height:46px; gap:10px; padding:0 15px; font-size:13px; }
.public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-enter-arrow { width:26px; height:26px; }
.public-home #server-modes.modes-grid[data-mode-layout="pair"] { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
.public-home #server-modes.modes-grid[data-mode-layout="pair"] .mode-feature-card { grid-column:span 1 !important; grid-row:auto !important; min-height:360px; }
.public-home #server-modes.modes-grid[data-mode-layout="tiles"] { grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:auto; grid-auto-rows:minmax(310px,auto); }
.public-home #server-modes.modes-grid[data-mode-layout="tiles"] .mode-feature-card { grid-column:span 4 !important; grid-row:auto !important; min-height:310px; }
.public-home #server-modes.modes-grid[data-mode-layout="tiles"][data-mode-tail-count="1"] .mode-feature-card:last-child { grid-column:5 / span 4 !important; }
.public-home #server-modes.modes-grid[data-mode-layout="tiles"][data-mode-tail-count="2"] .mode-feature-card:nth-last-child(-n+2) { grid-column:span 6 !important; }
.public-home #server-modes .mode-feature-card .feature-copy { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.public-home #server-modes .mode-feature-card .mode-kicker { position:relative; inset:auto; align-self:flex-start; margin:0 0 12px; }
.public-home #server-modes .mode-feature-card .card-kicker { margin-bottom:7px; }
.public-home #server-modes .mode-feature-card .feature-copy h3 { margin-bottom:8px; }
.public-home #server-modes .mode-feature-card .feature-copy p { min-height:3.2em; }
.public-home #server-modes .mode-feature-card .mode-feature-footer { width:100%; margin-top:16px; }
@media(max-width:850px) {
 .public-home #server-modes.modes-grid[data-mode-layout="feature"] { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
 .public-home #server-modes.modes-grid[data-mode-layout="feature"] .mode-feature-card.feature-card-large { grid-column:1/-1 !important; grid-row:auto !important; min-height:360px; }
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"] .mode-feature-card { grid-column:span 1 !important; }
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"][data-mode-tail-count="1"] .mode-feature-card:last-child { grid-column:1/-1 !important; }
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"][data-mode-tail-count="2"] .mode-feature-card:nth-last-child(-n+2) { grid-column:span 1 !important; }
}
@media(max-width:560px) {
 .public-home #server-modes.modes-grid[data-mode-layout="pair"],
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"],
 .public-home #server-modes.modes-grid[data-mode-layout="feature"] { grid-template-columns:minmax(0,1fr); }
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"][data-mode-tail-count="1"] .mode-feature-card:last-child,
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"][data-mode-tail-count="2"] .mode-feature-card:nth-last-child(-n+2) { grid-column:auto !important; }
 .public-home #server-modes .mode-feature-card .feature-copy p { min-height:0; }
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:68%; max-width:68%; }
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy h3 { font-size:clamp(34px,9vw,44px); }
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy p { font-size:13px; }
}

/* Phone layout for the public game mode cards */
@media(max-width:640px) {
 .public-home .modes-section { padding-top:54px; padding-bottom:54px; }
 .public-home .modes-section .section-heading { margin-bottom:20px; }
 .public-home #server-modes.modes-grid,
 .public-home #server-modes.modes-grid[data-mode-layout="feature"],
 .public-home #server-modes.modes-grid[data-mode-layout="pair"],
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"] { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; grid-auto-rows:auto; gap:14px; }
 .public-home #server-modes .mode-feature-card,
 .public-home #server-modes .mode-feature-card.feature-card-large,
 .public-home #server-modes .mode-feature-card.feature-card-blue,
 .public-home #server-modes .mode-feature-card.feature-card-dark,
 .public-home #server-modes .mode-feature-card.mode-feature-extra { grid-column:1/-1 !important; grid-row:auto !important; min-height:270px; height:auto; padding:20px; overflow:hidden; }
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card.feature-card-large { min-height:320px; }
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { top:50%; right:-5% !important; left:auto; height:112%; max-width:57%; transform:translateY(-50%) translateX(4%) scale(1); object-position:center bottom; }
 .public-home #server-modes .mode-feature-card:hover .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-50%) translateX(4%) scale(1.025); }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:70%; max-width:70%; margin:auto auto auto 0 !important; padding:0; }
 .public-home #server-modes .mode-feature-card:not(.has-mode-character) .feature-copy { width:100%; max-width:100%; }
 .public-home #server-modes .mode-feature-card .feature-copy::before { inset:-18% -18% -18% -14%; filter:blur(16px); }
 .public-home #server-modes .mode-feature-card .mode-kicker { align-self:flex-start; min-height:30px; margin:0 0 12px; padding:0 9px; font-size:9px; }
 .public-home #server-modes .mode-feature-card .card-kicker { margin-bottom:6px; font-size:8px; }
 .public-home #server-modes .mode-feature-card .feature-copy h3,
 .public-home #server-modes .mode-feature-card:not(.feature-card-large) .feature-copy h3 { margin:0 0 7px; font-size:clamp(25px,7vw,32px); line-height:1.05; }
 .public-home #server-modes .mode-feature-card .feature-copy p,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy p { min-height:0; font-size:12px; line-height:1.5; }
 .public-home #server-modes .mode-feature-card .mode-feature-footer,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-feature-footer { display:flex; align-items:flex-start; flex-direction:column; gap:10px; margin-top:14px; }
 .public-home #server-modes .mode-feature-card .mode-edition,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-edition { font-size:10px; }
 .public-home #server-modes .mode-feature-card .mode-enter,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-enter { min-height:42px; padding:0 11px; font-size:11px; }
}
@media(max-width:380px) {
 .public-home #server-modes .mode-feature-card,
 .public-home #server-modes .mode-feature-card.feature-card-large,
 .public-home #server-modes .mode-feature-card.feature-card-blue,
 .public-home #server-modes .mode-feature-card.feature-card-dark,
 .public-home #server-modes .mode-feature-card.mode-feature-extra { min-height:250px; padding:17px; }
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card.feature-card-large { min-height:290px; }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:72%; max-width:72%; }
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-7% !important; height:106%; max-width:54%; }
}

/* Refined compact phone cards: keep the copy readable and artwork on the right. */
@media(max-width:640px) {
 .public-home #server-modes .mode-feature-card,
 .public-home #server-modes .mode-feature-card.feature-card-large,
 .public-home #server-modes .mode-feature-card.feature-card-blue,
 .public-home #server-modes .mode-feature-card.feature-card-dark,
 .public-home #server-modes .mode-feature-card.mode-feature-extra,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card.feature-card-large { min-height:285px !important; padding:18px !important; }
 .public-home #server-modes .mode-card-backdrop { background-position:right center !important; background-size:auto 100% !important; opacity:.055 !important; mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.2) 48%,#000 100%); }
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-7% !important; height:108% !important; max-width:51% !important; object-position:right center; opacity:.96; }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:62% !important; max-width:62% !important; margin:auto auto auto 0 !important; }
 .public-home #server-modes .mode-feature-card:not(.has-mode-character) .feature-copy { width:100% !important; max-width:100% !important; }
 .public-home #server-modes .mode-feature-card .feature-copy::before { inset:-16% -16% -16% -12%; background:linear-gradient(90deg,rgba(var(--theme-deep-rgb,5,12,25),.96),rgba(var(--theme-deep-rgb,5,12,25),.76) 72%,transparent); filter:blur(9px); }
 .public-home #server-modes .mode-feature-card .mode-kicker { margin-bottom:9px; }
 .public-home #server-modes .mode-feature-card .card-kicker { margin-bottom:5px; }
 .public-home #server-modes .mode-feature-card .feature-copy h3,
 .public-home #server-modes .mode-feature-card:not(.feature-card-large) .feature-copy h3 { margin-bottom:6px; font-size:clamp(24px,6.7vw,30px); }
 .public-home #server-modes .mode-feature-card .feature-copy p,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy p { font-size:11px; line-height:1.45; }
 .public-home #server-modes .mode-feature-card .mode-feature-footer,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-feature-footer { gap:8px; margin-top:12px; }
 .public-home #server-modes .mode-feature-card .mode-enter,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-enter { min-height:40px; font-size:10px; }
}
@media(max-width:380px) {
 .public-home #server-modes .mode-feature-card,
 .public-home #server-modes .mode-feature-card.feature-card-large,
 .public-home #server-modes .mode-feature-card.feature-card-blue,
 .public-home #server-modes .mode-feature-card.feature-card-dark,
 .public-home #server-modes .mode-feature-card.mode-feature-extra,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card.feature-card-large { min-height:270px !important; padding:16px !important; }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:64% !important; max-width:64% !important; }
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { max-width:48% !important; }
}

@media(max-width:640px) {
 .public-home .modes-section { padding-bottom:28px; }
 .public-home #server-modes.modes-grid,
 .public-home #server-modes.modes-grid[data-mode-layout="single"],
 .public-home #server-modes.modes-grid[data-mode-layout="feature"],
 .public-home #server-modes.modes-grid[data-mode-layout="pair"],
 .public-home #server-modes.modes-grid[data-mode-layout="tiles"] { grid-template-rows:none !important; grid-auto-rows:min-content !important; align-content:start; row-gap:14px; }
 .public-home #server-modes .mode-feature-card,
 .public-home #server-modes .mode-feature-card.feature-card-large,
 .public-home #server-modes .mode-feature-card.feature-card-blue,
 .public-home #server-modes .mode-feature-card.feature-card-dark,
 .public-home #server-modes .mode-feature-card.mode-feature-extra,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card.feature-card-large { height:300px !important; min-height:300px !important; align-self:start; }
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-12% !important; height:142% !important; max-width:none !important; transform:translateY(-50%) translateX(7%) scale(1.04); }
 .public-home #server-modes .mode-feature-card:hover .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-50%) translateX(7%) scale(1.06); }
}
@media(max-width:380px) {
 .public-home #server-modes .mode-feature-card,
 .public-home #server-modes .mode-feature-card.feature-card-large,
 .public-home #server-modes .mode-feature-card.feature-card-blue,
 .public-home #server-modes .mode-feature-card.feature-card-dark,
 .public-home #server-modes .mode-feature-card.mode-feature-extra,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card.feature-card-large { height:280px !important; min-height:280px !important; }
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-14% !important; height:136% !important; }
}

@media(max-width:640px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { top:50%; right:-2% !important; width:62% !important; height:118% !important; max-width:62% !important; object-fit:contain; object-position:right center; transform:translateY(-50%) scale(1.04); }
 .public-home #server-modes .mode-feature-card:hover .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-50%) scale(1.06); }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:60% !important; max-width:60% !important; }
 .public-home #server-modes .mode-card-backdrop { opacity:.025 !important; }
}
@media(max-width:380px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { width:60% !important; height:112% !important; max-width:60% !important; }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:62% !important; max-width:62% !important; }
}

@media(max-width:640px) {
 .public-home #server-modes .mode-feature-card,
 .public-home #server-modes .mode-feature-card.feature-card-large,
 .public-home #server-modes .mode-feature-card.feature-card-blue,
 .public-home #server-modes .mode-feature-card.feature-card-dark,
 .public-home #server-modes .mode-feature-card.mode-feature-extra { overflow:visible !important; }
 .public-home #server-modes .mode-feature-card::before,
 .public-home #server-modes .mode-feature-card::after,
 .public-home #server-modes .mode-card-backdrop { border-radius:inherit; }
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-3% !important; width:64% !important; height:122% !important; max-width:64% !important; transform:translateY(-50%) translateX(3%) scale(1.02); }
 .public-home #server-modes .mode-feature-card:hover .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-50%) translateX(3%) scale(1.04); }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:57% !important; max-width:57% !important; }
 .public-home #server-modes .mode-feature-card .mode-kicker { min-height:27px; margin-bottom:7px; padding:0 8px; font-size:8px; }
 .public-home #server-modes .mode-feature-card .card-kicker { margin-bottom:4px; font-size:7px; }
 .public-home #server-modes .mode-feature-card .feature-copy h3,
 .public-home #server-modes .mode-feature-card:not(.feature-card-large) .feature-copy h3 { margin-bottom:5px; font-size:clamp(21px,5.8vw,26px); }
 .public-home #server-modes .mode-feature-card .feature-copy p,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy p { font-size:10px; line-height:1.4; }
 .public-home #server-modes .mode-feature-card .mode-edition,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-edition { font-size:9px; }
 .public-home #server-modes .mode-feature-card .mode-enter,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .mode-enter { min-height:36px; gap:7px; padding:0 9px; font-size:9px; }
 .public-home #server-modes .mode-feature-card .mode-enter-arrow { width:20px; height:20px; }
}
@media(max-width:380px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-4% !important; width:62% !important; height:118% !important; max-width:62% !important; }
 .public-home #server-modes .mode-feature-card .feature-copy,
 .public-home #server-modes .mode-feature-card.feature-card-large .feature-copy,
 .public-home #server-modes.modes-grid[data-mode-layout="single"] .mode-feature-card .feature-copy { width:59% !important; max-width:59% !important; }
}

@media(max-width:640px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-7% !important; width:70% !important; height:132% !important; max-width:70% !important; transform:translateY(-50%) translateX(5%) scale(1.02); filter:drop-shadow(0 15px 16px rgba(0,0,0,.55)) drop-shadow(0 0 18px color-mix(in srgb,var(--mode-accent) 24%,transparent)); }
 .public-home #server-modes .mode-feature-card:hover .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-50%) translateX(5%) scale(1.04); }
 .public-home #server-modes .mode-feature-card::before { background:radial-gradient(ellipse at 86% 50%,color-mix(in srgb,var(--mode-accent) 23%,transparent),transparent 48%),linear-gradient(90deg,rgba(var(--theme-deep-rgb,5,12,25),.2),transparent 82%); }
 .public-home #server-modes .mode-feature-card .feature-copy::before { inset:-14% -10% -14% -12%; background:linear-gradient(90deg,rgba(var(--theme-deep-rgb,5,12,25),.98),rgba(var(--theme-deep-rgb,5,12,25),.82) 76%,transparent); filter:blur(7px); }
}
@media(max-width:380px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-8% !important; width:68% !important; height:126% !important; max-width:68% !important; }
}

@media(max-width:640px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { top:56% !important; right:-10% !important; width:78% !important; height:145% !important; max-width:78% !important; transform:translateY(-50%) translateX(8%) scale(1.14) !important; filter:drop-shadow(0 18px 18px rgba(0,0,0,.55)) drop-shadow(0 0 20px color-mix(in srgb,var(--mode-accent) 26%,transparent)) !important; }
 .public-home #server-modes .mode-feature-card:hover .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-50%) translateX(8%) scale(1.16) !important; }
 .public-home #server-modes .mode-feature-card .feature-copy::before { display:none !important; }
 .public-home #server-modes .mode-feature-card::before { background:radial-gradient(ellipse at 86% 56%,color-mix(in srgb,var(--mode-accent) 27%,transparent),transparent 48%),linear-gradient(90deg,rgba(var(--theme-deep-rgb,5,12,25),.16),transparent 82%); }
}
@media(max-width:380px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-9% !important; width:76% !important; height:138% !important; max-width:76% !important; }
}

@media(max-width:640px) {
 .public-home #server-modes .mode-feature-card .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large .mode-character { right:-10% !important; width:100% !important; height:140% !important; max-width:100% !important; transform:translateY(-50%) translateX(2%) scale(1.45) !important; object-position:right center; }
 .public-home #server-modes .mode-feature-card:hover .mode-character,
 .public-home #server-modes .mode-feature-card.feature-card-large:hover .mode-character { transform:translateY(-50%) translateX(2%) scale(1.47) !important; }
}
