/* TASK-103: product composition. Site tokens are consumed, never redefined. */
.tt-landing{overflow:clip;color:var(--text-1);font-family:var(--sans)}
.tt-width{width:min(1240px,calc(100% - 80px));margin-inline:auto}
.tt-landing h1,.tt-landing h2:not(.faq-title),.tt-landing h3{font-family:var(--sans);font-weight:600;letter-spacing:-.055em;line-height:1.02;color:var(--text-0);margin:0}
.tt-landing h1{font-size:clamp(48px,7.8vw,112px)}
.tt-landing h2:not(.faq-title){font-size:clamp(40px,4.7vw,68px)}
.tt-landing h3{font-size:clamp(28px,3vw,44px)}
.tt-landing h1 span,.tt-landing h2:not(.faq-title) span{color:var(--accent)}
.tt-landing p:not(.faq-a){color:var(--text-2);font-size:16px;line-height:1.65;margin:22px 0 0;max-width:480px}
.tt-landing :where(a,button,summary,input):focus-visible,.tt-skip:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.tt-landing :where(p,h1,h2,h3,li,code){overflow-wrap:anywhere}
.tt-landing a{text-decoration:none;color:inherit}.tt-landing a.btn-cta{color:#fff}
.tt-skip{position:fixed;top:8px;left:16px;padding:12px 20px;z-index:120;background:var(--bg-card);color:var(--text-0);transform:translateY(-150%)}
.tt-skip:focus{transform:translateY(0)}
.tt-hero{padding-top:90px;position:relative}
.tt-hero-copy{position:relative;z-index:2;pointer-events:none}
.tt-hero-copy .btn-cta,.tt-final .btn-cta{margin-top:32px}.tt-hero-copy .btn-cta{pointer-events:auto}
.tt-hero .tt-product{font-family:var(--mono);font-size:11px;margin:0 0 32px;color:var(--text-2)}
.tt-hero .tt-lead{max-width:400px;font-size:17px;margin-top:26px}
.tt-hero-stage{position:relative;width:1100px;margin-left:calc(50% - 150px);margin-top:-210px;margin-bottom:-75px;padding:28px 0 80px;z-index:1}
.tt-hero-editor{position:relative;width:1040px;min-height:540px;border:1px solid var(--border-focus);border-radius:20px;background:var(--bg-card);transform:rotate(-5deg);box-shadow:0 35px 90px color-mix(in srgb,var(--bg) 85%,transparent)}
.tt-browserbar{display:flex;align-items:center;gap:28px;height:50px;padding:0 22px;border-bottom:1px solid var(--border-base);font-family:var(--mono);font-size:11px;color:var(--text-2);border-radius:20px 20px 0 0;background:var(--bg-raised)}
.tt-browserbar>span:first-child{color:var(--accent);letter-spacing:5px;font-size:10px}
.tt-browser-type{margin-left:auto;color:var(--accent);font-size:24px}
.tt-editor-workspace{display:grid;grid-template-columns:160px 1fr 150px;min-height:490px}
.tt-layer-panel,.tt-settings{padding:26px 16px;border-right:1px solid var(--border-base);font-size:11px;color:var(--text-2)}
.tt-layer-panel>span{display:block;margin-bottom:30px;color:var(--text-1)}
.tt-layer-panel i{display:block;font-style:normal;padding:12px 0}
.tt-layer-panel .tt-layer-selected{color:var(--accent);background:var(--accent-dim);margin-inline:-16px;padding-inline:16px}
.tt-settings{border-right:0;border-left:1px solid var(--border-base)}
.tt-settings b{font-size:40px;display:block;margin-block:24px;color:var(--text-0)}
.tt-settings div{margin:28px 0 10px}
.tt-settings i{display:block;width:90px;height:24px;border-radius:5px;border:1px solid var(--border-bold)}
.tt-editor-canvas{display:flex;flex-direction:column;justify-content:center;padding:30px 40px;background:radial-gradient(ellipse at 60% 50%,var(--accent-dim),transparent 70%)}
.tt-canvas-label{font-size:10px;font-family:var(--mono);color:var(--text-2);margin-bottom:18px}
.tt-selection{position:relative;border:1px solid var(--accent);padding:20px 18px}
.tt-landing .tt-selection p{font-size:42px;line-height:1.35;color:var(--text-0);max-width:none;margin:0;letter-spacing:-.04em;transition:opacity .2s}
.tt-selection-dot{position:absolute;top:-4px;left:-4px;width:7px;height:7px;background:var(--accent);border:1px solid var(--bg-card)}
.tt-selection-dot:last-child{top:auto;left:auto;bottom:-4px;right:-4px}
.tt-canvas-foot{font-size:10px;color:var(--text-3);font-family:var(--mono);margin-top:25px}
.tt-hero-popup{position:absolute;left:520px;bottom:-50px;width:300px;border:1px solid var(--border-focus);border-radius:15px;background:var(--bg-raised);padding:24px;box-shadow:0 18px 55px var(--bg);transform:rotate(5deg)}
.tt-popup-title{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-0)}
.tt-popup-title>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--accent-dim);color:var(--accent);font-size:25px}
.tt-hero-popup p{font-size:11px;margin-top:15px;color:var(--text-2)}
.tt-hero-popup button{width:100%;border:1px solid var(--accent);background:var(--accent);color:var(--text-0);padding:13px;border-radius:8px;margin-top:18px;font:500 12px var(--sans);cursor:pointer;min-height:44px}
.tt-hero-popup>span{display:block;font-size:10px;color:var(--text-2);margin-top:10px;min-height:18px}
.tt-orbit-glyph{position:absolute;left:-220px;bottom:30px;font-size:220px;line-height:1;font-weight:500;color:var(--accent);opacity:.45;z-index:-1}
.tt-landing mark{color:var(--accent);background:transparent}
.tt-bond{white-space:nowrap;border-bottom:2px solid var(--accent)}
.tt-heading-line{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:60px}
.tt-heading-line>p{max-width:360px;margin:0}
.tt-difference{padding-block:230px 160px}
.tt-slider{position:relative;background:var(--bg-card);border-radius:24px;border:1px solid var(--border-base);min-height:535px;overflow:hidden;--tt-split:50%}
.tt-slider-base,.tt-slider-before{position:absolute;inset:0;padding:40px 56px}
.tt-demo-label{font-size:12px;color:var(--text-2);font-family:var(--mono);display:block;margin-bottom:36px}
.tt-slider .tt-slider-base p,.tt-slider .tt-slider-before p{text-align:center;font-size:clamp(30px,3.8vw,55px);color:var(--text-0);line-height:1.4;letter-spacing:-.035em;margin:0;max-width:none}
.tt-slider-before{background:var(--bg-raised);clip-path:inset(0 calc(100% - var(--tt-split)) 0 0)}
.tt-slider-before p{color:var(--text-2)!important}
.tt-slider-divider{position:absolute;top:0;bottom:0;left:var(--tt-split);width:2px;background:var(--accent);pointer-events:none}
.tt-slider-divider>span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;background:var(--accent);color:var(--text-0);font-size:19px;box-shadow:0 0 35px var(--accent-dim)}
.tt-slider input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;-webkit-appearance:none;appearance:none;background:transparent}
.tt-slider:focus-within{outline:3px solid var(--accent);outline-offset:5px}
.tt-landing .tt-caption{font-size:11px;max-width:none;margin-top:20px;color:var(--text-2)}
.tt-scroll-section{padding-bottom:150px}
.tt-scroll-layout{display:grid;grid-template-columns:7fr 5fr;gap:100px;align-items:start}
.tt-sticky-visual{position:sticky;top:80px;height:590px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0}
.tt-scroll-glyph{font-size:clamp(120px,17vw,245px);font-weight:500;color:var(--accent);line-height:1;letter-spacing:-.075em;transition:opacity .2s,transform .3s}
.tt-scroll-sample{font-size:30px;line-height:1.5;color:var(--text-0);letter-spacing:-.04em;text-align:center;margin-top:34px;max-width:100%}
.tt-scroll-track{display:flex;gap:12px;margin-top:65px}
.tt-scroll-track i{height:3px;width:45px;background:var(--border-bold);transition:background .2s}
.tt-scroll-track i.is-active{background:var(--accent)}
.tt-scene{display:flex;flex-direction:column;justify-content:center;min-height:470px;position:relative;padding-block:70px}
.tt-scene p{font-size:15px;max-width:320px}
.tt-scene-glyph,.tt-mobile-example{display:none}
.tt-manifest{min-height:840px;display:flex;align-items:center;text-align:center;position:relative;background:radial-gradient(ellipse at 50% 45%,var(--accent-dim),transparent 65%)}
.tt-manifest-symbol{font-size:44px;line-height:1;color:var(--accent);display:block;margin-bottom:42px}
.tt-manifest h2{font-size:clamp(54px,7.5vw,108px)}
.tt-manifest p{margin:30px auto 0;max-width:490px}
.tt-local-path{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:62px;color:var(--text-2);font-family:var(--mono);font-size:11px}
.tt-local-path i{width:70px;height:1px;background:var(--border-bold)}
.tt-local-path b{font-size:28px;font-family:var(--sans);color:var(--accent)}
.tt-install{padding-block:180px;display:grid;grid-template-columns:5fr 7fr;gap:100px;align-items:center}
.tt-install-copy p{font-size:15px;max-width:350px}
.tt-source-link{display:inline-flex;gap:25px;border-bottom:1px solid var(--accent);padding-bottom:8px;margin-top:35px;color:var(--accent)!important;font-size:15px}
.tt-install-visual{min-width:0;transform:rotate(2deg)}
.tt-install-address{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--border-bold);padding:15px 0;margin-bottom:26px;color:var(--text-1);font-size:18px}
.tt-install-address>span{color:var(--accent);font-size:32px}
.tt-install-address code{font-family:var(--mono);font-size:16px}
.tt-install-screen{position:relative;min-height:315px;background:var(--bg-card);border:1px solid var(--border-base);border-radius:14px;padding:24px}
.tt-install-screen-top{display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--text-0);font-size:13px}
.tt-install-screen-top>span{font-size:9px;color:var(--text-2);display:flex;align-items:center;gap:10px}
.tt-install-screen-top i{display:inline-block;width:25px;height:14px;border-radius:10px;background:var(--accent);position:relative}
.tt-install-screen-top i:after{content:'';position:absolute;right:2px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--text-0)}
.tt-load-folder{display:inline-block;border:1px solid var(--border-bold);border-radius:7px;padding:10px 12px;font-size:10px;color:var(--text-1);margin-top:24px}
.tt-folder{position:relative;width:215px;min-height:120px;margin:30px auto 0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-active);border:1px solid var(--border-focus);border-radius:0 12px 12px 12px}
.tt-folder:before{content:'';position:absolute;top:-12px;left:-1px;width:75px;height:12px;border:1px solid var(--border-focus);border-bottom:0;border-radius:7px 7px 0 0;background:var(--bg-active)}
.tt-folder>span{font-size:28px;color:var(--accent);line-height:1;margin-bottom:10px}
.tt-folder b{font-size:12px;color:var(--text-0);font-weight:500}
.tt-folder small{font-family:var(--mono);font-size:10px;color:var(--text-2);margin-top:5px}
.tt-install-instructions{font-size:12px;color:var(--text-2);line-height:1.7;padding-left:18px;margin-top:32px;display:grid;gap:10px;transform:rotate(-2deg)}
.tt-install-instructions li::marker{color:var(--accent)}
.tt-install-instructions code{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere}
.tt-final{position:relative;min-height:870px;display:flex;align-items:center;text-align:center}
.tt-final h2{font-size:clamp(48px,7vw,100px)}
.tt-final p{margin:28px auto 0;max-width:450px}
.tt-final-glyph{font-size:200px;line-height:.5;letter-spacing:0;color:var(--accent);display:block;margin-bottom:75px}
.tt-reveal{transition:opacity .65s,transform .65s}
.tt-motion .tt-reveal:not(.is-visible){opacity:0;transform:translateY(35px)}
.tt-hero-editor.is-applied .tt-selection{box-shadow:0 0 35px var(--accent-dim)}
@media(max-width:1100px){.tt-width{width:calc(100% - 64px)}.tt-hero-stage{margin-left:calc(50% - 90px);margin-top:-170px;transform:scale(.82);transform-origin:left top;margin-bottom:-165px}.tt-heading-line{gap:35px}.tt-scroll-layout{gap:50px}.tt-scroll-sample{font-size:24px}.tt-install{gap:50px}}
@media(max-width:800px){.tt-hero{padding-top:65px}.tt-hero-copy h1{font-size:84px}.tt-hero-copy .tt-lead{max-width:380px}.tt-hero-stage{margin-left:20%;margin-top:25px;transform:scale(.69);margin-bottom:-210px}.tt-difference{padding-top:190px}.tt-heading-line{display:block;margin-bottom:40px}.tt-heading-line>p{margin-top:24px;max-width:440px}.tt-slider{min-height:455px}.tt-slider-base,.tt-slider-before{padding:34px}.tt-slider .tt-slider-base p,.tt-slider .tt-slider-before p{font-size:38px}.tt-scroll-layout{gap:30px}.tt-sticky-visual{height:500px;top:60px}.tt-scroll-glyph{font-size:145px}.tt-scroll-sample{font-size:21px}.tt-scene{min-height:510px}.tt-scene h3{font-size:31px}.tt-manifest{min-height:700px}.tt-install{grid-template-columns:1fr;gap:65px;padding-block:120px}.tt-install-copy p{max-width:460px}.tt-install-visual{width:min(100%,580px);margin-left:auto}.tt-final{min-height:740px}}
@media(max-width:600px){.tt-width{width:calc(100% - 40px)}.tt-hero{padding-top:48px}.tt-hero .tt-product{font-size:9px;margin-bottom:26px}.tt-hero-copy h1{font-size:clamp(48px,13.5vw,78px)}.tt-hero .tt-lead{font-size:15px;max-width:340px;margin-top:24px}.tt-hero-copy .btn-cta,.tt-final .btn-cta{margin-top:27px}.tt-hero-stage{width:100%;margin:55px 0 -65px;padding:0 20px 80px;transform:none}.tt-hero-editor{width:100%;min-height:0;transform:none;border-radius:13px}.tt-browserbar{height:42px;font-size:8px;gap:14px;padding:0 14px;border-radius:13px 13px 0 0}.tt-browserbar>span:first-child{letter-spacing:2px;font-size:7px}.tt-browser-type{display:none}.tt-editor-workspace{grid-template-columns:1fr;min-height:290px}.tt-layer-panel,.tt-settings{display:none}.tt-editor-canvas{padding:24px 17px 55px;min-height:290px}.tt-canvas-label{font-size:9px}.tt-selection{padding:15px 10px}.tt-landing .tt-selection p{font-size:clamp(23px,6.2vw,35px)}.tt-canvas-foot{font-size:8px}.tt-hero-popup{left:auto;right:8px;bottom:-130px;width:245px;transform:rotate(3deg);padding:17px;border-radius:12px}.tt-popup-title{font-size:11px;gap:10px}.tt-popup-title>span{width:30px;height:30px;font-size:21px}.tt-hero-popup p{font-size:10px;margin-top:10px}.tt-hero-popup button{font-size:11px;margin-top:12px;padding:11px}.tt-hero-popup>span{font-size:9px}.tt-orbit-glyph{font-size:120px;left:15px;bottom:-55px;opacity:.3}.tt-difference{padding-block:235px 120px}.tt-landing h2:not(.faq-title){font-size:clamp(37px,9.5vw,52px)}.tt-heading-line>p{font-size:14px;max-width:330px;margin-top:22px}.tt-heading-line{margin-bottom:35px}.tt-slider{width:calc(100% + 40px);margin-left:-20px;min-height:400px;border-radius:0;border-left:0;border-right:0}.tt-slider-base,.tt-slider-before{padding:28px 22px}.tt-demo-label{font-size:10px;margin-bottom:30px}.tt-slider .tt-slider-base p,.tt-slider .tt-slider-before p{font-size:clamp(25px,7vw,37px);line-height:1.6;letter-spacing:-.045em}.tt-slider-divider>span{height:48px;width:48px;font-size:15px}.tt-landing .tt-caption{font-size:10px;line-height:1.6;margin-top:18px}.tt-scroll-section{padding-bottom:30px}.tt-scroll-layout{display:block}.tt-sticky-visual{display:none}.tt-scene{min-height:480px;padding-block:45px;display:flex;justify-content:center;align-items:flex-start;border:0}.tt-scene h3{font-size:32px;max-width:290px}.tt-scene p{font-size:14px;margin-top:18px;max-width:310px}.tt-scene-glyph{display:block;font-size:125px;color:var(--accent);line-height:1;font-weight:500;letter-spacing:-.06em;margin-bottom:25px}.tt-mobile-example{display:block;font-size:24px;line-height:1.6;color:var(--text-0);margin-top:28px;letter-spacing:-.04em}.tt-manifest{min-height:650px;margin-top:50px}.tt-manifest h2{font-size:clamp(50px,12vw,74px)}.tt-manifest-symbol{font-size:37px;margin-bottom:34px}.tt-manifest p{font-size:14px;margin-top:27px;max-width:310px}.tt-local-path{gap:10px;font-size:8px;margin-top:45px}.tt-local-path i{width:23px}.tt-local-path b{font-size:23px}.tt-install{padding-block:110px;gap:45px}.tt-install-copy p{font-size:14px;max-width:330px}.tt-source-link{font-size:14px;margin-top:26px}.tt-install-visual{transform:none}.tt-install-address code{font-size:14px}.tt-install-screen{padding:20px 15px;min-height:300px}.tt-install-screen-top{font-size:11px}.tt-install-screen-top>span{font-size:8px;gap:6px}.tt-load-folder{font-size:9px;padding:9px}.tt-folder{width:185px;margin-top:36px}.tt-install-instructions{transform:none;font-size:11px;gap:12px;margin-top:28px}.tt-install-instructions code{font-size:9px}.tt-final{min-height:660px}.tt-final h2{font-size:clamp(40px,10.5vw,63px)}.tt-final p{font-size:14px;max-width:290px;margin-top:26px}.tt-final-glyph{font-size:150px;margin-bottom:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tt-reveal,.tt-scroll-glyph,.tt-selection p,.tt-scroll-track i{transition:none}.tt-motion .tt-reveal:not(.is-visible){opacity:1;transform:none}.tt-hero-editor,.tt-install-visual{will-change:auto}}
.tt-hero-editor.is-applied .tt-selection:after{content:'';position:absolute;inset:0 auto 0 0;width:2px;background:var(--accent);animation:tt-scan .8s ease-out forwards;pointer-events:none}
@keyframes tt-scan{0%{left:0;opacity:1}90%{left:100%;opacity:1}100%{left:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){.tt-hero-editor.is-applied .tt-selection:after{animation:none;display:none}}
.tt-landing .faq-section{max-width:860px;margin:0 auto;padding:60px 24px 140px}
.tt-landing .faq-section p{margin:0}
