
    :root,.theme-preview[data-theme="purple"] { color-scheme:dark; --bg:#351180; --text:#fff; --muted:rgba(255,255,255,.78); --lavender:#d0b0ff; --panel:rgba(255,255,255,.16); --panel-hover:rgba(255,255,255,.20); --panel-selected:rgba(255,255,255,.27); --mini-bg:#fff; --mini-ink:#351180; --orbit-bg:rgba(255,255,255,.19); --primary-bg:#fff; --primary-hover:#eee7ff; --primary-ink:#351180; --switch-line:rgba(255,255,255,.72); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
    :root[data-theme="dark"],.theme-preview[data-theme="dark"] { --bg:#130d20; --text:#f7f3ff; --muted:#cfc3dc; --lavender:#d0b0ff; --panel:#2a1d3b; --panel-hover:#342449; --panel-selected:#493065; --mini-bg:#d0b0ff; --mini-ink:#241431; --orbit-bg:#3d2b53; --primary-bg:#d0b0ff; --primary-hover:#e2ccff; --primary-ink:#1b1128; --switch-line:#aa8dc7; }
    * { box-sizing:border-box; }
    html,body { min-width:320px; height:100%; margin:0; overflow:hidden; overscroll-behavior:none; }
    body { background:var(--bg); color:var(--text); }
    button,input { font:inherit; }
    button,a { -webkit-tap-highlight-color:transparent; }
    :focus-visible { outline:2px solid var(--lavender); outline-offset:4px; }
    .screen h1:focus { outline:none; }
    .theme-preview { position:fixed; z-index:1000; inset:0; overflow:hidden; background:var(--bg); color:var(--text); pointer-events:none; isolation:isolate; will-change:clip-path; }
    .theme-preview *, .theme-preview *::before, .theme-preview *::after { animation:none!important; transition:none!important; }
    .theme-preview[data-theme="dark"] .theme-moon,
    .theme-preview[data-theme="purple"] .theme-sun { display:none; }
    .theme-preview[data-theme="dark"] .theme-sun,
    .theme-preview[data-theme="purple"] .theme-moon { display:block; }
    :root.theme-commit .app,
    :root.theme-commit .theme-toggle,
    :root.theme-commit .button,
    :root.theme-commit .product-card,
    :root.theme-commit .product-satellite,
    :root.theme-commit .switch,
    :root.theme-commit .switch::after,
    :root.theme-commit .welcome-label,
    :root.theme-commit .welcome-symbol,
    :root.theme-commit .about-label,
    :root.theme-commit .about-icon,
    :root.theme-commit .about-satellite,
    :root.theme-commit .detail-label,
    :root.theme-commit .detail-icon,
    :root.theme-commit .detail-satellite,
    :root.theme-commit .scope-toggle,
    :root.theme-commit .scope-symbol,
    :root.theme-commit .product-icon,
    :root.theme-commit .used-card,
    :root.theme-commit .used-icon,
    :root.theme-commit .orbit-icon { transition:none!important; }
    ::selection { background:var(--lavender); color:var(--bg); }
    .sprite { position:absolute; width:0; height:0; overflow:hidden; }
    .app { position:relative; height:100svh; height:100dvh; isolation:isolate; overflow:hidden; background:var(--bg); transition:background .35s ease; }
    .screen { position:absolute; inset:0; z-index:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; padding:clamp(21px,3.5vw,46px) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); opacity:0; transform:translateY(14px); visibility:hidden; pointer-events:none; transition:opacity .5s ease,transform .65s cubic-bezier(.22,1,.36,1),visibility 0s .5s; }
    .screen.active { z-index:1; opacity:1; transform:none; visibility:visible; pointer-events:auto; transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1),visibility 0s; }
    .topbar,.bottom { width:min(100%,1120px); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; }
    .topbar { align-self:start; }
    .brand { display:inline-flex; align-items:center; font-size:16px; font-weight:730; letter-spacing:-.045em; white-space:nowrap; }
    .brand em { color:var(--lavender); font-style:normal; }
    .topbar .step-label { margin-left:auto; color:var(--muted); font-size:12px; font-weight:620; letter-spacing:.04em; white-space:nowrap; }
    .theme-toggle { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:0; border-radius:11px; background:var(--panel); color:var(--text); cursor:pointer; transition:background .25s ease,transform .25s ease; }
    .theme-toggle:hover { background:var(--panel-hover); transform:translateY(-2px); }
    .theme-toggle:active { transform:scale(.94); }
    .theme-toggle svg { width:20px; height:20px; }
    .theme-sun,:root[data-theme="dark"] .theme-moon { display:none; }
    :root[data-theme="dark"] .theme-sun { display:block; }
    .body { width:min(100%,860px); min-height:0; margin:auto; padding:32px 0; text-align:left; }
    h1 { max-width:820px; margin:0 0 25px; font-size:clamp(51px,7.4vw,100px); line-height:1.04; font-weight:670; letter-spacing:-.065em; text-wrap:balance; }
    h1 em { color:var(--lavender); font-style:normal; }
    .body p { max-width:570px; margin:0; color:var(--muted); font-size:clamp(16px,1.65vw,19px); line-height:1.55; }
    .bottom { align-self:end; }
    .controls { display:flex; gap:12px; align-items:center; margin-left:auto; }
    .button { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:0 21px; border:1px solid transparent; border-radius:13px; cursor:pointer; font-size:14px; font-weight:700; transition:background .2s ease,border-color .2s ease,transform .2s ease,opacity .3s ease; }
    .button:hover { transform:translateY(-2px); }
    .button:active { transform:translateY(0); }
    .button.primary { background:var(--primary-bg); color:var(--primary-ink); }
    .button.primary:hover { background:var(--primary-hover); }
    .button:disabled { opacity:.42; cursor:not-allowed; transform:none; }
    .button.ghost { background:transparent; border-color:transparent; color:rgba(255,255,255,.82); }
    .button.ghost:hover { color:#fff; background:var(--panel); }
    .screen--logo .body { padding:0 0 30px; }
    .screen--logo .topbar { position:relative; justify-content:flex-end; }
    .replay,.skip-logo { position:absolute; top:0; right:0; border:0; background:transparent; color:#fff; padding:9px 0 9px 14px; cursor:pointer; font-size:13px; font-weight:640; transition:opacity .5s ease; }
    .replay { opacity:0; pointer-events:none; }
    .skip-logo { opacity:.84; }
    .screen--logo.skipping .skip-logo,.screen--logo.ready .skip-logo { opacity:0; pointer-events:none; }
    .screen--logo.ready .replay { opacity:.84; pointer-events:auto; }
    .screen--logo.ready .replay:hover { opacity:1; }
    .screen--logo .bottom { justify-content:flex-end; }
    .screen--logo .next { min-width:132px; opacity:0; transform:translateY(9px); pointer-events:none; transition:background .2s ease,opacity .5s ease,transform .55s cubic-bezier(.22,1,.36,1); }
    .screen--logo.ready .next { opacity:1; transform:none; pointer-events:auto; }

    /* The logo and its timing come from the approved, editable vector animation. */
    .feature-stage { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; min-height:min(50vh,390px); isolation:isolate; -webkit-user-select:none; user-select:none; touch-action:manipulation; }
    .feature-stage,.feature-stage * { -webkit-tap-highlight-color:transparent; }
    .screen--logo:not(.ready):not(.skipping) .feature-stage { cursor:pointer; }
    .feature-mark { position:relative; width:clamp(127px,19vw,178px); height:clamp(141px,21vw,198px); flex:none; transform-origin:50% 80%; }
    .logo { position:absolute; inset:0; width:100%; height:100%; display:block; overflow:visible; }
    .feature-solid { fill:#fff; opacity:0; }
    .dual-stroke { fill:none; stroke:#fff; stroke-width:13; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1372; stroke-dashoffset:1372; opacity:0; }
    .eye-covers { opacity:0; }
    .eye-covers use { fill:#fff; }
    .orbit-icon { position:absolute; z-index:2; display:grid; place-items:center; width:35px; height:35px; border:0; border-radius:10px; background:var(--orbit-bg); color:#fff; opacity:0; pointer-events:none; }
    .orbit-icon svg { display:block; width:19px; height:19px; fill:currentColor; }
    .orbit-chat { top:9%; left:-31%; }.orbit-social { top:9%; right:-31%; }.orbit-bank { bottom:15%; left:-36%; }.orbit-ai { bottom:15%; right:-36%; }.orbit-sound { top:-24%; left:calc(50% - 17.5px); }
    .word-vector { display:block; width:clamp(236px,33vw,328px); height:auto; overflow:visible; }
    .letter-stroke { fill:none; stroke:#fff; stroke-width:1.4; stroke-linecap:butt; stroke-linejoin:round; stroke-dasharray:var(--dash,500); stroke-dashoffset:var(--dash,500); opacity:0; }
    .letter-stroke.accent { stroke:var(--lavender); }
    .letter-fill { fill:#fff; opacity:0; }.letter-fill.accent { fill:var(--lavender); }
    .feature-stage.playing .dual-stroke { animation:dual-draw 1.21s cubic-bezier(.52,0,.26,1) both,line-out .34s 1.18s both; }
    .feature-stage.playing .feature-solid { animation:solid-on .39s 1.09s both; }
    .feature-stage.playing .feature-mark { animation:ghost-wake 1.49s 1.21s cubic-bezier(.38,.02,.22,1) both; }
    .feature-stage.playing .eye-covers { animation:eye-blink .35s 1.8s both; }
    .feature-stage.playing .orbit-icon { animation:orbit-in .38s var(--entry) cubic-bezier(.2,.8,.2,1) both; }
    .feature-stage.playing .letter-stroke { animation:draw-letter .5s var(--delay) ease-in-out both,line-out .32s 2.38s forwards; }
    .feature-stage.playing .letter-fill { animation:solid-on .42s 2.27s both; }
    /* Settle each animated part from its current frame into the finished logo. */
    .feature-stage.skipping .dual-stroke,.feature-stage.skipping .feature-solid,.feature-stage.skipping .feature-mark,.feature-stage.skipping .eye-covers,.feature-stage.skipping .orbit-icon,.feature-stage.skipping .letter-stroke,.feature-stage.skipping .letter-fill { animation:none; transition:opacity .68s ease,transform .72s cubic-bezier(.22,1,.36,1),stroke-dashoffset .72s cubic-bezier(.22,1,.36,1); }
    .feature-stage.skipping .dual-stroke,.feature-stage.skipping .letter-stroke,.feature-stage.skipping .eye-covers { opacity:0; stroke-dashoffset:0; }
    .feature-stage.skipping .feature-solid,.feature-stage.skipping .letter-fill,.feature-stage.skipping .orbit-icon { opacity:1; }
    .feature-stage.skipping .feature-mark,.feature-stage.skipping .orbit-icon { transform:none; }
    @keyframes dual-draw { from { stroke-dashoffset:1372; } to { stroke-dashoffset:0; } }
    @keyframes line-out { from { opacity:1; } to { opacity:0; } }
    @keyframes solid-on { from { opacity:0; } to { opacity:1; } }
    @keyframes ghost-wake { 0% { transform:translateY(0) rotate(0); animation-timing-function:cubic-bezier(.26,.68,.28,1); } 38% { transform:translateY(-8px) rotate(-3deg); animation-timing-function:cubic-bezier(.42,0,.58,1); } 100% { transform:translateY(0) rotate(0); } }
    @keyframes eye-blink { 0%,23%,80%,100% { opacity:0; } 44%,59% { opacity:1; } }
    @keyframes orbit-in { from { opacity:0; transform:translateY(5px) scale(.82); } to { opacity:1; transform:translateY(0) scale(1); } }
    @keyframes draw-letter { 0% { opacity:0; stroke-dashoffset:var(--dash,500); } 4% { opacity:1; } 100% { opacity:1; stroke-dashoffset:0; } }

    .screen--welcome .body { width:min(100%,1080px); }
    .welcome-layout { position:relative; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(200px,.45fr); align-items:center; gap:clamp(32px,6vw,82px); }
    .screen--welcome h1 { font-size:clamp(48px,6.1vw,82px); }
    .welcome-label { --tilt:-1.8deg; position:relative; width:100%; max-width:235px; height:193px; margin:30px 40px 0 auto; border:0; border-radius:20px; background:var(--panel); overflow:visible; transform:rotate(var(--tilt)); }
    .welcome-label svg { position:absolute; top:-76px; right:-37px; display:block; width:168px; height:188px; fill:#fff; transform:rotate(9deg); }
    .welcome-symbol { position:absolute; left:-13px; top:-15px; display:grid; place-items:center; width:39px; height:39px; border-radius:12px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(-9deg); }
    .welcome-symbol svg { position:static; width:22px; height:22px; fill:currentColor; transform:none; }
    .welcome-label::after { content:""; position:absolute; right:-8px; bottom:-8px; width:16px; height:16px; border-radius:50%; background:var(--mini-bg); }
    .screen--about .body { width:min(100%,860px); }
    .about-labels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; width:min(calc(100% - 25px),780px); margin:43px 0 5px 12px; }
    .about-label { --tilt:-1.4deg; position:relative; display:flex; align-items:center; min-height:120px; padding:20px 24px 20px 81px; border:0; border-radius:19px; background:var(--panel); transform:rotate(var(--tilt)); }
    .about-label:nth-child(2) { --tilt:1.3deg; margin-top:29px; margin-left:16px; }
    .about-pair { display:grid; gap:3px; font-size:clamp(21px,2.6vw,27px); font-weight:690; line-height:1.08; letter-spacing:-.04em; }
    .about-pair span:last-child { color:var(--lavender); }
    .about-icon { position:absolute; top:-14px; left:-17px; display:grid; place-items:center; width:65px; height:65px; border-radius:18px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(-8deg); }
    .about-label:nth-child(2) .about-icon { top:auto; bottom:-14px; transform:rotate(8deg); }
    .about-icon svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    .about-satellite { position:absolute; right:-10px; bottom:-10px; display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(10deg); }
    .about-label:nth-child(2) .about-satellite { top:-10px; bottom:auto; transform:rotate(-10deg); }
    .about-satellite svg { width:13px; height:13px; fill:currentColor; }
    .screen--products .body { position:relative; width:min(100%,820px); padding:28px 0 32px; }
    .screen--products h1 { font-size:clamp(45px,6.2vw,78px); margin-bottom:14px; }
    .screen--products .body p { font-size:16px; }
    .product-grid { display:grid; grid-template-columns:1fr; gap:15px; width:min(calc(100% - 22px),700px); margin:42px 0 0 22px; text-align:left; }
    .product-card { --chosen-angle:-1.15deg; position:relative; display:flex; align-items:center; gap:15px; min-height:99px; width:100%; padding:16px 23px 16px 94px; border:0; border-radius:17px; background:var(--panel); color:var(--text); text-align:left; cursor:pointer; overflow:visible; transform:rotate(0deg); transition:background .3s ease,transform .48s cubic-bezier(.22,1,.36,1); }
    .product-card:nth-child(even) { --chosen-angle:1.15deg; }
    .product-card:hover { background:var(--panel-hover); transform:translateX(3px) rotate(0deg); }
    .product-card[aria-pressed="true"] { background:var(--panel-selected); transform:rotate(var(--chosen-angle)); }
    .product-card[aria-pressed="true"]:hover { transform:translateX(3px) rotate(var(--chosen-angle)); }
    /* Both small illustrations deliberately cross the label's edges. */
    .product-icon { position:absolute; left:-22px; top:50%; display:grid; place-items:center; width:76px; height:76px; border-radius:19px; background:var(--mini-bg); color:var(--mini-ink); transform:translateY(-50%) rotate(-6deg); box-shadow:0 7px 20px rgba(23,5,57,.18); pointer-events:none; }
    .product-card:nth-child(2) .product-icon { transform:translateY(-50%) rotate(5deg); }
    .product-card:nth-child(3) .product-icon { transform:translateY(-50%) rotate(-3deg); }
    .product-card[aria-pressed="true"] .product-icon { transform:translateY(calc(-50% - 3px)) rotate(-3deg); }
    .product-card:nth-child(2)[aria-pressed="true"] .product-icon { transform:translateY(calc(-50% - 3px)) rotate(2deg); }
    .product-card:nth-child(3)[aria-pressed="true"] .product-icon { transform:translateY(calc(-50% - 3px)) rotate(0deg); }
    .product-icon svg { display:block; width:35px; height:35px; fill:currentColor; }
    .product-satellite { position:absolute; right:-12px; bottom:-11px; display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(11deg); transition:transform .29s .09s cubic-bezier(.22,1,.36,1),background .3s ease,color .3s ease; pointer-events:none; }
    .product-satellite svg { display:block; width:19px; height:19px; fill:currentColor; }
    .product-card[aria-pressed="true"] .product-satellite { transform:translateY(-2px) rotate(2deg); }
    .product-copy { display:flex; flex-direction:column; min-width:0; }
    .product-name { font-size:22px; font-weight:700; letter-spacing:-.04em; }
    .product-description { margin-top:4px; color:var(--muted); font-size:14px; line-height:1.4; }
    .product-indicator { display:block; margin-left:auto; white-space:nowrap; color:rgba(255,255,255,.84); font-size:12px; font-weight:650; }
    .product-card[aria-pressed="true"] .product-indicator { color:#fff; }
    .selection-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .selection-preview { min-height:21px; margin:17px 0 0 22px!important; color:var(--muted); font-size:13px!important; }
    .screen--detail .body { width:min(100%,780px); padding:36px 0 50px; }
    .screen--detail.active .body { view-transition-name:product-slide; }
    ::view-transition-old(product-slide) { animation:detail-leave .18s ease-in both; }
    ::view-transition-new(product-slide) { animation:detail-arrive .42s cubic-bezier(.22,1,.36,1) both; }
    @keyframes detail-leave { to { opacity:0; transform:translateY(-8px); } }
    @keyframes detail-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
    .screen--detail h1 { font-size:clamp(52px,7vw,84px); }
    .detail-layout { width:min(calc(100% - 22px),490px); margin:clamp(46px,6vw,68px) 0 0 22px; }
    .detail-label { --tilt:1.2deg; position:relative; width:100%; min-height:134px; display:flex; align-items:center; padding:26px 43px 26px 98px; border:0; border-radius:18px; background:var(--panel); transform:rotate(var(--tilt)); }
    .detail-icon { position:absolute; left:-20px; top:-21px; display:grid; place-items:center; width:86px; height:86px; border-radius:20px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(-7deg); }
    .detail-icon svg { width:43px; height:43px; fill:currentColor; }
    .detail-satellite { position:absolute; right:-9px; bottom:-10px; display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(9deg); }
    .detail-satellite svg { width:20px; height:20px; fill:currentColor; }
    .detail-note { font-size:17px; font-weight:560; line-height:1.43; color:var(--text); text-wrap:pretty; }
    @media(min-width:721px) {
      .screen--detail[data-product="GhostSocial"] .detail-layout { margin-left:auto; margin-right:22px; }
      .screen--detail[data-product="GhostSocial"] .detail-label { --tilt:-1.15deg; }
      .screen--detail[data-product="GhostBank"] .detail-layout { margin-left:clamp(65px,9vw,120px); }
      .screen--detail[data-product="GhostBank"] .detail-label { --tilt:.55deg; }
    }
    .screen--scope .body,.screen--add .body { width:min(100%,720px); }
    .screen--scope h1,.screen--add h1 { font-size:clamp(48px,6.8vw,78px); }
    .scope-toggle { --tilt:-.8deg; position:relative; display:flex; gap:17px; align-items:center; width:min(100%,650px); margin:24px 0 0; padding:21px 23px; border:0; border-radius:16px; background:var(--panel); cursor:pointer; transform:rotate(var(--tilt)); transition:background .3s ease,transform .3s cubic-bezier(.22,1,.36,1); -webkit-tap-highlight-color:transparent; user-select:none; }
    .scope-toggle:active { transform:rotate(var(--tilt)) scale(.992); }
    .scope-symbol { position:absolute; top:-15px; left:-11px; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(-12deg); }
    .scope-symbol svg { width:18px; height:18px; fill:currentColor; }
    .scope-toggle .toggle-copy { flex:1; font-size:16px; font-weight:620; line-height:1.35; }
    .scope-toggle input { position:absolute; width:1px; height:1px; opacity:0; -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent; }
    .switch { position:relative; width:48px; height:28px; flex:none; border:1px solid var(--switch-line); border-radius:99px; transition:background .2s ease; }
    .switch::after { content:""; position:absolute; top:4px; left:4px; width:18px; height:18px; border-radius:50%; background:var(--mini-bg); transition:transform .23s cubic-bezier(.22,1,.36,1); }
    .scope-toggle input:checked + .switch { background:var(--mini-bg); }
    .scope-toggle input:checked + .switch::after { background:var(--mini-ink); transform:translateX(20px); }
    .scope-toggle input:focus-visible + .switch { outline:2px solid #fff; outline-offset:4px; }
    .used-grid,.add-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(10px,2.3vw,17px); width:min(100%,480px); margin-top:30px; }
    .used-card { --tilt:-1.4deg; position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; min-width:0; width:100%; aspect-ratio:1; padding:15px 11px; border:0; border-radius:17px; background:var(--panel); color:var(--text); text-align:left; cursor:pointer; transform:rotate(var(--tilt)); transition:background .28s ease,transform .38s cubic-bezier(.22,1,.36,1),opacity .28s ease; -webkit-tap-highlight-color:transparent; user-select:none; }
    .used-card:nth-child(2) { --tilt:1.2deg; }
    .used-card:nth-child(3) { --tilt:-.7deg; }
    .used-card:hover { background:var(--panel-hover); transform:translateY(-3px) rotate(var(--tilt)); }
    .used-card:active { transform:scale(.97) rotate(var(--tilt)); }
    .used-card:disabled { cursor:default; }
    .used-card:disabled:hover { background:var(--panel); transform:rotate(var(--tilt)); }
    .used-icon { position:absolute; top:-11px; left:-9px; display:grid; place-items:center; width:49%; aspect-ratio:1; border-radius:15px; background:var(--mini-bg); color:var(--mini-ink); transform:rotate(-6deg); pointer-events:none; transition:background .3s ease,color .3s ease,transform .38s cubic-bezier(.22,1,.36,1); }
    .used-card:nth-child(2) .used-icon { transform:rotate(7deg); }
    .used-card:hover .used-icon { transform:translateY(-2px) rotate(-2deg); }
    .used-icon svg { width:53%; height:53%; fill:currentColor; }
    .used-name { max-width:100%; overflow-wrap:anywhere; font-size:clamp(11px,1.45vw,16px); font-weight:700; letter-spacing:-.045em; line-height:1.15; }
    .used-card--add { align-items:center; justify-content:center; text-align:center; background:var(--panel); }
    .used-card--add .plus-mark { display:block; margin:-8px 0 8px; font-size:clamp(37px,5vw,54px); line-height:1; font-weight:270; }
    .used-card--add .used-name { font-size:clamp(11px,1.2vw,14px); }
    .used-card[aria-pressed="true"] { background:var(--panel-selected); }
    .used-card[aria-pressed="true"] .used-icon { transform:translateY(-3px) rotate(-2deg); }
    .add-grid { margin-top:42px; }
    .add-grid .used-card[aria-pressed="true"]::after { content:"✓"; position:absolute; right:10px; top:8px; display:grid; place-items:center; width:23px; height:23px; border-radius:8px; background:var(--mini-bg); color:var(--mini-ink); font-size:14px; font-weight:700; }
    .used-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .used-card-floating { position:fixed; z-index:5; pointer-events:none; margin:0; }
    .screen:not(.screen--logo) > .body { transform:translateY(-42px); }
    .welcome-label,.welcome-symbol,.about-label,.about-icon,.about-satellite,.detail-label,.detail-icon,.detail-satellite,.scope-symbol,.orbit-icon,.product-icon { transition:background .3s ease,color .3s ease; }
    .product-icon { transition:background .3s ease,color .3s ease,transform .29s .09s cubic-bezier(.22,1,.36,1); }
    /* Raised surfaces keep their flat fills; light on top and a narrow lower edge add depth. */
    :root,.theme-preview[data-theme="purple"] {
      --label-depth:0 5px 0 rgba(20,4,57,.24),0 18px 25px -15px rgba(12,2,39,.58),inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(12,2,39,.13);
      --label-depth-hover:0 8px 0 rgba(20,4,57,.24),0 24px 30px -16px rgba(12,2,39,.6),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(12,2,39,.13);
      --label-depth-pressed:0 2px 0 rgba(20,4,57,.25),0 9px 18px -13px rgba(12,2,39,.45),inset 0 1px 0 rgba(255,255,255,.14);
      --icon-depth:0 3px 0 rgba(20,4,57,.18),0 12px 16px -10px rgba(12,2,39,.47),inset 0 1px 0 rgba(255,255,255,.38);
    }
    :root[data-theme="dark"],.theme-preview[data-theme="dark"] {
      --label-depth:0 5px 0 rgba(3,1,10,.48),0 18px 25px -15px rgba(2,1,8,.76),inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(2,1,8,.3);
      --label-depth-hover:0 8px 0 rgba(3,1,10,.48),0 24px 30px -16px rgba(2,1,8,.8),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(2,1,8,.3);
      --label-depth-pressed:0 2px 0 rgba(3,1,10,.5),0 9px 18px -13px rgba(2,1,8,.65),inset 0 1px 0 rgba(255,255,255,.08);
      --icon-depth:0 3px 0 rgba(3,1,10,.35),0 12px 16px -10px rgba(2,1,8,.68),inset 0 1px 0 rgba(255,255,255,.2);
    }
    .welcome-label,.about-label,.product-card,.detail-label,.scope-toggle,.used-card { box-shadow:var(--label-depth); }
    /* Cards sit in the layout. The overhanging icons and primary controls keep the visible lift. */
    .product-card,.scope-toggle,.used-card { box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 0 rgba(10,2,35,.2); }
    .welcome-symbol,.about-icon,.about-satellite,.product-icon,.product-satellite,.detail-icon,.detail-satellite,.scope-symbol,.used-icon,.welcome-label::after { box-shadow:var(--icon-depth); }
    .welcome-label,.about-label,.detail-label { transition:background .3s ease,color .3s ease,box-shadow .3s ease; }
    .product-card { transition:background .3s ease,box-shadow .3s ease,transform .48s cubic-bezier(.22,1,.36,1); }
    .scope-toggle { transition:background .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.22,1,.36,1); }
    .used-card { transition:background .28s ease,box-shadow .28s ease,transform .38s cubic-bezier(.22,1,.36,1),opacity .28s ease; }
    .product-icon { transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .29s .09s cubic-bezier(.22,1,.36,1); }
    .used-icon { transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .38s cubic-bezier(.22,1,.36,1); }
    .product-card:hover,.scope-toggle:hover,.used-card:not(:disabled):hover { box-shadow:var(--label-depth-hover); }
    .product-card:active,.scope-toggle:active,.used-card:active { box-shadow:var(--label-depth-pressed); }
    .product-card:active { transform:translateY(3px) rotate(0deg); }
    .product-card[aria-pressed="true"]:active { transform:translateY(3px) rotate(var(--chosen-angle)); }
    .scope-toggle:active { transform:translateY(3px) rotate(var(--tilt)); }
    .used-card:active { transform:translateY(2px) scale(.985) rotate(var(--tilt)); }
    /* Smaller controls use the same depth, scaled down to their size. */
    :root,.theme-preview[data-theme="purple"] {
      --control-depth:0 4px 0 rgba(20,4,57,.26),0 13px 18px -11px rgba(12,2,39,.5),inset 0 1px 0 rgba(255,255,255,.32);
      --control-depth-hover:0 6px 0 rgba(20,4,57,.26),0 18px 22px -12px rgba(12,2,39,.55),inset 0 1px 0 rgba(255,255,255,.34);
      --control-depth-pressed:0 1px 0 rgba(20,4,57,.26),0 7px 12px -10px rgba(12,2,39,.4),inset 0 1px 0 rgba(255,255,255,.2);
    }
    :root[data-theme="dark"],.theme-preview[data-theme="dark"] {
      --control-depth:0 4px 0 rgba(3,1,10,.48),0 13px 18px -11px rgba(2,1,8,.7),inset 0 1px 0 rgba(255,255,255,.22);
      --control-depth-hover:0 6px 0 rgba(3,1,10,.48),0 18px 22px -12px rgba(2,1,8,.74),inset 0 1px 0 rgba(255,255,255,.24);
      --control-depth-pressed:0 1px 0 rgba(3,1,10,.5),0 7px 12px -10px rgba(2,1,8,.6),inset 0 1px 0 rgba(255,255,255,.14);
    }
    .button.primary,.theme-toggle { box-shadow:var(--control-depth); }
    .button.primary { transition:background .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s ease,opacity .3s ease; }
    .theme-toggle { transition:background .25s ease,box-shadow .25s ease,transform .25s ease; }
    .screen--logo .next { transition:background .2s ease,box-shadow .25s ease,opacity .5s ease,transform .55s cubic-bezier(.22,1,.36,1); }
    .button.primary:not(:disabled):hover,.theme-toggle:hover,.button.ghost:hover { box-shadow:var(--control-depth-hover); }
    .button.primary:not(:disabled):active,.theme-toggle:active,.button.ghost:active { box-shadow:var(--control-depth-pressed); }
    .button.primary:not(:disabled):active,.screen--logo.ready .next:active { transform:translateY(2px); }
    .button.primary:not(:disabled):active,.button.primary:not(:disabled).is-pressed {
      background:var(--primary-hover);
      box-shadow:var(--control-depth-pressed);
      transform:translateY(4px) scale(.975);
      transition:background .13s ease-out,box-shadow .13s ease-out,transform .13s cubic-bezier(.2,.7,.3,1);
    }
    .button.ghost:active { background:var(--panel); transform:translateY(1px); }
    .orbit-icon { box-shadow:var(--icon-depth); transition:background .3s ease,color .3s ease,box-shadow .3s ease; }
    .switch { box-shadow:inset 0 2px 5px rgba(9,2,27,.23),inset 0 1px 0 rgba(255,255,255,.1); }
    .switch::after,.add-grid .used-card[aria-pressed="true"]::after { box-shadow:var(--icon-depth); }
    .screen.active .enter { animation:rise-in .7s var(--delay,0s) both; }
    @keyframes rise-in { from { opacity:0; transform:translateY(18px) rotate(var(--tilt,0deg)); } to { opacity:1; transform:translateY(0) rotate(var(--tilt,0deg)); } }
    /* Decorative elements start after their label, then reach their place before it settles. */
    .screen.active .welcome-label > .welcome-symbol,
    .screen.active .welcome-label > svg,
    .screen.active .about-label > .about-icon,
    .screen.active .about-label > .about-satellite,
    .screen.active .detail-label > .detail-icon,
    .screen.active .detail-label > .detail-satellite,
    .screen.active .scope-toggle > .scope-symbol,
    .screen.active .product-card > .product-icon,
    .screen.active .product-card > .product-satellite {
      animation:label-piece-in .42s calc(var(--delay,0s) + .11s + var(--piece-stagger,0s)) cubic-bezier(.22,1,.36,1) both;
    }
    .screen.active .welcome-label::after { animation:label-piece-in .36s calc(var(--delay,0s) + .16s) cubic-bezier(.22,1,.36,1) both; }
    .screen.active .about-label > .about-satellite,
    .screen.active .detail-label > .detail-satellite,
    .screen.active .product-card > .product-satellite { animation-duration:.36s; animation-delay:calc(var(--delay,0s) + .17s + var(--piece-stagger,0s)); }
    .product-card:nth-child(2) { --piece-stagger:.04s; }
    .product-card:nth-child(3) { --piece-stagger:.08s; }
    @keyframes label-piece-in { from { opacity:0; translate:0 9px; scale:.9; } to { opacity:1; translate:0 0; scale:1; } }
    @media(max-width:720px) {
      .screen { padding-top:max(20px,env(safe-area-inset-top)); padding-right:max(20px,env(safe-area-inset-right)); padding-bottom:max(20px,env(safe-area-inset-bottom)); padding-left:max(20px,env(safe-area-inset-left)); }
      .body { padding:34px 0 48px; }
      h1 { font-size:clamp(43px,10vw,64px); }
      .welcome-layout { grid-template-columns:1fr; gap:22px; }
      .screen--welcome h1 { font-size:clamp(43px,10vw,62px); }
      .welcome-label { width:165px; height:108px; margin:30px 24px 0 auto; border-radius:17px; }
      .welcome-label svg { top:-52px; right:-24px; width:112px; height:125px; }
      .welcome-symbol { width:32px; height:32px; left:-10px; top:-12px; border-radius:9px; }
      .welcome-symbol svg { width:19px; height:19px; }
      .screen--about .body { padding:26px 0 34px; }
      .about-labels { grid-template-columns:1fr; gap:16px; width:min(calc(100% - 16px),450px); margin:33px 0 0 12px; }
      .about-label { min-height:84px; padding:16px 20px 16px 65px; border-radius:16px; }
      .about-label:nth-child(2) { margin-top:9px; margin-left:10px; }
      .about-pair { font-size:20px; }
      .about-icon { top:-11px; left:-11px; width:50px; height:50px; border-radius:14px; }
      .about-label:nth-child(2) .about-icon { bottom:-11px; }
      .about-icon svg { width:25px; height:25px; }
      .about-satellite { right:-7px; bottom:-8px; width:22px; height:22px; }
      .about-label:nth-child(2) .about-satellite { top:-8px; }
      .product-grid { gap:16px; width:calc(100% - 17px); margin:31px 0 0 17px; }
      .product-card { min-height:88px; padding:13px 14px 13px 70px; }
      .product-icon { left:-17px; width:60px; height:60px; border-radius:16px; }
      .product-icon svg { width:29px; height:29px; }
      .product-satellite { width:29px; height:29px; right:-8px; bottom:-8px; border-radius:9px; }
      .product-satellite svg { width:16px; height:16px; }
      .product-name { font-size:18px; }.product-description { font-size:13px; }
      .product-indicator { font-size:12px; }
      .screen--products .body { padding:26px 0 30px; }
      .screen--products .body p { font-size:14px; }
      .screen--products h1 { font-size:clamp(43px,10vw,56px); }
      .screen--detail h1,.screen--scope h1,.screen--add h1 { font-size:clamp(44px,10vw,60px); }
      .screen--detail .body { padding:32px 0 42px; }
      .detail-layout { width:calc(100% - 18px); margin:43px 0 0 18px; }
      .detail-label { min-height:136px; padding:23px 32px 23px 71px; }
      .detail-icon { left:-13px; top:-17px; width:64px; height:64px; border-radius:16px; }
      .detail-icon svg { width:32px; height:32px; }
      .detail-satellite { width:29px; height:29px; right:-8px; bottom:-9px; border-radius:9px; }
      .detail-satellite svg { width:17px; height:17px; }
      .detail-note { font-size:14.5px; line-height:1.45; }
    }
    @media(max-width:400px) {
      .feature-mark { width:116px; height:129px; }.word-vector { width:236px; }
      .orbit-icon { width:29px; height:29px; border-radius:8px; }.orbit-icon svg { width:17px; height:17px; }
      .orbit-sound { left:calc(50% - 14.5px); }
      h1 { font-size:clamp(41px,11vw,48px); }.bottom .button { min-height:44px; padding-inline:15px; font-size:13px; }
      .product-card { gap:7px; padding-right:10px; }.product-indicator { font-size:11px; }
      .scope-toggle { padding:17px 15px; }.scope-toggle .toggle-copy { font-size:14px; }
    }
    @media(max-height:700px) {
      .screen { padding-top:max(12px,env(safe-area-inset-top)); padding-bottom:max(12px,env(safe-area-inset-bottom)); }
      .body,.screen--products .body,.screen--detail .body,.screen--about .body { padding:8px 0; }
      .screen:not(.screen--logo) > .body { transform:none; }
      h1,.screen--welcome h1,.screen--products h1,.screen--detail h1,.screen--scope h1,.screen--add h1 { font-size:clamp(34px,8.5vw,60px); margin-bottom:9px; line-height:1.05; }
      .body p { font-size:14px; line-height:1.38; }
      .welcome-layout { gap:10px; }
      .welcome-label { width:135px; height:78px; margin:10px 20px 0 auto; }
      .welcome-label svg { width:82px; height:96px; top:-39px; }
      .about-labels { margin-top:19px; gap:10px; }
      .about-label { min-height:63px; padding-top:10px; padding-bottom:10px; }
      .about-label:nth-child(2) { margin-top:4px; }
      .about-pair { font-size:18px; }
      .product-grid { gap:10px; margin-top:17px; }
      .product-card { min-height:64px; padding-top:7px; padding-bottom:7px; }
      .product-icon { width:46px; height:46px; border-radius:12px; }
      .product-icon svg { width:23px; height:23px; }
      .product-name { font-size:17px; }
      .product-description { font-size:13px; margin-top:2px; }
      .product-satellite { width:22px; height:22px; border-radius:7px; }
      .product-satellite svg { width:13px; height:13px; }
      .selection-preview { margin-top:10px!important; font-size:13px!important; }
      .detail-layout { margin-top:24px; }
      .detail-label { min-height:103px; padding-top:15px; padding-bottom:15px; }
      .detail-icon { width:55px; height:55px; }
      .detail-note { font-size:13px; }
      .used-grid { margin-top:17px; width:min(100%,380px); }
      .add-grid { margin-top:20px; }
      .used-card { padding:9px 7px; border-radius:13px; }
      .used-icon { top:-6px; left:-5px; border-radius:10px; }
      .used-name,.used-card--add .used-name { font-size:clamp(12px,2.8vw,13px); }
      .used-card--add .plus-mark { font-size:34px; margin-bottom:4px; }
      .scope-toggle { margin-top:14px; padding-top:13px; padding-bottom:13px; }
      .feature-stage { min-height:min(43vh,260px); }
      .feature-mark { width:112px; height:125px; }
      .word-vector { width:235px; }
    }
    @media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-delay:0ms !important; transition-duration:.01ms !important; } }
  
    /* Regular-user home. The original /v2 rules above remain byte-for-byte intact. */
    html.home-page { --home-page-banner-color:#171026; --home-page-banner-art:linear-gradient(120deg,#301754,#171026 72%); --home-page-banner-photo:none; height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:auto; }
    body.home-page { position:relative; isolation:isolate; height:auto; min-height:100svh; overflow:visible; background:var(--home-page-banner-color,#171026); }
    body.home-page::before { content:""; position:fixed; z-index:-1; inset:-44px; pointer-events:none; background-color:var(--home-page-banner-color,#171026); background-image:linear-gradient(180deg,rgba(9,8,13,.18),rgba(9,8,13,.55) 72%,rgba(9,8,13,.68)),var(--home-page-banner-photo,none),var(--home-page-banner-art,none); background-size:cover; background-position:center top; background-repeat:no-repeat; filter:blur(38px) saturate(1.02) brightness(.68); transform:translateZ(0); }
    .home-page [hidden] { display:none!important; }
    .home-page a { color:inherit; text-decoration:none; }
    .home-page .ui-icon { display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.85; stroke-linecap:round; stroke-linejoin:round; flex:none; }
    .home-page .theme-toggle .ui-icon.theme-sun,
    html.home-page[data-theme="dark"] .theme-toggle .ui-icon.theme-moon,
    .theme-preview.home-page[data-theme="dark"] .theme-toggle .ui-icon.theme-moon,
    .theme-preview.home-page[data-theme="purple"] .theme-toggle .ui-icon.theme-sun { display:none; }
    html.home-page[data-theme="dark"] .theme-toggle .ui-icon.theme-sun,
    .theme-preview.home-page[data-theme="dark"] .theme-toggle .ui-icon.theme-sun,
    .theme-preview.home-page[data-theme="purple"] .theme-toggle .ui-icon.theme-moon { display:block; }
    html.home-page.theme-commit .home-shell,
    html.home-page.theme-commit .home-shell *,
    html.home-page.theme-commit .home-shell *::before,
    html.home-page.theme-commit .home-shell *::after { transition:none!important; }
    html.home-page::view-transition-image-pair(root) { isolation:auto; }
    html.home-page::view-transition-old(root),
    html.home-page::view-transition-new(root) { animation:none; mix-blend-mode:normal; display:block; }
    .home-page .home-shell { width:min(100%,1200px); min-height:100svh; margin-inline:auto; padding:clamp(21px,3.5vw,46px) max(24px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); }
    .home-page .home-topbar { position:relative; z-index:3; }
    .home-page .brand-mark { display:inline-flex; margin-right:8px; color:var(--lavender); }
    .home-page .brand-mark .ui-icon { width:23px; height:23px; }
    .home-page .home-header-actions { display:flex; align-items:center; gap:12px; }
    .home-page .account-slot { position:relative; }
    .home-page .account-link { min-height:44px; padding-inline:17px; }
    .home-page .account-button { display:flex; align-items:center; gap:9px; max-width:210px; min-height:44px; padding:5px 11px 5px 6px; border:0; border-radius:12px; background:var(--panel); color:var(--text); cursor:pointer; font:inherit; font-size:13px; font-weight:650; box-shadow:var(--control-depth); transition:background .25s ease,transform .25s ease,box-shadow .25s ease; }
    .home-page .account-button:hover { background:var(--panel-hover); box-shadow:var(--control-depth-hover); transform:translateY(-2px); }
    .home-page .account-button:active { box-shadow:var(--control-depth-pressed); transform:translateY(2px); }
    .home-page .account-button > .ui-icon { width:15px; height:15px; opacity:.85; }
    .home-page .avatar { display:grid; place-items:center; width:31px; height:31px; flex:none; overflow:hidden; border-radius:9px; background:var(--mini-bg); color:var(--mini-ink); font-size:14px; font-weight:750; }
    .home-page .avatar img { display:block; width:100%; height:100%; border-radius:inherit; object-fit:cover; }
    .home-page .account-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .home-page .account-menu { position:absolute; z-index:5; top:calc(100% + 12px); right:0; display:grid; gap:4px; width:210px; padding:8px; border-radius:13px; background:var(--panel-hover); box-shadow:var(--label-depth-hover); backdrop-filter:blur(18px); }
    .home-page .account-menu a,.home-page .account-menu button { display:flex; align-items:center; min-height:41px; padding:0 12px; border:0; border-radius:8px; background:transparent; color:var(--text); text-align:left; font:inherit; font-size:13px; cursor:pointer; }
    .home-page .account-menu a:hover,.home-page .account-menu button:hover { background:var(--panel-selected); }
    .home-page .home-main { width:min(100%,1060px); margin:clamp(52px,9vh,100px) auto 0; }
    .home-page .home-eyebrow { margin:0 0 11px; color:var(--lavender); font-size:12px; font-weight:720; letter-spacing:.08em; }
    .home-page .home-intro h1 { max-width:none; margin:0 0 13px; font-size:clamp(46px,6vw,76px); line-height:1.04; }
    .home-page .home-intro > p:last-child { margin:0; color:var(--muted); font-size:clamp(15px,1.7vw,18px); line-height:1.5; }
    .home-page .home-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr); align-items:start; gap:clamp(34px,6vw,84px); margin-top:clamp(55px,8vh,85px); }
    .home-page .home-section-title { margin:0; font-size:19px; font-weight:680; letter-spacing:-.035em; }
    .home-page .home-section-note { display:block; margin-top:5px; color:var(--muted); font-size:13px; }
    .home-page .home-feature { display:flex; width:calc(100% - 32px); max-width:460px; min-height:195px; margin:34px 12px 0 20px; padding:32px 42px 26px 102px; cursor:pointer; transition:background .3s ease,box-shadow .3s ease,transform .36s cubic-bezier(.22,1,.36,1); }
    .home-page .home-feature:hover { background:var(--panel-hover); box-shadow:var(--label-depth-hover); transform:translateY(-4px) rotate(var(--tilt)); }
    .home-page .home-feature:active { background:var(--panel-selected); box-shadow:var(--label-depth-pressed); transform:translateY(3px) rotate(var(--tilt)); }
    .home-page .home-feature .detail-icon svg.ui-icon { width:43px; height:43px; fill:none; }
    .home-page .home-feature .detail-satellite svg.ui-icon { width:20px; height:20px; fill:none; }
    .home-page .home-feature .detail-note { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
    .home-page .home-feature-kicker { color:var(--lavender); font-size:12px; font-weight:720; line-height:1.3; }
    .home-page .home-feature-title { margin-top:7px; font-size:clamp(25px,2.6vw,34px); font-weight:700; letter-spacing:-.045em; line-height:1.13; overflow-wrap:anywhere; }
    .home-page .home-feature-description { margin-top:6px; color:var(--muted); font-size:14px; }
    .home-page .home-feature-action { margin-top:20px; font-size:13px; font-weight:690; }
    .home-page .home-feature.is-unavailable { cursor:default; opacity:.7; }
    .home-page .home-feature.is-unavailable:hover { background:var(--panel); box-shadow:var(--label-depth); transform:rotate(var(--tilt)); }
    .home-page .home-services { min-width:0; }
    .home-page .home-services .services-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 19px; padding:28px 13px 13px 22px; }
    .home-page .service-link { min-width:0; min-height:110px; padding:15px 21px 15px 76px; }
    .home-page .service-link .product-copy { min-width:0; }
    .home-page .service-link .product-name { font-size:clamp(17px,1.8vw,20px); overflow-wrap:anywhere; }
    .home-page .service-link .product-description { max-width:180px; font-size:12px; line-height:1.35; }
    .home-page .service-link .product-icon svg.ui-icon { width:35px; height:35px; fill:none; }
    .home-page .service-link .product-satellite svg.ui-icon { width:19px; height:19px; fill:none; }
    .home-page .service-link.has-status { opacity:.65; }
    .home-page .service-status { display:block; margin-top:6px; color:var(--muted); font-size:11px; line-height:1.25; }
    .home-page .home-dialog { width:min(calc(100vw - 36px),400px); padding:25px; border:0; border-radius:18px; background:var(--panel-hover); color:var(--text); box-shadow:0 25px 75px rgba(9,2,27,.55); }
    .home-page .home-dialog::backdrop { background:rgba(8,2,22,.7); }
    .home-page .home-dialog h2 { margin:0 0 10px; font-size:22px; letter-spacing:-.04em; }
    .home-page .home-dialog p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
    .home-page .home-dialog-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:24px; }
    .home-page .home-dialog-actions .danger { background:#e34e65; color:#fff; }
    .home-page .home-dialog .error { margin-top:12px; color:#ffd6dc; font-size:13px; }
    @media(max-width:900px) {
      .home-page .home-main { margin-top:45px; }
      .home-page .home-layout { grid-template-columns:1fr; gap:48px; margin-top:48px; }
      .home-page .home-feature { max-width:580px; }
      .home-page .home-services .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media(max-width:560px) {
      .home-page .home-shell { padding:20px max(21px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(21px,env(safe-area-inset-left)); }
      .home-page .home-header-actions { gap:9px; }
      .home-page .home-topbar .brand { font-size:15px; }
      .home-page .brand-mark { margin-right:5px; }
      .home-page .brand-mark .ui-icon { width:20px; height:20px; }
      .home-page .theme-toggle { width:40px; height:40px; }
      .home-page .account-button { max-width:145px; min-height:40px; }
      .home-page .account-name { max-width:75px; }
      .home-page .account-link { min-height:40px; padding-inline:13px; }
      .home-page .home-main { margin-top:46px; }
      .home-page .home-intro h1 { font-size:clamp(39px,10.5vw,56px); }
      .home-page .home-layout { gap:45px; margin-top:45px; }
      .home-page .home-feature { min-height:151px; padding:22px 29px 20px 77px; margin-top:30px; }
      .home-page .home-feature .detail-icon { width:63px; height:63px; }
      .home-page .home-feature .detail-icon svg.ui-icon { width:31px; height:31px; }
      .home-page .home-feature-title { font-size:26px; }
      .home-page .home-feature-action { margin-top:14px; }
      .home-page .home-services .services-grid { grid-template-columns:1fr; gap:15px; padding-top:25px; }
      .home-page .service-link { min-height:91px; padding-left:72px; }
      .home-page .service-link .product-name { font-size:19px; }
      .home-page .service-link .product-description { font-size:12px; }
      .home-page .service-link .product-icon svg.ui-icon { width:29px; height:29px; }
    }
    @media(max-width:370px) {
      .home-page .home-shell { padding-inline:18px; }
      .home-page .home-topbar .brand { font-size:14px; }
      .home-page .account-name { max-width:48px; }
      .home-page .home-feature-title { font-size:23px; }
    }
    .home-page .service-link[data-service="info"] { grid-column:1/-1; }

    /* GhostInfo uses the same palette, labels, controls and depth as /v2. */
    html.info-page { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:auto; scroll-behavior:smooth; }
    body.info-page { height:auto; min-height:100svh; overflow:visible; }
    .info-page [hidden] { display:none!important; }
    .info-page a { color:inherit; text-decoration:none; }
    .info-page .info-ui-icon { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.85; stroke-linecap:round; stroke-linejoin:round; flex:none; }
    .info-page .info-shell { width:min(100%,1280px); min-height:100svh; margin-inline:auto; padding:24px max(25px,env(safe-area-inset-right)) 80px max(25px,env(safe-area-inset-left)); }
    .info-page .info-topbar { position:relative; z-index:10; width:100%; max-width:none; padding-bottom:21px; border-bottom:1px solid rgba(255,255,255,.22); }
    .info-page .info-brand { font-size:22px; }
    .info-page .info-header-actions { display:flex; align-items:center; gap:11px; }
    .info-page .info-header-link { min-height:44px; padding:0 17px; }
    .info-page .info-menu-toggle { display:none; }
    .info-page .info-layout { display:grid; grid-template-columns:220px minmax(0,1fr) 176px; align-items:start; gap:clamp(24px,3.2vw,48px); margin-top:clamp(30px,5vh,55px); }
    .info-page .info-sidebar,.info-page .info-toc { position:sticky; top:24px; max-height:calc(100dvh - 55px); overflow-y:auto; scrollbar-width:thin; }
    .info-page .info-sidebar { padding-right:8px; }
    .info-page .info-sidebar-caption,.info-page .info-toc-caption { margin:0 0 19px; color:var(--lavender); font-size:11px; font-weight:740; letter-spacing:.10em; text-transform:uppercase; }
    .info-page .info-nav-group { margin:23px 0 9px; color:var(--muted); font-size:11px; font-weight:720; letter-spacing:.065em; text-transform:uppercase; }
    .info-page .info-nav-group:first-of-type { margin-top:0; }
    .info-page .info-nav-link { display:block; padding:10px 12px; border-radius:10px; color:var(--muted); font-size:13px; font-weight:580; line-height:1.25; transition:background .2s ease,color .2s ease,transform .2s ease; }
    .info-page .info-nav-link:hover { background:var(--panel); color:var(--text); transform:translateX(2px); }
    .info-page .info-nav-link[aria-current="page"] { background:var(--panel-selected); color:var(--text); font-weight:710; }
    .info-page .info-content { min-width:0; }
    .info-page .info-search { position:relative; display:flex; align-items:center; min-height:57px; padding:0 18px; border-radius:15px; background:var(--panel); box-shadow:var(--label-depth); transition:background .2s ease,box-shadow .2s ease; }
    .info-page .info-search:focus-within { background:var(--panel-hover); box-shadow:var(--label-depth-hover); }
    .info-page .info-search > .info-ui-icon { width:22px; height:22px; margin-right:13px; color:var(--lavender); }
    .info-page .info-search input { width:100%; min-width:0; height:56px; padding:0; border:0; outline:0; background:transparent; color:var(--text); font-size:16px; }
    .info-page .info-search input::placeholder { color:var(--muted); opacity:.83; }
    .info-page .info-search kbd { flex:none; padding:4px 7px; border-radius:6px; background:var(--panel); color:var(--muted); font-size:11px; font-family:inherit; }
    .info-page .info-results-count { min-height:19px; margin:17px 0 0; color:var(--muted); font-size:12px; }
    .info-page .info-landing { padding-top:clamp(47px,8vh,82px); }
    .info-page .info-eyebrow { margin:0 0 15px; color:var(--lavender); font-size:12px; font-weight:730; letter-spacing:.09em; text-transform:uppercase; }
    .info-page .info-landing h1,.info-page .info-article h1 { max-width:none; margin:0; font-size:clamp(46px,6vw,79px); line-height:1.035; }
    .info-page .info-landing h1 em { color:var(--lavender); }
    .info-page .info-lead { max-width:640px; margin:20px 0 0; color:var(--muted); font-size:clamp(16px,1.8vw,19px); line-height:1.6; }
    .info-page .info-hero-label { display:flex; width:min(calc(100% - 34px),530px); min-height:130px; margin:52px 12px 0 20px; padding-left:85px; cursor:pointer; transition:background .3s ease,box-shadow .3s ease,transform .4s cubic-bezier(.22,1,.36,1); }
    .info-page .info-hero-label:hover { background:var(--panel-hover); box-shadow:var(--label-depth-hover); transform:translateY(-4px) rotate(var(--tilt)); }
    .info-page .info-hero-label:active { background:var(--panel-selected); box-shadow:var(--label-depth-pressed); transform:translateY(3px) rotate(var(--tilt)); }
    .info-page .info-hero-label .about-pair { font-size:clamp(20px,2.5vw,28px); }
    .info-page .about-icon svg.info-ui-icon { width:32px; height:32px; fill:none; }
    .info-page .about-satellite svg.info-ui-icon { width:15px; height:15px; fill:none; }
    .info-page .info-list-heading { display:flex; align-items:baseline; justify-content:space-between; gap:15px; margin:clamp(51px,7vh,75px) 0 0; }
    .info-page .info-list-heading h2 { margin:0; font-size:24px; font-weight:690; letter-spacing:-.04em; }
    .info-page .info-list-heading span { color:var(--muted); font-size:12px; }
    .info-page .info-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
    .info-page .info-chip { min-height:37px; padding:0 13px; border:0; border-radius:10px; background:var(--panel); color:var(--muted); font-size:12px; font-weight:660; cursor:pointer; transition:background .2s ease,color .2s ease,transform .2s ease; }
    .info-page .info-chip:hover { background:var(--panel-hover); transform:translateY(-1px); }
    .info-page .info-chip[aria-pressed="true"] { background:var(--mini-bg); color:var(--mini-ink); }
    .info-page .info-article-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 19px; padding:28px 13px 16px 22px; }
    .info-page .info-article-link { min-width:0; min-height:104px; padding:14px 18px 14px 76px; }
    .info-page .info-article-link .product-name { font-size:clamp(16px,1.8vw,19px); overflow-wrap:anywhere; }
    .info-page .info-article-link .product-description { font-size:12px; line-height:1.4; }
    .info-page .info-article-link .product-icon svg.info-ui-icon { width:33px; height:33px; fill:none; }
    .info-page .info-article-link .product-satellite svg.info-ui-icon { width:17px; height:17px; fill:none; }
    .info-page .info-empty { padding:30px 0; color:var(--muted); line-height:1.5; }
    .info-page .info-article { padding-top:clamp(42px,7vh,73px); }
    .info-page .info-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:22px; color:var(--muted); font-size:12px; }
    .info-page .info-breadcrumb a { color:var(--lavender); }
    .info-page .info-breadcrumb a:hover,.info-page .info-inline-link:hover { text-decoration:underline; }
    .info-page .info-article h1 { font-size:clamp(41px,6vw,72px); }
    .info-page .info-article .info-lead { margin-top:19px; }
    .info-page .info-service-action { margin-top:28px; box-shadow:var(--control-depth); }
    .info-page .info-service-action svg { margin-left:10px; width:17px; height:17px; }
    .info-page .info-article-section { padding:31px 0 33px; border-bottom:1px solid rgba(255,255,255,.20); scroll-margin-top:22px; }
    .info-page .info-article-section:first-of-type { margin-top:55px; border-top:1px solid rgba(255,255,255,.20); }
    .info-page .info-article-section h2 { margin:0 0 16px; font-size:clamp(22px,2.5vw,28px); font-weight:690; letter-spacing:-.045em; }
    .info-page .info-article-section p { max-width:680px; margin:0 0 14px; color:var(--muted); font-size:15px; line-height:1.72; }
    .info-page .info-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
    .info-page .info-inline-link { display:inline-flex; align-items:center; min-height:38px; padding:8px 12px; border-radius:10px; background:var(--panel); color:var(--text); font-size:12px; font-weight:660; transition:background .2s ease; }
    .info-page .info-inline-link:hover { background:var(--panel-hover); }
    .info-page .info-related { padding-top:36px; }
    .info-page .info-related h2 { margin:0 0 16px; font-size:22px; letter-spacing:-.035em; }
    .info-page .info-toc a { display:block; margin:0 0 11px; padding-left:12px; border-left:2px solid transparent; color:var(--muted); font-size:12px; line-height:1.4; transition:color .2s ease,border-color .2s ease; }
    .info-page .info-toc a:hover { border-color:var(--lavender); color:var(--text); }
    .info-page .info-footer { width:min(100%,1120px); margin:78px auto 0; color:var(--muted); font-size:12px; }
    @media(max-width:1100px) {
      .info-page .info-layout { grid-template-columns:200px minmax(0,1fr); }
      .info-page .info-toc { display:none; }
    }
    @media(max-width:750px) {
      .info-page .info-shell { padding:20px max(20px,env(safe-area-inset-right)) 60px max(20px,env(safe-area-inset-left)); }
      .info-page .info-topbar { gap:8px; padding-bottom:18px; }
      .info-page .info-brand { font-size:20px; }
      .info-page .info-header-actions { gap:9px; }
      .info-page .info-header-link { padding-inline:13px; font-size:12px; }
      .info-page .theme-toggle { width:42px; height:42px; }
      .info-page .info-menu-toggle { display:grid; width:42px; height:42px; }
      .info-page .info-layout { display:block; margin-top:25px; }
      .info-page .info-sidebar { display:none; position:absolute; top:78px; left:max(20px,env(safe-area-inset-left)); right:max(20px,env(safe-area-inset-right)); z-index:8; max-height:min(70dvh,530px); overflow-y:auto; padding:20px; border-radius:16px; background:var(--bg); box-shadow:0 20px 60px rgba(10,2,33,.55),inset 0 1px 0 rgba(255,255,255,.23); }
      .info-page .info-sidebar.is-open { display:block; }
      .info-page .info-landing { padding-top:52px; }
      .info-page .info-article { padding-top:43px; }
      .info-page .info-article-grid { grid-template-columns:1fr; gap:15px; }
      .info-page .info-hero-label { margin-top:42px; }
    }
    @media(max-width:420px) {
      .info-page .info-brand { font-size:18px; }
      .info-page .info-header-link { min-height:41px; padding-inline:10px; }
      .info-page .info-menu-toggle,.info-page .theme-toggle { width:38px; height:38px; }
      .info-page .info-landing h1 { font-size:clamp(42px,11vw,56px); }
      .info-page .info-article h1 { font-size:clamp(38px,10vw,54px); }
      .info-page .info-search kbd { display:none; }
      .info-page .info-hero-label { min-height:110px; padding:15px 18px 15px 67px; }
      .info-page .info-hero-label .about-icon { width:52px; height:52px; left:-12px; top:-12px; }
      .info-page .info-hero-label .about-icon svg.info-ui-icon { width:26px; height:26px; }
      .info-page .info-hero-label .about-pair { font-size:20px; }
      .info-page .info-article-link { min-height:91px; padding-left:72px; }
      .info-page .info-article-link .product-icon svg.info-ui-icon { width:27px; height:27px; }
    }
  
/* /home: identity header, notifications, and product launchpad */
.home-page .home-main { width:min(100%,1060px); margin:34px auto 0; }
.home-page .home-profile-card { overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:24px; background:var(--panel); box-shadow:var(--label-depth); }
.home-page .home-profile-cover { position:relative; height:clamp(128px,18vw,184px); overflow:hidden; border-radius:24px 24px 17px 17px; background:linear-gradient(120deg,#301754,#171026 72%); }
.home-page .home-profile-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(19,13,32,.08),transparent 65%); pointer-events:none; }
.home-page .home-profile-cover-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-page .home-profile-identity { position:relative; display:flex; align-items:flex-end; gap:20px; padding:0 25px; margin-top:-47px; }
.home-page .home-profile-avatar { position:relative; z-index:1; display:grid; place-items:center; width:96px; height:96px; flex:none; overflow:hidden; border:5px solid transparent; border-radius:50%; background:linear-gradient(135deg,#d0b0ff,#7649a8) padding-box; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:#241431; font-size:34px; font-weight:760; box-shadow:0 8px 24px rgba(7,3,17,.25); }
.home-page .home-profile-avatar img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.home-page .home-profile-copy { min-width:0; flex:1; padding:0 0 4px; }
.home-page .home-profile-name-row { display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px; }
.home-page .home-profile-admin-check { display:inline-grid; place-items:center; width:24px; height:24px; flex:0 0 24px; color:#fff; filter:drop-shadow(0 2px 5px rgba(37,136,245,.38)); }
.home-page .home-profile-admin-check[hidden] { display:none; }
.home-page .home-profile-admin-check .home-profile-admin-check-icon { width:24px; height:24px; overflow:visible; }
.home-page .home-profile-admin-check .home-profile-admin-check-rosette { fill:#2588f5; stroke:#2588f5; stroke-width:1.35; stroke-linejoin:round; }
.home-page .home-profile-admin-check .home-profile-admin-check-tick { fill:none; stroke:#fff; stroke-width:2.35; stroke-linecap:round; stroke-linejoin:round; }
.home-page .home-profile-name-row h1 { max-width:100%; margin:0; font-size:clamp(25px,3.5vw,36px); line-height:1.08; font-weight:730; letter-spacing:-.05em; overflow-wrap:anywhere; }
.home-page .home-profile-badges { display:inline-flex; flex-wrap:wrap; gap:6px; }
.home-page .home-profile-badge { display:inline-flex; align-items:center; min-height:22px; padding:3px 8px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(255,255,255,.09); color:var(--text); font-size:10px; font-weight:700; line-height:1.15; }
.home-page .home-profile-badge.verified { width:22px; justify-content:center; background:#d0b0ff; color:#241431; }
.home-page .home-profile-badge.reputation { color:#a9e6c3; background:rgba(85,184,128,.13); }
.home-page .home-profile-badge.prefix { color:var(--lavender); }
.home-page .home-profile-username { margin:5px 0 0; color:var(--muted); font-size:14px; }
.home-page .home-profile-bio { margin:9px 0 0; color:var(--text); font-size:13px; line-height:1.45; white-space:pre-wrap; }
.home-page .home-profile-status,.home-page .home-profile-music { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }
.home-page .home-profile-status.is-error { color:#e28e9b; }
.home-page .home-profile-status.is-error::before { color:#e28e9b; }
.home-page .home-profile-status.is-cached { color:#e7c88c; }
.home-page .home-profile-status.is-cached::before { color:#e7c88c; }
.home-page .home-profile-status.is-unavailable { color:var(--muted); }
.home-page .home-profile-status.is-unavailable::before { color:var(--lavender); }
.home-page .home-profile-status::before { content:"●"; margin-right:7px; color:#a8e5be; font-size:9px; }
.home-page .home-profile-music { display:inline-flex; align-items:center; gap:8px; max-width:100%; min-height:36px; margin:8px 0 0; padding:7px 12px; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:11px; background-color:var(--home-profile-music-banner-color,#301754); background-image:var(--home-profile-music-banner-image,linear-gradient(120deg,#301754,#171026 72%)); color:#fff; font:inherit; font-size:12px; font-weight:650; line-height:1.3; text-align:left; text-shadow:0 1px 3px rgba(0,0,0,.28); box-shadow:0 5px 14px rgba(7,3,17,.16); cursor:pointer; transition:transform .18s ease,filter .18s ease,box-shadow .18s ease; }
.home-page .home-profile-music[hidden] { display:none; }
.home-page .home-profile-music:hover { filter:brightness(1.08); transform:translateY(-1px); box-shadow:0 7px 17px rgba(7,3,17,.2); }
.home-page .home-profile-music:active { transform:scale(.985); }
.home-page .home-profile-music:focus-visible { outline:2px solid #79baff; outline-offset:3px; }
.home-page .home-profile-music-icon { display:grid; place-items:center; width:17px; height:17px; flex:none; }
.home-page .home-profile-music-icon .ui-icon { width:16px; height:16px; fill:currentColor; stroke:none; }
.home-page .home-profile-music-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-page .home-profile-music.is-playing .home-profile-music-icon { color:#d4f7ff; }
.home-page .home-profile-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; color:var(--muted); font-size:11px; }
.home-page .home-profile-meta a { display:inline-flex; align-items:center; gap:6px; color:var(--lavender); font-weight:700; white-space:nowrap; }
.home-page .home-profile-meta a .ui-icon { width:15px; height:15px; }
.home-page .home-profile-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:22px; padding:16px 18px 18px; border-top:1px solid rgba(255,255,255,.11); }
.home-page .home-profile-stats > div { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:0; text-align:center; }
.home-page .home-profile-stats strong { font-size:19px; font-weight:760; line-height:1.1; }
.home-page .home-profile-stats span { color:var(--muted); font-size:11px; line-height:1.3; }
.home-page .home-profile-stats small { display:block; margin-top:3px; color:#9ee2b8; font-size:10px; font-weight:720; }
.home-page .home-notification-row { display:flex; align-items:center; gap:14px; min-height:83px; margin-top:17px; padding:14px 17px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:var(--panel); box-shadow:var(--label-depth); transition:background .2s ease,transform .2s ease; }
.home-page .home-notification-row:hover { background:var(--panel-hover); transform:translateY(-2px); }
.home-page .home-notification-icon { display:grid; place-items:center; width:43px; height:43px; flex:none; border-radius:13px; background:var(--mini-bg); color:var(--mini-ink); }
.home-page .home-notification-icon .ui-icon { width:22px; height:22px; }
.home-page .home-notification-copy { display:grid; gap:5px; min-width:0; flex:1; }
.home-page .home-notification-copy strong { font-size:14px; font-weight:720; }
.home-page .home-notification-copy span { overflow:hidden; color:var(--muted); font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.home-page .home-notification-count,.home-page .product-unread { display:grid; place-items:center; min-width:23px; height:23px; padding:0 6px; border-radius:999px; background:#d0b0ff; color:#241431; font-size:11px; font-weight:800; }
.home-page .home-notification-arrow { width:17px; height:17px; flex:none; color:var(--lavender); }
.home-page .home-services { margin-top:31px; }
.home-page .home-services-heading { display:flex; align-items:end; justify-content:space-between; gap:14px; }
.home-page .home-section-title { margin:0; font-size:21px; font-weight:720; letter-spacing:-.04em; }
.home-page .home-section-note { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.home-page .home-about-link { color:var(--lavender); font-size:12px; font-weight:700; white-space:nowrap; }
.home-page .home-services .services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:20px 12px 20px 18px; }
.home-page .service-link { position:relative; min-width:0; min-height:96px; padding:15px 32px 15px 70px; }
.home-page .service-link .product-copy { min-width:0; }
.home-page .service-link .product-name { font-size:16px; line-height:1.2; overflow-wrap:anywhere; }
.home-page .service-link .product-description { font-size:11px; line-height:1.35; }
.home-page .service-link .product-icon { width:48px; height:48px; }
.home-page .service-link .product-icon .ui-icon { width:26px; height:26px; }
.home-page .service-link .product-satellite { width:25px; height:25px; }
.home-page .service-link .product-satellite .ui-icon { width:15px; height:15px; }
.home-page .service-link .product-unread { position:absolute; top:7px; right:8px; z-index:2; min-width:21px; height:21px; font-size:10px; }
.home-page .service-link.has-status { opacity:.65; }
.home-page .service-link[aria-disabled="true"] { cursor:default; }
@media(max-width:900px) {
  .home-page .home-main { margin-top:27px; }
  .home-page .home-services .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
  .home-page .home-shell { padding:17px max(18px,env(safe-area-inset-right)) max(42px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
  .home-page .home-main { margin-top:22px; }
  .home-page .home-profile-cover { height:119px; border-radius:19px 19px 14px 14px; }
  .home-page .home-profile-identity { align-items:flex-start; gap:11px; padding:0 13px; margin-top:-39px; }
  .home-page .home-profile-avatar { width:78px; height:78px; border-width:4px; font-size:28px; }
  .home-page .home-profile-copy { padding-top:38px; }
  .home-page .home-profile-name-row { gap:6px; }
  .home-page .home-profile-name-row h1 { font-size:24px; }
  .home-page .home-profile-badges { gap:4px; }
  .home-page .home-profile-badge { min-height:19px; padding:2px 6px; font-size:9px; }
  .home-page .home-profile-username { margin-top:4px; font-size:12px; }
  .home-page .home-profile-bio { margin-top:7px; font-size:12px; }
  .home-page .home-profile-meta { align-items:flex-start; flex-direction:column; gap:7px; margin-top:8px; }
  .home-page .home-profile-stats { margin-top:15px; padding:13px 8px 15px; }
  .home-page .home-profile-stats strong { font-size:16px; }
  .home-page .home-profile-stats span { font-size:10px; }
  .home-page .home-profile-stats small { font-size:9px; }
  .home-page .home-notification-row { min-height:72px; gap:10px; margin-top:13px; padding:11px; border-radius:15px; }
  .home-page .home-notification-icon { width:38px; height:38px; border-radius:11px; }
  .home-page .home-notification-copy strong { font-size:13px; }
  .home-page .home-notification-copy span { font-size:11px; }
  .home-page .home-services { margin-top:24px; }
  .home-page .home-section-title { font-size:19px; }
  .home-page .home-section-note { font-size:11px; }
  .home-page .home-services .services-grid { grid-template-columns:1fr; gap:12px; padding:16px 9px 15px 12px; }
  .home-page .service-link { min-height:78px; padding:12px 30px 12px 65px; }
  .home-page .service-link .product-name { font-size:15px; }
  .home-page .service-link .product-description { font-size:10.5px; }
  .home-page .home-profile-cover { height:clamp(108px,31vw,136px); }
  .home-page .home-profile-cover-image { object-fit:cover; }
}
@media(max-width:380px) {
  .home-page .home-shell { padding-inline:max(14px,env(safe-area-inset-left)); }
  .home-page .home-profile-identity { gap:9px; padding-inline:11px; margin-top:-35px; }
  .home-page .home-profile-avatar { width:70px; height:70px; border-width:3px; font-size:25px; }
  .home-page .home-profile-copy { padding-top:34px; }
  .home-page .home-profile-name-row h1 { font-size:21px; }
  .home-page .home-profile-stats { padding-inline:5px; }
  .home-page .home-profile-stats span { font-size:9px; }
  .home-page .home-notification-row { gap:8px; padding-inline:9px; }
  .home-page .home-notification-copy strong { font-size:12px; }
}

/* Local GhostEcos workspace: compact square product shortcuts. */
.home-page .home-services-heading { align-items:center; }
.home-page .home-services-actions { display:flex; align-items:center; gap:14px; }
.home-page .home-desktop-customize { border:0; padding:0; background:none; font:inherit; cursor:pointer; }
.home-page .home-desktop-customize:hover { text-decoration:underline; }
.home-page .home-services .services-grid { grid-template-columns:repeat(auto-fill,minmax(112px,124px)); justify-content:center; gap:14px; padding:20px clamp(14px,2vw,24px); }
.home-page .service-link { display:flex; grid-column:auto; aspect-ratio:1; min-height:0; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:12px 8px; border-radius:19px; overflow:hidden; text-align:center; }
.home-page .service-link:hover { transform:translateY(-2px); }
.home-page .service-link .product-icon { position:relative; top:auto; left:auto; display:grid; width:64px; height:64px; flex:none; border-radius:19px; transform:none; box-shadow:none; }
.home-page .service-link .product-icon svg.ui-icon { width:36px; height:36px; }
.home-page .service-link .product-copy { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; }
.home-page .service-link .product-name { max-width:100%; overflow:hidden; color:rgba(255,255,255,.96); font-size:13px; font-weight:650; letter-spacing:-.015em; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.home-page .service-link .product-description { display:none; }
.home-page .service-link .service-status { margin-top:5px; font-size:10px; }
.home-page .service-link .product-satellite { display:none; }
.home-page .service-link .product-unread { position:absolute; top:7px; right:7px; z-index:2; min-width:22px; height:22px; }
.home-page .service-link[hidden] { display:none!important; }
.home-page .home-desktop-empty { margin:4px 0; color:var(--muted); font-size:13px; text-align:center; }
@media(max-width:560px) {
  .home-page .home-services-actions { gap:10px; }
  .home-page .home-services .services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px; }
  .home-page .service-link { border-radius:16px; gap:7px; padding:7px 4px; }
  .home-page .service-link .product-icon { width:58px; height:58px; border-radius:17px; }
  .home-page .service-link .product-icon svg.ui-icon { width:32px; height:32px; }
}

.home-page #home-desktop-dialog { max-height:calc(100dvh - 32px); overflow-y:auto; background-color:var(--bg); background-image:linear-gradient(180deg,rgba(12,7,22,.60),rgba(19,13,32,.82)); }
.home-page .home-desktop-settings-list { display:grid; gap:8px; margin-top:17px; }
.home-page .home-desktop-setting { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:48px; padding:6px 8px 6px 12px; border:1px solid rgba(255,255,255,.10); border-radius:12px; background:var(--panel); }
.home-page .home-desktop-setting-label { display:flex; align-items:center; gap:11px; min-width:0; flex:1; font-size:14px; font-weight:650; cursor:pointer; }
.home-page .home-desktop-setting-label input { width:18px; height:18px; flex:none; accent-color:#c69aff; }
.home-page .home-desktop-setting-controls { display:flex; gap:6px; }
.home-page .home-desktop-move { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.12); border-radius:9px; background:var(--panel-hover); color:var(--text); font-size:16px; cursor:pointer; }
.home-page .home-desktop-move:disabled { opacity:.35; cursor:default; }
.home-page .home-desktop-move:not(:disabled):hover { background:var(--mini-bg); color:var(--mini-ink); }
.home-page .home-desktop-customize:focus-visible,.home-page .home-desktop-move:focus-visible { outline:2px solid var(--lavender); outline-offset:3px; }
@media(max-width:560px) {
  .home-page #home-desktop-dialog { padding:18px; }
  .home-page #home-desktop-dialog .home-dialog-actions { gap:8px; margin-top:18px; }
  .home-page .home-desktop-setting-label { font-size:13px; }
}
.home-page .service-link[data-service="info"] { grid-column:auto; }


/* Long-press and drag product tiles to arrange the local workspace. */
.home-page .service-link { position:relative; touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.home-page .services-grid.is-arranging { cursor:grabbing; }
.home-page .services-grid.is-arranging .service-link:not(.is-dragging) { transition:transform .12s ease,opacity .12s ease; }
.home-page .service-link.is-dragging { z-index:5; pointer-events:none; transform:scale(1.045); opacity:.78; outline:2px solid var(--lavender); outline-offset:2px; box-shadow:0 18px 36px rgba(0,0,0,.32); }
.home-page .home-desktop-setting-controls { display:none; }
@media(prefers-reduced-motion:reduce) {
  .home-page .services-grid.is-arranging .service-link:not(.is-dragging) { transition:none; }
}


/* GhostEcos workspace drag feedback. */
.home-page .service-link.is-drag-slot { background:rgba(198,154,255,.28)!important; border:2px solid rgba(220,190,255,.95)!important; box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 0 24px rgba(198,154,255,.20)!important; }
.home-page .service-link.is-drag-slot > * { visibility:hidden!important; }
.home-page .service-link.is-dragging { z-index:10000; pointer-events:none; scale:1.045; transform:none; opacity:.94; outline:2px solid var(--lavender); outline-offset:3px; box-shadow:0 18px 38px rgba(0,0,0,.36); }
.home-page .services-grid.is-arranging .service-link.is-drag-slot { transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease; }
@media(prefers-reduced-motion:reduce) {
  .home-page .service-link.is-dragging { transition:none!important; }
}


/* Opaque-feeling frosted glass for the floating workspace tile. */
.home-page .service-link.is-drag-slot { background:rgba(198,154,255,.42)!important; border:2px solid rgba(239,222,255,.98)!important; box-shadow:inset 0 0 32px rgba(208,176,255,.22),0 0 30px rgba(198,154,255,.32)!important; }
.home-page .service-link.is-dragging { background:rgba(70,43,110,.48)!important; -webkit-backdrop-filter:blur(8px) saturate(1.55) contrast(1.04); backdrop-filter:blur(8px) saturate(1.55) contrast(1.04); opacity:1; border:1px solid rgba(255,255,255,.66); }
:root[data-theme="dark"] .home-page .service-link.is-dragging { background:rgba(30,21,43,.56)!important; }
.home-page .service-link.is-dragging .product-icon { box-shadow:0 8px 24px rgba(12,4,25,.32); }
.home-page .services-grid.is-arranging .service-link.is-drag-slot { transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease; }

/* The profile banner fills the draggable service workspace. */
.home-page .home-services .services-grid { position:relative; isolation:isolate; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:var(--panel); }
.home-page .home-services .services-grid > .service-banner-bg { position:absolute; inset:0; z-index:0; display:block; overflow:hidden; border-radius:inherit; background-position:center; background-size:cover; background-repeat:no-repeat; pointer-events:none; }
.home-page .home-services .services-grid > .service-banner-bg img { position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; }
.home-page .home-services .services-grid > .service-banner-bg::after { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,rgba(18,10,32,.10),rgba(18,10,32,.28)); }
:root[data-theme="dark"] .home-page .home-services .services-grid > .service-banner-bg::after { background:linear-gradient(180deg,rgba(5,4,9,.16),rgba(5,4,9,.34)); }
.home-page .home-services .services-grid > .service-banner-bg { display:block; }
.home-page .home-services .services-grid > .service-link { position:relative; z-index:1; }
.home-page .home-services .services-grid > .service-link:not(.is-drag-slot):not(.is-dragging):not(.is-group-target) { background:transparent!important; border:0!important; box-shadow:none!important; }
.home-page .service-link .product-icon { position:relative; isolation:isolate; overflow:visible; border:0!important; border-radius:50%!important; background:transparent!important; color:var(--text); box-shadow:none!important; -webkit-backdrop-filter:none; backdrop-filter:none; }
.home-page .service-link .product-icon::before { content:""; position:absolute; inset:6px; z-index:0; border:1px solid rgba(255,255,255,.13); border-radius:50%; background:radial-gradient(circle at 34% 27%,rgba(255,255,255,.13),rgba(208,176,255,.065) 48%,rgba(255,255,255,.02) 75%,transparent); box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 0 18px rgba(208,176,255,.09); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); pointer-events:none; }
.home-page .service-link .product-icon::after { content:none; }
.home-page .service-link .product-icon > .ui-icon { position:relative; z-index:2; }
.home-page .home-services .services-grid.uses-profile-banner > .service-link { z-index:1; }
.home-page button.service-link.workspace-group { appearance:none; -webkit-appearance:none; width:100%; border:1px solid var(--card-border); color:var(--text); font:inherit; cursor:pointer; }
.home-page .home-services .services-grid > .service-link.workspace-group { aspect-ratio:auto; min-height:128px; overflow:visible; }
.home-page .home-group-preview { position:relative; isolation:isolate; overflow:visible; display:grid; grid-template-columns:repeat(2,38px); grid-template-rows:repeat(2,38px); place-content:center; gap:5px; width:84px; height:84px; }
.home-page .home-group-preview::before { content:""; position:absolute; inset:13px; z-index:0; border-radius:50%; background:radial-gradient(circle,rgba(208,176,255,.12),rgba(255,255,255,.025) 54%,transparent 82%); filter:blur(6px); pointer-events:none; }
.home-page .home-group-mini-icon { position:relative; z-index:1; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:0; background:transparent; color:var(--text); box-shadow:none; }
.home-page .home-group-mini-icon .ui-icon { width:24px; height:24px; filter:drop-shadow(0 2px 5px rgba(10,3,24,.30)); }
.home-page .home-group-count { display:none!important; }
.home-page .home-group-unread { position:absolute; top:-8px; right:-8px; z-index:4; display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border:1px solid rgba(255,255,255,.46); border-radius:999px; background:#d0b0ff; color:#241431; box-shadow:0 8px 18px rgba(10,3,24,.28); font-size:10px; font-weight:800; }
.home-page .home-group-unread[hidden] { display:none!important; }
.home-page .service-link.is-group-target { outline:3px solid rgba(239,222,255,.98); outline-offset:2px; box-shadow:0 0 0 7px rgba(198,154,255,.24),0 0 28px rgba(198,154,255,.48)!important; }
.home-page .service-link.is-group-receiving { animation:homeGroupReceive .48s cubic-bezier(.2,.8,.25,1); }
@keyframes homeGroupReceive { 0% { transform:scale(.94); } 55% { transform:scale(1.055); } 100% { transform:scale(1); } }

.home-page .home-group-dialog { width:min(520px,calc(100vw - 40px)); max-height:min(78dvh,680px); overflow-y:auto; border:1px solid rgba(255,255,255,.16); border-radius:22px; background-color:var(--bg); background-image:linear-gradient(180deg,rgba(12,7,22,.60),rgba(19,13,32,.82)),var(--home-group-banner-photo,none),var(--home-group-banner-art,none); background-size:cover; background-position:center; background-repeat:no-repeat; color:var(--text); box-shadow:0 24px 68px rgba(9,2,27,.54),var(--label-depth); }
.home-page .home-group-dialog[open] { animation:homeGroupDialogIn .22s cubic-bezier(.2,.8,.2,1) both; }
.home-page .home-group-dialog[open]::backdrop { animation:homeGroupBackdropIn .18s ease-out both; background:rgba(9,3,22,.58); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
@keyframes homeGroupDialogIn { from { opacity:0; transform:translateY(8px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes homeGroupBackdropIn { from { background:rgba(9,3,22,0); -webkit-backdrop-filter:blur(0); backdrop-filter:blur(0); } to { background:rgba(9,3,22,.58); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); } }
.home-page .home-group-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.home-page .home-group-heading h2 { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-page .home-group-heading .button { flex:none; }
.home-page .home-group-rename-form { display:grid; gap:8px; margin:14px 0; }
.home-page .home-group-rename-form label { color:var(--muted); font-size:13px; }
.home-page .home-group-rename-controls { display:flex; flex-wrap:wrap; gap:8px; }
.home-page .home-group-rename-controls input { min-width:0; min-height:42px; flex:1 1 100%; padding:9px 12px; border:1px solid var(--card-border); border-radius:12px; background:var(--panel); color:var(--text); font:inherit; }
.home-page .home-group-content { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:16px; }
.home-page .home-group-item { display:grid; min-width:0; justify-items:center; gap:7px; }
.home-page .home-group-item > .service-link { width:100%; min-width:0; border:1px solid rgba(255,255,255,.14); background:var(--panel-selected); box-shadow:var(--label-depth); }
.home-page .home-group-item > .service-link { background:color-mix(in srgb,var(--bg) 74%,var(--lavender) 26%); }
.home-page .home-group-remove { min-height:30px; padding:4px 10px; border:1px solid var(--card-border); border-radius:9px; background:var(--panel); color:var(--muted); font:inherit; font-size:11px; cursor:pointer; }
.home-page .home-group-remove:hover { border-color:var(--lavender); color:var(--text); }
.home-page .home-group-empty { grid-column:1/-1; color:var(--muted); font-size:13px; }
.home-page .home-group-dialog .home-dialog-actions { justify-content:space-between; }
@media(max-width:560px) {
  .home-page .home-group-content { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-page .home-group-heading .button { padding:8px 10px; font-size:12px; }
  .home-page .home-group-dialog .home-dialog-actions { gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .service-link.is-group-receiving,.home-page .home-group-dialog[open],.home-page .home-group-dialog[open]::backdrop { animation:none; }
}

/* Group entries keep the workspace icon treatment without large service tiles. */
.home-page .home-group-item > .service-link,
.home-page .home-group-item > .service-link:hover,
.home-page .home-group-item > .service-link:active {
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* iPhone-style service folder and drag-out interaction. */
.home-page .home-group-dialog {
  box-sizing:border-box;
  width:min(440px,calc(100vw - 36px));
  max-height:min(72dvh,620px);
  overflow-y:auto;
  padding:25px 23px 27px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:28px;
  background-color:rgba(24,20,34,.64);
  background-image:linear-gradient(145deg,rgba(20,16,28,.38),rgba(22,17,31,.58)),var(--home-group-banner-photo,none),var(--home-group-banner-art,none);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:var(--text);
  box-shadow:0 26px 76px rgba(9,2,27,.48),inset 0 1px 0 rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(20px) saturate(1.25);
  backdrop-filter:blur(20px) saturate(1.25);
}
.home-page .home-group-dialog[open] { animation:homeGroupDialogIn .24s cubic-bezier(.2,.8,.2,1) both; }
.home-page .home-group-dialog[open]::backdrop {
  background:rgba(10,7,16,.34);
  -webkit-backdrop-filter:blur(14px) saturate(1.25);
  backdrop-filter:blur(14px) saturate(1.25);
}
@keyframes homeGroupDialogIn {
  from { opacity:0; transform:translateY(10px) scale(.94); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.home-page .home-group-heading {
  position:relative;
  display:flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.home-page .home-group-heading h2 {
  max-width:calc(100% - 52px);
  margin:0;
  color:var(--text);
  text-align:center;
  font-size:clamp(24px,6vw,31px);
  font-weight:650;
  letter-spacing:-.045em;
}
.home-page .home-group-menu-wrap { position:absolute; top:50%; right:0; transform:translateY(-50%); }
.home-page .home-group-menu-toggle {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(255,255,255,.075);
  color:var(--text);
  font:inherit; font-size:17px; font-weight:700; line-height:1;
  letter-spacing:1px;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}
.home-page .home-group-menu-toggle:hover { background:rgba(255,255,255,.14); }
.home-page .home-group-menu-toggle:active { transform:scale(.93); }
.home-page .home-group-menu {
  position:relative;
  display:grid;
  box-sizing:border-box;
  width:min(320px,100%);
  margin:12px auto 0;
  gap:3px;
  padding:7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:15px;
  background:var(--panel-hover);
  box-shadow:0 16px 40px rgba(0,0,0,.3);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.home-page .home-group-menu[hidden] { display:none!important; }
.home-page .home-group-menu-item {
  min-height:38px;
  padding:8px 11px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  text-align:left;
  font:inherit;
  font-size:13px;
  cursor:pointer;
}
.home-page .home-group-menu-item:hover { background:rgba(255,255,255,.1); }
.home-page .home-group-rename-form { display:grid; gap:9px; margin:17px 0 0; }
.home-page .home-group-content {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px 13px;
  width:min(100%,390px);
  margin:28px auto 0;
  justify-items:center;
}
.home-page .home-group-item { display:grid; min-width:0; justify-items:center; gap:0; }
.home-page .home-group-item > .home-folder-product,
.home-page .home-group-item > .home-folder-product:hover,
.home-page .home-group-item > .home-folder-product:active {
  position:relative;
  display:grid;
  grid-template-columns:1fr!important;
  grid-template-rows:1fr!important;
  width:clamp(68px,18vw,86px);
  min-width:0;
  min-height:clamp(68px,18vw,86px);
  height:clamp(68px,18vw,86px);
  place-items:center;
  padding:0;
  overflow:visible;
  border:0!important;
  border-radius:21px;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1;
  transform:none;
  -webkit-tap-highlight-color:transparent;
}
.home-page .home-folder-product::before,
.home-page .home-folder-product::after { display:none!important; }
.home-page .home-folder-product .product-icon {
  position:relative!important;
  inset:auto!important;
  display:grid;
  box-sizing:border-box;
  width:100%!important;
  height:100%!important;
  place-items:center;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--text)!important;
  box-shadow:none!important;
  transform:none!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.home-page .home-folder-product .product-icon::before {
  inset:6px;
  border-radius:50%;
}
.home-page .home-folder-product:hover .product-icon { transform:translateY(-2px)!important; }
.home-page .home-folder-product .product-icon svg.ui-icon { width:39px; height:39px; fill:none; }
.home-page .home-folder-product .product-copy,
.home-page .home-folder-product .product-name,
.home-page .home-folder-product .product-description,
.home-page .home-folder-product .product-satellite,
.home-page .home-folder-product .service-status { display:none!important; }
.home-page .home-folder-product .product-unread {
  position:absolute;
  z-index:3;
  top:-5px;
  right:-5px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 5px 15px rgba(0,0,0,.24);
}
.home-page .home-group-remove { display:none!important; }
.home-page .home-group-empty { grid-column:1/-1; margin:0; color:var(--muted); text-align:center; }
.home-page .home-group-dialog .home-dialog-actions { display:none!important; }
.home-page .home-folder-product.is-drag-slot { opacity:.18!important; }
.home-page .service-link.is-group-out-receiving { animation:homeGroupOutReceive .32s cubic-bezier(.2,.8,.25,1); }
@keyframes homeGroupOutReceive {
  0% { opacity:.4; transform:scale(.82); }
  70% { opacity:1; transform:scale(1.035); }
  100% { opacity:1; transform:scale(1); }
}
html.home-group-drag-active,
html.home-group-drag-active body { overscroll-behavior:none!important; user-select:none!important; -webkit-user-select:none!important; }
@media(max-width:560px) {
  .home-page .home-group-dialog {
    width:min(420px,calc(100vw - 34px));
    max-height:min(70dvh,590px);
    padding:23px 19px 25px;
    border-radius:27px;
  }
  .home-page .home-group-content { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 8px; margin-top:25px; }
  .home-page .home-group-menu-toggle { width:34px; height:34px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .home-group-dialog[open],
  .home-page .home-group-dialog[open]::backdrop,
  .home-page .service-link.is-group-out-receiving { animation:none; }
}

/* External website shortcuts and their searchable catalog. */
.home-page .home-site-add-button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; margin-top:12px; border:1px dashed var(--card-border); border-radius:13px; background:var(--panel); color:var(--text); font:inherit; font-size:13px; font-weight:680; cursor:pointer; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.home-page .home-site-add-button:hover { border-color:var(--lavender); background:var(--panel-hover); }
.home-page .home-site-add-button:active { transform:scale(.985); }
.home-page .home-site-add-button:focus-visible,.home-page .home-site-result:focus-visible,.home-page .home-site-remove:focus-visible { outline:2px solid var(--lavender); outline-offset:2px; }
.home-page .home-site-dialog { box-sizing:border-box; width:min(430px,calc(100vw - 30px)); max-height:min(86dvh,720px); overflow-y:auto; padding:21px; border:1px solid var(--card-border); border-radius:24px; background:var(--bg); color:var(--text); box-shadow:0 24px 68px rgba(9,2,27,.5),var(--label-depth); }
.home-page .home-site-dialog form { display:grid; gap:8px; margin:0; }
.home-page .home-site-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.home-page .home-site-dialog-heading h2 { margin:0; font-size:clamp(22px,6vw,27px); font-weight:720; letter-spacing:-.04em; }
.home-page .home-site-dialog-close { display:grid; place-items:center; width:36px; height:36px; flex:none; border:1px solid var(--card-border); border-radius:50%; background:var(--panel); color:var(--text); font:inherit; font-size:24px; line-height:1; cursor:pointer; }
.home-page .home-site-dialog-close:hover { background:var(--panel-hover); }
.home-page .home-site-dialog-note { margin:0 0 4px; color:var(--muted); font-size:13px; line-height:1.4; }
.home-page .home-site-field-label { margin-top:5px; color:var(--text); font-size:12px; font-weight:680; }
.home-page .home-site-field-label span { color:var(--muted); font-weight:450; }
.home-page .home-site-input { box-sizing:border-box; width:100%; min-height:43px; padding:10px 12px; border:1px solid var(--card-border); border-radius:12px; background:var(--panel); color:var(--text); font:inherit; font-size:14px; }
.home-page .home-site-input:focus { border-color:var(--lavender); outline:2px solid color-mix(in srgb,var(--lavender) 35%,transparent); }
.home-page .home-site-results { display:grid; gap:6px; max-height:174px; overflow-y:auto; padding:2px; }
.home-page .home-site-result { display:flex; align-items:center; gap:10px; min-height:51px; width:100%; padding:6px 9px; border:1px solid var(--card-border); border-radius:13px; background:var(--panel); color:var(--text); text-align:left; font:inherit; cursor:pointer; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.home-page .home-site-result:hover { border-color:var(--lavender); background:var(--panel-hover); transform:translateY(-1px); }
.home-page .home-site-result-icon { position:relative; display:grid; place-items:center; width:36px; height:36px; flex:none; overflow:hidden; border:1px solid var(--card-border); border-radius:11px; background:var(--panel-hover); }
.home-page .home-site-result-copy,.home-page .home-site-preview-copy { display:grid; gap:3px; min-width:0; flex:1; }
.home-page .home-site-result-copy strong { overflow:hidden; font-size:13px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.home-page .home-site-result-copy small,.home-page .home-site-preview-copy small { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.home-page .home-site-result-arrow { width:16px; height:16px; flex:none; color:var(--muted); }
.home-page .home-site-results-label { margin:1px 2px 2px; color:var(--muted); font-size:11px; font-weight:650; letter-spacing:.02em; }
.home-page .home-site-results-empty { margin:5px 2px; color:var(--muted); font-size:12px; }
.home-page .home-site-preview { display:flex; align-items:center; gap:11px; min-height:57px; margin-top:5px; padding:8px 10px; border:1px solid var(--card-border); border-radius:14px; background:var(--panel); }
.home-page .home-site-preview-icon,.home-page .home-site-preview-image { display:grid; place-items:center; width:40px; height:40px; flex:none; }
.home-page .home-site-preview-copy strong { overflow:hidden; font-size:13px; font-weight:720; text-overflow:ellipsis; white-space:nowrap; }
.home-page .home-site-error { margin:3px 0 0; color:#ff8c9a; font-size:12px; }
.home-page .home-site-favicon,.home-page .home-site-icon-fallback { grid-area:1 / 1; place-self:center; }
.home-page .service-link .product-icon .home-site-favicon { position:relative; z-index:2; width:34px; height:34px; border-radius:8px; object-fit:contain; }
.home-page .home-folder-product .product-icon .home-site-favicon { width:40px; height:40px; border-radius:10px; }
.home-page .home-site-icon-fallback { position:relative; z-index:2; width:31px; height:31px; color:var(--text); fill:none; }
.home-page .home-site-result-icon .home-site-favicon { width:26px; height:26px; border-radius:6px; object-fit:contain; }
.home-page .home-site-result-icon .home-site-icon-fallback { width:23px; height:23px; color:var(--muted); }
.home-page .home-site-preview-image .home-site-favicon { width:30px; height:30px; border-radius:7px; object-fit:contain; }
.home-page .home-site-preview-image .home-site-icon-fallback { width:28px; height:28px; color:var(--muted); }
.home-page .home-group-mini-site { display:grid; place-items:center; width:24px; height:24px; flex:none; }
.home-page .home-group-mini-site .home-site-favicon { width:24px; height:24px; border-radius:6px; object-fit:contain; }
.home-page .home-group-mini-site .home-site-icon-fallback { width:23px; height:23px; color:var(--text); }
.home-page .home-site-favicon[hidden],.home-page .home-site-icon-fallback[hidden] { display:none!important; }
.home-page .product-icon:has(.home-site-favicon:not([hidden])) .home-site-icon-fallback { display:none!important; }
.home-page .home-desktop-setting-copy { display:grid; gap:2px; min-width:0; }
.home-page .home-desktop-setting-copy > span,.home-page .home-desktop-setting-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-page .home-desktop-setting-copy small { color:var(--muted); font-size:10px; font-weight:450; }
.home-page .home-site-remove { display:grid; place-items:center; width:32px; height:32px; flex:none; border:1px solid var(--card-border); border-radius:10px; background:var(--panel-hover); color:var(--muted); font:inherit; font-size:21px; line-height:1; cursor:pointer; }
.home-page .home-site-remove:hover { border-color:rgba(255,110,130,.55); color:#ff8c9a; }
.home-page .home-site-dialog .home-dialog-actions { gap:8px; margin-top:10px; }
@media(max-width:560px) {
  .home-page .home-site-dialog { width:min(430px,calc(100vw - 22px)); max-height:88dvh; padding:17px; border-radius:21px; }
  .home-page .home-site-results { max-height:150px; }
  .home-page .home-site-dialog .home-dialog-actions { gap:7px; }
  .home-page .home-site-dialog .home-dialog-actions .button { padding-inline:12px; font-size:12px; }
}

/* Keep theme snapshots light and animate only the incoming full-page frame. */
::view-transition-old(root),
::view-transition-new(root){
  animation:none;
  mix-blend-mode:normal;
}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}
:root.theme-commit .app *,
:root.theme-commit .app *::before,
:root.theme-commit .app *::after{
  transition:none!important;
}
