/* soloma — shared monochrome visual system. Loaded after legacy page styles. */
:root {
 --bg:#080809; --bg2:#101012; --bg3:#18181b; --card:#101012; --card-hi:#171719;
 --text:#eeeeef; --fg:#eeeeef; --muted:#97979f; --muted2:#707079;
 --border:rgba(255,255,255,.09); --border-hi:rgba(255,255,255,.23);
 --violet:#d6d6dc; --violet-hi:#f5f5f6; --violet-deep:#a5a5ae; --pink:#d6d6dc; --accent:#efeff1;
 --green:#96c2ac; --red:#ef9a9a; --yellow:#d3bd8c; --cyan:#a8c5d3;
}
body.soloma-site,body.soloma-admin { background:#080809!important; color:var(--text); font-family:Inter,system-ui,sans-serif!important; }
body.soloma-site::before,body.soloma-admin::before { background:radial-gradient(ellipse 70% 25% at 50% 0,#ffffff06,transparent 90%)!important; }
body::after { display:none!important; }
::selection { background:#ffffff35; color:#fff; }
::-webkit-scrollbar-thumb { background:#343438; }
::-webkit-scrollbar-thumb:hover { background:#55555c; }
:focus-visible { outline:2px solid #e4e4e9!important; outline-offset:4px; }
a { color:var(--violet-hi); }
a:hover { color:#fff; }
h1,h2,h3,h4,h5 { font-family:Inter,system-ui,sans-serif; }
.container { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.nav { width:min(1240px,calc(100% - 48px))!important; top:14px!important; border-radius:15px!important; background:#0a0a0bd9!important; box-shadow:0 12px 45px #0003!important; }
.nav-inner { padding:12px 24px!important; min-height:64px!important; }
.nav .logo { font-size:23px!important; -webkit-text-fill-color:#f5f5f5!important; color:#f5f5f5!important; }
.nav .links a { color:#929298!important; font-size:12px; }
.nav .links a:hover,.nav .links a.active { color:#f5f5f5!important; background:#ffffff06!important; }
.nav-glider { background:#ffffff06!important; box-shadow:none!important; }
.nav .actions .btn { min-height:35px; padding:8px 15px; font-size:12px; }
.nav .actions .btn:not(.btn-ghost) { color:#161618!important; background:#ededee!important; border-color:#ededee!important; }
.nav .nav-icon-btn,.nav-burger { color:#bebec7!important; background:#ffffff05!important; border-color:#ffffff0c!important; }
.nav .actions .nav-username { font-weight:500!important; font-size:12px; }
.nav .actions .nav-username::before { content:'↗'; margin-right:9px; color:#66666e; }
.btn { border-radius:9px!important; font-size:12px; font-weight:550!important; min-height:42px; gap:9px; background:#ffffff04; border:1px solid #ffffff14; box-shadow:none!important; }
.btn:hover { background:#ffffff0a; border-color:#ffffff33; transform:translateY(-1px); }
.btn-primary { color:#101012!important; background:#eeeeef!important; border-color:#eeeeef!important; text-shadow:none!important; }
.btn-primary:hover { background:#fff!important; border-color:#fff!important; color:#080809!important; }
.btn-ghost { background:transparent!important; }
.btn-danger { background:#e987870a!important; border-color:#e9878733!important; color:#e9a6a6!important; }
.btn:active { transform:translateY(0); }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea { background:#09090b!important; border:1px solid #ffffff14!important; color:#ededf0!important; box-shadow:none!important; border-radius:9px!important; padding:12px 14px; min-width:0; max-width:100%; font-size:13px; }
input:focus,select:focus,textarea:focus { border-color:#ffffff55!important; outline:none; box-shadow:0 0 0 3px #ffffff05!important; }
input::placeholder,textarea::placeholder { color:#5e5e68; }
input[type=file] { padding:10px!important; }
input::file-selector-button { color:#d4d4db; background:#202024; border:1px solid #ffffff10; border-radius:6px; padding:7px 10px; margin-right:12px; cursor:pointer; }
input[type=checkbox],input[type=radio] { accent-color:#e5e5e8; }
.tag,.studio-eyebrow { color:#888892!important; background:transparent; border-color:#ffffff12; font:500 9px/1.6 Inter,sans-serif; letter-spacing:.16em; }
.card,.profile-card,.settings-card,.stat-card,.panel,.feat-cat,.auth-card,.login-card,.access-card,.studio-plan { background:#101012!important; border:1px solid #ffffff10!important; border-radius:14px!important; box-shadow:0 8px 35px #00000012!important; backdrop-filter:none; }
.card::before,.profile-card::before,.auth-card::before,.login-card::before,.stat-card::before { background:none!important; }
.profile-card:hover,.auth-card:hover,.login-card:hover { transform:none!important; }
.site-toast { background:#19191dec; color:#ededf2; border-color:#ffffff20; }
.site-toast.error { border-color:#ef9a9a55; }
.site-scroll-top { background:#18181bd9; color:#ededf0; border-color:#ffffff14; }
.site-lightbox,.soloma-video { background:#101012; border-color:#ffffff1c; }
/* Public page rhythm. */
.page-intro { padding:150px 0 48px; }
.page-intro .tag { margin-bottom:20px; }
.page-intro h1,.access-page h1,.legal-head h1 { font:400 clamp(46px,5vw,70px)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.045em; margin:18px 0 22px; max-width:850px; color:#f0f0f2; }
.page-intro h1 span,.page-intro .gradient { color:#ededf0!important; background:none!important; -webkit-text-fill-color:currentColor!important; }
.page-intro-lead,.page-intro>p,.access-intro>p { color:#92929c; font-size:14px; line-height:1.85; max-width:620px; }
.studio-hero { background:#080809; }
.studio-hero h1 { font-family:Georgia,'Times New Roman',serif!important; }
.studio-section { padding:90px 0; }
.studio-section h2 { font-size:clamp(30px,3.5vw,44px); font-weight:500; letter-spacing:-.045em; }
.studio-plan { padding:34px; }
.studio-plan:first-child { border-color:#ffffff28!important; }
.studio-feature>span,.studio-plan li::before,.studio-caption { color:#81818c; }
.studio-plan li,.studio-feature p,.studio-plan>p { color:#9999a2; }
.studio-faq-items details { border-radius:0!important; background:none!important; border-bottom:1px solid #ffffff12; }
/* Sign in, registration, recovery. */
.auth-shell.auth-experience { position:relative; display:grid; grid-template-columns:1fr 440px; align-items:center; gap:100px; width:min(1100px,calc(100% - 64px)); min-height:85vh; padding:150px 0 100px; margin:auto; }
.auth-experience::before { content:''; position:absolute; z-index:-1; inset:0 35% 0 -15vw; background:linear-gradient(90deg,#08080988,#080809 95%),url('/static/compare-on.jpg') center/cover; filter:grayscale(1) blur(8px); opacity:.15; pointer-events:none; }
.auth-intro { align-self:center; }
.auth-intro h1 { font:400 clamp(44px,5vw,68px)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.05em; color:#eeeef1; margin:24px 0; }
.auth-intro>p { max-width:400px; color:#96969f; font-size:14px; line-height:1.9; }
.auth-intro-meta { display:flex; gap:22px; margin-top:42px; color:#5e5e69; font-size:9px; letter-spacing:.13em; }
.auth-card { width:100%!important; max-width:none!important; padding:32px!important; }
.auth-card .brand { font:650 22px Inter,sans-serif!important; color:#eeeef1!important; background:none!important; -webkit-text-fill-color:currentColor!important; text-align:left!important; letter-spacing:-.06em; }
.auth-card-heading { margin-bottom:24px; }
.auth-description { color:#878791!important; text-align:left!important; font-size:12px; line-height:1.7; }
.auth-tabs { display:flex; background:#09090b!important; border:1px solid #ffffff0a; border-radius:8px; padding:4px; margin:24px 0!important; }
.auth-tab { flex:1; padding:10px 12px!important; background:transparent!important; border:0!important; color:#80808a!important; border-radius:5px!important; font-size:12px!important; text-align:center; }
.auth-tab.active { color:#e7e7eb!important; background:#1b1b1f!important; box-shadow:none!important; }
.auth-card form { display:grid; gap:18px; }
.auth-card label,.login-card label { display:block; color:#a1a1ab; font-size:11px; margin-bottom:8px; }
.auth-card input:not([type=checkbox]) { width:100%; min-height:45px; }
.auth-card .btn-block { width:100%; min-height:45px; }
.auth-card .pw-eye { background:none!important; color:#8c8c97; border:0!important; }
.auth-card .auth-code-input { font-size:23px!important; letter-spacing:.3em; text-align:center; font-family:monospace; }
.auth-card form[data-auth-step="twofa"] { gap:14px; }
.auth-inline-message { color:#c9c9d3; font-size:14px; line-height:1.55; font-weight:600; padding:2px 0 0; }
.auth-inline-factor { display:flex!important; flex-direction:column; gap:8px; margin:0!important; color:#a1a1ab; }
.auth-inline-factor .auth-code-input { margin:0; width:100%; }
.auth-challenge { padding:18px 0; border-top:1px solid #ffffff0d; }
.auth-challenge svg { width:26px; height:26px; }
.auth-remember { display:flex!important; gap:10px; align-items:center; line-height:1.6; }
.auth-remember input { flex-shrink:0; }
.auth-secondary-action { display:block; color:#92929c; font-size:11px; margin-top:18px; line-height:1.8; text-align:center; }
.auth-error,.auth-msg,.profile-msg { border-radius:9px; padding:13px 16px; font-size:12px; line-height:1.7; }
.auth-error,.profile-msg.err { color:#edb2b2; background:#b74c4c0c; border:1px solid #b74c4c29; }
.auth-msg,.profile-msg.ok { color:#b6cfbf; background:#69977d0c; border:1px solid #69977d26; }
/* Personal space. */
.profile { padding:128px 0 80px!important; min-height:80vh; }
.profile-grid { display:grid; grid-template-columns:220px minmax(0,1fr)!important; gap:42px!important; align-items:start; }
.profile-side { position:sticky!important; top:110px!important; padding:14px!important; background:#0e0e10!important; border:1px solid #ffffff0c!important; border-radius:15px!important; }
.account-identity { display:flex; gap:11px; align-items:center; padding:9px 4px 23px; border-bottom:1px solid #ffffff0d; margin-bottom:18px; }
.account-identity strong { display:block; color:#dedee5; font-size:13px; font-weight:550; overflow-wrap:anywhere; }
.account-identity small { display:block; color:#64646e; font:8px/1.5 Inter,sans-serif; margin-top:5px; letter-spacing:.08em; }
.account-avatar { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border:1px solid #ffffff13; background:#ffffff08; border-radius:10px; color:#cdccd5; font-size:15px; }
.account-avatar img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.account-menu-toggle { display:none; }
.profile-side .nav-list { display:flex!important; flex-direction:column!important; gap:3px!important; }
.profile-side .nav-list a { border-radius:7px; color:#92929d!important; font-size:11px!important; padding:10px!important; background:transparent; }
.profile-side .nav-list a.active { color:#ededf1!important; background:#ffffff08!important; border:1px solid #ffffff09; }
.profile-side .nav-list a.active::before { display:none!important; }
.profile-side .nav-list a:hover { color:#ededf1!important; background:#ffffff05!important; }
.profile-side .nav-list-exit { margin-top:14px; color:#bc8c8c!important; }
.profile-side .nav-group-label { color:#555560; font-size:8px; letter-spacing:.12em; padding:20px 10px 6px; }
.account-content { min-width:0; }
.profile-breadcrumb { margin-bottom:25px!important; color:#60606b; font-size:10px!important; }
.profile-breadcrumb a { color:#74747f; }
.account-page-heading { margin:0 0 32px; }
.account-page-heading h1 { font:400 clamp(34px,3.8vw,48px)/1.12 Georgia,'Times New Roman',serif; letter-spacing:-.04em; color:#ececf0; margin:13px 0 14px; }
.account-page-heading>p { color:#757580; font-size:12px; }
.profile-card { padding:28px!important; margin-bottom:22px!important; }
.profile-card h3 { font-size:17px!important; font-weight:500!important; letter-spacing:-.025em; color:#e3e3e9; }
.profile-card>p,.settings-card p { color:#91919b; font-size:12px; line-height:1.85; }
.settings-grid { gap:20px; margin-top:0; }
.settings-card { display:flex; gap:20px; margin-bottom:0!important; padding:26px!important; }
.settings-card label { color:#9999a4; font-size:11px; gap:9px; }
.settings-card .muted { font-size:10px; }
.settings-facts { grid-template-columns:90px minmax(0,1fr); font-size:12px; line-height:1.7; }
.settings-facts dt { color:#71717b; }.settings-facts dd { color:#d0d0d8; }
.settings-actions { gap:8px; }
.settings-actions .btn { font-size:10px; }
.settings-avatar-empty { color:#d0d0db; background:#ffffff06; border-color:#ffffff12; }
.settings-backup { color:#e0e0e7; background:#08080a; border-color:#ffffff25; }
.profile-card details { background:transparent; border:0; border-top:1px solid #ffffff12; border-radius:0; padding:20px 0 0; }
.profile-card details form { margin-top:20px; }
.kv-grid { font-size:12px; }
.sub-status { padding:22px; border-radius:10px; border:1px solid #ffffff0b; background:#ffffff03!important; }
.sub-status .ico { background:#ffffff08!important; color:#e2e2e8!important; border-color:#ffffff14!important; }
.sub-status .val { font-size:26px!important; font-weight:500!important; }
.profile-section-title { font-size:18px; color:#e0e0e6; }
/* Purchase and catalogue. */
.access-page { padding:0 0 100px!important; }
.access-intro { padding-bottom:0; }
.access-grid { gap:22px; margin-top:36px; }
.access-card { padding:30px; }
.access-card h2 { font-size:23px; font-weight:500; letter-spacing:-.035em; }
.access-card-lead { margin-bottom:24px; }
.access-card .purchase-options { margin-top:26px; }
.purchase-option { background:#ffffff02; border-color:#ffffff0d; border-radius:10px; padding:18px; }
.purchase-option:hover { background:#ffffff06; border-color:#ffffff2a; }
.purchase-option strong { color:#d9d9e1; font-size:12px; }
.purchase-option small { color:#74747f; font-size:10px; }
.purchase-icon { background:#ffffff05; color:#d3d3db; border-color:#ffffff0c; border-radius:8px; }
.purchase-funpay { color:#adc2dc; }
.purchase-arrow { color:#71717e; }
.access-help { color:#a2a2ad; }
.access-help p,.access-note { font-size:10px!important; }
.catalog-hero { text-align:center; padding-bottom:56px; }
.catalog-hero h1,.catalog-hero .page-intro-lead { margin-inline:auto; }
.catalog-section { padding:0 0 90px; }
.catalog-summary { display:flex; justify-content:space-between; align-items:center; padding:0 0 22px; border-bottom:1px solid #ffffff12; color:#73737e; font-size:11px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-top:26px; }
.catalog-card { min-width:0; padding:25px!important; border:1px solid #ffffff10!important; background:#101012!important; border-radius:13px; box-shadow:none!important; }
.catalog-card h3 { font:500 20px Inter,sans-serif; letter-spacing:-.03em; margin:16px 0; }
.catalog-modules { list-style:none; padding:0; margin:0; display:grid; }
.catalog-modules li { padding:10px 0; border-bottom:1px solid #ffffff06; color:#9999a3; font-size:12px; }
.catalog-modules li:last-child { border-bottom:0; }
.catalog-cta { display:flex; justify-content:space-between; align-items:center; padding:36px 0; border-top:1px solid #ffffff12; margin-top:40px; gap:20px; }
.catalog-cta h2 { font:400 32px Georgia,serif; letter-spacing:-.03em; }
/* Reading pages and footer. */
.legal-container { width:min(820px,calc(100% - 64px)); margin:auto; padding-bottom:90px; }
.legal-head { padding-bottom:34px; border-bottom:1px solid #ffffff12; }
.legal-meta { display:flex; flex-wrap:wrap; gap:20px; color:#73737f; font-size:10px; margin-top:28px; }
.legal-paper { padding:25px 0; color:#a4a4af; font-size:13px; line-height:1.95; }
.legal-paper h2 { font:500 24px Inter,sans-serif; color:#e5e5eb; letter-spacing:-.035em; margin:38px 0 18px; }
.legal-paper h3 { color:#d4d4de; margin:24px 0 12px; font-size:17px; font-weight:500; }
.legal-paper p { margin-bottom:14px; }
.legal-paper ul,.legal-paper ol { padding-left:22px; margin:18px 0; }
.legal-paper li { margin-bottom:9px; }
.legal-paper a { color:#e0e0ea; text-decoration:underline; text-underline-offset:3px; }
.legal-callout,.legal-contact { padding:22px; background:#ffffff03; border:1px solid #ffffff10; border-radius:10px; margin:26px 0; }
.footer { background:#080809!important; border-color:#ffffff10!important; padding:65px 0 25px; }
.footer-brand,.footer .brand { color:#eeeef3!important; background:none!important; -webkit-text-fill-color:currentColor!important; font:650 25px Inter,sans-serif!important; letter-spacing:-.07em; }
.footer h4 { color:#b3b3bd; font-size:9px; letter-spacing:.1em; font-weight:500; }
.footer a,.footer p { color:#747480; font-size:11px; line-height:1.9; }
.footer a:hover { color:#dddde5; }
.footer-bottom { border-color:#ffffff0a; color:#4e4e59; font-size:9px; }
/* Admin uses the same surfaces, controls and typography. */
.soloma-admin .sidebar { background:#0e0e10!important; border-color:#ffffff0e!important; box-shadow:none; padding:26px 16px; }
.soloma-admin .sidebar-brand h1 { color:#ededf2!important; background:none!important; -webkit-text-fill-color:currentColor!important; text-shadow:none!important; font-size:24px; }
.soloma-admin .sidebar-brand .sub { color:#5d5d69; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.soloma-admin .sidebar-section .label { color:#555560; font-size:8px; letter-spacing:.12em; }
.soloma-admin .nav-item { color:#8c8c98; border-radius:7px; font-size:11px; padding:10px 12px; }
.soloma-admin .nav-item.active { background:#ffffff08!important; border-color:#ffffff12!important; color:#ebebf1!important; box-shadow:none!important; }
.soloma-admin .nav-item.active::before { background:#dddddf; box-shadow:none; }
.soloma-admin .content { padding:40px; }
.soloma-admin .page-header h1,.soloma-admin .page-head h1 { font:400 42px Georgia,serif; letter-spacing:-.04em; }
.soloma-admin .card { padding:26px; }
.soloma-admin .stat-card { padding:24px; }
.soloma-admin table th { color:#686875; font-weight:500; text-transform:uppercase; font-size:9px; letter-spacing:.08em; background:#ffffff02; }
.soloma-admin table td { color:#b6b6c1; font-size:11px; }
.soloma-admin table td,.soloma-admin table th { border-color:#ffffff09; padding:14px 16px; }
.soloma-admin tbody tr:hover { background:#ffffff02; }
.soloma-admin .badge,.soloma-admin .tag { background:#ffffff06; border-color:#ffffff12; color:#bcbcc7; }
.soloma-admin .login-card { padding:36px; max-width:440px; }
.soloma-admin .login-card h1 { font:400 48px Georgia,serif; letter-spacing:-.05em; color:#efeff3!important; background:none!important; -webkit-text-fill-color:currentColor!important; }
.soloma-admin .login-card .sub { color:#72727e; font-size:11px; margin-bottom:28px; }
.soloma-admin .login-card form { display:grid; gap:16px; margin-top:25px; }
.soloma-admin .login-card .muted { font-size:10px; margin-top:20px; }
.soloma-admin .login-shell { background:radial-gradient(ellipse at 50% 25%,#ffffff04,transparent 70%); }
@media(max-width:1000px) {
 .auth-shell.auth-experience { gap:50px; grid-template-columns:1fr 400px; }
 .profile-grid { grid-template-columns:195px minmax(0,1fr)!important; gap:25px!important; }
 .settings-grid { grid-template-columns:1fr; }.settings-wide { grid-column:auto; }
 .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .container { width:calc(100% - 36px); }
 .nav { width:calc(100% - 24px)!important; top:12px!important; }
 .nav-inner { padding:9px 16px!important; min-height:55px!important; }
 .nav.open .actions { flex-wrap:wrap; }
 .auth-shell.auth-experience { width:calc(100% - 36px); grid-template-columns:1fr; gap:30px; padding:115px 0 55px; }
 .auth-intro h1 { font-size:45px; margin:14px 0; }
 .auth-intro>p { font-size:12px; max-width:340px; }
 .auth-intro-meta { display:none; }
 .auth-card { padding:25px!important; }
 .auth-experience::before { inset:0; opacity:.08; }
 .profile { padding:105px 0 50px!important; }
 .profile-grid { grid-template-columns:1fr!important; gap:25px!important; }
 .profile-side { position:static!important; padding:13px!important; }
 .account-identity { padding:3px 3px 13px; margin-bottom:0; }
 .account-menu-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; padding:15px 3px 2px; background:none; color:#9d9da9; font-size:11px; cursor:pointer; }
 .profile-side .nav-list { display:none!important; padding-top:15px; }
 .profile-side.is-expanded .nav-list { display:flex!important; }
 .account-page-heading { margin-bottom:25px; }
 .account-page-heading h1 { font-size:37px; }
 .profile-breadcrumb { margin-bottom:22px!important; }
 .profile-card,.settings-card { padding:23px!important; }
 .page-intro { padding-top:115px; }
 .page-intro h1,.access-page h1,.legal-head h1 { font-size:44px; }
 .access-grid { grid-template-columns:1fr; }
 .catalog-grid { grid-template-columns:1fr; }
 .catalog-cta { flex-direction:column; align-items:flex-start; }
 .legal-container { width:calc(100% - 36px); }
 .legal-paper { font-size:12px; }
 .legal-paper h2 { font-size:21px; }
 .footer { padding-top:45px; }
 .soloma-admin .content { padding:80px 18px 30px; }
 .soloma-admin .page-header h1,.soloma-admin .page-head h1 { font-size:34px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } }
/* Account polish: bright atmospheric surfaces and clear balance actions. */
/* One fixed, monochrome artwork layer shared by the entire public page. */
body.soloma-site::before { display:block!important; opacity:.14!important; background:url('/static/soloma-anime-bg.webp') center top/cover no-repeat!important; filter:grayscale(1)!important; }
body.soloma-site::after { display:block!important; opacity:.08!important; background-image:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px)!important; background-size:72px 72px!important; mask-image:linear-gradient(180deg,#000,transparent 80%)!important; -webkit-mask-image:linear-gradient(180deg,#000,transparent 80%)!important; }
.nav-balance { display:inline-flex; align-items:center; gap:9px; padding:7px 10px; border:1px solid #ffffff12; border-radius:9px; color:#a8a8b2!important; background:#ffffff04; font-size:10px; line-height:1.1; white-space:nowrap; }
.nav-balance strong { color:#e5e5ea; font-size:11px; font-weight:600; }
.nav-balance:hover { color:#f3f3f6!important; border-color:#ffffff2a; background:#ffffff08; }
.nav-shop { color:#bdbdc6!important; }
.balance-overview { gap:18px!important; }
.balance-overview-row { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; width:100%; }
.balance-overview-row h3 { margin:0 0 8px; }
.balance-amount { display:block; color:#efeff2; font:600 clamp(30px,4vw,44px)/1.1 Inter,system-ui,sans-serif; letter-spacing:-.025em; }
.nav-balance strong,.balance-amount,.balance-checkout-amount,.balance-dialog-amount { font-family:Inter,system-ui,sans-serif; font-variant-numeric:lining-nums tabular-nums; }
.balance-actions { display:flex; flex-wrap:wrap; gap:9px; margin:2px 0 6px; }
.balance-overview .purchase-options { margin-top:8px; }
.subscription-neutral { color:#c7c7ce!important; background:#ffffff08!important; border-color:#ffffff12!important; }
.subscription-neutral-text { color:#c7c7ce!important; }
.account-page-heading { padding-top:8px; }
.settings-grid { align-items:stretch; }
.settings-card { min-height:0; }
.settings-card form { gap:16px; }
.customize-page .settings-card { align-content:start; }
.device-management-card { background:#101012!important; }
.device-management-note { display:flex; align-items:flex-start; gap:12px; padding:15px; border:1px solid #ffffff0e; border-radius:10px; color:#9c9ca6; font-size:11px; line-height:1.7; }
@media(max-width:760px) {
 .nav-balance { order:2; flex:1; justify-content:center; }
 .nav .actions .nav-username { order:3; }
 .balance-overview-row .btn { width:100%; }
 .balance-actions .btn { flex:1; min-width:180px; }
}
/* Shop pricing is intentionally above seller links; payment remains external. */
.shop-pricing { margin:0 0 30px; }
.shop-pricing-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:0 0 18px; border-bottom:1px solid #ffffff12; color:#777781; font-size:10px; }
.shop-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.shop-price-card { display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:25px; min-width:0; border:1px solid #ffffff10; border-radius:14px; background:#101012e8; box-shadow:0 15px 45px #0002; }
.shop-price-card.shop-price-featured { border-color:#ffffff28; background:linear-gradient(135deg,#ffffff0c,#101012e8 65%); }
.shop-price-card h2 { margin:17px 0 10px; font:500 25px/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.03em; }
.shop-price-main { color:#f0f0f2; font:500 34px/1 Georgia,'Times New Roman',serif; letter-spacing:-.04em; }
.shop-price-main small { color:#81818b; font:11px Inter,sans-serif; letter-spacing:0; }
.shop-price-list { display:grid; gap:8px; width:100%; margin:22px 0; padding-top:17px; border-top:1px solid #ffffff0d; color:#9999a3; font-size:11px; }
.shop-price-list span::before { content:'↳'; color:#777781; margin-right:9px; }
.shop-price-card .btn { margin-top:auto; }
.balance-checkout { margin-top:24px; padding:30px; }
.balance-checkout-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding-bottom:22px; border-bottom:1px solid #ffffff12; }
.balance-checkout-head h2 { margin:14px 0 8px; font:500 clamp(25px,3vw,36px)/1.1 Inter,system-ui,sans-serif; letter-spacing:-.04em; }
.balance-checkout-head p { max-width:560px; color:#92929c; font-size:12px; line-height:1.7; }
.balance-checkout-amount { color:#f0f0f2; font:600 38px/1.1 Inter,system-ui,sans-serif; letter-spacing:-.025em; white-space:nowrap; }
.balance-checkout-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:20px; }
.balance-checkout-card { display:grid; gap:16px; align-content:space-between; min-width:0; padding:18px; border:1px solid #ffffff10; border-radius:12px; background:#ffffff03; }
.balance-checkout-card label { display:grid; gap:9px; color:#9999a4; font-size:11px; }
.balance-checkout-card select { width:100%; }
.balance-checkout-card .btn { width:100%; justify-content:center; }
.balance-checkout-service strong { display:block; color:#e1e1e7; font-size:14px; }
.balance-checkout-service small { display:block; margin-top:6px; color:#858590; font-size:11px; }
.balance-checkout-login { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:20px; padding:16px; border:1px solid #ffffff10; border-radius:11px; color:#9999a4; font-size:12px; }
@media(max-width:760px) { .shop-pricing-heading { display:grid; gap:9px; } .shop-price-grid { grid-template-columns:1fr; } .shop-price-card { padding:22px; } }
@media(max-width:760px) { .balance-checkout { padding:22px; } .balance-checkout-head { display:grid; gap:16px; } .balance-checkout-grid { grid-template-columns:1fr; } .balance-checkout-login { align-items:stretch; flex-direction:column; } }
.sub-status { background:transparent!important; border:0!important; box-shadow:none!important; padding:12px 0!important; }
.sub-status .ico { background:transparent!important; border:0!important; }
.soloma-site .sub-status > .subscription-infinity { padding:0; font:inherit; line-height:1; letter-spacing:normal; }
.soloma-site .sub-status > .subscription-infinity svg.subscription-infinity-icon { display:block; width:48px!important; height:28px!important; flex:0 0 auto; }
.subscription-neutral { background:transparent!important; }
.studio-stats { border-bottom:1px solid #ffffff0d; background:#0a0a0caa; }
.studio-stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:28px 0; }
.studio-stats-grid>div { display:grid; gap:7px; border-left:1px solid #ffffff12; padding-left:18px; }
.studio-stats-grid strong { color:#e8e8ed; font:500 clamp(23px,3vw,35px)/1 Georgia,'Times New Roman',serif; letter-spacing:-.04em; }
.studio-stats-grid span { color:#73737d; font-size:10px; letter-spacing:.04em; }
.studio-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
.studio-gallery .screenshot-preview { min-width:0; }
@media(max-width:700px) { .studio-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .studio-stats-grid>div { padding-left:12px; } }
.studio-hero h1 { font-family:Inter,system-ui,sans-serif!important; font-weight:700!important; letter-spacing:-.075em!important; }
.compare-section { padding-top:72px; }
.compare-slider { position:relative; isolation:isolate; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid #ffffff20; border-radius:16px; background:#0c0c0e; box-shadow:0 20px 70px #0008; }
.compare-slider-layer { position:absolute; inset:0; overflow:hidden; }
.compare-slider-layer img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; pointer-events:none; }
.compare-slider-after { z-index:1; filter:saturate(.9) contrast(1.05); }
.compare-slider-before { z-index:2; width:var(--compare-position); border-right:1px solid #fff; box-shadow:8px 0 30px #0005; }
.compare-slider-label { position:absolute; z-index:4; top:16px; padding:7px 10px; border:1px solid #ffffff29; border-radius:7px; background:#0b0b0dcc; color:#f1f1f3; font:500 9px Inter,sans-serif; letter-spacing:.13em; pointer-events:none; }
.compare-slider-label-before { left:16px; }
.compare-slider-label-after { right:16px; }
.compare-slider-divider { position:absolute; z-index:5; top:0; bottom:0; left:var(--compare-position); width:2px; background:#fff; transform:translateX(-50%); pointer-events:none; }
.compare-slider-divider span { position:absolute; top:50%; left:50%; display:grid; place-items:center; width:38px; height:38px; border:2px solid #fff; border-radius:50%; background:#111114e8; color:#fff; transform:translate(-50%,-50%); font-size:18px; box-shadow:0 4px 20px #0008; }
.compare-slider-range { position:absolute; z-index:6; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.compare-slider-range::-webkit-slider-thumb { appearance:none; width:42px; height:100%; cursor:ew-resize; }
.compare-slider-range::-moz-range-thumb { width:42px; height:100%; cursor:ew-resize; border:0; background:transparent; }
@media(max-width:700px) { .compare-slider { aspect-ratio:4/3; border-radius:12px; } .compare-slider-label { top:10px; font-size:8px; } .compare-slider-label-before { left:10px; } .compare-slider-label-after { right:10px; } }
.hero-compare { min-width:0; align-self:stretch; padding:22px; border:1px solid #ffffff12; border-radius:18px; background:#0d0d0fe6; box-shadow:0 24px 75px #0007; backdrop-filter:blur(10px); }
.hero-compare h2 { margin:8px 0 10px; font:600 clamp(28px,3.3vw,44px)/1.08 Inter,sans-serif; letter-spacing:-.055em; color:#ededf1; }
.hero-compare>p { max-width:520px; margin:0 0 20px; color:#8f8f99; font-size:12px; line-height:1.7; }
.hero-compare .studio-section-top { margin-bottom:0; }
.compare-slider-label { transition:opacity .2s ease,transform .2s ease; }
.balance-dialog { width:min(430px,calc(100% - 32px)); margin:auto; padding:25px; border:1px solid #ffffff1e; border-radius:17px; background:#111114f7; color:#ececf0; box-shadow:0 30px 100px #000b; }
.balance-dialog::backdrop { background:#02020499; backdrop-filter:blur(8px); }
.balance-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.balance-dialog-close { display:grid; place-items:center; width:30px; height:30px; border:1px solid #ffffff14; border-radius:8px; background:#ffffff06; color:#cfcfd7; font-size:21px; line-height:1; cursor:pointer; }
.balance-dialog-close:hover { background:#ffffff12; color:#fff; }
.balance-dialog h2 { margin:22px 0 8px; font:500 28px/1.1 Inter,system-ui,sans-serif; letter-spacing:-.04em; }
.balance-dialog-amount { display:block; color:#f0f0f2; font:600 40px/1.1 Inter,system-ui,sans-serif; letter-spacing:-.025em; }
.balance-dialog p { margin:18px 0 22px; color:#92929c; font-size:12px; line-height:1.75; }
.balance-dialog-actions { display:grid; gap:9px; }
.balance-dialog-actions .btn { width:100%; justify-content:center; }
.balance-dialog-secondary { color:#8b8b95; font-size:11px; text-align:center; padding-top:5px; }
.balance-dialog-secondary:hover { color:#eeeef1; }
@media(max-width:700px) {
 .hero-compare { padding:15px; }
}
/* The landing page uses one continuous visual field. Cards keep their own
   contrast, while the page itself no longer reads as a stack of boxed strips. */
.landing-refresh,.studio-hero,.studio-section,.studio-stats { background:transparent!important; border-bottom:0!important; }
.studio-stats-grid>div { border-left:0!important; padding-left:0!important; }
.studio-stats { background:transparent!important; }
.studio-stats-grid { border-top:0; border-bottom:0; }
.signup-captcha-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.signup-captcha-image { display:block; width:132px; height:66px; border:1px solid #ffffff16; border-radius:10px; background:#111117; image-rendering:auto; }
.signup-captcha-row input { width:105px!important; text-align:center; text-transform:uppercase; letter-spacing:.12em; font-family:monospace; }
.signup-captcha-row .studio-text-link { font-size:11px; }
.cf-turnstile { min-height:65px; }
/* Keep the artwork; remove the decorative square grid from every surface. */
body::after, body.soloma-site::after, body.soloma-admin::after { display:none!important; content:none!important; background:none!important; background-image:none!important; mask-image:none!important; -webkit-mask-image:none!important; }
/* Liquid-glass footer: the artwork stays visible through a soft frosted pane. */
.footer.site-footer-refresh {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:rgba(9,9,12,.46)!important;
  border-top:1px solid rgba(255,255,255,.15)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 -20px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(22px) saturate(1.18);
  -webkit-backdrop-filter:blur(22px) saturate(1.18);
}
.footer.site-footer-refresh::before,
.footer.site-footer-refresh::after {
  content:'';
  position:absolute;
  z-index:-1;
  left:-10%;
  width:120%;
  height:90px;
  pointer-events:none;
  filter:blur(24px);
  opacity:.42;
}
.footer.site-footer-refresh::before {
  top:-58px;
  background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.22),rgba(180,170,255,.06) 38%,transparent 72%);
}
.footer.site-footer-refresh::after {
  bottom:-62px;
  background:radial-gradient(ellipse at 50% 0,rgba(160,145,255,.19),rgba(255,255,255,.04) 36%,transparent 72%);
}
.footer.site-footer-refresh .container { position:relative; z-index:1; }
.footer.site-footer-refresh .footer-bottom { border-top-color:rgba(255,255,255,.12)!important; }
