:root {
  color-scheme: dark;
  --black: #030303;
  --white: #f7f7f4;
  --silver: #a6a6a0;
  --muted: #787874;
  --success: #9cf7b1;
  --danger: #c83e4d;
  --danger-text: #ee7b86;
  --danger-border: #c83e4d55;
  --danger-soft: #c83e4d10;
  --danger-glow: #c83e4d22;
  --line: rgba(255,255,255,.10);
  --line-strong: rgba(255,255,255,.21);
  --surface: linear-gradient(145deg,rgba(26,26,27,.82),rgba(12,12,13,.95) 65%);
  --ease: cubic-bezier(.22,.8,.22,1);
  --control-radius: 18px;
  --control-height: 52px;
  --control-light: linear-gradient(165deg,#ffffff,#e7e7e3);
  --control-glass: linear-gradient(155deg,rgba(30,30,31,.72),rgba(10,10,11,.84));
  --safe-top: env(safe-area-inset-top,0px);
  --safe-bottom: env(safe-area-inset-bottom,0px);
  --frame-height: min(844px,100dvh);
  --frame-bottom: calc((100dvh - var(--frame-height))/2);
  --font-sans: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --app-grid: linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);
}
* { box-sizing:border-box; }
html,body { width:100%; height:100%; margin:0; overflow:hidden; background:var(--black); }
body { display:grid; place-items:center; font:14px/1.5 var(--font-sans); color:var(--white); -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { color:inherit; cursor:pointer; }
button:disabled { opacity:.38; cursor:not-allowed; }
button,a { transition:background 180ms var(--ease),color 180ms var(--ease),transform 180ms var(--ease),border-color 180ms var(--ease); }
button:active:not(:disabled),a.button:active { transform:scale(.98); }
a { color:inherit; text-decoration:none; }
img,svg,canvas { display:block; }
img { max-width:100%; object-fit:contain; }
svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
svg[viewBox="0 0 256 256"] { fill:currentColor; stroke:none; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--white); outline-offset:3px; }
[hidden] { display:none !important; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-weight:650; letter-spacing:-.035em; line-height:1.15; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-80px; z-index:3000; padding:12px; background:var(--white); color:var(--black); }
.skip-link:focus { top:0; }
.platform-telegram { --safe-top:max(env(safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)); --safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px)); }
.app-frame { position:relative; isolation:isolate; width:min(100%,390px); height:var(--frame-height); min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; background:#050505; container-type:size; container-name:app-frame; }
.app-frame::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:var(--app-grid); background-size:34px 34px; background-position:center top; }
.app-frame::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse 255px 240px at 50% 29%,transparent 99.2%,#ffffff20 99.6%,transparent 100%),radial-gradient(ellipse 355px 330px at 50% 29%,transparent 99.5%,#ffffff13 99.8%,transparent 100%),radial-gradient(ellipse 450px 210px at 38% 94%,#ffffff04 98.5%,#ffffff24 99.6%,transparent 100%),radial-gradient(ellipse at 50% 18%,#ffffff06,transparent 54%); }
body:not(.app-ready) .app-frame { visibility:hidden; }
.app-main { width:100%; height:100%; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; }
.app-main::-webkit-scrollbar,.view::-webkit-scrollbar,dialog::-webkit-scrollbar { display:none; }
.view { min-height:100%; padding:calc(16px + var(--safe-top)) 0 16px; }
.view.is-entering { animation:screen-in 260ms var(--ease); }
@keyframes screen-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.shell { width:calc(100% - 36px); margin-inline:auto; }
.product-screen,.profile-dashboard { display:flex; flex-direction:column; gap:14px; }
.app-screen-header { height:38px; flex:none; display:flex; justify-content:space-between; align-items:center; margin-bottom:2px; }
.app-screen-brand { display:flex; align-items:center; gap:8px; }
.app-screen-brand img { width:106px; height:auto; }
.app-screen-kicker { font-size:10px; color:var(--silver); letter-spacing:.13em; }
.app-glass-card { border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.eyebrow,.app-section-heading>span,.app-section-heading>div>span { display:block; font-size:10px; font-weight:550; letter-spacing:.13em; color:var(--silver); text-transform:uppercase; }
.app-section-heading h2 { margin-top:5px; font-size:21px; }
.button { min-height:var(--control-height); padding:12px 16px; border:1px solid var(--line-strong); border-radius:var(--control-radius); display:inline-flex; align-items:center; justify-content:center; gap:10px; text-align:center; font-size:14px; font-weight:600; line-height:1.3; }
.button-light,.button-danger { background:var(--control-light); border-color:#eee; color:#090909; box-shadow:inset 0 1px 0 #fff,0 5px 20px rgba(255,255,255,.035); }
.button-dark,.button-outline { background:var(--control-glass); color:var(--white); border-color:var(--line-strong); box-shadow:inset 0 1px 0 #ffffff0c; }
.button-full { width:100%; }
.button-muted { color:var(--silver); background:transparent; }
.button.loading { opacity:.55; pointer-events:none; }
.mobile-nav { --active-index:0; position:relative; isolation:isolate; margin:0 10px calc(10px + var(--safe-bottom)); height:68px; padding:5px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--line-strong); border-radius:23px; background:var(--control-glass); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:inset 0 1px 0 #ffffff14,inset 0 -1px 0 #ffffff08,0 8px 24px #0005; }
.mobile-nav::before { content:""; position:absolute; z-index:-1; left:5px; top:5px; height:56px; width:calc((100% - 10px)/5); border-radius:18px; background:linear-gradient(150deg,#fff,#e8e8e5); box-shadow:0 2px 8px #0004; transform:translateX(calc(var(--active-index)*100%)); transition:transform 320ms var(--ease); }
.mobile-nav button { min-width:0; min-height:44px; padding:4px 0; border:0; border-radius:18px; background:transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; color:var(--silver); }
.mobile-nav button.is-active { color:#0a0a0a; }
.mobile-nav img { width:23px; height:23px; opacity:.7; filter:grayscale(1) brightness(1.7); }
.mobile-nav .is-active img { filter:brightness(.05); opacity:1; }
.mobile-nav span { font-size:10px; line-height:1; font-weight:550; letter-spacing:-.02em; }

/* Home keeps its approved composition; the hero absorbs spare height. */
#view-home { height:100%; min-height:480px; padding:0 0 18px; }
.hero { position:relative; height:100%; padding-top:var(--safe-top); }
.hero-topline { position:absolute; top:calc(28px + var(--safe-top)); left:4px; z-index:1; font-size:9px; line-height:1.8; letter-spacing:.25em; text-transform:uppercase; color:var(--silver); }
.hero-brand { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; }
.hero-mark-wrap { position:relative; flex:1; width:100%; min-height:220px; max-height:430px; display:grid; place-items:center; container-type:size; }
.hero-orb { position:absolute; height:min(84cqw,90cqh,300px); width:min(84cqw,90cqh,300px); aspect-ratio:1; opacity:.9; }
.hero-mark { position:relative; width:auto; height:42%; max-height:174px; filter:drop-shadow(0 16px 22px #0008); }
.hero-orbit-guide { position:absolute; width:92%; aspect-ratio:1; border:1px solid #ffffff15; border-radius:50%; transform:rotate(-24deg) scaleY(.64); }
.hero-orbit-guide::after { content:""; position:absolute; top:50%; left:-2px; width:3px; height:3px; border-radius:50%; background:#deded9; box-shadow:0 0 8px #ffffff55; }
.hero-wordmark { width:91%; height:auto; margin:4px 0 12px; transform:scale(.92); }
.hero-brand > :is(.hero-wordmark,.hero-manifesto,.home-access,.hero-actions) { position:relative; top:-52px; }
.hero-manifesto { display:flex; align-items:center; justify-content:center; gap:10px; font-size:8px; letter-spacing:.19em; text-transform:uppercase; color:var(--silver); white-space:nowrap; margin-bottom:28px; }
.hero-manifesto span { width:2px; height:2px; border-radius:50%; background:var(--silver); }
.home-access { width:100%; min-height:68px; padding:14px 18px; border:1px solid var(--line-strong); border-radius:20px; background:var(--surface); display:flex; align-items:center; gap:13px; text-align:left; }
.home-access-signal { width:8px; height:8px; flex:none; border-radius:50%; background:var(--success); box-shadow:0 0 14px #9cf7b132; }
.home-access-copy { display:grid; gap:3px; flex:1; }
.home-access-title { font-size:14px; font-weight:550; color:var(--success); }
.home-access-detail { color:var(--silver); font-size:12px; }
.home-access.is-inactive .home-access-title { color:var(--danger-text); }
.home-access.is-inactive .home-access-signal { background:var(--danger); box-shadow:0 0 14px var(--danger-glow); }
.home-access-arrow { color:var(--silver); width:18px; }
.hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; width:100%; margin-top:14px; }
.hero-actions>.button-light { grid-column:1/-1; position:relative; min-height:54px; }
.hero-actions>.button-light svg { position:absolute; right:17px; width:17px; }
.hero-actions>.button-dark { font-size:12px; gap:8px; min-height:51px; padding-inline:8px; }
.hero-actions svg { width:20px; height:20px; }

/* Subscription products. */
.tariff-segment { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 1fr; padding:4px; border:1px solid var(--line-strong); border-radius:var(--control-radius); background:var(--control-glass); touch-action:pan-y; user-select:none; }
.tariff-segment-thumb { position:absolute; z-index:-1; left:4px; top:4px; bottom:4px; width:calc((100% - 8px)/2); border-radius:14px; background:var(--control-light); box-shadow:inset 0 1px 0 #fff,0 2px 6px #0004; pointer-events:none; }
.tariff-segment button { min-height:44px; padding:10px; border:0; border-radius:14px; background:transparent; color:var(--silver); font-size:13px; font-weight:600; }
.tariff-segment button[aria-checked="true"] { color:#090909; }
.tariff-segment button:active { transform:none; }
.tariff-product { position:relative; min-height:181px; padding:22px; overflow:hidden; }
.tariff-product-copy { position:relative; z-index:1; max-width:220px; }
.tariff-product-copy>span { font-size:10px; letter-spacing:.14em; color:var(--success); }
.tariff-product h1 { margin:12px 0; font-size:38px; line-height:1.1; letter-spacing:-.035em; white-space:nowrap; }
.tariff-product p { max-width:190px; font-size:12px; line-height:1.5; color:var(--silver); }
.tariff-product-orbit { position:absolute; width:116px; height:116px; top:18px; right:-14px; opacity:.3; }
.tariff-product-orbit img { width:100%; height:100%; filter:grayscale(1); }
.tariff-choice-heading { margin:4px 0 0; }
.tariff-options { display:grid; gap:10px; }
.tariff-option { width:100%; min-height:106px; padding:18px 20px; position:relative; display:grid; grid-template-columns:1fr auto; gap:6px 12px; align-items:center; text-align:left; }
.tariff-option-period { font-size:17px; font-weight:600; }
.tariff-option-period em { display:block; margin-top:5px; font-size:10px; font-style:normal; font-weight:500; color:var(--silver); }
.tariff-option-price { display:flex; align-items:baseline; gap:4px; padding-right:19px; }
.tariff-option-price small { font-size:10px; color:var(--silver); }
.tariff-option-price strong { font-size:31px; font-weight:600; letter-spacing:-.04em; color:var(--success); }
.tariff-option-price b { font-size:14px; font-weight:500; }
.tariff-option-meta { font-size:11px; color:var(--silver); }
.tariff-option>i { position:absolute; right:16px; top:43px; color:var(--silver); }
.tariff-option>i svg { width:16px; height:16px; }
.tariff-option-featured { border-color:var(--line); }
.tariff-benefits { display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; padding:18px 16px; }
.tariff-benefits>div { display:flex; gap:10px; align-items:center; color:var(--silver); font-size:12px; }
.tariff-benefits>div>span { display:grid; place-items:center; }
.tariff-benefits svg { width:18px; height:18px; color:var(--success); }
.tariff-benefits strong { font-weight:500; color:var(--white); }
.tariff-benefits small { display:block; margin-top:2px; font-size:11px; }

/* Devices: the list, rather than the whole application, can grow. */
#view-devices { height:100%; }
.devices-screen { height:100%; }
.device-capacity { padding:24px 20px; background:radial-gradient(ellipse at 50% 0%,#ffffff08,transparent 70%),var(--surface); }
.device-capacity-heading { display:grid; gap:5px; text-align:center; }
.device-capacity-heading>span { font-size:10px; color:var(--success); letter-spacing:.12em; }
.device-capacity-heading small { font-size:12px; color:var(--silver); }
.device-counter { display:grid; grid-template-columns:48px 1fr 48px; align-items:center; margin:20px auto 0; max-width:248px; }
.device-counter>div { display:grid; text-align:center; }
.device-counter strong { font-size:54px; font-weight:550; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
.device-counter>div>span { font-size:12px; color:var(--silver); margin-top:7px; }
.stepper-button,.plan-device-stepper button { width:44px; height:44px; border:1px solid var(--line-strong); border-radius:14px; background:var(--control-glass); box-shadow:inset 0 1px 0 #ffffff0c; display:grid; place-items:center; padding:0; }
.device-list-heading { display:flex; justify-content:space-between; align-items:end; margin-top:6px; }
.device-list-heading b { font-size:12px; color:var(--success); font-weight:500; padding:5px 10px; border:1px solid #9cf7b126; background:#9cf7b109; border-radius:99px; font-variant-numeric:tabular-nums; }
.device-list { min-height:90px; overflow:auto; scrollbar-width:thin; flex:1; display:flex; flex-direction:column; gap:9px; }
.device-row { padding:16px 12px; border:1px solid var(--line); background:var(--surface); border-radius:20px; display:flex; gap:8px; align-items:center; flex:none; }
.device-row-info { flex:1; display:flex; align-items:center; gap:10px; min-width:0; }
.device-row-copy { min-width:0; }
.device-row-icon { display:grid; place-items:center; width:42px; height:46px; flex:none; color:var(--silver); border:1px solid #ffffff12; border-radius:14px; background:linear-gradient(140deg,#ffffff0b,#ffffff02); box-shadow:inset 0 1px 0 #ffffff08; }
.device-row-icon img { width:24px; height:24px; opacity:1; filter:brightness(0) saturate(100%) invert(91%) sepia(18%) saturate(726%) hue-rotate(67deg) brightness(99%) contrast(96%); }
.device-row strong { font-size:13px; font-weight:600; display:block; overflow-wrap:anywhere; }
.device-row small { display:block; font-size:11px; color:var(--silver); margin:3px 0; }
.device-row em { display:block; font-size:10px; color:var(--muted); font-style:normal; }
.device-remove { flex:none; display:grid; place-items:center; width:44px; height:44px; border:1px solid #eee; border-radius:14px; padding:0; background:var(--control-light); color:#090909; }
.device-remove svg { width:18px; height:18px; }
.device-remove-label { width:auto; padding:8px 10px; border-radius:12px; font-size:12px; font-weight:600; }
.device-save { flex:none; margin-top:2px; }

/* Referrals use a single ledger and a generous progress ring. */
.referral-screen { gap:10px; }
.referral-hero { order:3; border-radius:20px; padding:15px 18px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 12px; }
.referral-hero>span { font-size:10px; color:var(--silver); letter-spacing:.12em; }
.referral-hero p { grid-column:2; grid-row:1/3; }
.referral-hero p strong { font-size:30px; font-weight:600; letter-spacing:-.04em; }
.referral-hero p small { font-size:11px; color:var(--silver); }
.referral-hero b { font-size:11px; font-weight:400; color:var(--muted); }
.referral-hero-rule { display:none; }
.referral-progress { order:1; border:0; background:transparent; box-shadow:none; padding:3px 0 8px; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.referral-progress-ring { position:relative; display:grid; place-items:center; width:172px; height:172px; }
.referral-progress-ring::before { content:""; position:absolute; inset:17px; border-radius:50%; background:radial-gradient(circle at 35% 15%,#ffffff09,transparent 65%); border:1px solid #ffffff08; }
.referral-progress-ring svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.referral-progress-ring circle { fill:none; stroke-width:3; }
.referral-progress-track { stroke:#ffffff12; }
.referral-progress-value { stroke:var(--success); stroke-dasharray:100; stroke-dashoffset:100; stroke-linecap:round; transition:stroke-dashoffset 700ms var(--ease); }
.referral-progress-ring strong,.referral-stats>div:last-child strong,.referral-hero p strong { color:var(--success); }
.referral-progress-ring strong { font-size:38px; font-weight:550; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.referral-progress-copy>span { display:none; }
.referral-progress-copy h2 { font-size:19px; font-weight:550; }
.referral-progress-copy p { margin-top:5px; font-size:12px; color:var(--silver); }
.referral-stats { order:2; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.referral-stats>div { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px; padding:16px; border:0; border-radius:0; background:none; box-shadow:none; }
.referral-stats>div+div { border-left:1px solid var(--line); }
.referral-stats span { grid-column:1/-1; font-size:9px; letter-spacing:.09em; color:var(--silver); }
.referral-stats strong { font-size:28px; font-weight:550; line-height:1.2; }
.referral-stats small { font-size:10px; color:var(--muted); }
.referral-share { order:4; padding:17px; border-radius:20px; }
.referral-share>div>span { display:none; }
.referral-share h2 { font-size:18px; }
.referral-share code { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--silver); font:11px/1.5 var(--font-sans); margin:8px 0 15px; }
.referral-terms-button { order:5; width:100%; min-height:48px; display:flex; align-items:center; justify-content:space-between; padding:8px 3px; border:0; background:none; font-size:13px; color:var(--silver); }
.numbered-list { list-style:none; margin:0; padding:0; }
.numbered-list li { display:flex; gap:15px; padding:14px 0; border-top:1px solid var(--line); }
.numbered-list li>span { color:var(--muted); font-size:11px; }
.numbered-list p { font-size:12px; color:var(--silver); }

/* Profile hierarchy. */
.profile-dashboard { gap:12px; }
.profile-spotlight { border:0; border-radius:0; background:none; box-shadow:none; padding:2px 0 7px; }
.profile-header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.profile-identity { display:flex; align-items:center; gap:11px; min-width:0; flex:1; }
.profile-identity>div:last-child { min-width:0; }
.profile-avatar { width:46px; height:46px; display:grid; place-items:center; flex:none; border:1px solid var(--line-strong); border-radius:50%; background:radial-gradient(circle at 30% 20%,#ffffff0f,#ffffff03); }
.profile-avatar img { width:19px; height:31px; }
.profile-identity h1 { font-size:18px; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-identity p { margin-top:5px; font-size:10px; color:var(--silver); }
.status-badge { display:inline-flex; align-items:center; gap:6px; flex:none; color:var(--success); font-size:10px; padding:7px 10px; border:1px solid #9cf7b125; border-radius:99px; background:#9cf7b108; }
.status-badge i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.status-badge.is-inactive { color:var(--danger-text); border-color:var(--danger-border); background:var(--danger-soft); }
.subscription-overview { padding:18px; }
.subscription-overview-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:17px; }
.subscription-overview-heading>div>span { font-size:10px; letter-spacing:.12em; color:var(--silver); text-transform:uppercase; }
.subscription-overview h2 { margin-top:8px; display:flex; gap:7px; font-size:31px; line-height:1; letter-spacing:-.04em; }
.subscription-overview h2 span { display:inline; }
.account-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.account-metrics>div { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:7px 8px; padding:12px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(140deg,#ffffff05,transparent); }
.account-metrics svg { width:18px; height:18px; color:var(--success); }
.account-metrics span { font-size:11px; color:var(--silver); }
.account-metrics strong { grid-column:1/-1; font-size:17px; line-height:1.2; font-weight:550; white-space:nowrap; }
.profile-network-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:4px; min-height:167px; padding:18px; text-align:left; overflow:hidden; }
.profile-network-heading { display:grid; gap:7px; }
.profile-network-heading small { display:block; font-size:9px; letter-spacing:.11em; color:var(--silver); }
.profile-network-heading strong { display:block; margin-top:5px; font-size:20px; line-height:1.1; font-weight:600; letter-spacing:-.035em; }
.profile-network-state { font-size:10px; color:var(--silver); }
.profile-network-metrics { display:flex; gap:24px; margin-top:20px; }
.profile-network-metrics small { display:block; color:var(--muted); font-size:8px; letter-spacing:.03em; }
.profile-network-metrics strong { display:block; margin-top:3px; font-size:18px; line-height:1.2; font-weight:550; }
.profile-network-visual { position:relative; width:100%; aspect-ratio:1; display:grid; place-items:center; }
#profile-network-globe { width:100%; height:auto; aspect-ratio:1; }
.profile-network-arrow { position:absolute; bottom:-12px; right:0; color:var(--silver); }
.profile-network-metrics [data-network-value="load"] { color:var(--success); }
.profile-network-card[data-mode="unavailable"] [data-network-value="load"] { color:var(--silver); }
.profile-network-arrow svg { width:17px; height:17px; }
.profile-connections { margin-top:3px; }
.profile-connections .app-section-heading>span { display:none; }
.profile-connections h2 { font-size:15px; margin:0 0 10px; }
.app-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.app-button { min-height:var(--control-height); padding:12px 16px; display:flex; align-items:center; gap:10px; background:var(--control-light); color:#090909; border:1px solid #eee; border-radius:var(--control-radius); box-shadow:inset 0 1px 0 #fff; text-align:left; }
.app-button>span { flex:1; }
.app-button strong { display:block; font-size:13px; font-weight:550; }
.app-button small { display:block; font-size:10px; color:#595956; margin-top:2px; }
.app-button b { color:#343432; }
.app-button b svg { width:12px; height:12px; }
.profile-more { min-height:46px; font-size:12px; justify-content:space-between; margin-top:1px; }
.profile-more svg { width:16px; height:16px; color:var(--silver); }
.account-actions { display:grid; margin-top:22px; }
.account-action-row,.info-link { width:100%; min-height:57px; display:flex; align-items:center; gap:12px; padding:12px 4px; background:transparent; border:0; border-bottom:1px solid var(--line); font-size:14px; text-align:left; }
.account-action-row>span,.info-link>span { flex:1; }
.account-action-row b,.info-link b { color:var(--silver); }
.account-action-row b svg,.info-link b svg { width:18px; height:18px; }
.account-actions .account-logout-button { position:relative; isolation:isolate; width:100%; min-height:56px; margin-top:14px; padding:8px 16px 8px 8px; border:1px solid var(--danger-border); border-radius:var(--control-radius); background:var(--danger-soft); color:var(--danger-text); gap:12px; overflow:hidden; }
.account-logout-button::before { content:""; position:absolute; z-index:-1; inset:0; background:var(--danger); transform:translateX(calc(-100% + 56px)); transition:transform 360ms var(--ease); }
.account-logout-button b { order:-1; display:grid; place-items:center; width:40px; height:40px; color:var(--white); transition:transform 360ms var(--ease); }
.account-logout-button>span { padding-left:7px; font-weight:600; }
.account-actions .account-logout-button:is(:hover,:focus-visible) { color:var(--white); }
.account-logout-button:is(:hover,:focus-visible)::before { transform:translateX(0); }
.account-logout-button:is(:hover,:focus-visible) b { transform:translateX(-3px); }

/* One native dialog geometry for every flow, anchored to the app. */
dialog { color:var(--white); }
.modal,.network-status-sheet { position:fixed; inset:auto 0 var(--frame-bottom); margin:0 auto; padding:28px 22px calc(24px + var(--safe-bottom)); width:min(390px,100%); max-width:390px; max-height:calc(var(--frame-height) - 24px); overflow:auto; overscroll-behavior:contain; scrollbar-width:none; border:1px solid var(--line-strong); border-bottom:0; border-radius:28px 28px 0 0; background:linear-gradient(155deg,#1b1b1c,#101011 42%,#0b0b0c); box-shadow:0 -20px 80px #0009; }
.modal,.network-status-sheet { background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px),linear-gradient(155deg,#181819,#101011 42%,#0b0b0c); background-size:34px 34px,34px 34px,auto; }
dialog:not([open]) { display:none; }
dialog[open] { animation:sheet-in 380ms var(--ease); }
dialog::backdrop { background:rgba(0,0,0,.68); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); animation:backdrop-in 240ms ease; }
@keyframes sheet-in { from { opacity:0; transform:translateY(100%); } to { opacity:1; transform:none; } }
@keyframes backdrop-in { from { opacity:0; } to { opacity:1; } }
.modal::before,.network-status-sheet::before { content:""; position:absolute; top:10px; left:calc(50% - 17px); width:34px; height:3px; border-radius:9px; background:#ffffff30; }
.modal form { margin:0; padding:0; }
.modal-close,.app-sheet-close { position:relative; isolation:isolate; width:44px; height:44px; flex:none; display:grid; place-items:center; padding:0; border:0; border-radius:14px; background:transparent; color:#090909; }
.modal-close::before,.app-sheet-close::before { content:""; position:absolute; z-index:-1; inset:6px; border:1px solid #eee; border-radius:10px; background:var(--control-light); box-shadow:inset 0 1px 0 #fff; }
.modal-close:focus-visible,.app-sheet-close:focus-visible { outline-offset:-3px; }
.modal-close { position:absolute; top:24px; right:16px; }
.modal-close svg,.app-sheet-close svg { width:16px; height:16px; }
.modal .eyebrow { margin:9px 50px 10px 0; }
.modal h2 { font-size:24px; line-height:1.22; padding-right:48px; margin-bottom:18px; text-wrap:balance; }
#modal-copy { font-size:14px; line-height:1.55; color:var(--silver); overflow-wrap:anywhere; }
#modal-copy:not(.payment-copy)>*+* { margin-top:16px; }
.modal-actions { display:grid; gap:9px; margin-top:23px; }
.modal .button { min-height:52px; font-size:14px; }
.plan-modal-copy { font-size:13px; color:var(--silver); margin-bottom:22px; }
.plan-device-picker { border:1px solid var(--line); border-radius:20px; padding:18px; background:#0002; }
.plan-device-heading { display:grid; gap:20px; }
.plan-device-heading strong { font-size:14px; font-weight:550; }
.plan-device-heading span { display:block; margin-top:4px; font-size:11px; color:var(--silver); }
.plan-device-stepper { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; }
.plan-device-stepper>strong { text-align:center; font-size:34px; font-weight:500; }
.plan-current-note { font-size:11px; color:var(--silver); margin:15px 0; text-align:center; }
.plan-summary { border-top:1px solid var(--line); padding-top:12px; }
.plan-summary>div { display:flex; justify-content:space-between; gap:12px; font-size:12px; margin:8px 0; color:var(--silver); }
.plan-summary .plan-total { color:var(--white); align-items:center; font-size:14px; padding-top:10px; }
.plan-total strong { font-size:28px; letter-spacing:-.03em; font-weight:600; }
.plan-later-note { display:flex; gap:10px; font-size:11px; color:var(--silver); margin:20px 0; }
.plan-later-note svg { width:16px; height:16px; flex:none; margin-top:2px; }
.payment-copy { display:grid; gap:12px; }
.payment-copy__summary { font-size:16px; color:var(--white); }
.payment-copy__code { font-size:11px; color:var(--muted); }
.payment-copy__notice,.payment-copy__points { border-left:2px solid var(--silver); padding-left:12px; }
.payment-copy__instruction { font-size:13px; }
.modal-payment .modal-actions { grid-template-columns:1fr 1fr; gap:9px; }
.payment-method-action { min-height:90px !important; min-width:0; flex-direction:column; gap:6px; padding:14px !important; align-items:flex-start; text-align:left; }
.payment-method-action>span { display:block; line-height:1.3; }
.payment-method-action small { display:block; font-size:11px; line-height:1.4; opacity:.72; font-weight:400; }
.payment-points,.payment-change,.modal-payment .button-muted,.modal-payment-status .button,.payment-submit { grid-column:1/-1; }
.payment-timeline { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:10px 0; }
.payment-timeline li { position:relative; display:grid; justify-items:center; gap:9px; font-size:10px; color:var(--muted); }
.payment-timeline li::after { content:""; position:absolute; height:1px; top:5px; left:calc(50% + 10px); width:calc(100% - 20px); background:var(--line-strong); }
.payment-timeline li:last-child::after { display:none; }
.payment-timeline i { width:11px; height:11px; border:1px solid #ffffff30; border-radius:50%; background:#141415; }
.payment-timeline [data-state="complete"] { color:var(--success); }
.payment-timeline [data-state="complete"] i,.payment-timeline [data-state="complete"]::after { background:var(--success); border-color:var(--success); }
.payment-timeline [data-state="current"] { color:var(--success); }
.payment-timeline [data-state="current"] i { border-color:var(--success); background:var(--success); box-shadow:0 0 0 4px #9cf7b115; }
.payment-status-icon { position:relative; width:148px; height:148px; border:1px solid var(--line); border-radius:50%; margin:12px auto; display:grid; place-items:center; background:radial-gradient(circle,#ffffff07,transparent 68%); }
.payment-status-icon::before { content:""; position:absolute; inset:22px; border:1px solid var(--line); border-radius:50%; }
.payment-status-icon.is-waiting::after { content:""; position:absolute; inset:0; border:1px solid transparent; border-top-color:var(--white); border-right-color:#ffffff40; border-radius:50%; animation:orbit 3s linear infinite; }
.payment-status-icon span { width:12px; height:12px; background:var(--white); border-radius:50%; box-shadow:0 0 22px #ffffff40; }
.payment-status-icon.is-complete { color:var(--success); border-color:#9cf7b12b; }
.payment-status-icon.is-complete svg { width:42px; height:42px; stroke-width:1.7; }
@keyframes orbit { to { transform:rotate(360deg); } }
.payment-status-message,.payment-status-summary { text-align:center; }
.payment-status-summary { color:var(--white); font-size:12px; }
.device-reduction-list { display:grid; gap:8px; margin-top:15px; }
.network-status-sheet { padding:25px 18px 20px; }
.app-sheet-surface { outline:none; }
.app-sheet-handle { display:none; }
.network-sheet-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.network-sheet-header span { font-size:9px; letter-spacing:.15em; color:var(--silver); }
.network-sheet-header h2 { font-size:23px; margin-top:5px; }
.network-sheet-hero { position:relative; display:grid; justify-items:center; margin-bottom:18px; }
#network-sheet-globe { width:230px; height:210px; }
.network-sheet-summary { display:flex; align-items:center; gap:10px; justify-content:center; }
.network-sheet-status-dot { width:7px; height:7px; background:var(--success); border-radius:50%; box-shadow:0 0 12px #9cf7b125; }
.network-sheet-summary strong { display:block; font-size:13px; font-weight:550; }
.network-sheet-summary small { display:block; font-size:11px; color:var(--silver); margin-top:3px; }
.network-node-list { display:grid; gap:0; border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.network-node { padding:14px 16px; background:#ffffff02; }
.network-node+.network-node { border-top:1px solid var(--line); }
.network-node-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.network-node-identity { display:flex; align-items:center; gap:9px; min-width:0; }
.network-node-identity b { width:26px; font-size:10px; color:var(--muted); font-weight:500; }
.network-node-identity strong { font-size:13px; font-weight:550; }
.network-node-state { font-size:10px; color:var(--success); }
.network-node[data-state="UNKNOWN"] .network-node-state,.network-node[data-state="DEGRADED"] .network-node-state { color:var(--silver); }
.network-status-sheet[data-state="unknown"] .network-sheet-status-dot,.network-status-sheet[data-state="degraded"] .network-sheet-status-dot { background:var(--silver); box-shadow:none; }
.network-status-sheet[data-state="offline"] .network-sheet-status-dot { background:var(--danger-text); box-shadow:none; }
.network-node[data-state="OFFLINE"] .network-node-state { color:var(--danger-text); }
.network-node-meter { height:3px; border-radius:9px; background:#ffffff0a; margin-top:12px; overflow:hidden; }
.network-node-meter span { display:block; height:100%; width:var(--node-load,0%); background:var(--success); border-radius:9px; }
.network-node[data-state="OFFLINE"] .network-node-meter span { background:var(--danger); }
.network-node-load { display:flex; justify-content:space-between; margin-top:5px; font-size:10px; color:var(--muted); }
.network-node-load strong { color:var(--silver); font-weight:500; }
.network-sheet-note { color:var(--muted); font-size:11px; text-align:center; margin-top:15px; }

/* Entry, assistance and document screens share the same typography. */
.entry-screen,.auth-gate { position:fixed; inset:var(--frame-bottom) 0; margin:auto; z-index:200; width:min(390px,100%); height:var(--frame-height); padding:28px 24px; background:#050505; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:24px; overflow:auto; }
.entry-screen,.auth-gate { background-image:var(--app-grid),radial-gradient(ellipse 255px 240px at 50% 29%,transparent 99.2%,#ffffff20 99.6%,transparent 100%); background-size:34px 34px,34px 34px,auto; }
.auth-gate { visibility:hidden; opacity:0; pointer-events:none; justify-content:flex-start; }
.auth-gate:not([aria-hidden="true"]) { visibility:visible; opacity:1; pointer-events:auto; }
.entry-brand,.auth-brand { display:flex; flex-direction:column; align-items:center; gap:24px; }
.entry-ghost { width:68px; height:auto; }
.entry-wordmark { width:200px; height:auto; }
.entry-status { color:var(--silver); font-size:12px; text-align:center; }
.entry-loader { width:64px; height:64px; flex:none; overflow:visible; filter:drop-shadow(0 0 3px #ffffff18); }
.loader-ring { fill:none; stroke:var(--white); stroke-width:14; stroke-linecap:round; stroke-dasharray:60 600; animation:loader-a 2.8s linear infinite; }
.loader-ring-b { stroke:#b8bcc4; stroke-dasharray:20 200; animation-name:loader-b; }
.loader-ring-c { stroke:#fff; stroke-dasharray:40 400; animation-name:loader-c; }
.loader-ring-d { stroke:#8e939e; stroke-dasharray:40 400; stroke-dashoffset:-220; animation-name:loader-c; animation-delay:-.7s; }
@keyframes loader-a {
  0%,4% { stroke-dasharray:2 658; stroke-dashoffset:-330; }
  12% { stroke-dasharray:60 600; stroke-dashoffset:-335; }
  32% { stroke-dasharray:60 600; stroke-dashoffset:-595; }
  40%,54% { stroke-dasharray:2 658; stroke-dashoffset:-660; }
  62% { stroke-dasharray:60 600; stroke-dashoffset:-665; }
  82% { stroke-dasharray:60 600; stroke-dashoffset:-925; }
  90%,100% { stroke-dasharray:2 658; stroke-dashoffset:-990; }
}
@keyframes loader-b {
  0%,12% { stroke-dasharray:2 218; stroke-dashoffset:-110; }
  20% { stroke-dasharray:20 200; stroke-dashoffset:-115; }
  40% { stroke-dasharray:20 200; stroke-dashoffset:-195; }
  48%,62% { stroke-dasharray:2 218; stroke-dashoffset:-220; }
  70% { stroke-dasharray:20 200; stroke-dashoffset:-225; }
  90% { stroke-dasharray:20 200; stroke-dashoffset:-305; }
  98%,100% { stroke-dasharray:2 218; stroke-dashoffset:-330; }
}
@keyframes loader-c {
  0% { stroke-dasharray:2 438; stroke-dashoffset:0; }
  8% { stroke-dasharray:40 400; stroke-dashoffset:-5; }
  28% { stroke-dasharray:40 400; stroke-dashoffset:-175; }
  36%,58% { stroke-dasharray:2 438; stroke-dashoffset:-220; }
  66% { stroke-dasharray:40 400; stroke-dashoffset:-225; }
  86% { stroke-dasharray:40 400; stroke-dashoffset:-395; }
  94%,100% { stroke-dasharray:2 438; stroke-dashoffset:-440; }
}
.entry-copy { text-align:center; }
.entry-copy h1 { margin:10px 0; font-size:28px; }
.entry-copy>p:last-child { color:var(--silver); font-size:13px; }
.entry-actions,.auth-panel { width:100%; display:grid; gap:10px; }
.entry-retry { min-height:44px; display:flex; align-items:center; justify-content:center; gap:6px; }
.auth-fallback-button { width:100%; }
.access-denied-screen { padding:24px 20px; }
.access-status-card { width:100%; padding:26px 22px 20px; border:1px solid #c83e4d55; border-radius:26px; background:linear-gradient(145deg,rgba(200,62,77,.17),rgba(200,62,77,.065) 65%); box-shadow:inset 0 1px 0 #ffffff14,0 14px 44px #0005; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); animation:access-card-in 380ms var(--ease); }
.access-wordmark { width:112px; height:auto; margin-bottom:26px; }
.access-status-card .entry-copy { text-align:left; }
.access-status-card h1 { font-size:25px; margin:0 0 12px; text-wrap:balance; }
.access-status-card .entry-copy>p:last-child { color:#d1c4c6; line-height:1.65; }
.access-status-card .entry-actions { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin-top:24px; }
.access-status-card #access-bot-link { grid-column:1/-1; }
.access-status-card .access-secondary { min-height:44px; min-width:0; padding:8px; font-size:12px; font-weight:500; line-height:1.3; border-color:#ffffff20; border-radius:14px; background:#ffffff06; color:var(--white); }
.access-secondary:is(:hover,:focus-visible) { background:#ffffff10; border-color:#ffffff40; }
.access-secondary svg { width:15px; height:15px; }
@keyframes access-card-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.auth-panel { text-align:center; margin-block:auto; }
.auth-brand { margin:0 0 30px; }
.auth-brand img:first-child { width:60px; height:auto; }
.auth-brand img:last-child { width:210px; }
.auth-temp-panel { border-top:1px solid var(--line); padding-top:18px; }
.auth-temp-heading strong { font-size:14px; }
.auth-temp-heading span,.auth-temp-status,.auth-status { display:block; font-size:12px; color:var(--silver); margin:8px 0; }
.auth-temp-actions { display:grid; gap:10px; margin-top:16px; }
.auth-support-actions .button { width:100%; }
.page-intro { margin:22px 0; }
.page-intro h1 { font-size:29px; margin:8px 0 12px; }
.page-intro>p:last-child { font-size:13px; color:var(--silver); }
.page-back,.assistant-back { min-width:44px; min-height:44px; padding:9px 12px; border:1px solid var(--line); border-radius:14px; background:#ffffff04; color:var(--silver); font-size:12px; display:inline-flex; align-items:center; gap:8px; }
.page-back.button-light { background:var(--control-light); border-color:#eee; color:#090909; }
.page-back svg,.assistant-back svg { width:17px; height:17px; }
.document-header { margin:24px 0; }
.document-header h1 { font-size:27px; margin:12px 0; }
.document-header>p { font-size:12px; color:var(--silver); }
.legal-document { color:var(--silver); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.legal-document section { margin:22px 0; }
.legal-document h2 { color:var(--white); font-size:19px; margin:22px 0 12px; }
.legal-document p { margin:10px 0; }
.document-footer-actions { margin:24px 0 4px; }
.document-return { width:100%; }
.inline-link { color:var(--white); border:0; padding:0; background:none; text-decoration:underline; }
.support-page-actions { display:grid; gap:10px; }
.support-send { position:relative; overflow:hidden; }
.support-send svg { transition:transform 260ms var(--ease); }
.support-send:is(:hover,:focus-visible) svg { transform:translate(3px,-3px) rotate(8deg); }
.support-send:active svg { transform:translate(7px,-7px); }
.telegram-action::before { content:""; flex:none; width:20px; height:20px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 14 21 3M21 3l-7 18-4-7-7-4 18-7Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform 260ms var(--ease); }
.telegram-action:is(:hover,:focus-visible)::before { transform:translate(3px,-3px) rotate(8deg); }
.telegram-action:active::before { transform:translate(7px,-7px); }
.support-details { border:1px solid var(--line); border-radius:20px; padding:18px; margin-top:22px; color:var(--silver); font-size:13px; }
.support-details p { margin-bottom:12px; }
.support-details strong { font-size:12px; font-weight:500; }
.info-link-list { display:grid; gap:9px; margin:22px 0; }
.info-card { border:1px solid var(--line); border-radius:20px; padding:18px; background:var(--surface); margin-block:14px; }
.info-card h2 { margin-bottom:12px; font-size:19px; }
.info-card p { color:var(--silver); font-size:13px; }
.info-link { display:flex; align-items:center; justify-content:space-between; min-height:64px; padding:14px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.info-link small { display:block; font-size:11px; color:var(--silver); }
#view-assistant { height:100%; }
.ai-section { height:100%; min-height:0; display:flex; flex-direction:column; gap:18px; }
.assistant-back { align-self:start; }
.ai-heading h2 { font-size:27px; margin:5px 0 10px; }
.ai-heading>p { color:var(--silver); font-size:12px; max-width:280px; }
.ai-console { display:flex; flex-direction:column; flex:1; min-height:0; gap:12px; }
.ai-messages { flex:1; overflow:auto; min-height:100px; display:flex; flex-direction:column; gap:12px; scrollbar-width:thin; }
.ai-message { padding:14px; border:1px solid var(--line); border-radius:18px; max-width:94%; display:flex; align-items:start; gap:10px; font-size:13px; }
.ai-message>span { font-size:11px; color:var(--silver); }
.ai-message p { overflow-wrap:anywhere; white-space:pre-wrap; }
.ai-message-assistant { background:var(--surface); align-self:start; }
.ai-message-user { align-self:end; background:#e8e8e4; color:#101010; }
.ai-suggestions { display:flex; gap:7px; overflow:auto; scrollbar-width:none; }
.ai-suggestions button { flex:none; min-height:44px; border:1px solid var(--line); border-radius:14px; padding:8px 11px; background:#ffffff03; color:var(--silver); font-size:11px; }
.ai-form { display:flex; align-items:end; gap:8px; border:1px solid var(--line-strong); border-radius:19px; padding:7px; background:#101011; }
.ai-form textarea { min-width:0; flex:1; min-height:44px; max-height:140px; resize:none; border:0; background:none; color:var(--white); padding:12px 8px; outline:none; font-size:14px; }
.ai-send { flex:none; width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:13px; background:var(--white); color:#050505; }
.toast { position:fixed; z-index:3000; left:50%; bottom:calc(var(--frame-bottom) + 94px + var(--safe-bottom)); transform:translate(-50%,8px); width:max-content; max-width:340px; padding:12px 18px; border:1px solid var(--line-strong); border-radius:16px; background:#222223; box-shadow:0 12px 40px #0009; font-size:12px; text-align:center; opacity:0; visibility:hidden; transition:opacity 180ms ease,transform 180ms ease,visibility 180ms; pointer-events:none; }
.toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }
.update-notice { position:fixed; z-index:150; bottom:calc(var(--frame-bottom) + 88px); left:50%; transform:translateX(-50%); width:min(350px,90%); padding:14px; background:#202021; border:1px solid var(--line-strong); border-radius:18px; display:flex; align-items:center; justify-content:space-between; }
.update-notice strong,.update-notice span { display:block; font-size:12px; }
.update-notice span { color:var(--silver); }
.update-notice button { min-height:44px; display:flex; align-items:center; gap:8px; border:0; background:transparent; font-size:12px; }
body[data-qa="true"] .app-screen-kicker::after { content:" · ДЕМО"; font-size:8px; color:var(--muted); }
@media(min-width:600px) {
  :root { --frame-height:min(844px,calc(100dvh - 32px)); --frame-bottom:calc((100dvh - var(--frame-height))/2); }
  body { background:radial-gradient(ellipse at 50% 25%,#171718,#050505 65%); }
  .app-frame { border:1px solid #ffffff1a; border-radius:32px; box-shadow:0 24px 100px #000a; }
  .entry-screen,.auth-gate { border-radius:32px; }
  .modal,.network-status-sheet { border-bottom:1px solid var(--line-strong); border-radius:28px; }
}
@media(max-width:350px) {
  .shell { width:calc(100% - 28px); }
  .mobile-nav { margin-inline:7px; }
  .mobile-nav span { font-size:9px; }
  .profile-network-card { grid-template-columns:1fr 90px; padding:15px; }
  .profile-network-metrics { gap:17px; }
  .account-metrics>div { padding:9px; column-gap:5px; }
  .account-metrics span { font-size:10px; }
  .profile-identity h1 { font-size:16px; }
  .status-badge { padding-inline:7px; font-size:9px; }
  .hero-manifesto { font-size:7px; gap:7px; }
  .referral-stats small { display:none; }
  .modal,.network-status-sheet { padding-inline:17px; }
}
@media(max-height:700px) {
  .view { padding-top:calc(10px + var(--safe-top)); }
  .product-screen,.profile-dashboard { gap:10px; }
  .hero-topline { top:calc(17px + var(--safe-top)); }
  .hero-manifesto { margin-bottom:17px; }
  .hero-mark-wrap { min-height:200px; }
  .hero-mark { max-height:173px; }
  .hero-wordmark { width:82%; }
  .hero-brand > :is(.hero-wordmark,.hero-manifesto,.home-access,.hero-actions) { top:-28px; }
  .referral-progress-ring { width:130px; height:130px; }
  .referral-progress-copy h2 { font-size:17px; }
  #network-sheet-globe { width:170px; height:148px; }
  .network-node { padding-block:11px; }
  .tariff-product { min-height:154px; padding:18px; }
  .tariff-product h1 { font-size:37px; }
  .tariff-option { min-height:89px; padding:14px 18px; }
  .device-capacity { padding:16px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
@media(max-height:650px) {
  .view { padding-top:calc(8px + var(--safe-top)); padding-bottom:8px; }
  .app-screen-header { height:28px; }
  .product-screen,.profile-dashboard { gap:6px; }
  .tariff-product { min-height:124px; padding:12px; }
  .tariff-choice-heading { display:none; }
  .tariff-product h1 { font-size:31px; margin:6px 0; }
  .tariff-product p { max-width:190px; font-size:11px; }
  .tariff-product-orbit { width:110px; height:110px; }
  .tariff-options { gap:8px; }
  .tariff-option { min-height:76px; grid-template-columns:1fr auto; gap:6px; padding:13px; }
  .tariff-option-period { font-size:15px; }
  .tariff-option-period em { display:none; }
  .tariff-option-price { padding-right:0; }
  .tariff-option>i { display:none; }
  .tariff-choice-heading h2 { font-size:18px; }
  .tariff-option-price strong { font-size:27px; }
  .tariff-benefits { padding:9px; gap:9px; }
  .tariff-benefits>div { gap:6px; }
  .tariff-benefits small { font-size:10px; }
  .referral-progress { padding:0; gap:5px; }
  .referral-screen { gap:4px; }
  .referral-progress-ring { width:85px; height:85px; }
  .referral-progress-ring strong { font-size:26px; }
  .referral-progress-copy h2 { font-size:15px; }
  .referral-progress-copy p { margin-top:2px; }
  .referral-stats>div { padding:10px 14px; }
  .referral-stats strong { font-size:23px; }
  .referral-hero { padding:10px 14px; }
  .referral-hero p strong { font-size:25px; }
  .referral-share { padding:12px 14px; }
  .referral-share code { margin:5px 0 9px; }
  .referral-share .button { min-height:44px; }
  .referral-terms-button { min-height:44px; }
}
@container app-frame (max-height:810px) {
  .profile-spotlight { padding:0; }
  .profile-avatar { width:38px; height:38px; }
  .profile-header { min-height:38px; }
  .subscription-overview { padding:8px 12px; }
  .subscription-overview-heading { margin-bottom:7px; }
  .subscription-overview-heading>div>span { display:none; }
  .subscription-overview-heading h2 { margin-top:0; font-size:22px; }
  .account-metrics { gap:6px; }
  .account-metrics>div { padding:5px 7px; gap:1px 5px; }
  .account-metrics svg { grid-row:1/3; }
  .account-metrics strong { grid-column:2; font-size:13px; }
  .profile-network-card { grid-template-columns:minmax(0,1fr) 80px; min-height:104px; padding:10px 14px; }
  .profile-network-heading small { display:none; }
  .profile-network-heading strong { font-size:17px; }
  .profile-network-metrics { margin-top:11px; }
  .profile-connections h2 { font-size:13px; margin-bottom:7px; }
  .profile-connections .app-button { min-height:48px; padding:7px 10px; }
  .profile-more { min-height:44px; }
  .profile-dashboard { gap:5px; }
}
@container app-frame (min-height:651px) and (max-height:810px) {
  .subscription-overview { padding:14px; }
  .subscription-overview-heading h2 { font-size:26px; }
  .account-metrics>div { padding:10px; gap:6px 8px; }
  .account-metrics svg { grid-row:auto; }
  .account-metrics strong { grid-column:1/-1; font-size:16px; }
}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after { animation-play-state:paused !important; }
