:root{--tt-eco-well:var(--tt-level-well-bg);--tt-eco-raised-fill:var(--tt-level-raised-fill);--tt-eco-raised-rim:var(--tt-level-raised-rim);--tt-eco-raised-shadow:var(--tt-level-raised-shadow);--tt-eco-raised-shadow-hover:var(--tt-level-raised-shadow-hover);--tt-eco-well-rim:var(--tt-level-well-rim);--tt-eco-well-shadow:var(--tt-level-well-shadow);--tt-eco-float-fill:var(--tt-level-floating-fill);--tt-eco-float-rim:var(--tt-level-floating-rim);--tt-eco-float-shadow:var(--tt-level-floating-shadow);--tt-eco-lit-rim:var(--tt-level-lit-rim);--tt-eco-lit-glow:var(--tt-level-lit-shadow);--tt-eco-press-shadow:var(--tt-level-press-shadow);--tt-eco-radius-card:var(--tt-level-radius-raised);--tt-eco-radius-float:var(--tt-level-float-radius);--tt-eco-radius-well:var(--tt-level-radius-well);--tt-eco-gap:var(--tt-level-gap);--tt-eco-pad:var(--tt-level-pad-raised);--tt-eco-gutter:var(--tt-level-float-gutter);--tt-eco-motion:var(--tt-depth-motion)}.tt-eco-const{min-width:0;margin:0}.tt-eco-const figcaption{margin-top:var(--tt-space-3);color:var(--tt-text-quiet);font-size:var(--tt-type-meta);text-align:center}.tt-eco-const__stage{--tt-eco-port-rx:35%;aspect-ratio:1/.86;width:min(100%,38rem);margin:0 auto;position:relative;container-type:inline-size}.tt-eco-const--band .tt-eco-const__stage{aspect-ratio:1/.56;width:min(100%,60rem)}.tt-eco-const__stage:before{content:"";pointer-events:none;background:radial-gradient(30% 34%,#58cd9933,#0000 72%),radial-gradient(60% 60% at 50% 44%,#ffffff0f,#0000 74%);position:absolute;inset:-6%}.tt-eco-const__field{position:absolute;inset:0}.tt-eco-const__ring{border:1px solid #0000;border-radius:50%;position:absolute}.tt-eco-const__ring--outer{background:radial-gradient(at 50% 30%,#ffffff0b,#ffffff03 55%,#00000029 100%) padding-box padding-box,linear-gradient(#ffffff12,#ffffff08 45%,#ffffff29) border-box;inset:7% 3%;box-shadow:inset 0 -24px 50px -28px #0000008c,0 40px 80px -40px #000000b3}.tt-eco-const__ring--inner{background:radial-gradient(at 50% 34%,#58cd991c,#58cd9906 60%,#0000001f 100%) padding-box padding-box,linear-gradient(#ffffff0f,#58cd9914 50%,#ffffff2e) border-box;inset:17% 11%;box-shadow:inset 0 -18px 40px -24px #00000080,0 0 90px -34px #58cd9966}.tt-eco-const__spokes{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tt-eco-const__spoke{stroke:#ffffff17;stroke-width:1px;stroke-dasharray:2 4;animation:tt-eco-spoke var(--tt-eco-cycle) ease-in-out infinite;animation-delay:calc(var(--i) * var(--tt-eco-cycle) / 6)}.tt-eco-const__bead{width:calc(5px + 4px * var(--d));height:calc(5px + 4px * var(--d));background:rgb(233 238 236/calc(18% + 26% * var(--d)));animation:tt-eco-bead var(--tt-eco-cycle) ease-in-out infinite;animation-delay:calc(var(--i) * var(--tt-eco-cycle) / 6);border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff0f}.tt-eco-const__core{z-index:2;width:30cqw;min-width:8.5rem;padding:var(--tt-space-4) var(--tt-space-3);border-radius:var(--tt-eco-radius-card);background:var(--tt-eco-raised-fill) padding-box, var(--tt-eco-lit-rim) border-box;box-shadow:var(--tt-eco-raised-shadow), 0 0 80px -14px #58cd996b;text-align:center;border:1px solid #0000;justify-items:center;gap:.2rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tt-eco-const__core-mark{background:var(--tt-accent);border-radius:50%;width:.55rem;height:.55rem;margin-bottom:.2rem;box-shadow:0 0 10px 1px #58cd9999}.tt-eco-const__core-title{color:var(--tt-text);font-size:var(--tt-type-title);font-weight:700;line-height:1.15}.tt-eco-const__core-line{color:var(--tt-text-secondary);font-size:var(--tt-type-meta);line-height:1.35}.tt-eco-const__ports{margin:0;padding:0;list-style:none;position:absolute;inset:0}.tt-eco-const__port{left:calc(50% + var(--tt-eco-port-rx) * var(--cos));transform:translate(-50%, -50%) scale(calc(.84 + .16 * var(--d)));position:absolute}.tt-eco-const__plate{background:var(--tt-eco-raised-fill) padding-box, var(--tt-eco-raised-rim) border-box;width:max-content;max-width:min(12.5rem,28cqw);box-shadow:var(--tt-eco-raised-shadow);color:var(--tt-text);border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.5rem;padding:.5rem .75rem .5rem .55rem;text-decoration:none;display:grid;position:relative}.tt-eco-const__port[data-front=false] .tt-eco-const__plate{filter:brightness(.9)}.tt-main a.tt-eco-const__plate,.tt-main a.tt-eco-const__plate:hover{color:var(--tt-text)}a.tt-eco-const__plate:hover{box-shadow:var(--tt-eco-raised-shadow-hover)}a.tt-eco-const__plate:focus-visible{outline:3px solid var(--tt-focus);outline-offset:3px}.tt-eco-const__glyph{background:var(--tt-eco-well);width:1.9rem;height:1.9rem;box-shadow:var(--tt-eco-well-shadow);color:var(--tt-text-secondary);font-family:var(--tt-font-mono);letter-spacing:.04em;border-radius:9px;grid-row:span 2;place-items:center;font-size:.6875rem;font-weight:650;display:grid}.tt-eco-const__name{font-size:var(--tt-type-compact);font-weight:640;line-height:1.2}.tt-eco-const__count{color:var(--tt-text-quiet);font-size:var(--tt-type-meta);line-height:1.3}.tt-eco-const__plate:after{content:"";border-radius:inherit;box-shadow:var(--tt-eco-lit-glow);opacity:0;pointer-events:none;animation:tt-eco-port var(--tt-eco-cycle) ease-in-out infinite;animation-delay:calc(var(--i) * var(--tt-eco-cycle) / 6);border:1px solid #78dfad8c;position:absolute;inset:-1px}@keyframes tt-eco-port{0%,17%,to{opacity:0}3%,13%{opacity:1}}@keyframes tt-eco-bead{0%,17%,to{background:rgb(233 238 236/calc(18% + 26% * var(--d)));box-shadow:0 0 0 1px #ffffff0f}3%,13%{background:var(--tt-accent);box-shadow:0 0 10px 1px #58cd998c}}@keyframes tt-eco-spoke{0%,17%,to{stroke:#ffffff17}3%,13%{stroke:#58cd998c}}@media (prefers-reduced-motion:reduce){.tt-eco-const__plate:after,.tt-eco-const__bead,.tt-eco-const__spoke{animation:none}}@media (max-width:560px){.tt-eco-const__stage,.tt-eco-const--band .tt-eco-const__stage{--tt-eco-port-rx:33%;aspect-ratio:1/1.02}.tt-eco-const__spokes{transform:scaleX(.943)}.tt-eco-const__plate{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;max-width:6.6rem;padding:.4rem .45rem}.tt-eco-const__glyph{display:none}.tt-eco-const__name{font-size:.6875rem}.tt-eco-const__count{font-size:.625rem}.tt-eco-const__core{width:34cqw;min-width:0;padding:var(--tt-space-3) var(--tt-space-2)}.tt-eco-const__core-title{font-size:var(--tt-type-body)}.tt-eco-const__core-line{display:none}}.tt-eco-band{background:radial-gradient(60rem 30rem at 18% 0%, #58cd990d, transparent 70%), var(--tt-ground)}.tt-eco-legend{gap:var(--tt-space-2) var(--tt-space-5);margin:0 0 var(--tt-space-6);color:var(--tt-text-secondary);font-size:var(--tt-type-compact);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tt-eco-legend li{gap:var(--tt-space-2);align-items:baseline;display:flex}.tt-eco-legend b{color:var(--tt-text);font-weight:620}.tt-eco-status__glyph{color:var(--tt-text-quiet);font-size:var(--tt-type-compact)}.tt-eco-stages{gap:clamp(2rem,4vw,3rem);margin:0;padding:0;list-style:none;display:grid}.tt-eco-stage{gap:var(--tt-eco-gap) clamp(1.5rem, 3vw, 3rem);scroll-margin-top:calc(var(--tt-site-header-height) + var(--tt-space-5));grid-template-columns:minmax(12rem,.32fr) minmax(0,1fr);align-items:start;display:grid}.tt-eco-stage+.tt-eco-stage{border-top:1px solid var(--tt-line);padding-top:clamp(2rem,4vw,3rem)}.tt-eco-stage__head{gap:var(--tt-space-3);grid-template-columns:auto minmax(0,1fr);align-items:baseline;display:grid}.tt-eco-stage__n{color:var(--tt-accent);font-family:var(--tt-font-mono);font-size:var(--tt-type-meta);letter-spacing:.08em}.tt-eco-stage__line{margin-top:var(--tt-space-2);color:var(--tt-text-secondary);font-size:var(--tt-type-body);line-height:1.5}.tt-eco-cards{gap:var(--tt-eco-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));margin:0;padding:0;list-style:none;display:grid}.tt-eco-cards>li{min-width:0;display:flex}.tt-eco-card{gap:.35rem var(--tt-space-3);min-height:var(--tt-target-min);padding:var(--tt-space-4) var(--tt-space-4) calc(var(--tt-space-4) + 2px);border-radius:var(--tt-eco-radius-card);background:var(--tt-eco-raised-fill) padding-box, var(--tt-eco-raised-rim) border-box;box-shadow:var(--tt-eco-raised-shadow);color:var(--tt-text);font:inherit;text-align:left;cursor:pointer;transition:transform var(--tt-eco-motion), box-shadow var(--tt-eco-motion);border:1px solid #0000;flex:1;grid-template-rows:auto 1fr;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.tt-eco-card:hover{box-shadow:var(--tt-eco-raised-shadow-hover);transform:translate(-.25px,-1px)}.tt-eco-card:active{box-shadow:var(--tt-eco-press-shadow);transform:none}.tt-eco-card:focus-visible{outline:3px solid var(--tt-focus);outline-offset:3px}.tt-eco-card[aria-expanded=true]{background:var(--tt-eco-raised-fill) padding-box, var(--tt-eco-lit-rim) border-box;box-shadow:var(--tt-eco-raised-shadow), var(--tt-eco-lit-glow)}.tt-eco-card__mark{border-radius:var(--tt-eco-radius-well);background:linear-gradient(var(--tt-eco-well), var(--tt-eco-well)) padding-box, var(--tt-eco-well-rim) border-box;width:2.5rem;height:2.5rem;box-shadow:var(--tt-eco-well-shadow);color:var(--tt-text-secondary);font-family:var(--tt-font-mono);font-size:var(--tt-type-meta);letter-spacing:.06em;border:1px solid #0000;grid-row:span 2;place-items:center;font-weight:650;display:grid}.tt-eco-card__name{font-size:var(--tt-type-lead);font-weight:660;line-height:1.25}.tt-eco-card__line{color:var(--tt-text-secondary);font-size:var(--tt-type-compact);line-height:1.45}@media (max-width:899px){.tt-eco-stage{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.tt-eco-card:hover{transform:none}}@media (forced-colors:active){.tt-eco-card,.tt-eco-shelf,.tt-eco-const__plate,.tt-eco-const__core{border-color:canvastext}.tt-eco-card[aria-expanded=true]{border:2px solid highlight}}.tt-eco-shelf{inset:var(--tt-eco-gutter) var(--tt-eco-gutter) var(--tt-eco-gutter) auto;z-index:300;width:min(34rem, calc(100vw - 2 * var(--tt-eco-gutter)));border-radius:var(--tt-eco-radius-float);background:var(--tt-eco-float-fill) padding-box, var(--tt-eco-float-rim) border-box;max-width:none;height:auto;max-height:none;box-shadow:var(--tt-eco-float-shadow);color:var(--tt-text);animation:tt-eco-shelf-in var(--tt-eco-motion);border:1px solid #0000;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;overflow:hidden}.tt-eco-shelf--expanded{inset:var(--tt-eco-gutter);width:auto}@keyframes tt-eco-shelf-in{0%{opacity:0}}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tt-eco-shelf{background:var(--tt-level-floating-fill-translucent) padding-box, var(--tt-eco-float-rim) border-box;-webkit-backdrop-filter:var(--tt-level-floating-blur);backdrop-filter:var(--tt-level-floating-blur)}}@media (max-width:719px){.tt-eco-shelf:not(.tt-eco-shelf--expanded){inset:auto var(--tt-eco-gutter) var(--tt-eco-gutter);width:auto;max-height:calc(100dvh - 2 * var(--tt-eco-gutter) - 3.5rem)}}.tt-eco-shelf__head{gap:var(--tt-space-3);padding:20px 20px var(--tt-space-4);border-bottom:1px solid var(--tt-line);justify-content:space-between;align-items:flex-start;display:flex}.tt-eco-shelf__titles{min-width:0}.tt-eco-shelf__eyebrow{margin-bottom:var(--tt-space-1);color:var(--tt-text-quiet);font-family:var(--tt-font-mono);font-size:var(--tt-type-eyebrow);letter-spacing:.11em;text-transform:uppercase}.tt-eco-shelf__title{color:var(--tt-text);font-size:var(--tt-type-heading);letter-spacing:-.01em;font-weight:700;line-height:1.2}.tt-eco-shelf__title:focus{outline:none}.tt-eco-shelf__title:focus-visible{outline:3px solid var(--tt-focus);outline-offset:3px}.tt-eco-shelf__controls{gap:var(--tt-space-2);flex-shrink:0;display:flex}.tt-eco-shelf__control{gap:var(--tt-space-2);min-height:2.25rem;padding:0 var(--tt-space-3);border:1px solid var(--tt-line-strong);border-radius:var(--tt-radius-pill);color:var(--tt-text);font:inherit;font-size:var(--tt-type-compact);cursor:pointer;background:#ffffff0a;align-items:center;font-weight:600;display:inline-flex}.tt-eco-shelf__control:hover{background:#ffffff14}.tt-eco-shelf__control:focus-visible{outline:3px solid var(--tt-focus);outline-offset:2px}.tt-eco-shelf__control[aria-pressed=true]{border-color:#58cd9973}.tt-eco-shelf__control kbd{color:var(--tt-text-quiet);font-family:var(--tt-font-mono);font-size:var(--tt-type-eyebrow)}.tt-eco-shelf__body{min-height:0;padding:var(--tt-space-4) 20px 24px;overscroll-behavior:contain;flex:1;overflow-y:auto}.tt-eco-shelf--expanded .tt-eco-shelf__body>*{max-width:46rem;margin-inline:auto}.tt-eco-shelf__line{color:var(--tt-text-secondary);font-size:var(--tt-type-lead);line-height:1.5}.tt-eco-status{gap:var(--tt-space-2);margin-top:var(--tt-space-4);color:var(--tt-text-secondary);font-size:var(--tt-type-compact);grid-template-columns:auto minmax(0,1fr);line-height:1.5;display:grid}.tt-eco-status b{color:var(--tt-text);font-weight:620}.tt-eco-block{margin-top:var(--tt-space-5)}.tt-eco-block__title{margin-bottom:var(--tt-space-2);color:var(--tt-text-quiet);font-family:var(--tt-font-mono);font-size:var(--tt-type-eyebrow);letter-spacing:.11em;text-transform:uppercase;font-weight:550}.tt-eco-well{border-radius:var(--tt-eco-radius-well);background:linear-gradient(var(--tt-eco-well), var(--tt-eco-well)) padding-box, var(--tt-eco-well-rim) border-box;box-shadow:var(--tt-eco-well-shadow);font-size:var(--tt-type-body);border:1px solid #0000;margin:0;padding:1rem 1.125rem}.tt-eco-provides{gap:var(--tt-space-2);list-style:none;display:grid}.tt-eco-provides li{color:var(--tt-text);padding-left:1rem;line-height:1.45;position:relative}.tt-eco-provides li:before{content:"";background:var(--tt-text-quiet);border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.6em;left:0}.tt-eco-flow{margin:0;padding:0;list-style:none;display:grid}.tt-eco-flow li{padding:0 0 var(--tt-space-3) 1.6rem;gap:.15rem;display:grid;position:relative}.tt-eco-flow li:before{content:"";border:1px solid var(--tt-line-strong);background:var(--tt-eco-well);border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:.35rem;left:.2rem}.tt-eco-flow li:last-child:before{border-color:#58cd9999}.tt-eco-flow li:not(:last-child):after{content:"";background:var(--tt-line-strong);width:1px;position:absolute;top:1.05rem;bottom:.1rem;left:.48rem}.tt-eco-flow__step{color:var(--tt-text-quiet);font-family:var(--tt-font-mono);font-size:var(--tt-type-eyebrow);letter-spacing:.08em;text-transform:uppercase}.tt-eco-flow__what{color:var(--tt-text);font-size:var(--tt-type-body);line-height:1.45}.tt-eco-work{gap:var(--tt-space-3);display:grid}.tt-eco-work dt{gap:var(--tt-space-2);color:var(--tt-text);align-items:center;font-weight:620;display:flex}.tt-eco-work dd{color:var(--tt-text-secondary);margin:.15rem 0 0;line-height:1.45}.tt-eco-roles{gap:var(--tt-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tt-main .tt-eco-roles a{min-height:2.25rem;padding:0 var(--tt-space-3);border:1px solid var(--tt-line-strong);border-radius:var(--tt-radius-pill);color:var(--tt-text);font-size:var(--tt-type-compact);align-items:center;font-weight:560;text-decoration:none;display:inline-flex}.tt-main .tt-eco-roles a:hover{color:var(--tt-text);border-color:#58cd9973}.tt-eco-slot{border-style:dashed}.tt-eco-slot p{color:var(--tt-text-secondary);line-height:1.5}.tt-eco-slot__head{gap:var(--tt-space-3);margin-bottom:var(--tt-space-2);align-items:center;display:flex}.tt-eco-featured{border:1px solid var(--tt-line-strong);border-radius:var(--tt-radius-pill);min-height:1.5rem;color:var(--tt-text);font-family:var(--tt-font-mono);font-size:var(--tt-type-eyebrow);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:0 .6rem;display:inline-flex}.tt-eco-featured-slot{max-width:46rem;margin-bottom:var(--tt-space-6)}.tt-eco-none{margin-top:var(--tt-space-3);color:var(--tt-text-secondary);font-size:var(--tt-type-compact);line-height:1.5}.tt-eco-shelf__actions{gap:var(--tt-space-3);margin-top:var(--tt-space-5);flex-wrap:wrap;display:flex}.tt-eco-path{gap:var(--tt-eco-gap);counter-reset:tt-eco-path;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tt-eco-path li{gap:var(--tt-space-2);padding:var(--tt-eco-pad);border-radius:var(--tt-eco-radius-card);background:var(--tt-eco-raised-fill) padding-box, var(--tt-eco-raised-rim) border-box;box-shadow:var(--tt-eco-raised-shadow);counter-increment:tt-eco-path;border:1px solid #0000;grid-template-rows:auto 1fr auto;display:grid}.tt-eco-path h3:before{content:counter(tt-eco-path, decimal-leading-zero) " ";color:var(--tt-accent);font-family:var(--tt-font-mono);font-size:var(--tt-type-meta)}.tt-eco-path p{color:var(--tt-text-secondary);font-size:var(--tt-type-body);line-height:1.5}.tt-eco-tracks{gap:var(--tt-eco-gap);margin:var(--tt-eco-gap) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.tt-eco-tracks li{border-radius:var(--tt-eco-radius-well);background:linear-gradient(var(--tt-eco-well), var(--tt-eco-well)) padding-box, var(--tt-eco-well-rim) border-box;box-shadow:var(--tt-eco-well-shadow);border:1px solid #0000;padding:1rem 1.125rem}.tt-eco-tracks__head{gap:var(--tt-space-2);margin-bottom:var(--tt-space-2);flex-wrap:wrap;align-items:baseline;display:flex}.tt-eco-tracks__head b{color:var(--tt-text);font-weight:640}.tt-eco-tracks li>p:last-child{color:var(--tt-text-secondary);font-size:var(--tt-type-compact);line-height:1.5}@media (max-width:1023px){.tt-eco-path{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-eco-tracks{grid-template-columns:minmax(0,1fr)}}@media (max-width:599px){.tt-eco-path{grid-template-columns:minmax(0,1fr)}}.tt-eco-strip{margin-top:var(--tt-space-5);border-radius:var(--tt-eco-radius-well);background:linear-gradient(var(--tt-eco-well), var(--tt-eco-well)) padding-box, var(--tt-eco-well-rim) border-box;box-shadow:var(--tt-eco-well-shadow);border:1px solid #0000;padding:1rem 1.125rem}.tt-eco-strip__head{gap:var(--tt-space-2) var(--tt-space-4);margin-bottom:var(--tt-space-3);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.tt-eco-strip__title{color:var(--tt-text);font-size:var(--tt-type-lead);font-weight:650}.tt-eco-strip__list{gap:var(--tt-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tt-main .tt-eco-strip__list a{gap:var(--tt-space-2);min-height:2.5rem;padding:0 var(--tt-space-3) 0 .3rem;border-radius:var(--tt-radius-pill);background:var(--tt-eco-raised-fill) padding-box, var(--tt-eco-raised-rim) border-box;box-shadow:var(--tt-eco-raised-shadow);color:var(--tt-text);font-size:var(--tt-type-compact);border:1px solid #0000;align-items:center;font-weight:580;text-decoration:none;display:inline-flex}.tt-main .tt-eco-strip__list a:hover{box-shadow:var(--tt-eco-raised-shadow-hover);color:var(--tt-text)}.tt-eco-strip__mark{background:var(--tt-eco-well);width:1.9rem;height:1.9rem;box-shadow:var(--tt-eco-well-shadow);color:var(--tt-text-secondary);font-family:var(--tt-font-mono);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:.625rem;font-weight:650;display:grid}
