/* Preview refinement. Scope is HERO and the existing Auth presentation only. */
#authGate{--th-safe-top:env(safe-area-inset-top,0px);--th-safe-right:env(safe-area-inset-right,0px);--th-safe-bottom:env(safe-area-inset-bottom,0px);--th-safe-left:env(safe-area-inset-left,0px);--th-primary-bg:linear-gradient(135deg,#ffffff20,#ffffff09);--th-primary-fg:#fff;--th-primary-border:#ffffff57;--th-primary-shadow:inset 0 1px #ffffff1c,0 10px 32px #0003;--th-secondary-bg:transparent;--th-secondary-border:#ffffff1d;--th-secondary-fg:#b6bac2}
#tmtHero,#tmtHero *{box-sizing:border-box}
#tmtHero{position:relative;min-height:100svh;isolation:isolate;overflow:hidden;background:#030304;color:#f6f7fa;color-scheme:dark;font:400 16px/normal -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,sans-serif;letter-spacing:normal;-webkit-font-smoothing:antialiased;--gutter:clamp(24px,5.4vw,92px);--muted:#b5b8c1}
#tmtHero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 82% 45%,#23252f31,transparent 55%),radial-gradient(ellipse at 55% 100%,#171b2925,transparent 65%)}
#tmtHero[hidden],#tmtHero [hidden],#heroAuthBack[hidden]{display:none!important}
#tmtHero button{font:inherit;cursor:pointer}
/* Never display a browser-default rectangular focus outline around pill/icon controls.
   Keyboard focus remains distinguishable by a restrained brightness change. */
#tmtHero button:focus,#tmtHero button:focus-visible{outline:0!important;outline-offset:0!important}
#tmtHero button:focus-visible{filter:brightness(1.16)}
#authGate .auth-gate-card button:focus-visible{outline:0!important;outline-offset:0!important;filter:brightness(1.16)}
/* Prevent workspace-wide button paint and transforms from leaking into HERO. */
html[data-tmt-preset] #tmtHero button{background-image:none!important;translate:none;scale:none;background-blend-mode:normal!important}
#tmtHero .th-art{pointer-events:none;user-select:none;position:absolute;inset:0;z-index:-1;overflow:hidden}
#tmtHero .th-art-board{position:absolute;width:1536px;height:1024px;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--art-scale,1));transform-origin:center;will-change:transform}
#tmtHero .th-art-base{position:absolute;inset:0;display:block;width:1536px;height:1024px;object-fit:fill}
#tmtHero .th-candle{position:absolute;display:block;object-fit:contain;max-width:none;will-change:transform;transform-origin:50% 50%;animation:tmtHeroFloat var(--dur,7.9s) ease-in-out var(--delay,0s) infinite alternate;filter:drop-shadow(0 0 10px rgba(255,255,255,.14));backface-visibility:hidden}
#tmtHero .th-candle.th-far-left{left:686px;top:598px;width:66px;height:146px;--dy:-15px;--dx:-5px;--rot:-1.4deg;--dur:7.2s;--delay:-1.1s;opacity:.62;z-index:2}
#tmtHero .th-candle.th-back-left{left:752px;top:510px;width:75px;height:280px;--dy:19px;--dx:6px;--rot:1.5deg;--dur:8.6s;--delay:-3.5s;opacity:.69;z-index:3}
#tmtHero .th-candle.th-mid-left{left:821px;top:513px;width:102px;height:260px;--dy:-18px;--dx:7px;--rot:1.3deg;--dur:7.6s;--delay:-4.7s;opacity:.88;z-index:4}
#tmtHero .th-candle.th-left-main{left:923px;top:304px;width:138px;height:502px;--dy:21px;--dx:-8px;--rot:-1.4deg;--dur:8.3s;--delay:-1.6s;z-index:6}
#tmtHero .th-candle.th-mid-right{left:1050px;top:349px;width:83px;height:338px;--dy:-18px;--dx:7px;--rot:1.1deg;--dur:6.7s;--delay:-2.3s;z-index:5}
#tmtHero .th-candle.th-main{left:1120px;top:118px;width:168px;height:585px;--dy:-20px;--dx:8px;--rot:1.35deg;--dur:7.7s;--delay:-3.6s;z-index:8}
#tmtHero .th-candle.th-back-mid{left:1264px;top:302px;width:67px;height:246px;--dy:19px;--dx:-5px;--rot:-1.2deg;--dur:7.8s;--delay:-4.4s;opacity:.78;z-index:4}
#tmtHero .th-candle.th-back-right{left:1311px;top:203px;width:104px;height:316px;--dy:-17px;--dx:6px;--rot:1.2deg;--dur:8.8s;--delay:-6.1s;opacity:.79;z-index:3}
#tmtHero .th-candle.th-back-far{left:1397px;top:168px;width:84px;height:292px;--dy:17px;--dx:5px;--rot:-1deg;--dur:9.5s;--delay:-5.3s;opacity:.65;z-index:2}
#tmtHero .th-candle.th-back-last{left:1473px;top:140px;width:63px;height:293px;--dy:-15px;--dx:-5px;--rot:1deg;--dur:10.1s;--delay:-2.5s;opacity:.44;z-index:1}
#tmtHero .th-light-bloom{position:absolute;left:1000px;top:225px;width:440px;height:385px;background:radial-gradient(ellipse,rgba(220,225,235,.075),transparent 68%);filter:blur(31px);animation:tmtHeroBloom 8.8s ease-in-out infinite alternate;mix-blend-mode:screen;z-index:1;pointer-events:none}
@keyframes tmtHeroFloat{0%{transform:translate3d(0,9px,0) rotate(-.78deg);filter:drop-shadow(0 0 5px rgba(248,249,254,.14)) brightness(.94)}100%{transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot));filter:drop-shadow(0 0 20px rgba(248,249,254,.28)) brightness(1.09)}}
@keyframes tmtHeroBloom{from{opacity:.36;transform:translateY(12px)}to{opacity:1;transform:translateY(-12px)}}
#tmtHero .th-art-glaze{position:absolute;inset:0;z-index:11;pointer-events:none;background:linear-gradient(90deg,#03030412,transparent 70%)}
#tmtHero .th-cursor-glow{position:absolute;left:0;top:0;width:280px;height:280px;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#f1dfc809,transparent 72%);opacity:0;transform:translate3d(calc(var(--pointer-x,0px) - 140px),calc(var(--pointer-y,0px) - 140px),0);transition:opacity .35s ease}
#tmtHero[data-pointer="on"] .th-cursor-glow{opacity:1}
#tmtHero .th-head{position:relative;z-index:30;width:100%;height:calc(88px + var(--th-safe-top));padding:var(--th-safe-top) max(var(--gutter),var(--th-safe-right)) 0 max(var(--gutter),var(--th-safe-left));display:flex;align-items:center;justify-content:space-between;gap:24px}
#tmtHero .th-wordmark{padding:0;border:0;background:transparent;color:#a6a8b0;font-size:clamp(12px,1.1vw,18px);font-weight:520;letter-spacing:.255em;white-space:nowrap}
#tmtHero .th-head-right{display:flex;align-items:center;gap:clamp(12px,1.7vw,28px)}
#tmtHero .th-head-right .th-control-target{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0;border:0;background:transparent!important;box-shadow:none!important;color:inherit}
#tmtHero .th-lang-wrap{position:relative}
#tmtHero .th-lang-trigger,#tmtHero .th-sign-in,#tmtHero .th-head-signup{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #ffffff35;border-radius:999px;padding:0 18px;font-size:12px;font-weight:570;white-space:nowrap;transition:background .2s,border-color .2s,box-shadow .2s}
#tmtHero .th-lang-trigger{min-width:84px;gap:7px;padding:0 12px;background:#ffffff04;color:#e6e8ec;font-size:12px}
#tmtHero .th-globe{width:15px;height:15px}
#tmtHero .th-caret{width:10px;height:10px;transition:transform .2s}
#tmtHero .th-control-target[aria-expanded="true"] .th-caret{transform:rotate(180deg)}
#tmtHero .th-sign-in{background:#ffffff04;color:#e6e8ec}
#tmtHero .th-head-signup{background:linear-gradient(135deg,#eff1f5,#ccd1d7);border-color:#e2e6ec;color:#17191e;font-weight:620}
#tmtHero .th-control-target:hover :is(.th-lang-trigger,.th-sign-in){background:#ffffff0c;border-color:#ffffff70}
#tmtHero .th-control-target:hover .th-head-signup{box-shadow:0 0 20px #ffffff13}
#tmtHero .th-lang-menu{position:absolute;left:50%;top:calc(100% + 5px);transform:translateX(-50%);width:72px;padding:4px;border:1px solid #ffffff26;border-radius:8px;background:#15161bed;backdrop-filter:blur(10px);box-shadow:0 20px 60px #0005;z-index:50}
#tmtHero .th-lang-menu button{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;padding:8px 4px;border:0;border-radius:5px;background:transparent;color:#b9bdc6;font-size:12px;text-align:center}
#tmtHero .th-lang-menu button:hover,#tmtHero .th-lang-menu button[aria-selected="true"]{background:#ffffff0c;color:#fff}
#tmtHero .th-hero{position:relative;z-index:10;display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 88px - var(--th-safe-top));padding:0 max(var(--gutter),var(--th-safe-right)) max(56px,var(--th-safe-bottom)) max(var(--gutter),var(--th-safe-left))}
#tmtHero .th-hero-copy{position:relative;isolation:isolate;width:max-content;max-width:100%;margin-top:-8px;transform:translateY(-60px)}
/* Feathered local readability protection, with no card edge or animated blur. */
#tmtHero .th-eyebrow{display:inline-flex;gap:9px;align-items:center;max-width:100%;min-height:36px;padding:8px 14px;border:1px solid #ffffff30;border-radius:999px;background:#ffffff05;box-shadow:inset 0 1px #ffffff0a;color:#d9dce3;font-size:12px;font-weight:560}
#tmtHero .th-eyebrow svg{flex:none;width:15px;height:15px}
#tmtHero h1{margin:26px 0 0;font-size:clamp(43px,4vw,68px);font-weight:710;line-height:1.12;letter-spacing:-.049em;text-transform:uppercase}
#tmtHero h1 span{display:block;white-space:nowrap;hyphens:none;overflow-wrap:normal;--text-base:linear-gradient(110deg,#c4c6cb,#b7bac2);background:var(--text-base);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
#tmtHero h1 span:last-child{--text-base:linear-gradient(110deg,#b9bcc5,#a7abb6);background-image:var(--text-base)}
/* Opt-in: hide hero controls before site load finishes; Spring reveals them in sequence. */
html[data-tmt-spring-requested]:not([data-tmt-hero-running]):not([data-tmt-motion-fallback]) #tmtHero :is(#headline,.th-wordmark,.th-eyebrow,.th-sub,#langTrigger,.th-head-right > button,.th-cta > button){opacity:0!important}
html[data-tmt-spring-requested] #tmtHero :is(.th-wordmark,.th-eyebrow,.th-sub,#langTrigger,.th-head-right > button,.th-cta > button){transition:none!important;animation:none!important}
/* TextEngine handles all h1-h6; the peer spring drives every native HERO text/control. */
html[data-tmt-spring-requested] #tmtHero.th-enter .th-hero-copy > *,
html[data-tmt-spring-requested] #tmtHero.th-enter .th-wordmark,
html[data-tmt-spring-requested] #tmtHero.th-enter .th-head-right *{animation:none!important}
.tmt-curtain-layer{pointer-events:none!important;isolation:isolate;overflow:visible!important}
.tmt-curtain-layer .line-word{overflow:hidden!important;padding:0!important}
.tmt-curtain-layer .justify-center{justify-content:center!important}
.tmt-curtain-layer .tmt-curtain-start{justify-content:flex-start!important}
.tmt-curtain-layer[data-curtaintarget="headline"] :is(div,span){color:#babdc6!important;-webkit-text-fill-color:#babdc6!important}
#tmtHero .th-sub{max-width:1100px;margin:22px 0 0;font-size:clamp(16px,1.35vw,21px);font-weight:380;line-height:1.65;letter-spacing:-.012em;color:var(--muted)}
#tmtHero .th-cta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}
#tmtHero .th-cta .th-pill{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:52px;padding:0 24px;border-radius:999px;border:1px solid var(--th-secondary-border);background:var(--th-secondary-bg);color:var(--th-secondary-fg);font-size:14px;font-weight:600;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
#authGate #tmtHero .th-cta .th-white{background:var(--th-primary-bg)!important;border-color:var(--th-primary-border);color:var(--th-primary-fg);box-shadow:var(--th-primary-shadow)}
#authGate #tmtHero .th-cta .th-outline{background:var(--th-secondary-bg)!important;border-color:var(--th-secondary-border);color:var(--th-secondary-fg);font-weight:500}
#tmtHero .th-cta .th-pill>*{position:relative;z-index:1}
#tmtHero .th-pill svg{flex:none;width:18px;height:18px}
#tmtHero .th-cta .th-outline svg{width:23px;height:23px}
#tmtHero .th-cta .th-pill:hover{transform:translateY(-2px);border-color:#ffffff70;box-shadow:0 6px 22px #ffffff0b}
#tmtHero .th-cta .th-pill:active{transform:translateY(0)}
#tmtHero.th-enter .th-hero-copy> :is(.th-eyebrow,h1,.th-sub,.th-cta){animation:tmtHeroReveal .8s cubic-bezier(.16,.85,.3,1) backwards}
#tmtHero.th-enter .th-hero-copy>.th-eyebrow{animation-delay:150ms}
#tmtHero.th-enter .th-hero-copy>#headline{animation-delay:220ms}
#tmtHero.th-enter .th-hero-copy>.th-sub{animation-delay:340ms}
#tmtHero.th-enter .th-hero-copy>.th-cta{animation-delay:420ms}
@keyframes tmtAuthReveal{from{opacity:0}to{opacity:1}}
@keyframes tmtHeroReveal{from{opacity:0;transform:translateY(10px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
#tmtHero[data-motion="paused"] .th-candle,#tmtHero[data-motion="paused"] .th-light-bloom{animation-play-state:paused;will-change:auto}
/* The same surface language is used by About, sign-in, sign-up and recovery. */
#tmtHero .th-dialog-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:max(20px,var(--th-safe-top)) max(20px,var(--th-safe-right)) max(20px,var(--th-safe-bottom)) max(20px,var(--th-safe-left));box-sizing:border-box;background:#03040747;backdrop-filter:blur(7px)}
#tmtHero .th-dialog{position:relative;isolation:isolate;width:min(432px,100%);max-height:calc(100dvh - max(20px,var(--th-safe-top)) - max(20px,var(--th-safe-bottom)));overflow:auto;padding:36px;border:1px solid #ffffff29;border-radius:24px;background:linear-gradient(145deg,#22242bef,#101116f5);box-shadow:inset 0 1px #ffffff0a,0 28px 90px #0004}
#tmtHero .th-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#ffffff05;color:#e1e5ec;font-size:24px}
#tmtHero .th-dialog-mark{margin:0 0 24px;color:#9098a8;letter-spacing:.18em;font-size:10px}
#tmtHero .th-dialog h2{margin:0 0 16px;font-size:28px;line-height:1.15;letter-spacing:-.035em}
#tmtHero .th-dialog p{margin:0;color:#b5bbc7;font-size:14px;line-height:1.7}
body #authGate{padding:0!important;background:#030304!important;overflow:auto}
#authGate[data-hero-state="hero"]>.auth-gate-shell,#authGate[data-hero-state="workspace"]>.auth-gate-shell{display:none!important}
#authGate:is([data-hero-state="auth"],[data-hero-state="recovery"],[data-hero-state="error"]){overflow:hidden}
body #authGate .auth-gate-shell{position:fixed;inset:auto;top:var(--th-auth-top,0px);left:var(--th-auth-left,0px);z-index:70;display:flex;flex-direction:column;align-items:center;width:var(--th-auth-width,100%);height:var(--th-auth-height,100dvh);max-height:var(--th-auth-height,100dvh);box-sizing:border-box;gap:0;margin:0;padding:max(24px,var(--th-safe-top)) max(16px,var(--th-safe-right)) max(24px,var(--th-safe-bottom)) max(16px,var(--th-safe-left));overflow-y:auto;scroll-padding-top:max(24px,var(--th-safe-top));scroll-padding-bottom:max(24px,var(--th-safe-bottom));overscroll-behavior:contain;isolation:isolate}
#authGate .auth-gate-shell::before{content:"";position:fixed;inset:0;z-index:-1;background:#03040747;backdrop-filter:blur(7px);pointer-events:none}
#authGate .auth-gate-brand,#authGate .auth-gate-footer{display:none!important}
body #authGate .auth-gate-card{animation:none!important;transform:none!important;position:relative;top:auto;grid-area:auto;flex:0 0 auto;width:min(432px,100%);max-width:100%;margin:auto;padding:26px;border-radius:24px;border:1px solid #ffffff29!important;background:linear-gradient(145deg,#22242bf2,#101116f5)!important;color:#f3f5fa!important;box-shadow:inset 0 1px #ffffff0b,0 28px 90px #0005!important;--fx-surface:#15171c;--fx-surface2:#202229;--fx-text:#f3f5fa;--fx-muted:#b4bac6;--fx-border:#ffffff24;--fx-border-strong:#ffffff70;--fx-accent:#e2e6ee;--fx-accent-hover:#ffffff0c;--fx-accent-soft:#ffffff0b;--fx-accent-contrast:#fff}
#authGate .auth-gate-heading{padding-top:28px;margin-bottom:22px}
#authGate .auth-gate-heading h1{color:#f3f5fa!important;font-size:24px;letter-spacing:-.025em;line-height:1.2}
#authGate .auth-gate-heading p,#authGate .auth-gate-form label,#authGate .auth-gate-loading small{color:#afb6c3!important}
#authGate .auth-gate-kicker{color:#858e9f!important;font-size:9px;letter-spacing:.16em}
#authGate .auth-gate-form{gap:14px}
body #authGate .auth-gate-form input{min-height:48px;border-radius:12px;background:#ffffff05!important;border-color:#ffffff26!important;color:#f3f5fa!important;caret-color:#fff;box-shadow:inset 0 1px #ffffff03!important}
#authGate .auth-gate-form input::placeholder{color:#858d9c;opacity:1}
body #authGate .auth-gate-form input:focus{border-color:#ffffff7d!important;box-shadow:0 0 0 3px #ffffff0a!important}
body #authGate .auth-gate-card button{background-image:none!important;box-shadow:none!important;border-color:#ffffff26!important;--tmt-action-text:#e5e9f2;--tmt-action-border:#ffffff26;--tmt-action-bg:#ffffff06;--tmt-action-bg-hover:#ffffff0c;--tmt-action-bg-active:#ffffff12;--tmt-action-shadow:none}
body #authGate .auth-gate-card button.auth-gate-primary{min-height:48px;border:1px solid var(--th-primary-border)!important;border-radius:999px;background:var(--th-primary-bg)!important;color:var(--th-primary-fg)!important;box-shadow:var(--th-primary-shadow)!important;--tmt-action-text:var(--th-primary-fg);--tmt-action-border:var(--th-primary-border);--tmt-action-bg:var(--th-primary-bg);--tmt-action-bg-hover:var(--th-primary-bg);--tmt-action-bg-active:var(--th-primary-bg)}
body #authGate .auth-gate-card button.auth-gate-primary:disabled{opacity:.5!important}
body #authGate .auth-gate-card button.auth-gate-mode{min-height:44px;border:1px solid #ffffff1a!important;border-radius:999px;background:#ffffff03!important;color:#b4bccb!important;font-weight:450;font-size:12px}
body #authGate .auth-gate-card button.auth-gate-mode:hover{background:#ffffff09!important;color:#fff!important}
#heroAuthBack{position:relative;z-index:2;min-height:44px;padding:0 13px;border:1px solid #ffffff1e;border-radius:999px;background:#ffffff05;color:#d7dde9;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer}
body #authGate .auth-language-switch{top:26px;right:24px;display:flex;align-items:center;padding:0;border:1px solid #ffffff1c!important;border-radius:999px;background:#ffffff03!important;box-shadow:none!important;overflow:hidden}
body #authGate .auth-language-switch button{min-width:34px;min-height:44px;height:44px;padding:0 7px;border:0!important;background:transparent!important;color:#8f99ac!important;font-size:9px}
body #authGate .auth-language-switch button.selected,body #authGate .auth-language-switch button:hover{background:#ffffff0d!important;color:#f3f5fa!important}
#authGate .auth-password-toggle{right:4px;width:44px;height:44px;color:#9da7ba!important}
#authGate .auth-password-toggle:hover{color:#fff!important;background:#ffffff05!important}
#authGate .auth-recovery-link{color:#aab4c7!important}
#authGate .auth-recovery-link:hover{color:#fff!important}
#authGate .cloud-auth-message,#authGate .cloud-auth-message.success{color:#c1c8d6!important}
#authGate .cloud-auth-message.error{color:#fff!important;font-weight:650}
#authGate .auth-gate-spinner{border-color:#ffffff22;border-top-color:#e1e6ef}
@media(max-width:1199px) and (min-width:761px){#tmtHero h1{font-size:clamp(34px,4.4vw,52px)}}
@media(max-width:760px){
 #tmtHero{--gutter:24px}
 #tmtHero .th-head{height:auto;min-height:80px;padding:max(16px,var(--th-safe-top)) max(var(--gutter),var(--th-safe-right)) 16px max(var(--gutter),var(--th-safe-left));flex-wrap:wrap;gap:12px}
 #tmtHero .th-wordmark{font-size:12px;letter-spacing:.19em}
 #tmtHero .th-head-right{gap:12px;margin-left:auto}
 #tmtHero :is(.th-lang-trigger,.th-sign-in,.th-head-signup){min-height:30px;font-size:11px;padding:0 12px}
 #tmtHero .th-lang-trigger{min-width:68px;padding:0 9px;gap:5px}
 #tmtHero .th-globe{width:13px;height:13px}
 #tmtHero .th-hero{min-height:calc(100svh - 88px - max(0px,var(--th-safe-top) - 16px));padding:230px max(var(--gutter),var(--th-safe-right)) max(70px,var(--th-safe-bottom)) max(var(--gutter),var(--th-safe-left));justify-content:flex-end}
 #tmtHero .th-hero-copy{width:100%;max-width:100%;margin:0;transform:none}
 #tmtHero .th-eyebrow{font-size:10.5px;min-height:34px;padding:7px 12px;gap:7px}
 #tmtHero h1{font-size:clamp(24px,6.6vw,43px);line-height:1.13;margin-top:24px;letter-spacing:-.045em}
 #tmtHero h1 span{white-space:normal;text-wrap:balance;hyphens:none;overflow-wrap:normal}
 #tmtHero .th-sub{margin-top:20px;max-width:480px;font-size:15px;line-height:1.6}
 #tmtHero .th-cta{margin-top:25px;gap:12px}
 #tmtHero .th-cta .th-pill{min-height:50px;padding:0 20px;font-size:13px}
 #tmtHero .th-art-board{-webkit-mask-image:linear-gradient(#000 50%,#000c 70%,transparent 97%);mask-image:linear-gradient(#000 50%,#000c 70%,transparent 97%)}
}
@media(max-width:540px){
 #tmtHero{--gutter:20px}
 #tmtHero .th-head{display:grid;grid-template-columns:1fr auto;padding:max(16px,var(--th-safe-top)) max(var(--gutter),var(--th-safe-right)) 16px max(var(--gutter),var(--th-safe-left));gap:12px}
 #tmtHero .th-head-right{grid-column:1/-1;width:100%;justify-content:space-between}
 #tmtHero .th-hero{min-height:calc(100svh - 110px - max(0px,var(--th-safe-top) - 16px));padding-top:205px;padding-bottom:max(60px,var(--th-safe-bottom))}
 #tmtHero .th-cta{flex-direction:column;align-items:stretch;max-width:315px}
 #tmtHero .th-dialog{padding:32px 24px}
 body #authGate .auth-gate-card{padding:22px 18px;border-radius:22px}
 body #authGate .auth-language-switch{top:22px;right:18px}
}
@media(max-width:375px){#tmtHero{--gutter:16px}#tmtHero h1{font-size:clamp(23px,7.2vw,26px)}#tmtHero .th-head-right{gap:8px}#tmtHero :is(.th-lang-trigger,.th-sign-in,.th-head-signup){padding-inline:10px;font-size:10.5px}#tmtHero .th-lang-trigger{min-width:62px}}
@media(prefers-reduced-motion:reduce){#tmtHero *,#tmtHero *::before,#tmtHero *::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}#tmtHero .th-candle{will-change:auto;transform:none!important}#tmtHero .th-cursor-glow{display:none}body #authGate .auth-gate-card{animation:none!important}}
/* Full-scene haze: no bounded pseudo-element behind the copy to reveal an edge. */
#tmtHero .th-art::after{content:"";position:absolute;inset:0;z-index:12;pointer-events:none;background:linear-gradient(90deg,#030304a8 0%,#03030442 48%,#0303040a 76%,transparent 100%),radial-gradient(ellipse 100% 26% at 47% 44%,#030304eb 0%,#030304d6 35%,#03030499 58%,#03030440 78%,transparent 100%)}
#tmtHero .th-spotlight-text{display:inline-block;--text-base:linear-gradient(110deg,#a4a6ae,#999ca6);background:var(--text-base);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
#tmtHero :is(h1 span,.th-spotlight-text){filter:drop-shadow(0 2px 4px #0009);transition:filter .25s ease}
@media(hover:hover) and (pointer:fine){
 #tmtHero[data-pointer="on"] :is(h1 span,.th-spotlight-text){background-image:radial-gradient(175px circle at var(--text-x,-1000px) var(--text-y,-1000px),#f4e8cf 0%,#f4e8cf99 32%,#f4e8cf00 100%),var(--text-base)}
 #tmtHero[data-pointer="on"] :is(h1 span,.th-spotlight-text)[data-lit="true"]{filter:drop-shadow(0 2px 6px #000b) drop-shadow(0 0 9px #e8c99116)}
}
#tmtHero .th-wordmark:focus-visible .th-spotlight-text{background-image:linear-gradient(#f4e8cf,#d8c7a9);filter:drop-shadow(0 2px 5px #000a)}
/* Shared glass language. Only the two approved HERO actions use metal. */
#tmtHero :is(.th-lang-trigger,.th-sign-in){background:linear-gradient(135deg,#ffffff14,#ffffff04);box-shadow:inset 0 1px #ffffff0b;border-color:#ffffff32}
#authGate #tmtHero .th-cta .th-outline{background:linear-gradient(135deg,#ffffff0c,#ffffff02)!important;box-shadow:inset 0 1px #ffffff08}
/* Novalume archive metal-cta material; existing pill geometry is unchanged. */
#authGate #tmtHero #publicStartTrialBtn,#authGate #tmtHero .th-head-signup{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#f8f8fa,#adb5c2 43%,#fafbfd)!important;border-color:#fff;color:#1a1d24;box-shadow:inset 0 2px #ffffffa0,0 10px 35px #ccd2da1d}
#authGate #tmtHero #publicStartTrialBtn::before,#authGate #tmtHero .th-head-signup::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--metal-x,50%) var(--metal-y,50%),#ffffff7c,transparent 52%);opacity:0;pointer-events:none;transition:opacity .25s;z-index:-1}
#authGate #tmtHero #publicStartTrialBtn:is(:hover,:focus-visible),#authGate #tmtHero .th-control-target:is(:hover,:focus-visible) .th-head-signup{box-shadow:inset 0 2px #fff,0 0 22px #dce1ea53}
#authGate #tmtHero #publicStartTrialBtn:is(:hover,:focus-visible)::before,#authGate #tmtHero .th-control-target:is(:hover,:focus-visible) .th-head-signup::before{opacity:.25}
#authGate #tmtHero #publicStartTrialBtn:active,#authGate #tmtHero .th-control-target:active .th-head-signup{box-shadow:inset 0 1px #fff,0 0 12px #dce1ea35}
body #authGate .auth-gate-card :is(button.auth-gate-mode,#heroAuthBack){background:linear-gradient(135deg,#ffffff10,#ffffff03)!important;box-shadow:inset 0 1px #ffffff08!important}
body #authGate .auth-gate-card .auth-gate-primary:hover{border-color:#ffffff85!important;box-shadow:inset 0 1px #ffffff28,0 7px 24px #0004!important}
#tmtHero .th-close{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
#tmtHero .th-close:is(:hover,:active,:focus){background:transparent!important;border:0!important;box-shadow:none!important}
/* No first-open or replay entrance animation for Login / Signup / Recovery forms. */
body #authGate:is([data-hero-state="auth"],[data-hero-state="recovery"],[data-hero-state="error"]) :is(.auth-gate-shell,.auth-gate-card,.auth-gate-heading,.auth-gate-heading h1,.auth-gate-heading p,.auth-gate-form){
 animation:none!important;transition:none!important;
}
#tmtHero.th-enter .th-wordmark,#tmtHero.th-enter .th-head-right .th-lang-trigger,#tmtHero.th-enter .th-head-right>button>span{animation:tmtHeroReveal .8s cubic-bezier(.16,.85,.3,1) backwards}
#tmtHero.th-enter .th-head-right .th-lang-trigger{animation-delay:40ms}
#tmtHero.th-enter .th-head-right>button:nth-child(2)>span{animation-delay:80ms}
#tmtHero.th-enter .th-head-right>button:nth-child(3)>span{animation-delay:120ms}
@media(max-width:760px){#tmtHero .th-art::after{background:linear-gradient(180deg,transparent 20%,#03030408 31%,#03030473 48%,#030304d1 64%,#030304ed 82%,#030304f5 100%),radial-gradient(ellipse 110% 52% at 32% 77%,#03030455,transparent 100%)}}

@media(max-height:750px) and (min-width:761px){#tmtHero .th-head{height:calc(72px + var(--th-safe-top))}#tmtHero .th-hero{min-height:calc(100svh - 72px - var(--th-safe-top));padding-bottom:max(24px,var(--th-safe-bottom))}#tmtHero .th-hero-copy{transform:translateY(-10px)}#tmtHero h1{font-size:clamp(38px,3.6vw,58px)}#tmtHero .th-sub{font-size:16px;margin-top:18px}}

/* Password visibility: plain eye icon, with an invisible 44px touch target. */
body #authGate .auth-gate-card button.auth-password-toggle,
body #authGate .auth-gate-card button.auth-password-toggle:hover,
body #authGate .auth-gate-card button.auth-password-toggle:active{width:44px;height:44px;min-width:44px;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:#aeb5c3!important}
body #authGate .auth-gate-card button.auth-password-toggle:hover{color:#f4f6fa!important}
body #authGate .auth-gate-card button.auth-password-toggle:focus-visible{outline:0!important;outline-offset:0!important;color:#f3f5fa!important}
#authGate .auth-gate-card button.auth-password-toggle .auth-password-eye{width:21px;height:21px}
body #authGate .auth-gate-card button.auth-recovery-link{background:linear-gradient(135deg,#ffffff0c,#ffffff02)!important;border:1px solid #ffffff18!important;border-radius:999px;padding:6px 10px}

/* Phone composition uses a symmetric safe gutter, retaining the desktop/art rules. */
@media(max-width:760px),(max-width:950px) and (max-height:500px) and (pointer:coarse){
 #tmtHero{--th-mobile-gutter:max(var(--gutter),var(--th-safe-left),var(--th-safe-right));--th-mobile-head-height:calc(112px + max(16px,var(--th-safe-top)))}
 #tmtHero .th-head{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto;min-height:var(--th-mobile-head-height);padding:max(16px,var(--th-safe-top)) var(--th-mobile-gutter) 16px;gap:8px}
 #tmtHero .th-wordmark{min-height:44px;max-width:100%;margin-inline:auto;text-align:center}
 #tmtHero .th-head-right{width:auto;max-width:100%;margin:0;justify-content:center;gap:8px}
 #tmtHero .th-hero{min-height:calc(100svh - var(--th-mobile-head-height));padding-inline:var(--th-mobile-gutter)}
 #tmtHero .th-hero-copy{width:100%;max-width:100%;text-align:center}
 #tmtHero .th-eyebrow{margin-inline:auto}
 #tmtHero .th-sub{margin-inline:auto}
 #tmtHero .th-cta{width:min(315px,100%);max-width:100%;margin-inline:auto;flex-direction:column;align-items:stretch}
 #tmtHero .th-cta .th-pill{width:100%;min-width:0;white-space:normal;text-wrap:balance}
}
@media(min-width:761px) and (max-width:950px) and (max-height:500px) and (pointer:coarse){
 #tmtHero .th-hero{padding-top:36px}
 #tmtHero .th-hero-copy{margin-top:0;transform:none}
 #tmtHero h1 span{white-space:normal;text-wrap:balance}
}
@media(prefers-reduced-motion:reduce){
 #tmtHero.th-enter .th-wordmark,#tmtHero.th-enter .th-hero-copy>*,#tmtHero.th-enter .th-head-right *{animation:none!important}
}
