.tt-launch-banner{display:flex;align-items:center;justify-content:center;gap:var(--tt-s2);padding:.5rem var(--tt-s4);font-size:.85rem;font-weight:600;color:var(--tt-accent-strong);background:var(--tt-accent-tint);border-bottom:1px solid rgba(30,158,91,.25);text-align:center}.tt-launch-banner__link{text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.tt-launch-banner__link:hover{color:var(--tt-accent)}@media(max-width:520px){.tt-launch-banner{flex-wrap:wrap;row-gap:2px}}.tt-logo{display:inline-flex;align-items:center;gap:.55rem}.tt-logo__mark{flex:none}.tt-logo__ring{stroke-dasharray:120;stroke-dashoffset:120;animation:tt-logo-draw 1.1s var(--tt-ease) .15s forwards}@keyframes tt-logo-draw{to{stroke-dashoffset:0}}.tt-logo__word{font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--tt-ink)}.tt-logo__accent{color:var(--tt-accent)}@media(prefers-reduced-motion:reduce){.tt-logo__ring{animation:none;stroke-dashoffset:0}}.tt-nav{position:sticky;top:0;z-index:50;height:var(--tt-nav-h);display:flex;align-items:center;transition:background .25s var(--tt-ease),border-color .25s var(--tt-ease),backdrop-filter .25s var(--tt-ease);border-bottom:1px solid transparent}.tt-nav--scrolled{background:var(--tt-nav-bg);backdrop-filter:saturate(140%) blur(12px);border-bottom-color:var(--tt-border)}.tt-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--tt-s5);width:100%}.tt-nav__links{display:flex;gap:var(--tt-s5);font-size:.95rem;color:var(--tt-ink-soft)}.tt-nav__links a{transition:color .15s var(--tt-ease)}.tt-nav__links a:hover{color:var(--tt-ink)}.tt-nav__actions{display:flex;align-items:center;gap:var(--tt-s3)}.tt-nav__signin{font-weight:600;font-size:.95rem;color:var(--tt-ink-soft);padding:.4rem .5rem}.tt-nav__signin:hover{color:var(--tt-ink)}.tt-nav__user{display:inline-flex;align-items:center;gap:var(--tt-s2);padding:.28rem .7rem .28rem .32rem;border:1px solid var(--tt-border);border-radius:var(--tt-r-pill);background:var(--tt-surface);transition:border-color .15s var(--tt-ease),background .15s var(--tt-ease)}.tt-nav__user:hover{border-color:var(--tt-accent)}.tt-nav__avatar{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--tt-accent);color:var(--tt-accent-ink);font-size:.82rem;font-weight:700}.tt-nav__username{font-weight:600;font-size:.92rem;color:var(--tt-ink);max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:520px){.tt-nav__username{display:none}}@media(max-width:860px){.tt-nav__links{display:none}}@media(max-width:520px){.tt-nav__signin{display:none}}.tt-footer{border-top:1px solid var(--tt-border);background:var(--tt-bg-elev);padding:var(--tt-s8) 0 var(--tt-s5);margin-top:var(--tt-s8)}.tt-footer__inner{display:grid;grid-template-columns:1.4fr 2fr;gap:var(--tt-s7)}.tt-footer__note{color:var(--tt-ink-muted);max-width:34ch;margin-top:var(--tt-s4);font-size:.95rem}.tt-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-s5)}.tt-footer__cols h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--tt-ink-muted);margin-bottom:var(--tt-s3)}.tt-footer__cols a{display:block;color:var(--tt-ink-soft);padding:.28rem 0;font-size:.95rem;transition:color .15s var(--tt-ease)}.tt-footer__cols a:hover{color:var(--tt-accent)}.tt-footer__legal{display:flex;justify-content:space-between;align-items:center;margin-top:var(--tt-s7);padding-top:var(--tt-s5);border-top:1px solid var(--tt-border);color:var(--tt-ink-faint);font-size:.85rem}.tt-footer__tagline{color:var(--tt-accent);font-weight:600}@media(max-width:760px){.tt-footer__inner{grid-template-columns:1fr;gap:var(--tt-s6)}.tt-footer__legal{flex-direction:column;gap:var(--tt-s2)}}.tt-hero{position:relative;padding:var(--tt-s8) 0 var(--tt-s6);overflow:hidden}.tt-hero__inner{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:var(--tt-s7)}.tt-hero__kicker{margin-bottom:var(--tt-s4)}.tt-hero__headline{font-size:clamp(3rem,8vw,5.75rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--tt-s5)}.tt-hero__line{display:block;opacity:0;transform:translateY(16px);animation:tt-rise .8s var(--tt-ease) forwards}.tt-hero__line--accent{color:var(--tt-accent);animation-delay:.12s}.tt-hero__sub{font-size:1.18rem;max-width:52ch;margin-bottom:var(--tt-s6);opacity:0;animation:tt-rise .8s var(--tt-ease) .24s forwards}.tt-hero__cta{display:flex;gap:var(--tt-s3);flex-wrap:wrap;opacity:0;animation:tt-rise .8s var(--tt-ease) .34s forwards}.tt-hero__pills{list-style:none;display:flex;flex-wrap:wrap;gap:var(--tt-s2);padding:0;margin:var(--tt-s6) 0 0;opacity:0;animation:tt-rise .8s var(--tt-ease) .44s forwards}.tt-hero__pills li{font-size:.82rem;color:var(--tt-ink-soft);border:1px solid var(--tt-border);background:var(--tt-surface);padding:.35rem .8rem;border-radius:var(--tt-r-pill)}.tt-hero__art{position:relative;display:grid;place-items:center}.tt-ring{position:relative;width:min(360px,78vw);aspect-ratio:1;display:grid;place-items:center}.tt-ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.tt-ring__track{fill:none;stroke:var(--tt-surface-2);stroke-width:12}.tt-ring__progress{fill:none;stroke:var(--tt-accent);stroke-width:12;stroke-linecap:round;stroke-dasharray:590.6;stroke-dashoffset:590.6;filter:drop-shadow(0 0 10px var(--tt-accent-glow));animation:tt-ring-fill 2.6s var(--tt-ease) .3s forwards,tt-ring-pulse 3.2s ease-in-out 3s infinite}.tt-ring__center{position:absolute;display:grid;place-items:center;gap:var(--tt-s2);text-align:center}.tt-ring__check{color:var(--tt-accent)}.tt-ring__label{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tt-ink-muted)}.tt-hero__glow{position:absolute;inset:8% 8% auto auto;width:60%;aspect-ratio:1;background:radial-gradient(circle,var(--tt-accent-glow),transparent 62%);filter:blur(24px);z-index:-1}@keyframes tt-ring-fill{to{stroke-dashoffset:44}}@keyframes tt-ring-pulse{0%,to{opacity:1}50%{opacity:.82}}@keyframes tt-rise{to{opacity:1;transform:none}}@media(max-width:900px){.tt-hero__inner{grid-template-columns:1fr;gap:var(--tt-s6)}.tt-hero__art{order:-1}}@media(prefers-reduced-motion:reduce){.tt-hero__line,.tt-hero__sub,.tt-hero__cta,.tt-hero__pills{opacity:1;transform:none;animation:none}.tt-ring__progress{animation:none;stroke-dashoffset:44}}.tt-preview__soon{display:inline-flex;align-items:center;gap:6px;margin-top:var(--tt-s3);padding:.3rem .85rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--tt-accent-strong);background:var(--tt-accent-tint);border:1px solid rgba(30,158,91,.3);border-radius:var(--tt-r-pill)}.tt-preview{margin:0 calc(var(--tt-s5) * -1)}.tt-preview__stage{position:relative}.tt-preview__strip{display:flex;align-items:center;gap:var(--tt-s5);list-style:none;margin:0;padding:var(--tt-s5) var(--tt-s6);overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,transparent,black 64px,black calc(100% - 64px),transparent);mask-image:linear-gradient(to right,transparent,black 64px,black calc(100% - 64px),transparent)}.tt-preview__strip::-webkit-scrollbar{display:none}.tt-preview__strip{scrollbar-width:none}.tt-preview__item{position:relative;flex:none;scroll-snap-align:center;width:220px;transform:scale(var(--tt-preview-scale, 1));opacity:var(--tt-preview-opacity, 1);will-change:transform,opacity}.tt-preview__img{display:block;width:100%;height:auto;border-radius:34px;filter:drop-shadow(0 8px 16px rgba(16,32,24,.12));transition:filter .3s var(--tt-ease)}.tt-preview__item.is-active .tt-preview__img{filter:drop-shadow(0 20px 34px rgba(16,32,24,.22))}.tt-preview__nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;transform:translateY(-50%);border-radius:50%;border:1px solid var(--tt-border);background:#ffffffeb;backdrop-filter:blur(6px);color:var(--tt-ink);box-shadow:var(--tt-shadow-sm);transition:transform .18s var(--tt-ease),box-shadow .18s var(--tt-ease),opacity .18s var(--tt-ease),border-color .18s var(--tt-ease)}.tt-preview__nav:hover:not(:disabled){border-color:var(--tt-accent);color:var(--tt-accent-strong);box-shadow:var(--tt-shadow-md);transform:translateY(-50%) scale(1.06)}.tt-preview__nav:disabled{opacity:0;pointer-events:none}.tt-preview__nav--prev{left:var(--tt-s2)}.tt-preview__nav--next{right:var(--tt-s2)}.tt-preview__nav-icon{transform:rotate(180deg)}.tt-preview__caption{text-align:center;margin-top:var(--tt-s2);height:1.6em}.tt-preview__caption-text{display:inline-block;font-weight:600;color:var(--tt-ink-soft);animation:tt-caption-in .35s var(--tt-ease)}.tt-preview__dots{display:flex;align-items:center;justify-content:center;gap:var(--tt-s2);margin-top:var(--tt-s3)}.tt-preview__dot{width:7px;height:7px;padding:0;border:none;border-radius:var(--tt-r-pill);background:var(--tt-border-strong);transition:width .25s var(--tt-ease),background .25s var(--tt-ease)}.tt-preview__dot.is-active{width:22px;background:var(--tt-accent)}@keyframes tt-caption-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:640px){.tt-preview__item{width:168px}.tt-preview__nav{display:none}}@media(prefers-reduced-motion:reduce){.tt-preview__item{transform:none!important;opacity:1!important}.tt-preview__caption-text{animation:none}}.tt-sec-head{max-width:60ch;margin-bottom:var(--tt-s5)}.tt-sec-head h2{font-size:clamp(2rem,4.6vw,3rem);margin-top:var(--tt-s3)}.tt-sec-head p{color:var(--tt-ink-soft);font-size:1.1rem}.tt-sec-head--center{margin-left:auto;margin-right:auto;text-align:center}.tt-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-s4)}.tt-proof__item{display:flex;gap:var(--tt-s3);align-items:flex-start;padding:var(--tt-s5);border:1px solid var(--tt-border);border-radius:var(--tt-r-md);background:var(--tt-surface)}.tt-proof__dot{flex:none;width:10px;height:10px;margin-top:7px;border-radius:50%;background:var(--tt-accent);box-shadow:0 0 0 4px #1e9e5b26}.tt-proof__item h3{font-size:1.05rem;margin-bottom:4px}.tt-proof__item p{color:var(--tt-ink-muted);margin:0;font-size:.95rem}.tt-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-s4)}.tt-feature{padding:var(--tt-s6);border:1px solid var(--tt-border);border-radius:var(--tt-r-lg);background:linear-gradient(180deg,var(--tt-surface),var(--tt-bg-elev));transition:transform .25s var(--tt-ease),border-color .25s var(--tt-ease)}.tt-feature:hover{transform:translateY(-4px);border-color:var(--tt-border-strong)}.tt-feature__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--tt-r-md);background:#1e9e5b1f;color:var(--tt-accent);margin-bottom:var(--tt-s4)}.tt-feature h3{font-size:1.15rem;margin-bottom:var(--tt-s2)}.tt-feature p{color:var(--tt-ink-muted);margin:0}.tt-tick-band{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:var(--tt-s7);padding:var(--tt-s8);border-radius:var(--tt-r-lg);border:1px solid var(--tt-border);background:radial-gradient(40rem 20rem at 90% -20%,rgba(30,158,91,.12),transparent 60%),var(--tt-surface)}.tt-tick-band h2{font-size:clamp(1.8rem,4vw,2.6rem)}.tt-tick-band p{color:var(--tt-ink-soft);font-size:1.08rem;margin:0}.tt-tick-formula{display:flex;align-items:center;justify-content:center;gap:var(--tt-s4);padding:var(--tt-s6);border-radius:var(--tt-r-md);background:var(--tt-bg);border:1px solid var(--tt-border)}.tt-tick-formula .op{color:var(--tt-ink-muted);font-size:1.6rem}.tt-tick-chip{text-align:center}.tt-tick-chip strong{display:block;font-size:1.6rem;color:var(--tt-accent)}.tt-tick-chip span{font-size:.8rem;color:var(--tt-ink-muted)}.tt-aud{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tt-s4)}.tt-aud__item{padding:var(--tt-s5);border-radius:var(--tt-r-md);border:1px solid var(--tt-border);background:var(--tt-surface)}.tt-aud__item h3{font-size:1rem;margin-bottom:var(--tt-s2)}.tt-aud__item p{color:var(--tt-ink-muted);margin:0;font-size:.92rem}.tt-cta{text-align:center;padding:var(--tt-s9) var(--tt-s6);border-radius:var(--tt-r-lg);border:1px solid var(--tt-border);background:radial-gradient(40rem 24rem at 50% -30%,rgba(30,158,91,.16),transparent 60%),var(--tt-bg-elev)}.tt-cta h2{font-size:clamp(2rem,5vw,3.2rem)}.tt-cta p{color:var(--tt-ink-soft);max-width:52ch;margin:0 auto var(--tt-s6);font-size:1.1rem}.tt-cta__actions{display:flex;gap:var(--tt-s3);justify-content:center;flex-wrap:wrap}.tt-cta__mail{margin-top:var(--tt-s6);color:var(--tt-ink-muted);font-size:.95rem}.tt-cta__mail a{color:var(--tt-accent);font-weight:600}@media(max-width:900px){.tt-proof,.tt-features{grid-template-columns:1fr}.tt-aud{grid-template-columns:1fr 1fr}.tt-tick-band{grid-template-columns:1fr;padding:var(--tt-s6)}}@media(max-width:560px){.tt-aud{grid-template-columns:1fr}}.tt-lb{max-width:760px;margin:0 auto;padding:var(--tt-s5);border:1px solid var(--tt-border);border-radius:var(--tt-r-lg);background:linear-gradient(180deg,var(--tt-surface),var(--tt-bg-elev))}.tt-lb__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tt-s2);counter-reset:rank}.tt-lb__row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:var(--tt-s4);padding:var(--tt-s3) var(--tt-s4);border-radius:var(--tt-r-md);border:1px solid transparent;transition:background .18s var(--tt-ease),border-color .18s var(--tt-ease)}.tt-lb__row:hover{background:var(--tt-surface-2)}.tt-lb__row--skeleton{height:58px;background:linear-gradient(90deg,var(--tt-surface),var(--tt-surface-2),var(--tt-surface));background-size:200% 100%;animation:tt-shimmer 1.3s linear infinite}@keyframes tt-shimmer{to{background-position:-200% 0}}.tt-lb__rank{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:700;color:var(--tt-ink-soft);background:var(--tt-surface-2)}.tt-lb__row--gold{border-color:#e6a81773}.tt-lb__row--gold .tt-lb__rank{color:var(--tt-medal-ink);background:var(--tt-gold)}.tt-lb__row--silver .tt-lb__rank{color:#fff;background:var(--tt-silver)}.tt-lb__row--bronze .tt-lb__rank{color:#fff;background:var(--tt-bronze)}.tt-lb__body{min-width:0}.tt-lb__meta{display:flex;align-items:baseline;gap:var(--tt-s2);margin-bottom:6px}.tt-lb__name{font-weight:600;color:var(--tt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-lb__id{font-size:.72rem;color:var(--tt-ink-faint)}.tt-lb__bar-track{height:8px;border-radius:var(--tt-r-pill);background:var(--tt-surface-2);overflow:hidden}.tt-lb__bar{height:100%;border-radius:var(--tt-r-pill);background:linear-gradient(90deg,var(--tt-accent-strong),var(--tt-accent));width:0;animation:tt-bar-grow 1s var(--tt-ease) forwards}.tt-lb__row--gold .tt-lb__bar{background:linear-gradient(90deg,var(--tt-accent),var(--tt-gold))}.tt-lb__score{text-align:right;white-space:nowrap}.tt-lb__score strong{display:block;font-size:1.15rem;color:var(--tt-ink)}.tt-lb__score span{font-size:.72rem;color:var(--tt-ink-muted);letter-spacing:.04em}.tt-lb__sample,.tt-lb__msg{text-align:center;color:var(--tt-ink-muted);font-size:.9rem;margin:var(--tt-s5) 0 0}@keyframes tt-bar-grow{0%{width:0}}@media(max-width:560px){.tt-lb__row{grid-template-columns:32px 1fr auto;gap:var(--tt-s3)}.tt-lb__score strong{font-size:1rem}}@media(prefers-reduced-motion:reduce){.tt-lb__bar,.tt-lb__row--skeleton{animation:none}}.tt-auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.tt-auth__panel--brand{position:relative;padding:var(--tt-s8);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(40rem 30rem at 20% 20%,rgba(30,158,91,.16),transparent 60%),var(--tt-bg-elev);border-right:1px solid var(--tt-border);overflow:hidden}.tt-auth__logo{align-self:flex-start}.tt-auth__pitch h2{font-size:clamp(2rem,4vw,3rem);line-height:1.05}.tt-auth__pitch p{color:var(--tt-ink-soft);font-size:1.1rem}.tt-auth__pitch ul{list-style:none;padding:0;margin:var(--tt-s5) 0 0;display:flex;flex-direction:column;gap:var(--tt-s3)}.tt-auth__pitch li{display:flex;align-items:center;gap:var(--tt-s2);color:var(--tt-ink-soft)}.tt-auth__pitch li svg{color:var(--tt-accent)}.tt-auth__panel--form{display:grid;place-items:center;padding:var(--tt-s6)}.tt-auth__card{width:100%;max-width:420px}.tt-auth__back{display:inline-flex;align-items:center;gap:var(--tt-s2);color:var(--tt-ink-muted);font-size:.9rem;margin-bottom:var(--tt-s5)}.tt-auth__back:hover{color:var(--tt-ink)}.tt-auth__back-icon{transform:rotate(180deg)}.tt-auth__title{font-size:1.9rem;margin-bottom:var(--tt-s2)}.tt-auth__subtitle{color:var(--tt-ink-muted);margin-bottom:var(--tt-s5)}.tt-auth__methods{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-s2);padding:4px;border-radius:var(--tt-r-pill);background:var(--tt-surface);border:1px solid var(--tt-border);margin-bottom:var(--tt-s5)}.tt-auth__method{display:inline-flex;align-items:center;justify-content:center;gap:var(--tt-s2);padding:.55rem;border:none;background:transparent;color:var(--tt-ink-muted);border-radius:var(--tt-r-pill);font-weight:600;font-size:.92rem;transition:background .18s var(--tt-ease),color .18s var(--tt-ease)}.tt-auth__method.is-active{background:var(--tt-accent);color:var(--tt-accent-ink)}.tt-auth__form,.tt-auth__form form{display:flex;flex-direction:column;gap:var(--tt-s3)}.tt-field{display:flex;flex-direction:column;gap:6px}.tt-field span{font-size:.85rem;color:var(--tt-ink-soft);font-weight:500}.tt-field input{width:100%;padding:.75rem .9rem;border-radius:var(--tt-r-md);border:1px solid var(--tt-border-strong);background:var(--tt-bg);color:var(--tt-ink);font-size:1rem;transition:border-color .15s var(--tt-ease),box-shadow .15s var(--tt-ease)}.tt-field input::placeholder{color:var(--tt-ink-faint)}.tt-field input:focus{outline:none;border-color:var(--tt-accent);box-shadow:0 0 0 3px #1e9e5b2e}.tt-auth__hint{font-size:.82rem;color:var(--tt-ink-faint);margin:-4px 0 0}.tt-auth__link{align-self:flex-start;background:none;border:none;color:var(--tt-accent);font-size:.88rem;font-weight:600;padding:0;cursor:pointer}.tt-auth__link:hover{text-decoration:underline}.tt-auth__link--inline{display:inline}.tt-auth__alert{border-radius:var(--tt-r-md);padding:.7rem .9rem;font-size:.9rem;margin-bottom:var(--tt-s4)}.tt-auth__alert--error{background:var(--tt-danger-tint);border:1px solid rgba(192,54,44,.28);color:var(--tt-danger)}.tt-auth__alert--ok{background:#1e9e5b1f;border:1px solid rgba(30,158,91,.4);color:var(--tt-accent)}.tt-auth__divider{display:flex;align-items:center;gap:var(--tt-s3);color:var(--tt-ink-faint);font-size:.8rem;margin:var(--tt-s5) 0}.tt-auth__divider:before,.tt-auth__divider:after{content:"";flex:1;height:1px;background:var(--tt-border)}.tt-auth__google{color:var(--tt-ink)}.tt-auth__switch{text-align:center;color:var(--tt-ink-muted);font-size:.92rem;margin:var(--tt-s5) 0 0}@media(max-width:860px){.tt-auth{grid-template-columns:1fr}.tt-auth__panel--brand{display:none}}.tt-dash{padding:var(--tt-s8) 0 var(--tt-s6);min-height:70vh}.tt-dash__head{margin-bottom:var(--tt-s7)}.tt-dash__head h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:var(--tt-s2) 0}.tt-dash__sub{color:var(--tt-ink-muted);margin:0}.tt-dash__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tt-s4);margin-bottom:var(--tt-s6)}.tt-stat{display:flex;flex-direction:column;gap:2px;padding:var(--tt-s5);border-radius:var(--tt-r-lg);border:1px solid var(--tt-border);background:linear-gradient(180deg,var(--tt-surface),var(--tt-bg-elev))}.tt-stat--accent{border-color:#1e9e5b66;background:radial-gradient(20rem 12rem at 90% -40%,rgba(30,158,91,.18),transparent 60%),var(--tt-surface)}.tt-stat__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--tt-r-md);background:#1e9e5b1f;color:var(--tt-accent);margin-bottom:var(--tt-s3)}.tt-stat__value{font-size:2rem;font-weight:800;line-height:1.1;letter-spacing:-.02em}.tt-stat--accent .tt-stat__value{color:var(--tt-accent)}.tt-stat__label{font-weight:600;color:var(--tt-ink-soft);font-size:.95rem}.tt-stat__hint{color:var(--tt-ink-faint);font-size:.82rem}.tt-dash__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--tt-s4);margin-bottom:var(--tt-s6)}.tt-dash__grid h2{font-size:1.15rem;margin-bottom:var(--tt-s4)}.tt-heat{display:flex;gap:4px;overflow-x:auto;padding-bottom:var(--tt-s2)}.tt-heat__week{display:flex;flex-direction:column;gap:4px}.tt-heat__cell{width:15px;height:15px;border-radius:4px;background:var(--tt-surface-2);border:1px solid var(--tt-border);flex:none}.tt-heat__cell.is-active{background:var(--tt-accent);border-color:var(--tt-accent-strong);box-shadow:0 0 6px var(--tt-accent-glow)}.tt-heat__cell.is-future{opacity:.35}.tt-heat__legend{display:flex;align-items:center;gap:var(--tt-s2);margin-top:var(--tt-s4);color:var(--tt-ink-muted);font-size:.82rem}.tt-heat__legend .tt-heat__cell{width:12px;height:12px}.tt-sessions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tt-s2)}.tt-sessions__item{display:flex;align-items:center;gap:var(--tt-s3);padding:var(--tt-s3) 0;border-bottom:1px solid var(--tt-border)}.tt-sessions__item:last-child{border-bottom:none}.tt-sessions__dot{width:9px;height:9px;border-radius:50%;background:var(--tt-accent);flex:none}.tt-sessions__date{color:var(--tt-ink);font-weight:500}.tt-sessions__tag{margin-left:auto;font-size:.75rem;color:var(--tt-accent);background:#1e9e5b1f;padding:2px 8px;border-radius:var(--tt-r-pill)}.tt-dash__empty{color:var(--tt-ink-muted);font-size:.95rem}.tt-dash__nudge{display:flex;align-items:center;justify-content:space-between;gap:var(--tt-s4);margin-bottom:var(--tt-s6);border-color:#1e9e5b59}.tt-dash__nudge h3{margin-bottom:4px}.tt-dash__nudge p{color:var(--tt-ink-muted);margin:0}.tt-dash__nudge svg{color:var(--tt-accent);flex:none}.tt-dash__panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--tt-s4)}.tt-panel{position:relative}.tt-panel__tag{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tt-accent);margin-bottom:var(--tt-s3)}.tt-panel h3{font-size:1.1rem;margin-bottom:var(--tt-s2)}.tt-panel p{color:var(--tt-ink-muted);margin:0 0 var(--tt-s4);font-size:.92rem}.tt-panel__soon{font-size:.75rem;color:var(--tt-ink-faint);border:1px solid var(--tt-border);border-radius:var(--tt-r-pill);padding:2px 10px}.tt-dash__foot{margin-top:var(--tt-s6);color:var(--tt-ink-muted)}@media(max-width:900px){.tt-dash__stats{grid-template-columns:1fr 1fr}.tt-dash__grid{grid-template-columns:1fr}}@media(max-width:480px){.tt-dash__stats{grid-template-columns:1fr 1fr}}.tt-spinner{min-height:60vh;display:grid;place-items:center}.tt-spinner__ring{width:42px;height:42px;border-radius:50%;border:3px solid var(--tt-surface-2);border-top-color:var(--tt-accent);animation:tt-spin .8s linear infinite}@keyframes tt-spin{to{transform:rotate(360deg)}}:root{--tt-bg: #ffffff;--tt-bg-elev: #f5f5f7;--tt-surface: #ffffff;--tt-surface-2: #eef1f0;--tt-border: #e6e8ea;--tt-border-strong: #d5d9db;--tt-ink: #16201a;--tt-ink-soft: #3c4640;--tt-ink-muted: #67716b;--tt-ink-faint: #9aa39d;--tt-accent: #1e9e5b;--tt-accent-strong: #17824a;--tt-accent-ink: #ffffff;--tt-accent-glow: rgba(30, 158, 91, .22);--tt-accent-tint: rgba(30, 158, 91, .1);--tt-accent-tint-2: rgba(30, 158, 91, .16);--tt-gold: #e6a817;--tt-silver: #9aa3ab;--tt-bronze: #c77b3b;--tt-medal-ink: #16201a;--tt-danger: #c0362c;--tt-danger-tint: rgba(192, 54, 44, .08);--tt-warn: #b7791f;--tt-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;--tt-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--tt-s1: 4px;--tt-s2: 8px;--tt-s3: 12px;--tt-s4: 16px;--tt-s5: 24px;--tt-s6: 32px;--tt-s7: 48px;--tt-s8: 64px;--tt-s9: 96px;--tt-s10: 128px;--tt-r-sm: 8px;--tt-r-md: 14px;--tt-r-lg: 22px;--tt-r-pill: 999px;--tt-shadow-sm: 0 1px 2px rgba(16, 32, 24, .06);--tt-shadow-md: 0 14px 34px rgba(16, 32, 24, .1);--tt-shadow-glow: 0 10px 28px rgba(30, 158, 91, .22);--tt-maxw: 1120px;--tt-nav-h: 64px;--tt-nav-bg: rgba(255, 255, 255, .72);--tt-ease: cubic-bezier(.22, 1, .36, 1);--tt-dur: .5s}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--tt-font);background:var(--tt-bg);color:var(--tt-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.55}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(60rem 40rem at 80% -10%,rgba(30,158,91,.1),transparent 60%),radial-gradient(50rem 40rem at -10% 10%,rgba(30,158,91,.08),transparent 55%);pointer-events:none}h1,h2,h3,h4{line-height:1.1;letter-spacing:-.02em;margin:0 0 var(--tt-s4);font-weight:700}p{margin:0 0 var(--tt-s4)}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--tt-accent);outline-offset:2px;border-radius:4px}.tt-container{width:100%;max-width:var(--tt-maxw);margin:0 auto;padding:0 var(--tt-s5)}.tt-section{padding-top:var(--tt-s6);padding-bottom:var(--tt-s6)}@media(max-width:720px){.tt-section{padding-top:var(--tt-s4);padding-bottom:var(--tt-s4)}}.tt-eyebrow{display:inline-flex;align-items:center;gap:var(--tt-s2);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tt-accent)}.tt-lead{color:var(--tt-ink-soft);font-size:1.15rem;max-width:46ch}.tt-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tt-s2);border:1px solid transparent;border-radius:var(--tt-r-pill);padding:.7rem 1.4rem;font-size:.98rem;font-weight:600;transition:transform .18s var(--tt-ease),background .18s var(--tt-ease),border-color .18s var(--tt-ease),opacity .18s var(--tt-ease);will-change:transform}.tt-btn:hover{transform:translateY(-1px)}.tt-btn:active{transform:translateY(0)}.tt-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.tt-btn--primary{background:var(--tt-accent);color:var(--tt-accent-ink);box-shadow:var(--tt-shadow-glow)}.tt-btn--primary:hover{background:var(--tt-accent-strong)}.tt-btn--ghost{background:transparent;color:var(--tt-ink);border-color:var(--tt-border-strong)}.tt-btn--ghost:hover{border-color:var(--tt-accent);color:var(--tt-accent)}.tt-btn--block{width:100%}.tt-card{background:linear-gradient(180deg,var(--tt-surface),var(--tt-bg-elev));border:1px solid var(--tt-border);border-radius:var(--tt-r-lg);padding:var(--tt-s6)}.tt-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--tt-ease),transform .6s var(--tt-ease)}.tt-reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.tt-reveal{opacity:1;transform:none}}.tt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tt-mono{font-family:var(--tt-font-mono)}
