:root {
  --bg: #070912;
  --bg-2: #0b0f1c;
  --surface: rgba(15, 20, 36, .82);
  --surface-solid: #101628;
  --surface-soft: rgba(255,255,255,.045);
  --line: rgba(255,255,255,.09);
  --line-strong: rgba(255,255,255,.15);
  --text: #f7f8fc;
  --muted: #98a2b7;
  --muted-2: #68748b;
  --purple: #806bff;
  --purple-light: #aa9dff;
  --cyan: #40d8e8;
  --pink: #ff77b7;
  --green: #52d6a0;
  --red: #ff7089;
  --yellow: #ffc96c;
  --radius-xl: 32px;
  --radius-lg: 24px;
  --radius-md: 17px;
  --shadow: 0 28px 80px rgba(0,0,0,.36);
  --shell: min(1180px, calc(100% - 44px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background: var(--bg);
  font-family: Pretendard, "Noto Sans KR", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; }
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
img, video, svg { display: block; }
[hidden] { display: none !important; }
button:focus-visible, a:focus-visible, input:focus-visible, .drop-zone:focus-visible, .pose-stage:focus-visible {
  outline: 3px solid rgba(128,107,255,.42);
  outline-offset: 3px;
}

.site-noise {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.aurora { position: fixed; z-index: -2; border-radius: 50%; filter: blur(110px); pointer-events: none; opacity: .27; }
.aurora-a { width: 520px; height: 520px; background: #5d43ff; top: -260px; left: -130px; animation: auroraFloat 11s ease-in-out infinite alternate; }
.aurora-b { width: 430px; height: 430px; background: #0a879a; top: 420px; right: -240px; animation: auroraFloat 13s ease-in-out infinite alternate-reverse; }
@keyframes auroraFloat { to { transform: translate3d(70px, 60px, 0) scale(1.12); } }

.shell { width: var(--shell); margin-inline: auto; }
.view { min-height: 100vh; }
.page-transition { position: fixed; inset: 0; z-index: 200; pointer-events: none; visibility: hidden; }
.page-transition::before, .page-transition::after { content: ""; position: absolute; inset: 0; background: #0b1020; transform: translateX(-105%); }
.page-transition::after { background: linear-gradient(120deg, var(--purple), #5040db 52%, var(--cyan)); transition-delay: .07s; }
.page-transition span { position: absolute; z-index: 2; left: 50%; top: 50%; width: 52px; height: 52px; border: 2px solid rgba(255,255,255,.25); border-top-color: white; border-radius: 50%; transform: translate(-50%,-50%) scale(.65); opacity: 0; }
.page-transition.active { visibility: visible; }
.page-transition.active::before, .page-transition.active::after { animation: wipe .82s cubic-bezier(.77,0,.18,1) both; }
.page-transition.active span { animation: transitionSpinner .7s .12s ease both; }
@keyframes wipe { 0%{transform:translateX(-105%)} 48%,58%{transform:translateX(0)} 100%{transform:translateX(105%)} }
@keyframes transitionSpinner { 0%{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(0)} 30%,70%{opacity:1} 100%{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(250deg)} }

.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-button { padding: 0; border: 0; background: transparent; color: var(--text); }
.brand-logo { position: relative; width: 39px; height: 39px; border-radius: 13px; background: linear-gradient(145deg, #ab9eff, #715bff 64%, #5140d0); box-shadow: 0 10px 28px rgba(113,91,255,.36); overflow: hidden; }
.brand-logo::after { content:""; position:absolute; inset:1px; border-radius:12px; border:1px solid rgba(255,255,255,.22); }
.brand-logo i { position: absolute; display: block; border: 2px solid white; border-radius: 50%; }
.brand-logo i:first-child { width: 15px; height: 15px; left: 8px; top: 8px; border-right-color: transparent; }
.brand-logo i:last-child { width: 13px; height: 13px; right: 7px; bottom: 7px; border-left-color: transparent; opacity: .88; }
.brand-logo.large { width: 54px; height: 54px; border-radius: 17px; }
.brand-logo.large::after { border-radius: 16px; }
.brand-logo.large i:first-child { width: 20px; height: 20px; left: 11px; top: 11px; }
.brand-logo.large i:last-child { width: 17px; height: 17px; right: 9px; bottom: 9px; }
.brand-copy { display: grid; text-align: left; line-height: 1; }
.brand-copy b { font-size: 17px; letter-spacing: 0; }
.brand-copy small { margin-top: 5px; font-size: 7px; color: #7f8ba2; letter-spacing: .22em; }

.landing-header { height: 86px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 20; }
.desktop-nav { display: flex; align-items: center; gap: 38px; }
.desktop-nav a { position: relative; text-decoration: none; color: #aab3c4; font-size: 13px; font-weight: 650; transition: color .2s; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; border-radius:99px; background:linear-gradient(90deg,var(--purple),var(--cyan)); transition:right .25s; }
.desktop-nav a:hover { color: #fff; }
.desktop-nav a:hover::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.model-status { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.model-status.compact { font-size: 11px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 5px rgba(255,201,108,.1); animation: statusPulse 1.7s ease-in-out infinite; }
.model-status.ready .status-dot { background: var(--green); box-shadow: 0 0 0 5px rgba(82,214,160,.1); animation: none; }
.model-status.error .status-dot { background: var(--red); box-shadow: 0 0 0 5px rgba(255,112,137,.1); animation: none; }
@keyframes statusPulse { 50% { opacity:.5; transform:scale(.8); } }

.button { min-height: 46px; border: 1px solid transparent; border-radius: 14px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; text-decoration: none; font-weight: 750; font-size: 13px; transition: transform .2s, background .2s, border-color .2s, box-shadow .2s, opacity .2s; position: relative; overflow: hidden; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(.985); }
.button-small { min-height: 40px; border-radius: 12px; padding-inline: 17px; font-size: 12px; }
.button-large { min-height: 57px; padding-inline: 26px; border-radius: 17px; font-size: 15px; }
.button svg { width: 19px; height: 19px; }
.button-primary { color: #fff; background: linear-gradient(135deg, #907cff, #6956f0 55%, #5142cf); box-shadow: 0 15px 34px rgba(105,86,240,.28), inset 0 1px rgba(255,255,255,.22); }
.button-primary::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.22),transparent 78%); transform:translateX(-130%); transition: transform .65s; }
.button-primary:hover { box-shadow: 0 20px 42px rgba(105,86,240,.38), inset 0 1px rgba(255,255,255,.25); }
.button-primary:hover::before { transform: translateX(130%); }
.button-outline { color: #e8ebf3; background: rgba(255,255,255,.04); border-color: var(--line-strong); }
.button-outline:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.23); }
.button-ghost { color: #e9e7ff; background: rgba(128,107,255,.11); border-color: rgba(160,145,255,.18); }
.button-ghost:hover { background: rgba(128,107,255,.18); }
.button-link { color: #aeb7c9; background: transparent; }
.button-link:hover { color: white; }
.full-width { width: 100%; }
.plain-button { border: 0; background: transparent; color: var(--muted); padding: 6px; font-size: 12px; }
.plain-button:hover { color: white; }

.hero { min-height: 710px; padding: 88px 0 108px; display: grid; grid-template-columns: 1.02fr .98fr; gap: 74px; align-items: center; position: relative; }
.hero::before { content:""; position:absolute; width:650px; height:650px; left:43%; top:-40px; border:1px solid rgba(255,255,255,.025); border-radius:50%; box-shadow:0 0 0 80px rgba(255,255,255,.012), 0 0 0 160px rgba(255,255,255,.008); pointer-events:none; }
.eyebrow-pill { width: max-content; padding: 8px 12px; border-radius: 999px; display:flex; align-items:center; gap:8px; color:#b8aeff; background:rgba(128,107,255,.08); border:1px solid rgba(155,139,255,.16); font-size:10px; font-weight:800; letter-spacing:.16em; }
.pulse-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(82,214,160,.4); animation:pulseRing 2s infinite; }
@keyframes pulseRing { 70%{box-shadow:0 0 0 8px rgba(82,214,160,0)} 100%{box-shadow:0 0 0 0 rgba(82,214,160,0)} }
.hero h1 { margin: 23px 0 22px; font-size: clamp(48px, 5.4vw, 70px); line-height: 1.05; letter-spacing: -.06em; }
.hero h1 span { white-space: nowrap; background:linear-gradient(90deg,#b8afff,#7be7ef 78%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-copy > p { max-width: 590px; margin:0; color:var(--muted); font-size:17px; line-height:1.85; word-break:keep-all; }
.hero-actions { display:flex; align-items:center; gap:10px; margin-top:35px; }
.trial-note { display:flex; flex-wrap:wrap; gap:18px; margin-top:20px; color:#77839a; font-size:11px; }
.trial-note span { white-space:nowrap; }
.reveal { opacity:0; animation: heroReveal .85s .12s cubic-bezier(.2,.75,.2,1) forwards; }
.reveal.delay-1 { animation-delay:.28s; }
@keyframes heroReveal { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }

.hero-visual { position:relative; min-height:490px; display:grid; place-items:center; }
.glass-card { background:linear-gradient(145deg,rgba(23,30,53,.92),rgba(10,14,26,.91)); border:1px solid rgba(255,255,255,.13); box-shadow:0 40px 100px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.04); backdrop-filter:blur(24px); }
.demo-window { position:relative; z-index:3; width:min(100%,510px); border-radius:28px; overflow:hidden; transform:perspective(1000px) rotateY(-5deg) rotateX(2deg); animation:windowFloat 5.4s ease-in-out infinite; }
@keyframes windowFloat { 50%{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg) translateY(-11px)} }
.demo-topbar { height:48px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:#778298; font-size:9px; letter-spacing:.13em; }
.window-dots { display:flex; gap:5px; }
.window-dots i { width:7px; height:7px; border-radius:50%; background:#39435a; }
.window-dots i:first-child{background:#ff7289}.window-dots i:nth-child(2){background:#ffc268}.window-dots i:last-child{background:#51d69d}
.live-chip { display:flex;align-items:center;gap:5px;color:#70dfb0;font-size:8px; }
.live-chip i { width:5px;height:5px;border-radius:50%;background:#51d69d;box-shadow:0 0 10px #51d69d; }
.demo-stage { padding:21px; }
.demo-object { height:248px; position:relative; display:grid; place-items:center; border-radius:19px; background:radial-gradient(circle at 50% 45%,rgba(128,107,255,.15),transparent 42%),#090d18; overflow:hidden; border:1px solid rgba(255,255,255,.06); }
.demo-object::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent); }
.device-shape { width:145px; height:98px; border-radius:25px; background:linear-gradient(145deg,#31384a,#121723 70%); box-shadow:0 20px 38px rgba(0,0,0,.45),inset 0 1px 2px rgba(255,255,255,.14); position:relative; transform:rotate(-5deg); }
.device-shape::before { content:""; position:absolute; width:58px;height:58px;right:17px;top:18px;border-radius:50%;background:radial-gradient(circle at 42% 38%,#47526b 0 7%,#111725 9% 25%,#2f3950 27% 33%,#080b12 35% 60%,#273045 62% 68%,#080b12 70%); box-shadow:inset 0 0 0 2px rgba(255,255,255,.08); }
.device-shape span { position:absolute;left:18px;top:20px;width:42px;height:49px;border-radius:9px;background:linear-gradient(145deg,#283044,#111721);box-shadow:inset 0 0 0 3px #070a10; }
.device-shape i { position:absolute;left:53px;top:8px;width:35px;height:7px;border-radius:99px;background:#0b0f17; }
.corner { position:absolute;width:24px;height:24px;border-color:#8d7bff;border-style:solid;opacity:.8; }
.corner-tl{left:40px;top:32px;border-width:2px 0 0 2px}.corner-tr{right:40px;top:32px;border-width:2px 2px 0 0}.corner-bl{left:40px;bottom:32px;border-width:0 0 2px 2px}.corner-br{right:40px;bottom:32px;border-width:0 2px 2px 0}
.scan-beam { position:absolute;left:10%;width:80%;height:2px;background:linear-gradient(90deg,transparent,#67ecf2,transparent);box-shadow:0 0 18px #46dae7;animation:demoScan 2.8s ease-in-out infinite; }
@keyframes demoScan { 0%,100%{top:20%;opacity:0} 13%,87%{opacity:1} 50%{top:80%} }
.demo-result { margin-top:14px;padding:13px 14px;border-radius:14px;background:linear-gradient(120deg,rgba(128,107,255,.13),rgba(64,216,232,.06));border:1px solid rgba(154,140,255,.14);display:flex;align-items:center;justify-content:space-between; }
.demo-result small { display:block;color:#77839a;font-size:8px; }
.demo-result strong { font-size:16px; }
.demo-result b { font-size:19px;color:#c7c0ff;letter-spacing:-.04em; }
.demo-bars { display:grid; gap:7px; margin-top:13px; }
.demo-bars span { display:grid;grid-template-columns:62px 1fr;align-items:center;gap:10px;color:#8791a5;font-size:8px; }
.demo-bars span::after { content:"";height:4px;grid-column:2;border-radius:99px;background:rgba(255,255,255,.06);grid-row:1; }
.demo-bars i { position:relative;z-index:1;height:4px;width:var(--bar);grid-column:2;grid-row:1;border-radius:99px;background:linear-gradient(90deg,var(--purple),var(--cyan));animation:demoBars 1.2s .8s both;transform-origin:left; }
@keyframes demoBars { from{transform:scaleX(0)} }
.orbit { position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%;animation:orbitRotate 24s linear infinite; }
.orbit::after { content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#8b78ff;box-shadow:0 0 15px #8b78ff;left:50%;top:-4px; }
.orbit-one { width:500px;height:500px; }
.orbit-two { width:390px;height:390px;animation-direction:reverse;animation-duration:18s; }
@keyframes orbitRotate { to{transform:rotate(360deg)} }
.floating-badge { position:absolute;z-index:5;display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:13px;background:rgba(16,22,39,.9);border:1px solid var(--line-strong);box-shadow:0 15px 35px rgba(0,0,0,.28);font-size:18px;backdrop-filter:blur(12px);animation:badgeFloat 4s ease-in-out infinite; }
.floating-badge span { color:#c4cad6;font-size:10px;font-weight:700; }
.badge-a{left:-8px;top:92px}.badge-b{right:-8px;top:174px;animation-delay:-1.3s}.badge-c{left:18px;bottom:55px;animation-delay:-2.4s}
@keyframes badgeFloat { 50%{transform:translateY(-9px) rotate(1deg)} }

.section { padding:130px 0; }
.section-heading { max-width:630px; }
.section-heading.centered { margin-inline:auto;text-align:center; }
.section-kicker { color:#9c8eff;font-size:10px;font-weight:850;letter-spacing:.2em; }
.section-heading h2,.how-copy h2 { margin:15px 0 18px;font-size:clamp(37px,4.2vw,54px);line-height:1.15;letter-spacing:-.055em; }
.section-heading p { margin:0;color:var(--muted);font-size:15px;line-height:1.8;word-break:keep-all; }
.reveal-on-scroll { opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1); }
.reveal-on-scroll.delay-1{transition-delay:.1s}.reveal-on-scroll.delay-2{transition-delay:.2s}
.reveal-on-scroll.visible { opacity:1;transform:none; }
.feature-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px; }
.feature-card { position:relative;min-height:310px;padding:28px;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.046),rgba(255,255,255,.018));border:1px solid var(--line);overflow:hidden;transition:transform .3s,border-color .3s,background .3s; }
.feature-card::after { content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-85px;bottom:-85px;background:radial-gradient(circle,rgba(128,107,255,.14),transparent 68%); }
.feature-card:hover { transform:translateY(-7px);border-color:rgba(167,153,255,.22);background:linear-gradient(145deg,rgba(128,107,255,.07),rgba(255,255,255,.025)); }
.feature-icon { width:58px;height:58px;display:grid;place-items:center;border-radius:18px;margin-bottom:54px;box-shadow:inset 0 1px rgba(255,255,255,.17); }
.feature-icon svg { width:25px;color:#fff; }
.gradient-purple{background:linear-gradient(145deg,#8f7cff,#5f4de0)}.gradient-cyan{background:linear-gradient(145deg,#4ee2ed,#178ca3)}.gradient-pink{background:linear-gradient(145deg,#ff89bf,#d64d8d)}
.feature-card > span { position:absolute;right:27px;top:27px;color:#4f5a70;font-size:11px;font-weight:800; }
.feature-card h3 { margin:0 0 9px;font-size:20px;letter-spacing:-.035em; }
.feature-card p { margin:0;color:var(--muted);font-size:13px;line-height:1.75;word-break:keep-all; }

.how-section { display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center; }
.how-visual { min-height:520px;position:relative;display:grid;place-items:center; }
.how-ring { position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.075); }
.ring-1{width:420px;height:420px;animation:ringSpin 22s linear infinite}.ring-2{width:310px;height:310px;border-style:dashed;animation:ringSpin 17s linear infinite reverse}.ring-3{width:205px;height:205px;background:radial-gradient(circle,rgba(128,107,255,.12),transparent 68%)}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.how-core { position:relative;z-index:3;width:145px;height:145px;border-radius:38px;background:linear-gradient(145deg,rgba(27,35,62,.95),rgba(12,17,31,.96));border:1px solid rgba(255,255,255,.14);box-shadow:0 25px 70px rgba(0,0,0,.38);display:flex;flex-direction:column;align-items:center;justify-content:center; }
.how-core b { margin-top:10px;font-size:13px;letter-spacing:.08em; }.how-core small{margin-top:4px;color:#69758c;font-size:6px;letter-spacing:.18em}
.node { position:absolute;z-index:4;width:94px;height:62px;border-radius:17px;background:rgba(17,23,41,.94);border:1px solid var(--line-strong);box-shadow:0 15px 35px rgba(0,0,0,.3);display:grid;place-items:center;color:#a99dff;font-size:14px;font-weight:850;animation:nodeFloat 4.5s ease-in-out infinite; }
.node span { display:block;color:#6f7b91;font-size:6px;letter-spacing:.16em;margin-top:-15px; }
.node-1{left:1%;top:27%}.node-2{right:1%;top:21%;animation-delay:-1.4s}.node-3{right:10%;bottom:12%;animation-delay:-2.7s}
@keyframes nodeFloat{50%{transform:translateY(-10px)}}
.how-copy h2 { margin-top:14px; }
.step-list { list-style:none;margin:38px 0 0;padding:0;display:grid;gap:14px; }
.step-list li { display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 19px;border-radius:18px;border:1px solid transparent;transition:.25s; }
.step-list li:hover { border-color:var(--line);background:rgba(255,255,255,.025);transform:translateX(5px); }
.step-list b { width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:rgba(128,107,255,.11);color:#a99dff;font-size:11px; }
.step-list strong { font-size:15px; }.step-list p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.65}

.pricing-section { position:relative; }
.pricing-section::before { content:"";position:absolute;left:50%;top:47%;width:720px;height:390px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(101,80,235,.13),transparent 66%);pointer-events:none; }
.pricing-grid { position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:53px;align-items:stretch; }
.price-card { position:relative;padding:30px;border-radius:25px;background:linear-gradient(145deg,rgba(19,25,45,.86),rgba(10,14,26,.9));border:1px solid var(--line);box-shadow:0 25px 60px rgba(0,0,0,.2); }
.price-card.featured { border-color:rgba(156,142,255,.34);transform:translateY(-12px);box-shadow:0 32px 80px rgba(64,49,151,.22); }
.price-card.featured::before { content:"";position:absolute;inset:-1px;border-radius:25px;padding:1px;background:linear-gradient(145deg,#8c79ff,transparent 35%,#42d6e4);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none; }
.popular-label { position:absolute;right:20px;top:18px;padding:5px 9px;border-radius:999px;color:#c9c2ff;background:rgba(128,107,255,.12);font-size:8px;font-weight:800; }
.price-tag { color:#8e9ab0;font-size:9px;font-weight:850;letter-spacing:.18em; }
.price-card h3 { margin:15px 0 4px;font-size:23px;letter-spacing:-.04em; }.price-card>p{margin:0;color:var(--muted);font-size:12px}
.price { margin:29px 0 24px;display:flex;align-items:end;gap:6px; }.price b{font-size:34px;letter-spacing:-.055em}.price span{padding-bottom:6px;color:#7b879c;font-size:10px}
.price-card ul { list-style:none;margin:0 0 27px;padding:0;display:grid;gap:12px;color:#b2bac9;font-size:12px; }
.price-card li::before { content:"✓";color:var(--green);margin-right:9px;font-weight:900; }
.final-cta { margin-top:70px;margin-bottom:100px;padding:65px 70px;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(120deg,rgba(128,107,255,.16),rgba(16,22,39,.87) 48%,rgba(64,216,232,.08));display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative; }
.final-cta::after { content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-100px;top:-120px;box-shadow:0 0 0 55px rgba(255,255,255,.02),0 0 0 110px rgba(255,255,255,.01); }
.final-cta>div,.final-cta button{position:relative;z-index:2}.final-cta h2{margin:12px 0 0;font-size:38px;line-height:1.18;letter-spacing:-.05em}
.landing-footer { min-height:100px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#5e697e;font-size:10px; }
.footer-brand { opacity:.72; }
.footer-slogan { margin:0;color:#aeb7c8;font-size:13px;font-weight:700;letter-spacing:.02em;text-align:center; }
.footer-slogan b { color:#a99eff;font-weight:950; }
.footer-meta { display:grid;gap:5px;text-align:right; }
.footer-meta p,.footer-meta span { margin:0; }

/* Application */
.app-view { background:radial-gradient(circle at 50% -20%,rgba(128,107,255,.12),transparent 34%),#080b14; }
.app-header { width:100%;height:74px;padding:0 max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(8,11,20,.82);backdrop-filter:blur(18px);position:sticky;top:0;z-index:40; }
.app-header-center { justify-self:center; }
.app-header-actions { justify-self:end;display:flex;align-items:center;gap:9px;position:relative; }
.icon-text-button { min-height:38px;padding:0 13px;border:0;border-radius:11px;background:transparent;color:#8994a9;font-size:11px;font-weight:700; }.icon-text-button:hover{background:rgba(255,255,255,.05);color:#fff}
.account-button { min-height:42px;padding:0 10px 0 6px;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:#dfe3ec;display:flex;align-items:center;gap:8px; }
.account-button>span { width:29px;height:29px;border-radius:9px;background:linear-gradient(145deg,#8d79ff,#5d4ad9);display:grid;place-items:center;font-size:10px;font-weight:850; }.account-button b{font-size:11px}.account-button svg{width:14px;color:#748096}
.account-menu { position:absolute;right:0;top:51px;width:245px;padding:12px;border-radius:17px;background:#111729;border:1px solid var(--line-strong);box-shadow:0 25px 65px rgba(0,0,0,.48);animation:menuIn .18s ease; }
@keyframes menuIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.account-menu-head { display:flex;align-items:center;gap:10px;padding:8px 7px 13px;border-bottom:1px solid var(--line);margin-bottom:7px; }
.account-menu-head>span { width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(128,107,255,.16);color:#b9afff;font-size:12px;font-weight:850; }.account-menu-head div{display:grid}.account-menu-head b{font-size:12px}.account-menu-head small{margin-top:3px;color:#727e93;font-size:9px;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.account-menu button { width:100%;padding:10px;border:0;border-radius:10px;text-align:left;background:transparent;color:#aeb7c8;font-size:10px; }.account-menu button:hover{background:rgba(255,255,255,.05);color:#fff}.account-menu .danger-menu:hover{color:#ff899d;background:rgba(255,112,137,.07)}
.app-main { width:min(1240px,calc(100% - 44px));margin:0 auto;padding:50px 0 80px; }
.app-intro { display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:end;margin-bottom:27px;animation:appEnter .55s ease both; }
@keyframes appEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.back-link { display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#778399;font-size:10px;margin-bottom:17px; }.back-link:hover{color:#fff}.back-link span{font-size:14px}
.app-intro h1 { margin:0;font-size:36px;letter-spacing:-.05em; }.app-intro>div>p{margin:8px 0 0;color:var(--muted);font-size:12px}
.usage-card { padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,rgba(128,107,255,.12),rgba(18,25,44,.84));border:1px solid rgba(155,141,255,.18);box-shadow:0 16px 45px rgba(0,0,0,.2); }
.usage-card-top { display:flex;align-items:center;justify-content:space-between; }.usage-card-top>span{padding:4px 8px;border-radius:999px;background:rgba(128,107,255,.13);color:#b7adff;font-size:8px;font-weight:800}.usage-card-top button{border:0;background:transparent;color:#8590a5;font-size:9px}.usage-card-top button:hover{color:#fff}
.usage-main { margin:12px 0 11px;display:flex;align-items:end;justify-content:space-between; }.usage-main strong{font-size:15px}.usage-main span{color:#748096;font-size:9px}
.usage-progress { height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden; }.usage-progress i{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--cyan));transition:width .45s ease}
.usage-dots { display:flex;gap:5px;margin-top:10px; }.usage-dots i{width:7px;height:7px;border-radius:50%;background:#333d51;transition:.25s}.usage-dots i.active{background:#9180ff;box-shadow:0 0 9px rgba(145,128,255,.5)}
.classifier-shell { display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch; }
.classifier-panel { min-height:670px;padding:25px;border-radius:25px;background:linear-gradient(145deg,rgba(18,24,43,.9),rgba(12,16,29,.91));border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.27);animation:appEnter .6s .08s ease both; }
.result-panel { animation-delay:.16s; }
.panel-title-row { display:flex;align-items:center;justify-content:space-between;margin-bottom:20px; }.panel-title-row>div{display:flex;align-items:center;gap:12px}.panel-number{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(128,107,255,.11);color:#a99eff;font-size:9px;font-weight:850}.panel-title-row h2{margin:0;font-size:17px;letter-spacing:-.03em}.panel-title-row p{margin:2px 0 0;color:#69758a;font-size:9px}
.drop-zone { position:relative;min-height:492px;border:1.5px dashed rgba(154,140,255,.28);border-radius:20px;background:rgba(7,10,18,.58);overflow:hidden;transition:.25s; }
.drop-zone:hover,.drop-zone.dragover{border-color:#927fff;background:rgba(128,107,255,.05);transform:translateY(-1px)}
.empty-state { min-height:492px;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }
.upload-orbit { width:100px;height:100px;border:1px dashed rgba(151,137,255,.2);border-radius:50%;display:grid;place-items:center;margin-bottom:20px;animation:slowRotate 13s linear infinite; }.upload-orbit::before{content:"";position:absolute;width:72px;height:72px;border:1px solid rgba(255,255,255,.05);border-radius:50%}@keyframes slowRotate{to{transform:rotate(360deg)}}
.upload-icon { width:62px;height:62px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(128,107,255,.19),rgba(128,107,255,.08));color:#b3a9ff;box-shadow:0 14px 32px rgba(69,49,166,.18);animation:counterRotate 13s linear infinite; }.upload-icon svg{width:28px}@keyframes counterRotate{to{transform:rotate(-360deg)}}
.empty-state strong{font-size:16px}.empty-state p{margin:7px 0 22px;color:#6c788e;font-size:10px}.upload-actions{display:flex;gap:8px}.upload-actions .button{min-height:43px;padding-inline:17px;font-size:11px}.upload-actions svg{width:17px}
.preview-state { position:absolute;inset:0;background:#05070d; }.preview-state img,.preview-state video{width:100%;height:100%;object-fit:contain}.image-scan-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(128,107,255,.025),transparent)}.image-scan-overlay span{position:absolute;left:7%;width:86%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 18px var(--cyan);animation:imageScan 3.4s ease-in-out infinite}@keyframes imageScan{0%,100%{top:8%;opacity:0}15%,85%{opacity:1}50%{top:89%}}
.preview-file { position:absolute;left:13px;right:13px;bottom:13px;display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:11px;background:rgba(7,10,18,.78);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(12px);color:#cfd5df;font-size:9px}.preview-file span{max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-file i{font-style:normal;color:#67dfaf;font-size:7px;font-weight:850;letter-spacing:.13em}
.camera-actions { display:flex;gap:9px;margin-top:11px}.camera-actions .button{flex:1;min-height:44px}
.analyze-button { width:100%;height:57px;margin-top:15px;border:0;border-radius:16px;color:white;background:linear-gradient(135deg,#8c77ff,#6350e8 62%,#4e3fca);box-shadow:0 15px 34px rgba(98,79,229,.25);font-weight:850;font-size:13px;display:flex;align-items:center;justify-content:center;gap:7px;position:relative;overflow:hidden;transition:.22s}.analyze-button svg{width:18px}.analyze-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 42px rgba(98,79,229,.36)}.analyze-button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.analyze-button-shine{position:absolute;top:-50%;left:-25%;width:18%;height:200%;background:rgba(255,255,255,.25);transform:rotate(20deg) translateX(-250%);filter:blur(4px)}.analyze-button:hover:not(:disabled) .analyze-button-shine{animation:buttonShine .75s ease}@keyframes buttonShine{to{transform:rotate(20deg) translateX(850%)}}
.analysis-badge { padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid var(--line);color:#7f8a9f;font-size:8px;font-weight:800}.analysis-badge.done{color:#5edca9;background:rgba(82,214,160,.09);border-color:rgba(82,214,160,.18)}.analysis-badge.loading{color:#b3a9ff;background:rgba(128,107,255,.09);border-color:rgba(128,107,255,.18)}
.result-empty,.result-loading { min-height:565px;padding:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.result-empty>strong,.result-loading>strong{font-size:15px}.result-empty>p,.result-loading>p{max-width:310px;margin:8px 0 0;color:#707c91;font-size:10px;line-height:1.7}
.empty-radar { width:105px;height:105px;position:relative;display:grid;place-items:center;margin-bottom:23px}.empty-radar i{position:absolute;border:1px solid rgba(128,107,255,.12);border-radius:50%}.empty-radar i:first-child{inset:0}.empty-radar i:nth-child(2){inset:18px}.empty-radar i:nth-child(3){inset:36px}.empty-radar span{width:9px;height:9px;border-radius:50%;background:#544a86;box-shadow:0 0 0 7px rgba(128,107,255,.06)}
.analysis-loader { width:110px;height:110px;position:relative;display:grid;place-items:center;margin-bottom:24px}.analysis-loader i{position:absolute;border-radius:50%;border:2px solid transparent;border-top-color:#8f7dff}.analysis-loader i:first-child{inset:0;animation:loaderSpin 1.6s linear infinite}.analysis-loader i:nth-child(2){inset:14px;border-top-color:#45d9e7;animation:loaderSpin 1.15s linear infinite reverse}.analysis-loader i:nth-child(3){inset:29px;border-top-color:#b4a9ff;animation:loaderSpin .85s linear infinite}.analysis-loader span{width:18px;height:18px;border-radius:6px;background:linear-gradient(145deg,#9b8aff,#5e4bdf);box-shadow:0 0 28px rgba(128,107,255,.7)}@keyframes loaderSpin{to{transform:rotate(360deg)}}
.loading-track { width:190px;height:4px;margin-top:20px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}.loading-track i{display:block;width:40%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--cyan));animation:loadingMove 1.2s ease-in-out infinite}@keyframes loadingMove{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
.result-content { animation:resultIn .48s cubic-bezier(.2,.75,.2,1) both}@keyframes resultIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.winner-card { position:relative;padding:18px;border-radius:19px;overflow:hidden;background:linear-gradient(135deg,rgba(128,107,255,.16),rgba(64,216,232,.055));border:1px solid rgba(156,142,255,.21)}.winner-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.winner-top span{color:#9788f5;font-size:7px;font-weight:900;letter-spacing:.17em}.winner-top i{font-style:normal;padding:4px 7px;border-radius:99px;background:rgba(82,214,160,.09);color:#63dbaa;font-size:7px}.winner-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;position:relative;z-index:2}.winner-icon{width:55px;height:55px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);font-size:27px}.winner-main small{color:#78849a;font-size:8px}.winner-main h3{margin:1px 0 0;font-size:23px;letter-spacing:-.04em}.winner-main p{margin:0;color:#8994a8;font-size:9px}.winner-main>strong{font-size:26px;color:#d1caff;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.winner-glow{position:absolute;width:150px;height:150px;border-radius:50%;right:-60px;bottom:-95px;background:rgba(64,216,232,.1);filter:blur(30px)}
.confidence-heading { margin:22px 2px 13px;display:flex;align-items:end;justify-content:space-between}.confidence-heading>div{display:flex;align-items:center;gap:8px}.confidence-heading strong{font-size:12px}.confidence-heading span{padding:3px 6px;border-radius:99px;background:rgba(255,255,255,.04);color:#727e93;font-size:7px}.confidence-heading small{color:#69758a;font-size:8px}
.prediction-list{display:grid;gap:9px}.prediction-row{padding:11px 13px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:rgba(255,255,255,.025);transition:border-color .2s,transform .2s}.prediction-row:first-child{border-color:rgba(160,145,255,.18)}.prediction-row:hover{transform:translateX(2px);border-color:rgba(255,255,255,.11)}.prediction-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.prediction-name{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750}.prediction-name span:first-child{font-size:13px}.prediction-score{color:#aeb7c8;font-size:9px;font-variant-numeric:tabular-nums}.progress-track{height:5px;border-radius:99px;background:rgba(255,255,255,.055);overflow:hidden}.progress-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--cyan));transition:width .85s cubic-bezier(.2,.8,.2,1)}
.result-note{margin-top:13px;padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.022);display:flex;align-items:flex-start;gap:7px;color:#657187}.result-note svg{width:15px;flex:0 0 auto}.result-note p{margin:0;font-size:8px;line-height:1.6}
.app-info-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.app-info-grid article{padding:15px 17px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.02);display:flex;align-items:center;gap:11px}.app-info-grid article>span{width:34px;height:34px;border-radius:10px;background:rgba(128,107,255,.08);display:grid;place-items:center;font-size:15px}.app-info-grid strong{display:block;font-size:10px}.app-info-grid p{margin:2px 0 0;color:#677388;font-size:8px}

/* Modal system */
.modal-backdrop { position:fixed;inset:0;z-index:90;background:rgba(3,5,10,.76);backdrop-filter:blur(9px);animation:backdropIn .22s ease}.modal { position:fixed;z-index:100;left:50%;top:50%;width:min(880px,calc(100% - 32px));max-height:calc(100vh - 32px);transform:translate(-50%,-50%);border-radius:28px;background:#101628;border:1px solid rgba(255,255,255,.13);box-shadow:0 45px 120px rgba(0,0,0,.6);overflow:auto;animation:modalIn .32s cubic-bezier(.2,.8,.2,1);display:grid;grid-template-columns:.82fr 1.18fr}.modal-wide{display:block;width:min(940px,calc(100% - 32px));padding:36px}.checkout-modal{grid-template-columns:1.05fr .95fr;width:min(820px,calc(100% - 32px))}@keyframes backdropIn{from{opacity:0}}@keyframes modalIn{from{opacity:0;transform:translate(-50%,-47%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.modal-close { position:absolute;z-index:3;right:16px;top:14px;width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#9ba5b7;font-size:21px;line-height:1}.modal-close:hover{background:rgba(255,255,255,.08);color:#fff}.modal-visual{min-height:590px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(128,107,255,.22),transparent 36%),linear-gradient(145deg,#151b31,#0d1220)}.modal-visual::before,.modal-visual::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%}.modal-visual::before{width:330px;height:330px}.modal-visual::after{width:230px;height:230px}.modal-visual>span{position:relative;z-index:2;margin-top:30px;color:#8b97ac;font-size:8px;font-weight:850;letter-spacing:.2em}.gift-box{position:relative;z-index:2;width:115px;height:105px;border-radius:22px;background:linear-gradient(145deg,#937fff,#5946d7);box-shadow:0 28px 65px rgba(89,70,215,.38);display:grid;place-items:center;animation:giftFloat 3s ease-in-out infinite}.gift-box::before{content:"";position:absolute;width:15px;height:100%;background:rgba(255,255,255,.2)}.gift-box::after{content:"";position:absolute;width:100%;height:15px;background:rgba(255,255,255,.2)}.gift-box i{position:absolute;width:52px;height:26px;border:8px solid #c9c2ff;border-bottom:0;border-radius:50px 50px 0 0;top:-23px}.gift-box span{position:relative;z-index:2;font-size:31px;font-weight:900;text-shadow:0 3px 12px rgba(0,0,0,.2)}@keyframes giftFloat{50%{transform:translateY(-10px) rotate(-2deg)}}
.modal-content { padding:50px 48px 40px}.modal-kicker{color:#9f91ff;font-size:8px;font-weight:900;letter-spacing:.2em}.modal-content h2,.paywall-head h2,.checkout-summary h2{margin:12px 0 12px;font-size:31px;line-height:1.22;letter-spacing:-.05em}.modal-content>p,.paywall-head p{margin:0;color:#8b96aa;font-size:11px;line-height:1.7}.modal form{margin-top:26px;display:grid;gap:13px}.modal label>span{display:block;margin-bottom:6px;color:#aeb7c6;font-size:9px;font-weight:700}.modal input[type="text"],.modal input[type="email"],.modal input[type="password"]{width:100%;height:46px;padding:0 13px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:white;font-size:11px;transition:.2s}.modal input::placeholder{color:#566176}.modal input:focus{border-color:rgba(148,132,255,.48);background:rgba(128,107,255,.05);outline:none;box-shadow:0 0 0 4px rgba(128,107,255,.08)}.checkbox-label{display:flex;align-items:flex-start;gap:8px;color:#7d899d;font-size:8px;line-height:1.5}.checkbox-label input{margin-top:2px;accent-color:var(--purple)}.checkbox-label span{margin:0!important;color:inherit!important;font-size:inherit!important;font-weight:400!important}.form-error{margin:0;padding:8px 10px;border-radius:9px;color:#ff8ba0;background:rgba(255,112,137,.08);font-size:8px}.modal-submit{min-height:50px;margin-top:3px}.local-note{display:block;margin-top:14px;color:#5d6980;font-size:7px;line-height:1.5}.paywall-head{text-align:center;max-width:590px;margin:0 auto 28px}.paywall-head h2{font-size:32px}.modal-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.modal-price-grid article{position:relative;padding:21px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.modal-price-grid article.selected{border-color:rgba(157,142,255,.35);background:rgba(128,107,255,.07)}.modal-price-grid em{position:absolute;right:13px;top:12px;padding:4px 7px;border-radius:99px;background:rgba(128,107,255,.15);color:#beb5ff;font-size:7px;font-style:normal}.modal-price-grid article>span{color:#7d899e;font-size:8px;font-weight:850;letter-spacing:.16em}.modal-price-grid h3{margin:10px 0 18px;font-size:16px}.modal-price-grid article>div{display:flex;align-items:end;gap:4px}.modal-price-grid b{font-size:24px;letter-spacing:-.04em}.modal-price-grid small{padding-bottom:4px;color:#6e7a8f;font-size:8px}.modal-price-grid p{margin:5px 0 18px;color:#8a95a8;font-size:9px}.centered-note{text-align:center;margin-top:18px}.checkout-summary{padding:42px;background:linear-gradient(145deg,rgba(128,107,255,.08),rgba(255,255,255,.018));border-right:1px solid var(--line)}.checkout-plan{margin:25px 0 26px;padding:18px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.checkout-plan span{color:#9c8dff;font-size:7px;font-weight:850;letter-spacing:.16em}.checkout-plan h3{margin:5px 0 1px;font-size:16px}.checkout-plan p{margin:0;color:#748095;font-size:8px}.checkout-plan>strong{font-size:20px;letter-spacing:-.04em}.checkout-plan>strong small{display:block;text-align:right;color:#657186;font-size:7px}.checkout-line{display:flex;justify-content:space-between;padding:11px 1px;border-bottom:1px solid rgba(255,255,255,.055);color:#7d899d;font-size:9px}.checkout-line b{color:#b7bfcd}.checkout-total{display:flex;justify-content:space-between;align-items:end;margin-top:20px}.checkout-total span{font-size:10px}.checkout-total strong{color:#66dbac;font-size:17px}.checkout-action{padding:42px;display:flex;flex-direction:column;justify-content:center}.demo-card{height:175px;padding:23px;border-radius:21px;background:linear-gradient(135deg,#7b66f0,#34296f 66%,#163f56);box-shadow:0 22px 45px rgba(57,42,139,.32);position:relative;overflow:hidden}.demo-card::after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-70px;top:-85px;box-shadow:0 0 0 38px rgba(255,255,255,.035)}.demo-card>span{font-weight:900;letter-spacing:.12em}.demo-card i{display:block;width:34px;height:25px;border-radius:6px;background:linear-gradient(145deg,#e7cb80,#af8744);margin:25px 0 19px}.demo-card b{display:block;font-size:9px;letter-spacing:.14em}.demo-card small{position:absolute;right:22px;bottom:20px;font-size:8px;letter-spacing:.1em}.checkout-action>p{margin:20px 0;color:#7b879b;font-size:9px;line-height:1.6}.centered-button{align-self:center;margin-top:8px}

.settings-modal { padding:36px; }
.settings-head { max-width:620px; }
.settings-head h2 { margin:10px 0 8px; font-size:34px; letter-spacing:-.05em; }
.settings-head p { margin:0; color:#8793a7; font-size:13px; line-height:1.7; }
.settings-tabs { display:flex; gap:8px; margin:25px 0 20px; padding:5px; border-radius:15px; background:rgba(255,255,255,.035); border:1px solid var(--line); }
.settings-tab { flex:1; min-height:43px; border:0; border-radius:11px; background:transparent; color:#8d98ab; font-size:14px; font-weight:800; }
.settings-tab.active { color:#fff; background:linear-gradient(135deg,rgba(128,107,255,.22),rgba(64,216,232,.08)); box-shadow:inset 0 1px rgba(255,255,255,.06); }
.settings-panel { animation:resultIn .35s ease both; }
.settings-summary { padding:20px; border-radius:18px; border:1px solid rgba(156,142,255,.2); background:linear-gradient(135deg,rgba(128,107,255,.13),rgba(64,216,232,.045)); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.settings-summary span,.settings-plan-grid article>span { color:#a99eff; font-size:9px; font-weight:900; letter-spacing:.16em; }
.settings-summary h3 { margin:8px 0 4px; font-size:24px; letter-spacing:-.04em; }
.settings-summary p { margin:0; color:#8793a8; font-size:13px; }
.settings-summary strong { font-size:25px; color:#d4ceff; letter-spacing:-.045em; white-space:nowrap; }
.settings-progress { height:7px; margin:15px 1px 20px; border-radius:99px; background:rgba(255,255,255,.07); overflow:hidden; }
.settings-progress i { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,var(--purple),var(--cyan)); transition:width .45s ease; }
.settings-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.settings-plan-grid article { position:relative; padding:20px; border-radius:17px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.settings-plan-grid article.selected { border-color:rgba(157,142,255,.35); background:rgba(128,107,255,.07); }
.settings-plan-grid em { position:absolute; right:13px; top:12px; padding:4px 7px; border-radius:99px; background:rgba(128,107,255,.15); color:#beb5ff; font-size:8px; font-style:normal; }
.settings-plan-grid h3 { margin:12px 0 8px; font-size:18px; }
.settings-plan-grid p { margin:0 0 17px; color:#8994a8; font-size:12px; }
.settings-account-card { padding:22px; border-radius:19px; border:1px solid rgba(156,142,255,.18); background:rgba(255,255,255,.03); display:flex; align-items:center; gap:16px; }
.settings-avatar { width:58px; height:58px; border-radius:18px; background:linear-gradient(145deg,#8d79ff,#5d4ad9); display:grid; place-items:center; color:#fff; font-size:20px; font-weight:900; }
.settings-account-card span { color:#a99eff; font-size:10px; font-weight:900; letter-spacing:.14em; }
.settings-account-card h3 { margin:7px 0 3px; font-size:24px; letter-spacing:-.04em; }
.settings-account-card p { margin:0; color:#8490a4; font-size:13px; }
.settings-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
#settingsLogoutButton,
#settingsDeleteAccountButton {
  width: 150px;
  min-width: 150px;
  min-height: 48px;
  justify-self: start;
}
#settingsDeleteAccountButton {
  flex: 0 0 150px;
}
.danger-zone { margin-top:18px; padding:18px; border-radius:17px; border:1px solid rgba(255,112,137,.34); background:rgba(255,112,137,.075); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.danger-zone strong { color:#ff6f88; font-size:17px; font-weight:900; }
.danger-zone p { margin:5px 0 0; color:#ffb0bd; font-size:12px; line-height:1.6; }
.danger-action { border:1px solid rgba(255,112,137,.42); background:rgba(255,112,137,.11); color:#ff6f88; font-weight:900; }
.danger-action:hover:not(:disabled) { background:rgba(255,112,137,.19); color:#fff; }
.danger-action:disabled { opacity:.48; cursor:not-allowed; }
.delete-confirm-modal { width:min(640px,calc(100% - 32px)); display:block; padding:38px; }
.delete-confirm-modal h2 { margin:12px 0 16px; font-size:34px; line-height:1.2; letter-spacing:-.05em; }
.danger-kicker { color:#ff6f88; }
.delete-warning { padding:18px; border-radius:17px; border:1px solid rgba(255,112,137,.28); background:rgba(255,112,137,.075); }
.delete-warning strong { display:block; color:#ff8fa1; font-size:15px; word-break:break-all; }
.delete-warning p { margin:9px 0 0; color:#ffbac5; font-size:13px; line-height:1.7; }
.delete-confirm-form { margin-top:20px; display:grid; gap:14px; }
.danger-checkbox { padding:14px; border-radius:14px; background:rgba(255,255,255,.025); border:1px solid rgba(255,112,137,.16); color:#ffc3cc; }
.danger-checkbox input { accent-color:#ff6f88; }
.delete-confirm-actions { display:flex; justify-content:flex-end; gap:10px; }
.delete-confirm-actions .button { min-width:150px; }
.toast { position:fixed;z-index:150;left:50%;bottom:26px;min-width:270px;max-width:calc(100% - 30px);padding:12px 16px;border-radius:13px;border:1px solid rgba(255,255,255,.13);background:#172037;color:#fff;box-shadow:0 22px 55px rgba(0,0,0,.45);font-size:11px;text-align:center;opacity:0;transform:translate(-50%,20px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.confetti { position:fixed;inset:0;z-index:160;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;animation:confettiFall var(--duration) cubic-bezier(.2,.8,.2,1) forwards;transform:rotate(var(--rotate))}@keyframes confettiFall{to{top:110%;transform:translateX(var(--drift)) rotate(calc(var(--rotate) + 720deg));opacity:.15}}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
@media (max-width: 1050px) {
  .hero{gap:35px}.floating-badge{display:none}.how-section{gap:45px}.app-intro{grid-template-columns:1fr 330px}.classifier-panel{padding:21px}.winner-main>strong{font-size:22px}
}
@media (max-width: 900px) {
  .desktop-nav,.landing-header .model-status{display:none}.hero{grid-template-columns:1fr;padding:70px 0 80px;min-height:auto}.hero-copy{text-align:center}.eyebrow-pill{margin-inline:auto}.hero-copy>p{margin-inline:auto}.hero-actions,.trial-note{justify-content:center}.hero-visual{min-height:470px}.demo-window{width:min(540px,90%);transform:none}.feature-grid,.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.how-section{grid-template-columns:1fr}.how-visual{order:2}.how-copy{text-align:center}.step-list{text-align:left}.final-cta{padding:45px;gap:30px}.app-header{grid-template-columns:1fr auto}.app-header-center{display:none}.app-intro{grid-template-columns:1fr}.classifier-shell{grid-template-columns:1fr}.classifier-panel{min-height:auto}.app-info-grid{grid-template-columns:1fr}.modal{grid-template-columns:1fr;width:min(560px,calc(100% - 24px))}.modal-visual{display:none}.modal-wide{width:min(720px,calc(100% - 24px))}.checkout-modal{grid-template-columns:1fr}.checkout-summary{border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width: 620px) {
  :root{--shell:min(100% - 24px,1180px)}.landing-header{height:72px}.header-actions{gap:8px}.brand-copy{display:none}.hero{padding-top:55px}.hero h1{font-size:44px}.hero h1 span{white-space:normal}.hero-copy>p{font-size:14px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.trial-note{gap:7px 13px;font-size:9px}.hero-visual{min-height:380px}.demo-window{width:100%}.demo-object{height:190px}.device-shape{transform:scale(.8) rotate(-5deg)}.orbit-one{width:380px;height:380px}.orbit-two{width:290px;height:290px}.section{padding:90px 0}.section-heading h2,.how-copy h2{font-size:35px}.feature-grid{margin-top:35px}.feature-card{min-height:270px}.how-visual{min-height:390px;transform:scale(.82);margin:-25px}.pricing-grid{margin-top:35px}.final-cta{margin-bottom:70px;padding:35px 24px;flex-direction:column;align-items:flex-start}.final-cta h2{font-size:31px}.final-cta .button{width:100%}.landing-footer{padding:26px 0;flex-direction:column;gap:10px;text-align:center}.app-header{height:66px;padding:0 13px}.app-header-actions>.icon-text-button{display:none}.account-button b{display:none}.app-main{width:calc(100% - 20px);padding:30px 0 60px}.app-intro h1{font-size:30px}.usage-card{padding:14px}.classifier-panel{padding:15px;border-radius:20px}.drop-zone,.empty-state{min-height:410px}.panel-title-row p{display:none}.upload-actions{flex-direction:column;width:190px}.winner-main{grid-template-columns:auto 1fr}.winner-main>strong{grid-column:2;font-size:19px}.confidence-heading small{display:none}.app-info-grid{display:none}.modal-content,.checkout-summary,.checkout-action{padding:32px 24px}.modal-content h2,.paywall-head h2,.checkout-summary h2{font-size:27px}.modal-wide{padding:30px 18px}.modal-price-grid{grid-template-columns:1fr}.modal-price-grid article{padding:17px}.checkout-modal{max-height:calc(100vh - 20px)}.demo-card{height:150px}
}


/* ===== V6: larger UI, pose mode, scroll arrival and LAN edition ===== */
html { scroll-behavior: auto; scroll-padding-top: 100px; }
body { font-size: 16px; }
.desktop-nav a { font-size: 16px; }
.button { min-height: 48px; padding-inline: 22px; font-size: 15px; }
.button-small { min-height: 42px; font-size: 14px; }
.brand-copy b { font-size: 18px; }
.brand-copy small { font-size: 9px; }
.model-status { font-size: 12px; }
.hero-copy > p { font-size: 18px; line-height: 1.75; max-width: 650px; }
.trial-note { font-size: 12px; }
.section-heading > p, .how-copy > p { font-size: 17px; }
.feature-card h3 { font-size: 21px; }
.feature-card p { font-size: 14px; line-height: 1.75; }
.step-list strong { font-size: 18px; }
.step-list p { font-size: 14px; }
.price-card > p, .price-card li { font-size: 14px; }
.landing-footer { font-size: 12px; }

/* Animated navigation arrival */
.scroll-section { scroll-margin-top: 86px; }
.reveal-on-scroll { opacity:0; transform:translateY(54px); filter:blur(5px); transition:opacity .75s ease, transform .9s cubic-bezier(.16,1,.3,1), filter .75s ease; }
.reveal-on-scroll.visible { opacity:1; transform:translateY(0); filter:blur(0); }
.visual-rise { transform:translateY(82px) scale(.94); }
.visual-rise.visible { transform:translateY(0) scale(1); }
.scroll-section.section-arrived .side-visual { animation:sectionVisualLift 1.05s cubic-bezier(.16,1,.3,1) both; }
@keyframes sectionVisualLift { 0%{opacity:.2;transform:translateY(80px) scale(.9);filter:blur(8px)} 65%{transform:translateY(-12px) scale(1.015);filter:blur(0)} 100%{opacity:1;transform:translateY(0) scale(1)} }
.how-visual.visible .how-core { animation:coreFloat 4s ease-in-out .7s infinite; }
@keyframes coreFloat { 50%{transform:translateY(-12px)} }
.feature-card.visible { animation:cardSettle .9s cubic-bezier(.16,1,.3,1) both; }
@keyframes cardSettle { 0%{box-shadow:0 0 0 rgba(0,0,0,0)} 60%{box-shadow:0 30px 70px rgba(0,0,0,.34)} 100%{box-shadow:0 20px 50px rgba(0,0,0,.24)} }

/* App and mode switch */
.app-main { width:min(1240px, calc(100% - 42px)); }
.app-intro { grid-template-columns: minmax(0,1fr) 390px; align-items:end; }
.app-intro h1 { font-size: 43px; }
.app-intro > div > p { font-size: 16px; }
.mode-switch { display:flex; gap:12px; margin-top:25px; max-width:720px; }
.mode-button { flex:1; min-height:74px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center; text-align:left; padding:13px 17px; border-radius:17px; border:1px solid var(--line); background:rgba(255,255,255,.025); color:#8e9aaf; transition:.28s; }
.mode-button > span { grid-row:1/3; font-size:28px; }
.mode-button b { font-size:16px; color:#dce3ef; }
.mode-button small { font-size:11px; }
.mode-button:hover { transform:translateY(-3px); border-color:rgba(145,130,255,.28); }
.mode-button.active { color:#bdb4ff; border-color:rgba(145,130,255,.5); background:linear-gradient(135deg,rgba(128,107,255,.18),rgba(64,216,232,.06)); box-shadow:0 13px 35px rgba(49,34,124,.25); }
.mode-panel.mode-enter { animation:modeEnter .56s cubic-bezier(.16,1,.3,1) both; }
@keyframes modeEnter { from{opacity:0;transform:translateY(28px) scale(.985)} to{opacity:1;transform:none} }
.panel-title-row h2 { font-size: 21px; }
.panel-title-row p { font-size: 13px; }
.empty-state strong, .result-empty strong, .result-loading strong { font-size:18px; }
.empty-state p, .result-empty p, .result-loading p { font-size:13px; }
.analyze-button { font-size:17px; min-height:62px; }
.usage-card-top span, .usage-card-top button { font-size:12px; }
.usage-main strong { font-size:21px; }
.usage-main span { font-size:12px; }
.account-button b { font-size:14px; }
.account-menu { width:300px; padding:14px; }
.account-menu-head { padding:12px; }
.account-menu-head b { font-size:15px; }
.account-menu-head small { font-size:12px; }
.account-menu button { min-height:45px; padding:0 13px; font-size:13px; }
.logout-menu { color:#ffcb8d !important; }

/* Pose mode */
.pose-stage { position:relative; min-height:510px; border:1.5px dashed rgba(157,169,193,.18); border-radius:20px; overflow:hidden; background:radial-gradient(circle at 50% 35%,rgba(90,115,255,.14),transparent 44%),#090e1b; display:grid; place-items:center; cursor:pointer; transition:border-color .25s, background .25s, transform .25s, box-shadow .25s; }
.pose-stage:hover,.pose-stage.dragover { border-color:#927fff; background:radial-gradient(circle at 50% 35%,rgba(128,107,255,.2),transparent 44%),rgba(128,107,255,.055); transform:translateY(-1px); box-shadow:0 18px 46px rgba(82,64,190,.18); }
.pose-stage:has(canvas:not([hidden])) { cursor:default; }
.pose-stage canvas,.pose-stage img { width:100%; height:510px; object-fit:contain; display:block; background:#060a12; }
.pose-empty-state { text-align:center; padding:30px; }
.pose-empty-state strong { display:block; margin-top:25px; font-size:19px; }
.pose-empty-state p { color:#7d899e; font-size:13px; }
.pose-person-icon { position:relative; width:110px; height:160px; margin:auto; filter:drop-shadow(0 14px 30px rgba(120,100,255,.25)); animation:poseIconFloat 3.6s ease-in-out infinite; }
.pose-person-icon i { position:absolute; display:block; background:linear-gradient(145deg,#a292ff,#42d4e6); border-radius:99px; }
.pose-person-icon i:nth-child(1){width:40px;height:40px;left:35px;top:0}
.pose-person-icon i:nth-child(2){width:24px;height:65px;left:43px;top:39px}
.pose-person-icon i:nth-child(3){width:18px;height:75px;left:20px;top:45px;transform:rotate(26deg);transform-origin:top}
.pose-person-icon i:nth-child(4){width:18px;height:75px;right:20px;top:45px;transform:rotate(-26deg);transform-origin:top}
.pose-person-icon i:nth-child(5){width:18px;height:70px;left:31px;top:96px;box-shadow:31px 0 0 #58c8e7;transform:rotate(8deg);transform-origin:top}
@keyframes poseIconFloat{50%{transform:translateY(-10px)}}
.pose-actions { display:flex; gap:10px; margin-top:13px; }
.pose-actions .button { flex:1; }
.pose-source-badge { position:absolute; left:15px; bottom:15px; z-index:4; padding:7px 10px; border-radius:99px; background:rgba(10,15,27,.78); border:1px solid rgba(255,255,255,.12); color:#9c91ff; font-size:11px; font-weight:850; letter-spacing:.1em; backdrop-filter:blur(8px); }
.pose-scan-overlay { position:absolute; inset:0; z-index:3; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(80,220,235,.04),transparent); }
.pose-scan-overlay span { position:absolute; left:0; right:0; height:2px; top:0; background:linear-gradient(90deg,transparent,#55dfed,transparent); box-shadow:0 0 18px #50dbe8; animation:poseScan 2.2s linear infinite; }
@keyframes poseScan { to{top:100%} }
.lan-camera-note { margin:13px 3px 0; color:#6e7a8e; font-size:12px; line-height:1.65; }
.pose-radar { position:relative; width:150px; height:150px; margin:0 auto 24px; border:1px solid rgba(127,111,255,.24); border-radius:50%; box-shadow:0 0 0 30px rgba(127,111,255,.035),0 0 0 60px rgba(127,111,255,.02); }
.pose-radar span { position:absolute; inset:42px; border-radius:50%; background:linear-gradient(145deg,#8978ff,#40d8e8); box-shadow:0 0 35px rgba(105,105,255,.5); }
.pose-radar i { position:absolute; width:8px; height:8px; border-radius:50%; background:#61e4c0; animation:poseDot 2s ease-in-out infinite; }
.pose-radar i:nth-child(2){left:12%;top:48%}.pose-radar i:nth-child(3){right:17%;top:23%;animation-delay:.45s}.pose-radar i:nth-child(4){right:22%;bottom:18%;animation-delay:.9s}
@keyframes poseDot{50%{transform:scale(1.8);box-shadow:0 0 18px currentColor}}
.pose-winner-card { background:linear-gradient(135deg,rgba(92,109,255,.16),rgba(64,216,232,.05)); }

/* Larger authentication and purchase UI */
.modal { width:min(980px,calc(100% - 36px)); border-radius:31px; }
.modal-visual { min-height:650px; }
.modal-content { padding:58px 55px 46px; }
.modal-kicker { font-size:11px; }
.modal-content h2,.paywall-head h2,.checkout-summary h2 { font-size:39px; }
.modal-content > p,.paywall-head p { font-size:16px; line-height:1.75; }
.modal form { margin-top:30px; gap:17px; }
.modal label > span { margin-bottom:9px; font-size:14px; }
.modal input[type="text"],.modal input[type="email"],.modal input[type="password"] { height:57px; padding:0 17px; border-radius:14px; font-size:16px; }
.checkbox-label { gap:11px; font-size:13px; }
.checkbox-label input { width:18px; height:18px; }
.form-error { padding:12px 14px; font-size:13px; }
.modal-submit { min-height:58px; font-size:16px; }
.local-note { margin-top:17px; font-size:12px; line-height:1.65; }
.auth-switch { width:100%; margin-top:17px; padding:12px; border:0; background:transparent; color:#8995a8; font-size:14px; }
.auth-switch b { color:#b9afff; }
.login-orb { position:relative; z-index:2; width:130px; height:130px; display:grid; place-items:center; border-radius:37px; background:linear-gradient(145deg,#826fff,#26335e); box-shadow:0 30px 80px rgba(79,62,190,.42); animation:giftFloat 3s ease-in-out infinite; }
.login-orb span { font-size:56px; font-weight:950; }
.login-orb i { position:absolute; inset:-24px; border:1px solid rgba(255,255,255,.14); border-radius:50%; animation:spin 9s linear infinite; }
@keyframes spin{to{transform:rotate(360deg)}}
.modal-price-grid h3 { font-size:20px; }
.modal-price-grid p,.modal-price-grid small { font-size:12px; }
.modal-price-grid b { font-size:28px; }
.checkout-plan h3 { font-size:20px; }
.checkout-plan p,.checkout-line,.checkout-action>p { font-size:13px; }
.toast { font-size:14px; padding:15px 20px; }

@media (max-width: 900px) {
  .app-intro { grid-template-columns:1fr; }
  .usage-card { margin-top:10px; }
  .mode-switch { max-width:none; }
}
@media (max-width: 620px) {
  body { font-size:15px; }
  .hero-copy > p { font-size:16px; }
  .mode-switch { flex-direction:column; }
  .mode-button { min-height:70px; }
  .app-intro h1 { font-size:34px; }
  .pose-stage,.pose-stage canvas,.pose-stage img { min-height:420px; height:420px; }
  .pose-actions { flex-direction:column; }
  .modal { width:calc(100% - 18px); }
  .modal-content,.checkout-summary,.checkout-action { padding:37px 26px; }
  .modal-content h2,.paywall-head h2,.checkout-summary h2 { font-size:31px; }
  .modal-content > p,.paywall-head p { font-size:15px; }
  .modal label > span { font-size:13px; }
  .modal input[type="text"],.modal input[type="email"],.modal input[type="password"] { height:55px; font-size:16px; }
  .account-menu { width:min(310px,calc(100vw - 24px)); }
}

.model-status.partial .status-dot{background:#ffc96c;box-shadow:0 0 12px rgba(255,201,108,.7)}
.badge-d{right:-18px;top:45%;animation-delay:1.1s}
@media(max-width:1050px){.badge-d{display:none}}

/* ===== V9: readability and repeatable scroll lift ===== */
.scroll-section.section-arrived .visual-rise {
  animation: sectionVisualLift 1.05s cubic-bezier(.16,1,.3,1) both;
}
.scroll-section.section-arrived .visual-rise.delay-1 { animation-delay: .08s; }
.scroll-section.section-arrived .visual-rise.delay-2 { animation-delay: .16s; }
.scroll-section.section-arrived .visual-rise.delay-3 { animation-delay: .24s; }
.feature-card.visible {
  box-shadow: 0 20px 50px rgba(0,0,0,.24);
}

.brand-copy small { font-size: 11px; }
.desktop-nav a { font-size: 17px; }
.model-status,
.model-status.compact { font-size: 14px; }
.eyebrow-pill { font-size: 12px; }
.trial-note,
.landing-footer { font-size: 14px; }
.demo-topbar { font-size: 11px; }
.live-chip,
.demo-result small,
.demo-bars span,
.section-kicker,
.feature-card > span { font-size: 12px; }
.floating-badge span,
.price-card > span,
.price-tag,
.popular-label { font-size: 13px; }
.section-heading p,
.how-copy p,
.feature-card p,
.step-list p,
.price-card > p,
.price-card li { font-size: 16px; }
.plain-button,
.back-link,
.panel-title-row p,
.empty-state p,
.result-empty p,
.result-loading p,
.pose-empty-state p,
.lan-camera-note,
.usage-main span,
.usage-card-top span,
.usage-card-top button { font-size: 14px; }
.account-menu-head small,
.account-menu button,
.winner-top span,
.winner-top i,
.winner-main small,
.winner-main p,
.confidence-heading span,
.confidence-heading small,
.prediction-name,
.prediction-score,
.result-note p,
.app-info-grid strong,
.app-info-grid p,
.pose-source-badge,
.modal-price-grid p,
.modal-price-grid small,
.checkout-plan p,
.checkout-line,
.checkout-action > p,
.local-note { font-size: 13px; }
.modal-kicker,
.modal-visual > span,
.checkout-plan span,
.demo-card b,
.demo-card small { font-size: 12px; }
.form-error,
.checkbox-label { font-size: 14px; }

@media (max-width: 620px) {
  .trial-note,
  .feature-card p,
  .step-list p,
  .price-card > p,
  .price-card li,
  .plain-button,
  .panel-title-row p,
  .empty-state p,
  .result-empty p,
  .result-loading p,
  .pose-empty-state p,
  .lan-camera-note { font-size: 14px; }
  .model-status,
  .model-status.compact { font-size: 13px; }
}

/* ===== V10: softer repeat motion and one-step larger helper text ===== */
.reveal-on-scroll {
  transform: translateY(34px);
  filter: blur(2px);
  transition:
    opacity .6s ease,
    transform .78s cubic-bezier(.2,.72,.18,1),
    filter .6s ease;
}
.visual-rise {
  transform: translateY(42px) scale(.985);
}
.scroll-section.section-arrived .visual-rise,
.scroll-section.section-arrived .side-visual {
  animation: sectionVisualLiftSoft .78s cubic-bezier(.2,.72,.18,1) both;
}
.scroll-section.section-arrived .visual-rise.delay-1 { animation-delay: .06s; }
.scroll-section.section-arrived .visual-rise.delay-2 { animation-delay: .12s; }
.scroll-section.section-arrived .visual-rise.delay-3 { animation-delay: .18s; }
@keyframes sectionVisualLiftSoft {
  0% { opacity:.55; transform:translateY(38px) scale(.985); filter:blur(2px); }
  72% { opacity:1; transform:translateY(-4px) scale(1.002); filter:blur(0); }
  100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
.feature-card.visible {
  animation: cardSettleSoft .68s cubic-bezier(.2,.72,.18,1) both;
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}
@keyframes cardSettleSoft {
  0% { box-shadow:0 8px 22px rgba(0,0,0,.14); }
  100% { box-shadow:0 18px 44px rgba(0,0,0,.22); }
}

.desktop-nav a { font-size: 18px; }
.button { font-size: 16px; }
.button-small { font-size: 15px; }
.brand-copy small,
.demo-topbar,
.live-chip,
.demo-result small,
.demo-bars span,
.section-kicker,
.feature-card > span,
.modal-kicker,
.modal-visual > span,
.checkout-plan span,
.demo-card b,
.demo-card small { font-size: 13px; }
.model-status,
.model-status.compact,
.trial-note,
.landing-footer,
.plain-button,
.back-link,
.panel-title-row p,
.empty-state p,
.result-empty p,
.result-loading p,
.pose-empty-state p,
.lan-camera-note,
.usage-main span,
.usage-card-top span,
.usage-card-top button,
.account-menu-head small,
.account-menu button,
.winner-top span,
.winner-top i,
.winner-main small,
.winner-main p,
.confidence-heading span,
.confidence-heading small,
.prediction-name,
.prediction-score,
.result-note p,
.app-info-grid strong,
.app-info-grid p,
.pose-source-badge,
.modal-price-grid p,
.modal-price-grid small,
.checkout-plan p,
.checkout-line,
.checkout-action > p,
.local-note { font-size: 14px; }
.section-heading p,
.how-copy p,
.feature-card p,
.step-list p,
.price-card > p,
.price-card li { font-size: 17px; }
.form-error,
.checkbox-label { font-size: 15px; }

@media (max-width: 620px) {
  .desktop-nav a { font-size: 17px; }
  .button { font-size: 15px; }
  .model-status,
  .model-status.compact,
  .trial-note,
  .feature-card p,
  .step-list p,
  .price-card > p,
  .price-card li,
  .plain-button,
  .panel-title-row p,
  .empty-state p,
  .result-empty p,
  .result-loading p,
  .pose-empty-state p,
  .lan-camera-note { font-size: 15px; }
}

/* ===== V11: more visible home button ===== */
.back-link {
  width: max-content;
  min-height: 46px;
  padding: 0 18px;
  gap: 10px;
  border: 1px solid rgba(160,145,255,.24);
  border-radius: 999px;
  background: rgba(128,107,255,.12);
  color: #d8d3ff;
  font-size: 17px;
  font-weight: 850;
  box-shadow: 0 12px 30px rgba(43,32,112,.22);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.back-link span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  font-size: 20px;
  line-height: 1;
}
.back-link:hover {
  color: #fff;
  background: rgba(128,107,255,.2);
  border-color: rgba(176,164,255,.42);
  box-shadow: 0 16px 38px rgba(43,32,112,.3);
  transform: translateY(-2px);
}

@media (max-width: 620px) {
  .back-link {
    min-height: 48px;
    padding: 0 18px;
    font-size: 17px;
  }
}

/* ===== V12: make guest signup CTA easier to notice ===== */
.usage-card-top {
  gap: 12px;
}

.usage-card-top > span {
  flex: 0 0 auto;
}

#usageActionButton {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(106, 232, 207, .42);
  border-radius: 999px;
  background: linear-gradient(135deg, #68e0b0, #56dce9);
  color: #06111a;
  font-size: 15px;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 12px 28px rgba(71, 218, 227, .22), inset 0 1px rgba(255, 255, 255, .36);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

#usageActionButton:hover {
  color: #06111a;
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(71, 218, 227, .3), inset 0 1px rgba(255, 255, 255, .42);
}

#usageActionButton:focus-visible {
  outline: 3px solid rgba(112, 225, 255, .28);
  outline-offset: 3px;
}

@media (max-width: 620px) {
  #usageActionButton {
    min-height: 40px;
    padding: 0 13px;
    font-size: 14px;
  }
}

@media (max-width: 620px) {
  .settings-modal { padding:26px 16px; }
  .settings-head h2 { font-size:28px; }
  .settings-tabs,
  .settings-summary,
  .settings-account-card { border-radius:15px; }
  .settings-summary { align-items:flex-start; flex-direction:column; }
  .settings-plan-grid,
  .settings-action-grid { grid-template-columns:1fr; }
  .settings-plan-grid article { padding:17px; }
  .danger-zone,
  .delete-confirm-actions { flex-direction:column; align-items:stretch; }
  #settingsLogoutButton,
  #settingsDeleteAccountButton {
    width: 100%;
    min-width: 0;
    flex-basis: auto;
  }
  .delete-confirm-modal { padding:30px 20px; }
  .delete-confirm-modal h2 { font-size:29px; }
  .delete-confirm-actions .button { width:100%; }
  .footer-meta { text-align:center; }
  .footer-slogan { font-size:12px; line-height:1.5; }
}

/* ===== V14: readable muted helper text ===== */
:root {
  --muted: #b0bacb;
  --muted-2: #8f9bad;
}

.brand-copy small,
.desktop-nav a,
.model-status,
.model-status.compact,
.plain-button,
.trial-note,
.hero-copy > p,
.section-heading p,
.how-copy p,
.feature-card p,
.step-list p,
.price-card > p,
.price-card li,
.app-intro > div > p,
.panel-title-row p,
.empty-state p,
.result-empty p,
.result-loading p,
.pose-empty-state p,
.app-info-grid p,
.mode-button small,
.usage-main span,
.account-menu-head small,
.winner-main small,
.winner-main p,
.confidence-heading small,
.confidence-heading span,
.modal-content > p,
.paywall-head p,
.modal label > span,
.checkbox-label,
.local-note,
.modal-price-grid p,
.modal-price-grid small,
.checkout-plan p,
.checkout-plan > strong small,
.checkout-line,
.checkout-action > p,
.settings-head p,
.settings-summary p,
.settings-plan-grid p,
.settings-account-card p,
.footer-meta,
.footer-slogan,
.demo-card small,
.demo-result small,
.how-core small {
  color: #aeb8ca;
}

.hero-copy > p,
.section-heading p,
.how-copy p,
.feature-card p,
.step-list p,
.price-card > p,
.price-card li {
  font-size: 18px;
  line-height: 1.78;
}

.app-intro > div > p,
.panel-title-row p,
.empty-state p,
.result-empty p,
.result-loading p,
.pose-empty-state p,
.app-info-grid p,
.modal-content > p,
.paywall-head p,
.local-note,
.checkout-action > p,
.settings-head p,
.settings-summary p,
.settings-plan-grid p,
.settings-account-card p,
.delete-warning p,
.danger-zone p {
  font-size: 15px;
  line-height: 1.72;
}

.model-status,
.model-status.compact,
.plain-button,
.trial-note,
.mode-button small,
.usage-main span,
.account-menu-head small,
.winner-main small,
.winner-main p,
.confidence-heading small,
.confidence-heading span,
.modal label > span,
.checkbox-label,
.modal input[type="text"],
.modal input[type="email"],
.modal input[type="password"],
.modal-price-grid p,
.modal-price-grid small,
.checkout-plan p,
.checkout-plan > strong small,
.checkout-line,
.footer-meta,
.footer-slogan,
.demo-card small {
  font-size: 14px;
  line-height: 1.62;
}

.brand-copy small,
.demo-result small,
.how-core small,
.modal-kicker,
.modal-price-grid em,
.modal-price-grid article > span,
.checkout-plan span,
.settings-summary span,
.settings-plan-grid article > span,
.settings-plan-grid em {
  font-size: 12px;
}

.modal input::placeholder {
  color: #7d899d;
}

@media (max-width: 620px) {
  .hero-copy > p,
  .section-heading p,
  .how-copy p,
  .feature-card p,
  .step-list p,
  .price-card > p,
  .price-card li,
  .app-intro > div > p,
  .panel-title-row p,
  .empty-state p,
  .result-empty p,
  .result-loading p,
  .pose-empty-state p,
  .app-info-grid p,
  .modal-content > p,
  .paywall-head p,
  .local-note,
  .checkout-action > p,
  .settings-head p,
  .settings-summary p,
  .settings-plan-grid p,
  .settings-account-card p,
  .delete-warning p,
  .danger-zone p {
    font-size: 16px;
  }
}
