
/* OD-LAYOUT-PRIMITIVES v1 — structure only: display, flex/grid, overflow, wrapping, ratio.
   Put this @layer first; product CSS outside the layer always wins. */
@layer od-layout {
  :where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile) > :where(*) { min-width: 0; }

  /* containers */
  .od-stack   { display: flex; flex-direction: column; gap: var(--od-gap, 8px); }
  .od-row     { display: flex; align-items: center; gap: var(--od-gap, 8px); }
  .od-row-top { display: flex; align-items: flex-start; gap: var(--od-gap, 8px); }
  .od-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--od-gap, 8px); }
  .od-fill    { flex: 1 1 0; min-width: 0; }
  .od-fixed   { flex: none; }
  .od-grid    { display: grid; gap: var(--od-gap, 12px); grid-template-columns: repeat(var(--od-cols, 3), minmax(0, 1fr)); }

  /* stacked information: each piece is its own line — never sibling inline spans */
  .od-stat, .od-field, .od-cell { display: grid; gap: var(--od-gap, 2px); }
  :where(.od-stat,.od-field,.od-cell) > :where(*) { display: block; }
  .od-tile { display: grid; grid-template-rows: auto 1fr; }
  :where(.od-tile) > :where(*) { display: block; }

  /* media keeps its intrinsic ratio by default; never a distorted or cropped
     cover by accident. height:auto lets the ratio win over an <img height="…" decoding="async">
     attribute. Cropping to a uniform box is an explicit opt-in: set --od-ratio
     AND add .od-media-cover together (per the core rule, only where a crop is
     deliberate — tile thumbs, decorative fills — never on full-frame content). */
  .od-media { display: block; width: 100%; height: auto; aspect-ratio: var(--od-ratio, auto); }
  .od-media-cover { object-fit: cover; }

  /* data text only — authored copy is rewritten to its budget instead */
  .od-truncate { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .od-clamp-2, .od-clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
  .od-clamp-2 { -webkit-line-clamp: 2; }
  .od-clamp-3 { -webkit-line-clamp: 3; }
  .od-lines-2 { min-height: calc(2 * 1.4em); }   /* block-level reservation for a shared baseline */
  .od-nowrap  { white-space: nowrap; }           /* 数字+单位 · 价格+起 · 日期+星期 */
  .od-keep    { word-break: keep-all; overflow-wrap: anywhere; } /* CJK labels break at spaces / <wbr> first */

  /* screen skeleton (optional): bars take their own space, the middle scrolls — no padding guessed for chrome */
  .od-screen { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; }
  .od-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }

  /* horizontal rail: the next item peeks at the edge; trailing room survives overflow */
  .od-rail { display: flex; gap: var(--od-gap, 8px); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
             padding-inline: var(--od-rail-pad, 16px); scroll-padding-inline: var(--od-rail-pad, 16px); }
  .od-rail::-webkit-scrollbar { display: none; }
  :where(.od-rail) > :where(*) { flex: none; scroll-snap-align: start; }
  :where(.od-rail) > :where(:last-child) { margin-inline-end: var(--od-rail-pad, 16px); }

  .od-spacer { flex: none; visibility: hidden; pointer-events: none; }
  .od-touch  { min-width: 44px; min-height: 44px; }
}
/* /OD-LAYOUT-PRIMITIVES v1 */

@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-1.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-2.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-3.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ground:#f7f8fc;--milk:#fff;--text:#14172f;--secondary:#4c526c;--blue:#c6eaf8;--pink:#f7d5e9;--lilac:#dbd6f4;--button:#20243f;--button-text:#fff;--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--gutter:32px;--radius:20px;--motion:220ms;--focus:#386bb2;--hero-width:480px;--ghost-width:88px;--font-body:20px;--font-control:16px;--font-display:clamp(72px,22vw,96px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}html{background:var(--ground)}body{font:400 var(--font-body)/1.6 Manrope,system-ui,sans-serif;color:var(--text);background:#eef0f6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button:disabled{cursor:wait;opacity:.7}
.page{position:relative;isolation:isolate;max-width:var(--hero-width);min-height:100svh;margin-inline:auto;background:var(--ground);box-shadow:0 0 64px #62718b0b}
.silk{position:absolute;display:block;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.content{position:relative;min-height:0;display:flex;flex-direction:column;padding:max(var(--s5),env(safe-area-inset-top)) var(--gutter) max(var(--s5),env(safe-area-inset-bottom));}
.header-brand{position:relative;isolation:isolate;display:block;flex:none;width:56px}.header-brand .header-logo{position:relative;z-index:1}
.header-logo{display:block;width:56px;height:auto;flex:none}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:40px}.account-button{display:flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:var(--s2) var(--s3);border:1px solid #b5bfd3;border-radius:14px;background:#ffffff70;backdrop-filter:blur(8px);color:var(--text);font:600 var(--font-control)/1.5 Manrope,system-ui,sans-serif;box-shadow:inset 0 1px 0 #fff,0 4px 12px #7a7fa512;transition:transform var(--motion) ease-out}.account-button svg{display:block;width:20px;height:20px;flex:none}.account-button span{display:block}@media(hover:hover){.account-button:hover{border-color:#7a8eaf;background:#fff}}.account-button:active{transform:translateY(1px)}
.hero-copy{display:flex;flex-direction:column;gap:var(--s3);margin-top:clamp(32px,6svh,56px)}h1{margin:0;font-size:var(--font-display);line-height:1.08;letter-spacing:-.065em;font-weight:600}.description{margin:0;font-size:var(--font-body);line-height:1.6;color:var(--secondary);max-width:26ch;text-wrap:pretty}.description span{display:block}
.actions{display:grid;grid-template-rows:60px auto;align-items:start;gap:var(--s2);margin-top:var(--s4);--od-gap:8px}.download{display:flex;justify-content:center;align-items:center;gap:var(--s3);width:100%;min-height:56px;padding:12px var(--s4);border:1px solid #252531;border-radius:16px;color:var(--button-text);background:var(--button);font:600 var(--font-control)/1.5 Manrope,system-ui,sans-serif;white-space:nowrap;box-shadow:0 3px 8px #1818221a,inset 0 1px 0 #ffffff1f;transition:transform var(--motion) ease-out,box-shadow var(--motion) ease-out}.download svg{display:block;width:20px;height:20px;flex:none}.more{display:flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;text-decoration:none;font-size:var(--font-control);line-height:1.5;font-weight:600;text-underline-offset:5px;border-radius:12px}.more svg{display:block;width:16px;height:16px;flex:none;transition:transform var(--motion) ease-out}
.material-space{position:relative;display:flex;align-items:center;justify-content:flex-end;flex:1 0 176px;min-height:176px;padding:var(--s5) var(--s3) 0;pointer-events:none}.title-lockup{--lockup-name:clamp(72px,20vw,88px);--lockup-ghost:clamp(104px,28vw,128px);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) var(--lockup-ghost);justify-content:start;align-items:end;gap:0;width:calc(100% + var(--gutter) - var(--s2));max-width:none;min-width:0;padding:var(--s3) 0 var(--s4);border:0;border-radius:0;background:none;box-shadow:none}
.title-lockup h1{position:relative;z-index:1;display:grid;gap:0;min-width:0;min-height:calc(var(--lockup-name) * 1.632);align-content:end}
.product-family{display:block;font-size:calc(var(--lockup-name) * .62);line-height:.96;letter-spacing:-.065em;font-weight:600;color:var(--text)}
.product-name{display:block;font-size:var(--lockup-name);line-height:.96;letter-spacing:-.065em;font-weight:600}
.ghost{position:relative;z-index:1;display:block;align-self:end;width:100%;height:auto;margin-bottom:4px;filter:none}
/* One readable, dark holographic accent shared by selected heading words. */
:root{--heading-accent-blue:#193f7a;--heading-accent-violet:#56357e;--heading-accent-berry:#823853;--heading-accent-gradient:linear-gradient(110deg,var(--heading-accent-blue) 0%,var(--heading-accent-violet) 52%,var(--heading-accent-berry) 100%)}
.title-lockup h1,.title-lockup .product-family,.aura-heading,.features-heading{color:var(--text)}
.heading-accent{color:var(--heading-accent-violet)}
/* Inline paint padding preserves descenders without changing line-box geometry. */
.aura-heading .heading-accent,.features-heading .heading-accent{padding-block:.08em .2em;padding-inline-end:.15em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .heading-accent{background-image:var(--heading-accent-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
 .title-lockup .product-name{position:relative;--aura-shimmer-duration:3.2s;background-image:radial-gradient(ellipse at 100% 32%,#70b4d05c,transparent 14%),radial-gradient(ellipse at 100% 80%,#c57eaa59,transparent 14%),var(--heading-accent-gradient)}
 .title-lockup .product-name::after{content:attr(data-shimmer);position:absolute;top:0;left:0;display:block;width:100%;color:transparent;background-image:linear-gradient(110deg,#2455a0 0%,#147b9b 18%,#7540a5 36%,#b52e73 54%,#2455a0 72%,#147b9b 90%,#7540a5 100%);background-size:300% 100%;background-position:0% 50%;background-clip:text;-webkit-background-clip:text;opacity:0;pointer-events:none}
 @media(prefers-reduced-motion:no-preference){.title-lockup .product-name::after{opacity:1;animation:aura-letter-flow var(--aura-shimmer-duration) ease-in-out infinite alternate}}
 @keyframes aura-letter-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
 @media(forced-colors:active){.title-lockup .product-name::after{display:none}}
}
@media(forced-colors:active){.heading-accent{background-image:none;color:CanvasText;-webkit-text-fill-color:CanvasText}.title-lockup h1,.title-lockup .product-family,.aura-heading,.features-heading{color:CanvasText}}
@media(max-width:360px){.title-lockup{--lockup-name:68px;--lockup-ghost:96px}}
.info{width:min(384px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:var(--s4);border:1px solid #b3bed3;border-radius:24px;background:#fbfcff;color:var(--text);box-shadow:0 24px 80px #20243f26;font:400 16px/1.6 Manrope,system-ui,sans-serif;overflow-y:auto}.info::backdrop{background:#14172f38;backdrop-filter:blur(6px)}.info[open]{animation:reveal var(--motion) ease-out}.info h2{font-size:22px;line-height:1.4;font-weight:600;margin:0 0 var(--s3);letter-spacing:-.03em}.info p{margin:0 0 var(--s4);color:var(--secondary)}.close{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border:0;border-radius:14px;background:var(--button);color:var(--button-text);font:600 16px/1.5 Manrope,system-ui,sans-serif}.download:active,.close:active{transform:translateY(1px)}
/* Dark pearl silk: quiet center for the download label, folds at the edges. */
.download{--download-graphite:#24242d;--download-plum:#302733;background:linear-gradient(110deg,var(--download-graphite),var(--download-plum));}
@media(forced-colors:active){.download{background-image:none}}
@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.download:hover{transform:translateY(-1px);box-shadow:0 4px 10px #18182221,inset 0 1px 0 #ffffff29}.more:hover{text-decoration:underline}.more:hover svg{transform:translateX(3px)}.close:hover{background:#303651}}
@media(min-width:768px){.page{min-height:max(800px,100svh)}.hero-copy{margin-top:56px}}
@media(min-width:1024px){body{background:#eef0f6}}
@media(min-width:1440px){.page{box-shadow:0 0 80px #62718b0d}}
@media(max-width:375px){:root{--gutter:24px;--font-body:18px}.download{padding-inline:16px;gap:8px}}
@media(max-height:720px) and (max-width:767px){.hero-copy{margin-top:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.download:hover,.download:active,.close:active{transform:none}}
/* Hero height follows its content; the next heading enters the natural flow. */
.hero-screen{display:flex;flex-direction:column;min-height:0}

.aura-themes{--center-size:clamp(176px,54vw,248px);--neighbor-size:clamp(144px,44vw,192px);position:relative;isolation:isolate;display:grid;gap:16px;width:100%;margin-inline:auto;padding:24px 0 max(64px,env(safe-area-inset-bottom));background:transparent;color:var(--text);overflow:clip}
.aura-heading-group{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;column-gap:8px;row-gap:8px;margin-inline:var(--gutter)}
.aura-heading{margin:0;padding:0;font-size:36px;line-height:1.12;letter-spacing:-.055em;font-weight:600;text-wrap:balance;text-align:center}
.aura-heading-ghost{display:block;flex:none;width:52px;height:auto;opacity:1;pointer-events:none}
.aura-stage .aura-focus{position:relative;z-index:2}
.aura-stage .aura-side{position:relative;z-index:1}
.theme-intro{grid-column:1/-1;margin:0;color:var(--secondary);font-size:16px;line-height:1.6;text-wrap:pretty}
.concept-label{margin:0 0 8px;color:var(--secondary);font-size:13px;line-height:1.5;font-weight:600;letter-spacing:.06em}
.aura-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--center-size) minmax(0,1fr);align-items:start;gap:16px;touch-action:pan-y;outline-offset:-4px}
.aura-focus{grid-column:2;grid-row:1;display:grid;gap:0;margin:0;min-width:0;transform:scale(var(--aura-reveal-scale,1));transform-origin:50% 0;opacity:var(--aura-reveal-opacity,1)}
.concept-art{display:block;width:100%;aspect-ratio:390/844;border-radius:24px;background:#e8eff9;box-shadow:0 24px 48px -16px #293c6852,0 2px 8px #293c681a;isolation:isolate}
.concept-art svg{display:block;width:100%;height:auto;border-radius:inherit}
.aura-controls{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;column-gap:8px;align-items:center}
.aura-caption{display:grid;align-content:center;gap:4px;text-align:center;min-height:64px}
.aura-caption-title{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.aura-caption-title h3{min-width:0;overflow-wrap:break-word}
.aura-caption h3{margin:0;font-size:22px;line-height:1.25;letter-spacing:-.04em;font-weight:600;text-wrap:balance}
.aura-caption p{margin:0;color:var(--secondary);font-size:16px;line-height:1.5;text-wrap:pretty}
.aura-count{display:block;font-size:13px;line-height:1.5;color:var(--secondary);font-variant-numeric:tabular-nums}
.aura-side{display:grid;gap:24px;align-content:start;padding-top:40px;min-width:0}
.aura-side-left{grid-column:1;grid-row:1;justify-items:end}.aura-side-right{grid-column:3;grid-row:1;justify-items:start}
.neighbor-window{display:flex;width:100%;max-width:192px;overflow:clip;padding-block:8px}
.aura-side-left .neighbor-window{justify-content:flex-end}.aura-side-right .neighbor-window{justify-content:flex-start}
.aura-neighbor{display:block;flex:none;width:var(--neighbor-size);padding:0;border:0;border-radius:24px;background:transparent;color:inherit;opacity:.94;transition:opacity var(--motion) ease-out}
.aura-neighbor .concept-art{box-shadow:0 16px 32px -16px #293c683d}
.aura-neighbor:focus-visible{outline-offset:-4px}
.aura-stage.is-sliding .neighbor-window{overflow:visible}
.aura-stage.is-sliding .aura-focus{position:relative;z-index:2}
.aura-stage.is-sliding .aura-side{position:relative;z-index:1}
.aura-stage.is-sliding .aura-neighbor{opacity:1}
.aura-arrow{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #9caac5;border-radius:50%;background:#ffffffda;color:var(--text);box-shadow:0 4px 16px #60739812;transition:transform var(--motion) ease-out}
.aura-arrow svg{display:block;width:20px;height:20px}
.aura-controls .aura-arrow:first-child{justify-self:end}.aura-controls .aura-arrow:last-child{justify-self:start}
.sr-only{position:absolute;display:block;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@media(hover:hover){.aura-neighbor:hover{opacity:1}.aura-arrow:hover{background:#fff;border-color:#617494;transform:translateY(-2px)}}

@media(max-width:375px){.aura-heading-group{grid-template-columns:minmax(0,1fr)}.aura-stage{gap:12px}.aura-caption h3{font-size:22px}.aura-side-left .aura-arrow{margin-right:0}.aura-side-right .aura-arrow{margin-left:0}}
@media(forced-colors:active){.aura-arrow{border:2px solid ButtonText}.aura-neighbor{opacity:1}.concept-art{outline:1px solid CanvasText}}
@font-face{font-family:AuraDemoOnest;src:url('/assets/fonts/onest-2.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:AuraDemoGolos;src:url('/assets/fonts/golos-2.woff2') format('woff2');font-weight:600;font-display:swap}
.aura-personal{--personal-gap:12px;display:grid;gap:var(--personal-gap);margin:24px var(--gutter) 0;min-width:0}
.personal-heading{margin:0;color:var(--heading-accent,#3567a1);font-family:var(--heading-font,Manrope,sans-serif);font-size:22px;font-weight:600;line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
.personal-settings{display:grid;gap:4px;min-width:0}
.personal-setting{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:center;min-width:0}
.personal-setting-label{display:block;font-size:16px;line-height:1.5;font-weight:600}
.personal-swatches{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.personal-swatch{display:grid;place-items:center;position:relative;flex:none;width:44px;height:44px;padding:8px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;appearance:none}
.personal-swatch::before{content:'';position:absolute;inset:8px;border-radius:50%;background:linear-gradient(135deg,#ccecff40,transparent 45%,#f8d7eb30),var(--swatch);box-shadow:inset 0 0 0 1px #ffffff70}
.personal-swatch[aria-pressed=true]{outline:1px solid var(--text);outline-offset:-3px}
.personal-swatch svg{position:relative;display:block;width:16px;height:16px;opacity:0}
.personal-swatch[aria-pressed=true] svg{opacity:1}
.personal-fonts{display:flex;gap:8px;min-width:0}
.personal-font{display:block;flex:1 1 0;min-width:0;min-height:44px;padding:8px 4px;border:0;border-radius:0;background:transparent;color:var(--text);font-family:var(--choice-font);font-size:14px;line-height:1.4;font-weight:600;text-align:center;cursor:pointer;white-space:nowrap;text-decoration:none}
.personal-font[aria-pressed=true]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-color:#526184}
.personal-font:focus-visible,.personal-swatch:focus-visible{outline:2px solid var(--text);outline-offset:2px}
#aura-selected-art{--preview-accent:#3567a1;--preview-font:Manrope,sans-serif}
#aura-selected-art svg text{font-family:var(--preview-font)}
#aura-selected-art [data-accent-fill]{fill:color-mix(in srgb,var(--preview-accent) 48%,white)}
#aura-selected-art [data-accent-stroke]{stroke:color-mix(in srgb,var(--preview-accent) 48%,white)}
#aura-selected-art [data-accent-tab]{stroke:var(--preview-accent)}
#aura-selected-art [data-accent-text]{fill:var(--preview-accent)}
@media(hover:hover){.personal-font:hover,.personal-swatch:hover{background-color:#ffffff70}}
@media(max-width:374px){.personal-setting{grid-template-columns:minmax(0,1fr);gap:0}.personal-font{font-size:16px}}
/* Capabilities continue the same mobile page and its pearl surface. */
.aura-features{--feature-gap:16px;position:relative;padding:64px var(--gutter) 48px;min-width:0}
.features-heading{margin:0;font-size:clamp(28px,7.5vw,34px);font-weight:600;line-height:1.18;letter-spacing:-.045em;text-wrap:balance}
.features-intro{margin:16px 0 24px;font-size:16px;line-height:1.6;color:var(--secondary);max-width:34ch}
.feature-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px}
.feature-tab{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:0;border-bottom:1px solid #8794ae55;border-radius:0;background:transparent;color:var(--secondary);font:600 16px/1.5 Manrope,sans-serif;cursor:pointer}
.feature-tab:last-child{grid-column:1/-1}
.feature-tab[aria-selected=true]{color:var(--text);border-bottom:2px solid currentColor;background:linear-gradient(110deg,#d7ebfa40,#f4dfef30);border-radius:8px 8px 0 0}
.feature-tab:focus-visible,.feature-panel:focus-visible,.feature-cta-button:focus-visible{outline:2px solid #3567a1;outline-offset:4px}
.feature-panels{display:grid;min-width:0}
.feature-panel{grid-area:1/1;min-width:0;visibility:hidden;opacity:0;pointer-events:none;align-self:start}
.feature-panel.is-active{visibility:visible;opacity:1;pointer-events:auto}
.feature-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.feature-row{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:var(--feature-gap);padding:12px 0}
.feature-icon{display:block;width:32px;height:32px;padding:4px;color:#35465f;border-radius:8px;background:linear-gradient(135deg,#ffffffb0,#dcecf942 48%,#efddec60);box-shadow:inset 0 1px 0 #ffffffb0}
.feature-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.feature-row h3{margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.45;letter-spacing:-.02em;overflow-wrap:break-word}
.feature-row p{margin:0;font-size:16px;line-height:1.6;color:var(--secondary);overflow-wrap:break-word}
.features-ending{display:grid;gap:16px;margin-top:32px;padding-top:24px}
.features-ending h3{margin:0;font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.035em}
.features-ending p{margin:0;font-size:16px;line-height:1.6;color:var(--secondary);max-width:34ch}
.feature-cta-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;width:100%;padding:16px 24px;border:0;border-radius:16px;background:var(--button);color:#fff;font:600 16px/1.5 Manrope,sans-serif;cursor:pointer;transition:transform var(--motion) ease-out}
.feature-cta-button svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:480px){.feature-tabs{grid-template-columns:1fr 1fr 2.2fr}.feature-tab:last-child{grid-column:auto}.feature-tab{font-size:14px}}
@media(hover:hover){.feature-tab:hover{color:var(--text);background-color:#ffffff60}.feature-cta-button:hover{transform:translateY(-2px);background-color:#303651}}
@media(prefers-reduced-motion:reduce){.feature-cta-button{transition:none}}
/* Compact hero and lightweight secondary actions. */
.content{padding-top:max(40px,env(safe-area-inset-top))}
.hero-screen .hero-copy{margin-top:0}
.hero-screen .title-lockup{padding-top:0}
.hero-screen .actions{grid-template-rows:auto auto;gap:12px}
.hero-screen .content{padding-bottom:24px}
.aura-themes{padding-top:16px}
.secondary-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:4px;row-gap:0;width:100%;min-width:0;font-size:15px;line-height:1.5;font-weight:400;color:var(--secondary)}
.secondary-actions .login-prompt{display:block}
.secondary-actions [data-auth-prompt][hidden]{display:none}
.secondary-actions .login-action{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:0;padding:0 4px;border:0;border-radius:4px;background:none;box-shadow:none;backdrop-filter:none;color:var(--text);font:400 15px/1.5 Manrope,system-ui,sans-serif;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}
@media(hover:hover){.secondary-actions .login-action:hover{color:var(--heading-accent-blue)}}
/* User-supplied app marks, full frame on matching launcher backgrounds. */
.app-icon-ribbon{position:relative;min-width:0;padding-top:0}
.app-icon-window{overflow:hidden;max-width:100%;padding-block:8px;mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}
.app-icon-track{display:flex;width:max-content;animation:aura-icon-travel 52s linear infinite;will-change:transform}
.app-icon-group{display:flex;align-items:center;gap:16px;padding-right:16px;flex:none}
.app-icon-tile{display:grid;place-items:center;flex:none;width:80px;aspect-ratio:1;border-radius:20px;background:black;box-shadow:0 4px 8px color-mix(in oklch,var(--text) 12%,transparent)}
.app-icon-tile img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.app-icon-toolbar{display:flex;justify-content:flex-end;padding-inline:0}
.app-icon-pause{display:grid;place-items:center;width:44px;min-height:44px;padding:12px;border:0;border-radius:50%;background:transparent;color:var(--secondary)}
.app-icon-pause svg{display:block;width:18px;height:18px}
.ribbon-play-mark{display:none}.app-icon-pause[aria-pressed=true] .ribbon-pause-mark{display:none}.app-icon-pause[aria-pressed=true] .ribbon-play-mark{display:block}
.app-icon-ribbon.is-paused .app-icon-track{animation-play-state:paused}
.aura-themes{padding-bottom:0}.aura-themes + .aura-features{padding-top:24px}
@keyframes aura-icon-travel{to{transform:translateX(-50%)}}
@media(hover:hover){.app-icon-ribbon:hover .app-icon-track{animation-play-state:paused}.app-icon-pause:hover{background:color-mix(in oklch,var(--milk) 72%,transparent);color:var(--text)}}
@media(prefers-reduced-motion:reduce){.app-icon-track{animation:none;will-change:auto}.app-icon-window{overflow-x:auto;mask-image:none}.app-icon-group[aria-hidden=true],.app-icon-toolbar{display:none}}
.aura-group-stage{display:flex;flex-direction:column;gap:16px;min-width:0;touch-action:pan-y;outline-offset:-4px}
.aura-group-open{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--text);cursor:zoom-in}.aura-group-open img{width:100%;height:auto}
.aura-group-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;margin-inline:16px}.aura-group-controls h3{font-size:20px;line-height:1.4;overflow-wrap:anywhere}
.aura-group-footer{align-items:center;gap:4px;padding-inline:16px;text-align:center;color:var(--secondary);font-size:16px}
.aura-text-control{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid var(--secondary);border-radius:var(--radius);background:var(--ground);color:var(--text);font:600 16px/1.5 Manrope,system-ui,sans-serif}.aura-text-control:disabled{cursor:default;opacity:1;border-color:transparent;color:var(--secondary)}
.aura-lightbox{width:min(1200px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:16px;border:0;border-radius:var(--radius);background:var(--ground);color:var(--text);overflow:auto}.aura-lightbox::backdrop{background:color-mix(in srgb,var(--text) 80%,transparent)}.aura-lightbox-bar{gap:16px;position:sticky;top:0;background:var(--ground);padding-bottom:8px}.aura-lightbox h3{margin:0;font-size:20px;line-height:1.4}.aura-lightbox p{font-size:16px;margin:8px 0 16px}.aura-lightbox img{width:100%;height:auto}
.personal-demo-note{font-size:16px;line-height:1.5;color:var(--secondary);margin:0}.personal-demo{width:min(200px,100%);margin-inline:auto}.personal-demo .concept-art{width:100%}
@media(hover:hover){.aura-text-control:not(:disabled):hover{background:var(--milk)}}

/* Individual aura screens: no poster captions or backgrounds. */
.aura-playback-row{display:flex;align-items:center;justify-content:center;gap:8px}.aura-playback-row .aura-auto-control{flex:none}.page .aura-personal{margin-top:8px}
.aura-group-stage{--trio-gap:8px;--trio-side:.88fr;--trio-center:1.3fr;gap:12px;padding-top:8px}
.aura-trio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr) minmax(0,1fr);align-items:center;gap:4px;width:100%;min-width:0;padding:8px 4px 16px;touch-action:pan-y}.aura-group-stage{width:100%;min-width:0;touch-action:pan-y}@media(min-width:768px){.aura-trio{grid-template-columns:minmax(0,280px) minmax(0,320px) minmax(0,280px);justify-content:center;gap:16px;padding-inline:16px}}
.aura-screen-preview{display:block;min-width:0;width:100%;padding:0;border:0;background:transparent;color:var(--text);cursor:zoom-in;border-radius:12px}
.aura-screen-preview img{display:block;width:100%;height:auto}
.aura-group-controls{margin-inline:16px;gap:8px}.aura-group-controls h3{font-size:22px;line-height:1.3;text-wrap:balance}.aura-caption{min-height:64px}
.aura-auto-control{display:grid;place-items:center;align-self:center;width:44px;min-height:44px;padding:12px;border:0;border-radius:50%;background:transparent;color:var(--secondary)}
.aura-auto-control svg{display:block;width:20px;height:20px}.aura-auto-control:disabled{cursor:default;opacity:.6}
.aura-lightbox{width:min(520px,calc(100% - 24px));padding:12px}.aura-lightbox-bar h3{font-size:16px;line-height:1.5}.aura-lightbox img{width:100%;height:auto;max-width:450px;margin-inline:auto}
#aura-load-error{margin:0 24px;font-size:16px}
@media(hover:hover){.aura-auto-control:not(:disabled):hover{background:var(--milk);color:var(--text)}}
/* Telegram channel: quiet secondary action on the pearl surface. */
.telegram-channel{display:inline-flex;align-items:center;justify-content:center;justify-self:center;gap:8px;min-height:44px;max-width:100%;padding:8px 16px;border:1px solid #b5bfd366;border-radius:24px;background:#ffffff70;color:var(--text);font:600 15px/1.5 Manrope,system-ui,sans-serif;text-decoration:none;box-shadow:inset 0 1px 0 #fff;transition:background var(--motion) ease-out,border-color var(--motion) ease-out}
.telegram-channel svg{display:block;width:20px;height:20px;flex:none;color:#3567a1}
@media(hover:hover){.telegram-channel:hover{background:#fff;border-color:#7a8eaf}}
/* Full feature catalogue: responsive categories, without empty panel space. */
.page .aura-features .feature-tabs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:8px}
.page .aura-features .feature-tab{font-size:14px;line-height:1.4;padding:12px 8px;white-space:nowrap}
.page .aura-features .feature-tab:last-child{grid-column:1/-1}
.page .feature-panel{display:none}
.page .feature-panel.is-active{display:block}
.feature-category-title{margin:0 0 16px;font-size:22px;line-height:1.3;letter-spacing:-.03em;font-weight:600}
.feature-row h4{margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.45;letter-spacing:-.02em;overflow-wrap:break-word}
.features-note{margin:24px 0 0;font-size:15px;line-height:1.6;color:var(--secondary);max-width:70ch}
@media(min-width:768px){.page .aura-features .feature-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.page .aura-features .feature-tab:last-child{grid-column:auto}.feature-row h4{font-size:18px}}
/* Account access in the top-right corner, with room above the hero. */
.landing-account-corner{position:absolute;z-index:2;top:20px;right:var(--gutter);display:grid;place-items:center;width:44px;height:44px;border:1px solid #b5bfd366;border-radius:50%;background:#ffffff80;color:var(--text);box-shadow:inset 0 1px 0 #fff;text-decoration:none}
.landing-account-corner svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.page .content{padding-top:88px}
@media(hover:hover){.landing-account-corner:hover{background:#fff;border-color:#7a8eaf}}
/* Readable product context, release status and crawlable answers. */
.product-kind{display:block;white-space:nowrap;font:600 clamp(12px,3.2vw,16px)/1.5 Manrope,sans-serif;letter-spacing:0;margin-top:12px;color:var(--secondary)}
.download{text-decoration:none}.seo-jump-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:16px;font-size:13px;color:var(--secondary)}.seo-jump-links a{display:flex;align-items:center;min-height:36px;text-underline-offset:4px}
.aura-heading-group .themes-intro{margin:12px auto 0;font-size:15px;line-height:1.6;color:var(--secondary);max-width:60ch}.gallery-note{margin:4px var(--gutter) 0;font-size:12px;color:var(--secondary);text-align:center}
.page .aura-features .feature-tabs{display:none}.page .aura-features.features-enhanced .feature-tabs{display:grid}.page .aura-features:not(.features-enhanced) .feature-panel{display:block;visibility:visible;opacity:1;pointer-events:auto;margin-bottom:32px}
.seo-section{padding:32px var(--gutter);max-width:1104px;margin-inline:auto;scroll-margin-top:24px}.seo-title{font-size:clamp(22px,5vw,40px);line-height:1.25;letter-spacing:-.04em;font-weight:600;margin:0 0 20px;white-space:nowrap}.release-card{padding:28px;border:1px solid #fff;border-radius:24px;background:#ffffff80}.release-card p{font-size:16px;color:var(--secondary);max-width:65ch;margin:12px 0 20px}.release-card .download{max-width:360px}.release-badge{display:inline-block;font-size:12px;font-weight:600;color:#5d4b78;background:#e9e3f380;border-radius:20px;padding:4px 10px;margin-bottom:16px}
.aura-faq details{border-top:1px solid #8d9bb43d;padding:4px 0}.aura-faq summary{font-size:16px;font-weight:600;line-height:1.5;cursor:pointer;list-style:none;padding:16px 32px 16px 0;position:relative}.aura-faq summary::-webkit-details-marker{display:none}.aura-faq summary::after{content:'+';position:absolute;right:4px;font-size:22px;top:12px}.aura-faq details[open] summary::after{content:'−'}.aura-faq details p{font-size:16px;line-height:1.65;color:var(--secondary);max-width:75ch;margin:0 0 20px}.site-footer{padding:32px var(--gutter) 40px;border-top:1px solid #8d9bb43d;color:var(--secondary);font-size:13px}.site-footer nav{display:flex;gap:8px 24px;flex-wrap:wrap}.site-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}.site-footer p{max-width:80ch;margin:12px 0 0}

/* Section titles stay on one line and shrink to their actual available width. */
.aura-heading,.features-heading,.seo-title,.personal-heading{white-space:nowrap;overflow-wrap:normal;word-break:normal}
@media(max-width:480px){.release-card{padding:20px}.seo-title{font-size:clamp(18px,4.8vw,23px)}}

/* FAQ follows the same soft white reading cloud as the other sections. */
.aura-faq{position:relative;isolation:isolate}.aura-faq::before{content:"";position:absolute;inset:-36px 0 -48px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#fcfdff 0%,#fcfdfff5 55%,#fcfdffbf 76%,#fcfdff00 100%);filter:blur(22px)}

/* Mod suffix is part of the visible product name. */
.product-name-row{display:flex;align-items:baseline;gap:10px;min-width:0}.product-mod{display:block;font:600 clamp(14px,3vw,22px)/1 Manrope,sans-serif;letter-spacing:-.02em;color:var(--text);white-space:nowrap}.product-name-row .product-name{font-size:clamp(58px,16vw,var(--lockup-name))}
