/* Vio — living objects, quiet intelligence. No remote fonts or trackers. */
:root{--vio-radius:28px}
:root[data-theme=dark]{--appearance-bg:#121419;--appearance-secondary:#171A21;--appearance-paper:#1C2029;--appearance-soft:#252A35;--appearance-text:#F4F1EA;--appearance-muted:#B6BAC6;--appearance-line:#333949;--appearance-action:#FF8A5C;--vio-accent:#FF8A5C;--vio-cta:#FF8A5C;--vio-cta-ink:#121419;--vio-mint:#7CC4FF;--vio-peach:#FFD166;--vio-lilac:#C3B1FF;--vio-glow:rgba(255,209,102,0.13);--vio-bubble:#FFF8EC;--vio-bubble-ink:#1C1E26}

:root[data-theme=light]{--appearance-bg:#FBF8F2;--appearance-secondary:#F3EEE4;--appearance-paper:#FFFFFF;--appearance-soft:#F6F1E8;--appearance-text:#1C1E26;--appearance-muted:#565B68;--appearance-line:#E2DACB;--appearance-action:#C2462A;--vio-accent:#C2462A;--vio-cta:#C2462A;--vio-cta-ink:#FFFFFF;--vio-mint:#1F67A6;--vio-peach:#8A5A00;--vio-lilac:#5E45C8;--vio-glow:rgba(255,209,102,0.34);--vio-bubble:#FFFFFF;--vio-bubble-ink:#1C1E26}
:root{--val-forest:var(--appearance-text);--val-action:var(--appearance-action);--val-sage:var(--appearance-soft);--val-cream:var(--appearance-bg);--val-paper:var(--appearance-paper);--val-line:var(--appearance-line);--val-muted:var(--appearance-muted)}
html[data-theme] body.site{--ink:var(--appearance-text);--muted:var(--appearance-muted);--edge:var(--appearance-line);background:var(--appearance-bg);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;overflow-x:clip}
html[data-theme] body.site .shell{width:min(1200px,calc(100% - 64px))}
html[data-theme] body.site .site-header{background:var(--appearance-bg);border-color:var(--appearance-line)}
html[data-theme] body.site .site-header .shell{min-height:90px;gap:22px}
html[data-theme] body.site .site-brand{gap:10px}.site .brand-companion{width:46px;height:46px}.site .brand-wordmark{width:136px}
html[data-theme] body.site .desktop-nav{gap:24px}.site .desktop-nav>a:hover{color:var(--vio-accent)}
html[data-theme] body.site .cta{border-radius:100px;padding:15px 23px;background:var(--vio-cta);border:1px solid var(--vio-cta);color:var(--vio-cta-ink)!important;box-shadow:none;font-weight:750;font-size:13px;min-height:48px}
html[data-theme] body.site .cta:hover{background:var(--vio-cta);transform:translateY(-2px)}
html[data-theme] body.site .cta.secondary{background:transparent;border-color:var(--appearance-line);color:var(--appearance-text)!important}
html[data-theme] body.site .cta.small{font-size:12px;padding:11px 17px;min-height:42px}
html[data-theme] body.site .theme-toggle{border-radius:50%;width:44px;height:44px;padding:8px;background:transparent}.site .theme-label{display:none}
html[data-theme] body.site .badge{color:var(--appearance-text);background:var(--appearance-soft);border-color:var(--appearance-line);font-weight:600;font-size:10px;letter-spacing:.055em;padding:9px 13px}
html[data-theme] body.site .eyebrow{color:var(--appearance-muted);font-size:10px;font-weight:650;letter-spacing:.17em;line-height:1.8}
html[data-theme] body.site h1,html[data-theme] body.site h2,html[data-theme] body.site h3{color:var(--appearance-text)}
.site .vio-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:25px;padding:72px 0 80px;min-height:740px}
.site .vio-hero-copy{position:relative;z-index:2}.site .vio-hero-copy>.eyebrow{margin:29px 0 17px}
.site .vio-hero h1{font-size:clamp(46px,5.15vw,76px);line-height:1.04;letter-spacing:-.065em;font-weight:650;margin:0 0 26px}.site .vio-hero h1 em{font-style:normal;color:var(--vio-accent)}
html[data-theme=light] body.site .vio-hero h1 em{color:var(--appearance-action)}
.site .vio-lead{font-size:22px;line-height:1.5;letter-spacing:-.025em;margin:0 0 18px;color:var(--appearance-text)}.site .vio-lead strong{font-weight:750}
.site .vio-intro{max-width:475px;font-size:15px;line-height:1.85;color:var(--appearance-muted)}
.site .vio-hero .actions{margin-top:26px;gap:10px}.site .vio-hero .subtle{font-size:10px}
.site .vio-ia-status{font-size:11px;line-height:1.7;color:var(--appearance-muted);max-width:440px;margin:22px 0 0}.site .vio-ia-status>span{color:var(--vio-accent);margin-right:5px}
.site .vio-stage{position:relative;min-height:560px;display:grid;place-items:center;isolation:isolate}
.site .vio-stage:before{content:'';position:absolute;inset:5%;background:radial-gradient(ellipse,var(--vio-glow) 0,transparent 55%,transparent 72%);z-index:-1}
.site .vio-hero-image{position:relative;width:100%;max-width:505px;height:auto;object-fit:contain;filter:drop-shadow(0 28px 35px #0004);animation:vio-arrive .8s ease-out both}
.site .vio-orbit{position:absolute;border:1px solid var(--appearance-line);border-radius:50%;width:85%;aspect-ratio:1;z-index:-1;transform:rotate(-20deg)}.site .orbit-two{width:108%;transform:rotate(20deg);border-style:dashed}
.site .vio-name-tag{position:absolute;top:8px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:15px;letter-spacing:.03em;display:flex;align-items:center;gap:8px;color:var(--appearance-text)}.site .vio-name-tag>span:last-child{font-size:10px;color:var(--appearance-muted);border-left:1px solid var(--appearance-line);padding-left:9px}.site .vio-name-tag .dot{background:var(--vio-accent)}
.site .vio-floating{position:absolute;display:flex;align-items:center;gap:11px;border:1px solid var(--appearance-line);border-radius:16px;padding:14px 17px;background:var(--appearance-paper);box-shadow:0 12px 38px #0002;font-size:11px;line-height:1.7;color:var(--appearance-muted)}.site .vio-floating strong{font-weight:600;color:var(--appearance-text)}.site .vio-floating>span{font-size:22px;color:var(--vio-accent)}.site .floating-life{right:-12px;top:115px;transform:rotate(5deg)}.site .floating-note{left:-22px;bottom:85px;transform:rotate(-5deg)}
.site .vio-stage-caption{position:absolute;bottom:4px;font-size:11px;color:var(--appearance-muted);letter-spacing:.05em}.site .vio-spark{position:absolute;font-size:30px;color:var(--vio-accent)}.site .spark-one{left:15px;top:100px}.site .spark-two{right:38px;bottom:77px;color:var(--vio-peach)}
.site .vio-ribbon{background:var(--vio-accent);color:var(--vio-cta-ink);display:flex;justify-content:center;gap:38px;padding:23px 24px;flex-wrap:wrap;font-size:15px;font-weight:600;letter-spacing:-.02em}.site .vio-ribbon i{font-style:normal;font-size:13px;margin-left:30px;opacity:.6}
html[data-theme] body.site .section{padding:92px 0}.site .section-title{max-width:690px;margin-bottom:45px}.site .section-title h2,.site .vio-workspace h2,.site .vio-promise h2{font-size:clamp(32px,3.8vw,49px);font-weight:550;letter-spacing:-.045em;line-height:1.15}.site .section-title>p:last-child{font-size:14px}
.site .vio-scenario{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--appearance-line);border-radius:var(--vio-radius);background:var(--appearance-paper);overflow:hidden;min-height:430px}
.site #vio-demo{scroll-margin-top:110px}
.site .vio-scene-visual{position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,var(--vio-glow),transparent 75%);padding:25px}.site .vio-scene-image{width:min(100%,340px);height:340px;object-fit:contain}.site .vio-scene-stamp{font-size:9px;letter-spacing:.15em;border:1px solid var(--appearance-line);border-radius:30px;padding:8px 13px;color:var(--appearance-muted);position:absolute;bottom:22px}
.site .vio-scene-copy{padding:42px 40px;border-left:1px solid var(--appearance-line);align-self:stretch}.site .vio-scene-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:35px}.site .vio-scene-tabs button{font:600 11px system-ui;color:var(--appearance-text);background:transparent;border:1px solid var(--appearance-line);border-radius:30px;padding:12px;cursor:pointer;min-height:44px}.site .vio-scene-tabs button[aria-pressed=true]{background:var(--vio-accent);color:var(--vio-cta-ink);border-color:var(--vio-accent)}
.site .vio-scene-message h3{font-size:29px;letter-spacing:-.035em;line-height:1.2;font-weight:550;margin:15px 0}.site .vio-scene-message p{font-size:14px;line-height:1.85;color:var(--appearance-muted)}.site .vio-scene-message .vio-scene-status{font-size:11px;border-left:2px solid var(--vio-lilac);padding:8px 0 8px 14px;line-height:1.7}.site .text-link{font-size:13px;font-weight:650;text-decoration:none;display:inline-block;padding:9px 0}.site .vio-scene-copy>.subtle{font-size:10px;margin-top:20px}
.site .vio-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.site .vio-benefit{border-radius:var(--vio-radius);padding:28px 28px 30px;display:flex;flex-direction:column;align-items:flex-start;color:var(--appearance-text);min-height:460px}.site .benefit-mint{background:var(--vio-mint)}.site .benefit-peach{background:var(--vio-peach)}.site .benefit-lilac{background:var(--vio-lilac)}.site .vio-number{font-size:10px;letter-spacing:.13em;font-weight:700}.site .vio-benefit>img{width:100%;height:195px;object-fit:contain;margin:15px 0}.site .vio-benefit h3{font-size:24px;letter-spacing:-.04em;line-height:1.2;font-weight:650;margin:10px 0;color:var(--appearance-text)!important}.site .vio-benefit p{font-size:13px;line-height:1.8;color:var(--appearance-muted)!important}.site .vio-benefit>a{font-size:12px;font-weight:700;color:var(--appearance-text)!important;text-decoration:none;margin-top:auto;padding-top:12px}
.site .vio-workspace{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:center}.site .vio-workspace>div>p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:400px}.site .vio-checks{list-style:none;padding:0;display:grid;gap:15px;font-size:13px;margin:28px 0}.site .vio-checks li:before{content:'↗';color:var(--vio-accent);margin-right:13px}.site .vio-workspace .hero-demo{width:100%;margin:0}
.site .vio-promise{background:var(--appearance-paper);border:1px solid var(--appearance-line);border-radius:var(--vio-radius);padding:40px 55px;display:grid;grid-template-columns:.65fr 1.35fr;gap:55px;align-items:center}.site .vio-promise>img{width:100%;max-height:280px;object-fit:contain}.site .vio-promise p{font-size:14px;line-height:1.9}.site .vio-promise a{font-size:12px;font-weight:650}
html[data-theme] body.site .bottom-cta{background:var(--appearance-paper);border:1px solid var(--appearance-line);border-radius:var(--vio-radius);padding:45px 30px 50px;margin-top:35px;margin-bottom:30px}.site .bottom-cta>img{width:210px;height:195px;object-fit:contain}.site .bottom-cta h2{font-size:clamp(34px,4vw,55px);font-weight:550}.site .vio-footnote{text-align:center;max-width:760px;margin:0 auto 70px;font-size:10px}
html[data-theme] body.site .site-footer{background:var(--appearance-bg);border-color:var(--appearance-line)}
html[data-theme] body.site .vio-page-top{max-width:none;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:70px 0 65px}.site .vio-page-top h1{font-size:clamp(40px,4.5vw,61px);font-weight:550;line-height:1.08;letter-spacing:-.05em}.site .vio-page-top>div>p:last-child{font-size:16px;line-height:1.85;color:var(--appearance-muted);max-width:540px}.site .vio-page-guide{display:flex;align-items:center;gap:8px;border-radius:var(--vio-radius);background:var(--appearance-paper);border:1px solid var(--appearance-line);padding:20px}.site .vio-page-guide>img{width:52%;height:210px;object-fit:contain}.site .vio-page-guide>div{flex:1}.site .vio-page-guide span{font-size:9px;letter-spacing:.12em;color:var(--appearance-muted)}.site .vio-page-guide p{font-size:14px;line-height:1.7;color:var(--appearance-text)}
html[data-theme] body.site .module{border-radius:var(--vio-radius);background:var(--appearance-paper);border-color:var(--appearance-line);padding:36px 40px}.site .module h2{font-size:27px;font-weight:550}.site .module-companion{width:135px;height:135px;margin:0 0 12px 35px}.site .module-list{gap:22px}.site .module:nth-child(3n+1){border-top:3px solid var(--vio-mint)}.site .module:nth-child(3n+2){border-top:3px solid var(--vio-peach)}.site .module:nth-child(3n){border-top:3px solid var(--vio-lilac)}
html[data-theme] body.site .price-card{max-width:780px;margin:0 auto 55px;padding:45px;border-radius:var(--vio-radius);background:var(--appearance-paper);border-color:var(--appearance-line)}.site .price-card h2{font-weight:550}.site .price-card .price{font-weight:550;letter-spacing:-.06em}.site .price-card .cta{margin-top:15px}
html[data-theme] body.site .faq{max-width:none;background:var(--appearance-paper);border:1px solid var(--appearance-line);border-radius:var(--vio-radius);padding:15px 32px;margin-bottom:45px}.site .faq details:last-child{border-bottom:0}.site .faq summary{min-height:30px;align-items:center;font-size:15px}
.vio-entry .companion-hero{width:275px;max-width:90%;margin:0 auto 15px}.vio-entry h1{font-weight:550}.vio-entry section{border-radius:28px}.vio-entry .brand{margin-bottom:5px}.vio-entry .appearance-bar{padding-top:16px}.vio-access-note{font-size:13px;line-height:1.7;color:var(--appearance-muted)}
html[data-theme=dark] body.vio-entry section{background:radial-gradient(ellipse at top,var(--vio-glow),transparent 65%),var(--appearance-paper)}
body.welcome .companion-signup{width:210px;max-width:40%;height:210px;object-fit:contain}.companion-banner img{width:118px;height:112px}.companion-banner .companion-caption{font-size:10px}
@keyframes vio-arrive{from{transform:translateY(14px)}to{transform:translateY(0)}}
@media(max-width:1100px){html[data-theme] body.site .desktop-nav{gap:14px}.site .vio-hero{padding-block:55px;min-height:650px}.site .vio-stage{min-height:470px}.site .floating-life{right:0;top:80px}.site .floating-note{left:0;bottom:65px}.site .vio-hero h1{font-size:55px}.site .vio-lead{font-size:20px}.site .vio-floating{padding:10px;font-size:10px}.site .vio-workspace{gap:35px}.site .vio-scene-copy{padding:30px}.site .vio-page-guide{padding:15px}}
@media(max-width:800px){html[data-theme] body.site .shell{width:calc(100% - 36px)}html[data-theme] body.site .site-header .shell{min-height:74px;gap:12px}.site .vio-hero{grid-template-columns:1fr;gap:18px;padding:36px 0 45px}.site .vio-hero-copy{max-width:620px}.site .vio-hero h1{font-size:clamp(43px,8vw,64px);line-height:1.05}.site .vio-hero-copy>.eyebrow{margin-top:22px}.site .vio-stage{width:min(100%,520px);min-height:510px;margin:auto;grid-row:2}.site .vio-hero-image{max-width:450px}.site .vio-name-tag{top:8px}.site .vio-ia-status{max-width:500px}.site .vio-ribbon{gap:15px;padding:18px;font-size:12px}.site .vio-ribbon i{margin-left:12px}.site .vio-ribbon>span:last-child{display:none}.site .vio-scenario{grid-template-columns:1fr}.site .vio-scene-visual{min-height:300px}.site .vio-scene-image{height:280px;width:280px}.site .vio-scene-copy{border-left:0;border-top:1px solid var(--appearance-line)}.site .vio-scene-tabs{margin-bottom:25px}.site .vio-benefits{grid-template-columns:1fr}.site .vio-benefit{display:grid;grid-template-columns:1fr 150px;gap:0 20px;min-height:270px;padding:26px}.site .vio-benefit>img{grid-column:2;grid-row:1/5;height:200px;width:150px;margin:0}.site .vio-benefit h3{font-size:25px}.site .vio-benefit>a{grid-column:1;padding-top:5px}.site .vio-workspace{grid-template-columns:1fr;gap:35px}.site .vio-workspace>div>p:not(.eyebrow){max-width:600px}.site .vio-workspace .hero-demo{max-width:580px;margin:auto}.site .vio-promise{padding:30px;grid-template-columns:150px 1fr;gap:25px}.site .vio-promise h2{font-size:31px}.site .vio-promise>img{height:200px}html[data-theme] body.site .section{padding:60px 0}html[data-theme] body.site .vio-page-top{padding:40px 0;gap:25px;grid-template-columns:1fr}.site .vio-page-guide{max-width:620px;min-height:200px}.site .vio-page-guide>img{width:40%;height:175px}.site .vio-page-guide p{font-size:16px}.site .vio-page-top h1{font-size:48px}.site .module-companion{width:105px;height:105px;margin-left:20px}}
@media(max-width:420px){html[data-theme] body.site .site-header .shell{gap:9px;padding-block:10px}.site .vio-hero h1{font-size:43px}.site .vio-lead{font-size:19px}.site .vio-intro{font-size:14px}.site .vio-hero .actions{display:grid;grid-template-columns:1fr}.site .vio-stage{min-height:405px}.site .vio-hero-image{max-width:340px}.site .vio-name-tag{font-size:13px}.site .vio-name-tag>span:last-child{font-size:9px}.site .floating-life{top:75px;right:-3px}.site .floating-note{bottom:55px;left:-4px}.site .vio-floating{font-size:9px;gap:5px;padding:9px}.site .vio-floating>span{font-size:16px}.site .vio-stage-caption{bottom:0}.site .vio-benefit{grid-template-columns:1fr 100px;padding:23px;gap:0 10px}.site .vio-benefit>img{width:110px;height:175px;align-self:center}.site .vio-benefit h3{font-size:23px}.site .vio-benefit p{font-size:12px}.site .vio-promise{grid-template-columns:1fr;text-align:center;padding:25px}.site .vio-promise>img{height:175px;margin:auto}.site .vio-scene-copy{padding:25px 20px}.site .vio-scene-tabs{gap:5px}.site .vio-scene-tabs button{padding:11px 9px;font-size:10px}.site .vio-scene-message h3{font-size:26px}html[data-theme] body.site .module{padding:25px}.site .module-companion{width:80px;height:80px;margin-left:15px}.site .vio-page-guide p{font-size:14px}.site .vio-page-top h1{font-size:42px}.site .vio-page-guide>img{height:155px}.site .vio-ribbon{font-size:11px;gap:10px}.site .vio-ribbon i{margin-left:8px}.site .vio-ribbon>span:nth-child(4){display:none}.site .section-title h2{font-size:34px}.vio-entry .companion-hero{width:235px}html[data-theme] body.site .price-card{padding:28px}.site .desktop-break{display:none}}
@media(max-width:800px){.site .vio-hero-copy{display:contents}.site .vio-hero-copy>.eyebrow{display:none}.site .vio-hero-copy>.badge{order:1;justify-self:start}.site .vio-hero h1{order:2;margin:10px 0 0}.site .vio-stage{order:3;grid-row:auto}.site .vio-lead{order:4;margin-top:10px}.site .vio-intro{order:5;margin:0}.site .vio-hero .actions{order:6;margin-top:12px}.site .vio-hero-copy>.subtle{order:7;margin:0}.site .vio-ia-status{order:8;margin-top:5px}.site .vio-stage{min-height:440px}.site .vio-hero-image{max-width:400px}}
@media(max-width:420px){.site .vio-stage{min-height:360px}.site .vio-hero-image{max-width:320px}}
@media(prefers-reduced-motion:reduce){.site .vio-hero-image{animation:none}.site *{scroll-behavior:auto!important;transition:none!important}}

/* Neutral surfaces keep the plant identity in Vio, with restrained joyful accents. */
html[data-theme] body.site :is(.preview,.preview-bar,.preview-stats div,.preview-tabs button[aria-selected=true],.companion-note,.step-number,.callout){background:var(--appearance-paper);color:var(--appearance-text);border-color:var(--appearance-line)}
html[data-theme] body.site :is(.preview-bar,.companion-note,.step-number,.callout){background:var(--appearance-soft)}
html[data-theme] body.site :is(.preview-tabs button,.trust-line,.preview-bar span,.footer-grid li a){color:var(--appearance-muted)}
html[data-theme] body.site .link-chips a{border-color:var(--appearance-line)}
html[data-theme] body.site .preview-device .status{background:var(--appearance-soft);color:var(--vio-lilac)}
html[data-theme] body.site .preview-device .status.amber{background:var(--appearance-soft);color:var(--vio-peach)}
html[data-theme] body.site .preview-device{border-color:var(--appearance-line)}
html[data-theme] body.site .preview-heading p{color:var(--appearance-muted)}
html[data-theme] body.site .object-icon{background:var(--appearance-soft)}
html[data-theme] body.site .object-icon svg{stroke:var(--vio-mint)}
html[data-theme=light] body.site .desktop-nav>a:hover{color:var(--appearance-action)}
html[data-theme] body.site :is(a,button,summary):focus-visible{outline-color:var(--vio-lilac)}
html[data-theme=dark] body .button-primary,html[data-theme=dark] body.vio-entry:has(#beta-form) #beta-form button{background:var(--vio-cta);color:var(--vio-cta-ink)}
html[data-theme=dark] body .button-primary:hover{background:var(--vio-cta)}
html[data-theme=light] body.vio-entry #beta-form button{background:var(--appearance-action);color:#fff}
html[data-theme] body .companion-banner{background:var(--appearance-paper);border-color:var(--appearance-line)}
html[data-theme] body.vio-entry{background:var(--appearance-bg)}
html[data-theme] body.vio-entry .theme-toggle{background:var(--appearance-paper);color:var(--appearance-text)}

/* Claude color roles applied to the existing components; no layout changes. */
.site .dot{background:var(--vio-cta)}
.site :is(.benefit-mint,.benefit-peach,.benefit-lilac){background:var(--appearance-paper)}
html[data-theme] body.site .vio-floating{background:var(--vio-bubble);color:var(--vio-bubble-ink)}
html[data-theme] body.site .vio-floating strong{color:var(--vio-bubble-ink)}
html[data-theme] body.site .vio-floating>span{color:var(--vio-bubble-ink)}
html[data-theme] body.site .preview-tabs button[aria-selected=true]{background:var(--vio-cta);color:var(--vio-cta-ink);border-color:var(--vio-cta)}

/* Welcome composition selected by the founder; other sections stay intact. */
.site .vio-welcome-stage{min-height:600px}
.site .vio-welcome-halo{position:absolute;width:94%;aspect-ratio:1;left:3%;top:9%;border-radius:50%;background:var(--vio-glow)}
.site .vio-welcome-orbit{position:absolute;width:78%;aspect-ratio:1;left:11%;top:17%;border:2px dashed var(--appearance-line);border-radius:50%}
.site .vio-welcome-stage .vio-hero-image{position:absolute;width:112%;max-width:none;height:auto;left:50%;bottom:-2%;transform:translateX(-50%);z-index:1;animation:vio-levitate 5s ease-in-out infinite}
.site .vio-welcome-bubble{position:absolute;top:0;left:0;z-index:3;max-width:66%;padding:17px 20px;border-radius:20px;background:var(--vio-bubble);color:var(--vio-bubble-ink);box-shadow:0 10px 30px #0002;font-size:15px;line-height:1.5}
.site .vio-welcome-bubble strong{font-weight:700}
.site .vio-status-badge{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;max-width:100%;border:1px solid var(--appearance-line);background:var(--appearance-paper);color:var(--appearance-text);border-radius:40px;padding:10px 13px;font-size:12px;font-weight:650;line-height:1.4;box-shadow:0 8px 24px #0002}
.site .vio-badge-icon{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;color:var(--appearance-bg);font-size:18px;font-weight:500}
.site .vio-badge-icon svg{width:17px;height:17px}
.site .icon-water{background:var(--vio-mint)}.site .icon-sun{background:var(--vio-peach)}.site .icon-brand{background:var(--vio-cta)}.site .icon-lilac{background:var(--vio-lilac)}
.site .vio-status-invoice{top:25%;right:0}.site .vio-status-warranty{top:52%;right:-5px}.site .vio-status-checkup{left:-10px;bottom:15%}.site .vio-status-updates{right:2%;bottom:2%}
.site .vio-confetti{position:absolute;z-index:2;display:block;width:10px;height:10px;border-radius:50%}.site .confetti-sun{background:var(--vio-peach);left:12%;top:32%;width:13px;height:13px}.site .confetti-water{background:var(--vio-mint);right:15%;top:22%}.site .confetti-lilac{background:var(--vio-lilac);right:22%;bottom:16%;width:17px;height:17px;border-radius:5px;transform:rotate(18deg)}
@keyframes vio-levitate{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}
@media(max-width:1100px){.site .vio-welcome-stage{min-height:530px}.site .vio-welcome-bubble{font-size:13px;padding:15px 17px}.site .vio-status-badge{font-size:11px;padding:9px 11px}}
@media(max-width:800px){.site .vio-welcome-stage{min-height:560px;max-width:520px}.site .vio-welcome-stage .vio-hero-image{max-width:none}.site .vio-status-checkup{left:0}.site .vio-status-warranty{right:0}}
@media(max-width:420px){.site .vio-welcome-stage{min-height:455px}.site .vio-welcome-bubble{font-size:12px;max-width:78%;padding:13px 15px}.site .vio-status-badge{font-size:10px;padding:7px 9px;gap:6px}.site .vio-badge-icon{width:23px;height:23px;font-size:15px}.site .vio-status-invoice{top:31%}.site .vio-status-warranty{top:55%;right:-2px}.site .vio-status-checkup{bottom:17%;left:-2px}.site .vio-status-updates{right:0;bottom:3%}}
@media(prefers-reduced-motion:reduce){.site .vio-welcome-stage .vio-hero-image{animation:none;transform:translateX(-50%)}}

/* Light-theme readability: common text, controls, status colours and header actions. */
:root[data-theme=light]{--appearance-action:#B33D24;--vio-accent:#B33D24;--vio-cta:#B33D24;--appearance-muted:#465267;--appearance-water:#1F67A6;--control-line:#747B88}
:root[data-theme=dark]{--appearance-water:#7CC4FF}
html[data-theme=light] body :is(p,label,legend,dt,dd,td,th,li,small,summary){color:var(--appearance-text)}
html[data-theme=light] body :is(.muted,.subtle,.field-hint,.lab-muted,.eyebrow,.label,.sub,.park-device-identity small,.add-method-description,.preview-caption){color:var(--appearance-muted)}
html[data-theme=light] body :is(input,select,textarea){background:#fff;color:#1C1E26;border-color:var(--control-line)}
html[data-theme=light] body :is(input,textarea)::placeholder{color:#465267;opacity:1}
html[data-theme=light] body :is(.button-outline,.button-secondary,.text-button,.theme-toggle){background:#fff;color:#1C1E26!important;border-color:var(--control-line)}
html[data-theme=light] body :is(.button-primary,.dashboard-add){background:var(--vio-cta);color:#fff!important;border-color:var(--vio-cta)}
html[data-theme=light] body .topbar{background:#FBF8F2;border-color:#d4cdbf}
html[data-theme=light] body .topbar :is(.button-outline,.theme-toggle){background:#fff;color:#1C1E26!important;border-color:var(--control-line);box-shadow:none}
html[data-theme=light] body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #5E45C8;outline-offset:3px}
html[data-theme=light] body .preview-surface :is(p,span,small,dt,dd,td,th,h2,strong){color:inherit}
html[data-theme=light] body.lab-app .device-entry-panel :is(input,select,textarea){background:#fff;color:#1C1E26;border-color:var(--control-line)}
html[data-theme=light] body.lab-app .add-method:not(:disabled):not(.is-selected){border-color:var(--control-line)}
