/* TomTechLab light product system: calm, tactile and motion-led. */
:root{--ink:#1d1d1f;--paper:#f5f5f7;--acid:#0071e3;--orange:#bf4800;--line:rgba(29,29,31,.12);--mono:'DM Mono',ui-monospace,monospace;--sans:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--sans)}.site-header{position:sticky;top:0;background:rgba(245,245,247,.78);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(29,29,31,.08);min-height:64px;padding:12px clamp(20px,5vw,80px)}.brand{font-size:.76rem}.brand img{width:34px;height:34px;border-radius:9px}.site-header nav{font-size:.82rem;gap:clamp(16px,2.5vw,32px)}.portal-link{border:0;background:var(--ink);color:#fff;border-radius:980px;padding:9px 14px;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s}.portal-link:hover{background:#424245;color:#fff;transform:scale(1.04)}.hero{min-height:calc(100vh - 64px);grid-template-columns:1fr;display:flex;flex-direction:column;text-align:center;justify-content:center;padding:clamp(90px,12vw,170px) 20px 90px;gap:54px;background:radial-gradient(circle at 50% 34%,rgba(0,113,227,.14),transparent 28%),var(--paper)}.hero-copy{display:flex;flex-direction:column;align-items:center}.eyebrow{color:#6e6e73;font-size:.68rem;letter-spacing:.12em}.pulse{background:#34c759;box-shadow:0 0 0 0 rgba(52,199,89,.4)}h1{font-size:clamp(4rem,10vw,9.5rem);line-height:.86;letter-spacing:-.1em;margin:25px 0 28px;max-width:1000px}h1 em{color:var(--ink);background:linear-gradient(100deg,#0071e3,#5e5ce6 48%,#bf4800);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{color:#6e6e73;max-width:610px;font-size:clamp(1.05rem,1.6vw,1.3rem)}.actions{justify-content:center}.button-primary{background:var(--acid);color:#fff;border-radius:980px;padding:15px 21px;box-shadow:0 12px 25px rgba(0,113,227,.2);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.button-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 35px rgba(0,113,227,.28)}.text-link{color:var(--acid)}.signal-field{height:min(48vw,540px);width:min(920px,94vw);min-height:300px;margin:0 auto;border:0;border-radius:38px;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.9),rgba(220,229,245,.75) 35%,rgba(245,245,247,.2) 68%),linear-gradient(135deg,#dbeafe,#f5f5f7 60%,#fde7d4);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 25px 80px rgba(31,38,135,.12);overflow:hidden}.orb{background:linear-gradient(135deg,#0071e3,#5e5ce6);box-shadow:0 30px 100px rgba(0,113,227,.35);width:24%;left:38%;top:38%}.orbit{border-color:rgba(0,113,227,.4)}.orbit-b{border-color:rgba(191,72,0,.35)}.signal-lines{stroke:rgba(29,29,31,.35)}.signal-readout{color:#6e6e73}.signal-readout strong{color:#34c759}.ticker{background:#1d1d1f;color:#fff;border:0;padding:11px 0}.section{padding:clamp(90px,12vw,170px) clamp(20px,8vw,128px)}.section h2{letter-spacing:-.08em}.section-intro>p:last-child,.manifesto p:not(.eyebrow){color:#6e6e73}.system-grid{gap:18px}.system-card{border:0;border-radius:28px;min-height:390px;padding:30px;box-shadow:0 8px 30px rgba(0,0,0,.06);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}.system-card:hover{transform:translateY(-9px) scale(1.015);box-shadow:0 25px 55px rgba(0,0,0,.14)}.card-support{background:#e8f1ff}.card-status{background:#fff;color:var(--ink)}.card-gaming{background:#fbe9dc}.card-index{color:#6e6e73}.card-arrow{color:var(--acid)}.manifesto{background:#1d1d1f;color:#f5f5f7;min-height:620px}.manifesto-number{color:#2d2d30}.manifesto .eyebrow{color:#a1a1a6}.manifesto p:not(.eyebrow){color:#a1a1a6}.metrics{border-color:var(--line)}.metric{border-color:var(--line)}.metric strong{color:var(--ink)}.metric span{color:#6e6e73}footer{background:#e8e8ed;color:#1d1d1f;border-top:1px solid var(--line)}footer p{color:#6e6e73}footer div a:hover{color:var(--acid)}@media(max-width:760px){.site-header{min-height:58px}.hero{min-height:auto;padding-top:92px}.signal-field{border-radius:25px}.system-card{min-height:290px;border-radius:22px}.manifesto{min-height:500px}}
@media(prefers-reduced-motion:reduce){.portal-link,.button-primary,.system-card{transition:none!important}}
/* Focused Apple sign-in surface */
body:has(#signin){min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 18% 20%,rgba(0,113,227,.16),transparent 32%),radial-gradient(circle at 84% 76%,rgba(191,72,0,.12),transparent 30%),var(--paper)}
body:has(#signin)::before{content:'TTL / 01';position:fixed;top:24px;left:28px;font:600 .68rem var(--mono);letter-spacing:.16em;color:#6e6e73}
body:has(#signin)::after{content:'IDENTITY GATEWAY';position:fixed;right:28px;bottom:24px;font:600 .68rem var(--mono);letter-spacing:.16em;color:#a1a1a6;transform:rotate(-90deg);transform-origin:bottom right}
body:has(#signin) .section{width:min(1080px,calc(100% - 48px));min-height:min(720px,78vh);padding:clamp(54px,9vw,120px) clamp(32px,9vw,150px);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.7);border:1px solid rgba(29,29,31,.1);border-radius:42px;box-shadow:0 36px 110px rgba(31,38,135,.14),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(24px);text-align:center}
body:has(#signin) .section::before{content:'';display:grid;place-items:center;width:68px;height:68px;margin-bottom:38px;border-radius:20px;background:#1d1d1f;color:#fff;font-size:2rem;box-shadow:0 14px 30px rgba(0,0,0,.16)}
body:has(#signin) h1{font-size:clamp(3.2rem,8vw,6.8rem);letter-spacing:-.1em;line-height:.88;margin:20px 0 26px}
body:has(#signin) .lead{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.6;max-width:600px}
body:has(#signin) #status{width:min(520px,100%);box-sizing:border-box;margin:34px 0 16px;padding:14px 18px;border-radius:14px;background:rgba(29,29,31,.05);color:#6e6e73;font:500 .78rem var(--mono);letter-spacing:.02em}
body:has(#signin) #signin{width:min(520px,100%);border:0;border-radius:980px;padding:18px 26px;background:#1d1d1f;color:#fff;font:600 1.05rem var(--sans);cursor:pointer;transition:transform .3s,box-shadow .3s,opacity .3s}
body:has(#signin) #signin:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.2)}
body:has(#signin) #signin:disabled{opacity:.45;cursor:wait}
body:has(#signin) .section>a{display:inline-block;margin-top:24px;color:#6e6e73;font-size:.9rem}
@media(max-width:600px){body:has(#signin) .section{width:calc(100% - 24px);padding:30px 24px;border-radius:26px}body:has(#signin)::after{display:none}}
