/* Signed-out platform introduction (平台介紹頁). */
.landing{min-height:100vh;background:#080b0d;color:#e9eff2}
.landing-nav{position:fixed;top:0;right:0;left:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:15px clamp(20px,4vw,64px);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(8,11,13,.7);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.landing-brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.landing-brand img{display:block;width:auto;height:21px}
.landing-nav .studio-label{padding-left:13px;font-size:11px;letter-spacing:.16em}
.landing-nav-actions{margin-left:auto;display:flex;align-items:center;gap:6px}
.landing-link,.landing-cta{padding:9px 15px;border-radius:10px;font-size:13.5px;text-decoration:none;white-space:nowrap}
.landing-link{color:#c6d2d8;font-weight:600}
.landing-link:hover{background:rgba(255,255,255,.06);color:#e9eff2}
.landing-cta{padding:9px 17px;background:#5fe3c0;color:#08120f;font-weight:800}
.landing-cta:hover{background:#7deacd;color:#08120f}
.landing-nav-actions>.platform-language-control{margin-right:6px}
.landing-nav-actions .platform-language-status{position:absolute;top:44px;right:0;z-index:25;width:220px;padding:8px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#141b20}

.landing-hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(96px,12vw,150px) clamp(20px,4vw,64px) clamp(28px,3vw,44px);overflow:hidden}
/* Anchored sections clear the floating bar when jumped to. */
.landing-section[id]{scroll-margin-top:84px}
.landing-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:#0b0f12;object-fit:cover}
.landing-hero::before,.landing-hero::after{position:absolute;inset:0;z-index:1;content:"";pointer-events:none}
.landing-hero::before{background:linear-gradient(180deg,rgba(8,11,13,.66) 0%,rgba(8,11,13,.22) 30%,rgba(8,11,13,.78) 76%,#080b0d 100%)}
.landing-hero::after{background:linear-gradient(92deg,rgba(8,11,13,.82) 0%,rgba(8,11,13,.36) 55%,rgba(8,11,13,0) 100%)}
.landing-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:24px;max-width:min(860px,62vw)}
.landing-eyebrow{margin:0;color:#5fe3c0;font-size:11.5px;font-weight:700;letter-spacing:.24em}
.landing-hero-copy h1{margin:0;font-size:clamp(40px,6.6vw,80px);font-weight:800;line-height:1.04;letter-spacing:-2.2px;text-wrap:balance}
.landing-hero-copy>p:not(.landing-eyebrow){margin:0;max-width:44ch;color:#c6d2d8;font-size:clamp(15px,1.5vw,18px);line-height:1.7;text-wrap:pretty}
.landing-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.landing-action{padding:15px 26px;border:1px solid transparent;border-radius:12px;background:#5fe3c0;color:#08120f;font-size:15px;font-weight:800;text-decoration:none}
.landing-action:hover{background:#7deacd;color:#08120f}
.landing-action.is-ghost{padding:15px 22px;border-color:rgba(255,255,255,.16);background:transparent;color:#e9eff2;font-weight:700}
.landing-action.is-ghost:hover{border-color:rgba(95,227,192,.5);background:transparent;color:#e9eff2}
.landing-hero-meta{position:relative;z-index:2;margin-top:clamp(40px,6vw,72px);display:flex;flex-wrap:wrap;align-items:flex-end;gap:clamp(18px,3vw,44px);padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.landing-stat{display:flex;flex-direction:column;gap:3px}
.landing-stat strong{font-size:clamp(19px,2.2vw,26px);font-weight:800;letter-spacing:-.6px}
.landing-stat span{color:#a9b7bf;font-size:12px}
.landing-meta-spacer{flex:1;min-width:20px}
.made-with{display:flex;align-items:center;gap:8px;margin:0;color:#a9b7bf;font-size:11px;font-weight:700;letter-spacing:.16em}
.video-controls{display:flex;align-items:center;gap:8px}
.video-control{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(8,11,13,.5);color:#e9eff2;cursor:pointer}
.video-control:hover:not(:disabled){border-color:rgba(95,227,192,.5);color:#5fe3c0}
.video-control:disabled{opacity:.4;cursor:not-allowed}
.video-control .material-symbols-rounded{font-size:17px}
.video-status{color:#a9b7bf;font-size:11.5px;line-height:1.5}

.landing-section{padding:clamp(64px,9vw,140px) clamp(20px,4vw,64px)}
.landing-how{display:flex;flex-direction:column;gap:clamp(36px,5vw,64px)}
.landing-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.landing-section-head h2{margin:0;max-width:min(660px,90%);font-size:clamp(28px,3.6vw,46px);font-weight:800;line-height:1.14;letter-spacing:-1.4px;text-wrap:balance}
.landing-section-label{margin:0;color:#8494a0;font-size:11.5px;font-weight:700;letter-spacing:.24em}
.landing-steps{display:flex;flex-direction:column;border-bottom:1px solid rgba(255,255,255,.08)}
.landing-step{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:clamp(14px,3vw,40px);align-items:baseline;padding:clamp(22px,3vw,34px) 0;border-top:1px solid rgba(255,255,255,.08)}
.landing-step-head{min-width:0;display:flex;align-items:baseline;gap:16px}
.landing-step-n{color:#5fe3c0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:700}
.landing-step h3{margin:0;font-size:clamp(20px,2.2vw,27px);font-weight:800;letter-spacing:-.7px}
.landing-step p{margin:0;max-width:48ch;color:#93a3ac;font-size:14.5px;line-height:1.8;text-wrap:pretty}

.landing-capabilities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(36px,5vw,72px);align-items:start;border-top:1px solid rgba(255,255,255,.06);background:#0b0f12}
.landing-capabilities-intro{position:sticky;top:88px;display:flex;flex-direction:column;gap:18px}
.landing-capabilities-intro h2{margin:0;max-width:min(520px,100%);font-size:clamp(28px,3.6vw,46px);font-weight:800;line-height:1.14;letter-spacing:-1.4px;text-wrap:balance}
.landing-capabilities-intro p:not(.landing-section-label){margin:0;max-width:min(420px,100%);color:#93a3ac;font-size:14.5px;line-height:1.8;text-wrap:pretty}
.landing-features{display:flex;flex-direction:column}
.landing-feature{display:flex;align-items:flex-start;gap:16px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.landing-feature .benefit-mark{margin-top:9px}
.landing-feature h3{margin:0 0 6px;font-size:16.5px;font-weight:700;letter-spacing:-.2px}
.landing-feature p{margin:0;max-width:46ch;color:#93a3ac;font-size:13.5px;line-height:1.75;text-wrap:pretty}

.landing-close{display:flex;flex-direction:column;align-items:center;gap:26px;padding-bottom:clamp(64px,9vw,130px);border-top:1px solid rgba(255,255,255,.06);text-align:center}
.landing-close h2{margin:0;max-width:min(720px,100%);font-size:clamp(30px,4.4vw,58px);font-weight:800;line-height:1.1;letter-spacing:-1.8px;text-wrap:balance}
.landing-close p{margin:0;max-width:44ch;color:#93a3ac;font-size:15.5px;line-height:1.75;text-wrap:pretty}
.landing-close .landing-hero-actions{justify-content:center}
.landing-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(20px,4vw,64px) 34px;border-top:1px solid rgba(255,255,255,.06)}
.landing-footer p{margin:0;color:#8494a0;font-size:12.5px}
/* Keeps the copyright clear of the fixed platform-version stamp. */
.landing-footer-slot{width:150px}
.landing a:focus-visible,.landing button:focus-visible{outline:2px solid #5fe3c0;outline-offset:3px}

@media(max-width:820px){
  .landing-hero{padding-top:clamp(104px,20vw,132px)}
  .landing-hero-copy{max-width:100%}
  .landing-capabilities-intro{position:static}
}
@media(max-width:560px){
  /* The wordmark, the language picker and both account links share one narrow row. */
  .landing-nav{gap:10px;padding:12px 16px}
  .landing-nav .studio-label{display:none}
  .landing-brand img{height:16px}
  .landing-nav-actions{gap:4px}
  .landing-nav-actions .platform-language-field .material-symbols-rounded{display:none}
  .landing-nav-actions .platform-language-field select{max-width:76px;padding-right:20px;font-size:12px}
  .landing-link{padding:9px 9px}
  .landing-cta{padding:9px 12px}
  .landing-hero-meta{gap:18px}
  .landing-footer-slot{display:none}
}
a.brand-lockup{text-decoration:none}
a.brand-lockup:hover .studio-label{color:#8bf0d8}
a.brand-lockup:focus-visible{outline:2px solid #5fe3c0;outline-offset:6px;border-radius:6px}

/* The sign-in story panel carries its own published video, like the introduction. */
.auth-story-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:#0b0f12;object-fit:cover}
.auth-story::before,.auth-story::after{position:absolute;inset:0;z-index:1;content:"";pointer-events:none}
.auth-story::before{background:linear-gradient(180deg,rgba(8,11,13,.55) 0%,transparent 30%,transparent 62%,rgba(8,11,13,.8) 100%)}
.auth-story::after{background:linear-gradient(100deg,rgba(8,11,13,.94) 0%,rgba(8,11,13,.86) 38%,rgba(8,11,13,.42) 72%,rgba(8,11,13,.3) 100%)}
.auth-story>:not(.auth-story-video){position:relative;z-index:2}
.auth-story-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.auth-copyright{margin:0}
.auth-story-meta{display:flex;align-items:center;gap:14px}
@media(max-width:820px){.auth-story-meta .made-with{display:none}}

/* Reveal on scroll: each row settles into place as it comes into view. */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 620ms cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),transform 620ms cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}
.landing-step.reveal{transition:opacity 620ms cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),transform 620ms cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),background-color 200ms ease,border-color 200ms ease}
.landing-step-head,.landing-step-n,.landing-step p{transition:color 200ms ease,transform 220ms cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){
  .landing-step:hover{background-color:rgba(255,255,255,.022);border-top-color:rgba(95,227,192,.34)}
  .landing-step:hover .landing-step-head{transform:translateX(6px)}
  .landing-step:hover .landing-step-n{color:#8bf0d8}
  .landing-step:hover p{color:#c6d2d8}
}
@media(prefers-reduced-motion:reduce){
  .reveal,.landing-step.reveal{opacity:1;transform:none;transition:none}
  .landing-step-head,.landing-step-n,.landing-step p{transition:color 200ms ease}
  .landing-step:hover .landing-step-head{transform:none}
}

