body.home{background:var(--white)}
body.home h1,body.home h2{font-weight:800;font-stretch:112%;letter-spacing:-.025em}
body.home h3{font-stretch:106%}
body.home h2.rule{position:relative;padding-bottom:.38em}
body.home h2.rule::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;border-radius:2px;background:var(--crimson);transform:scaleX(0);transform-origin:left center;transition:transform .55s var(--ease-out) .1s}
body.home h2.rule.in::after,html:not(.js-home) body.home h2.rule::after{transform:scaleX(1)}
body.home .center h2.rule::after{left:50%;margin-left:-28px;transform-origin:center}
body.home .wine h2.rule::after{background:var(--coral)}
.scene{position:relative;isolation:isolate}
.w-defs{position:absolute;width:0;height:0;overflow:hidden}
html.pre .head-svg .ah,html.pre .head-svg .hx{opacity:0}
@keyframes h-spin{to{transform:rotate(360deg)}}
.sheet{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,0) 32%),linear-gradient(170deg,#FFFFFF,#FDF5F8);border-radius:18px;box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(235,217,224,.55),var(--shadow-sheet)}
.sheet-dark{background:linear-gradient(170deg,#3D1F30,#1B0E16);border-radius:18px;box-shadow:0 24px 60px rgba(43,21,34,.35)}
.chip{position:relative;display:inline-flex;align-items:center;gap:12px;max-width:100%;padding:8px 14px;border-radius:10px;background:linear-gradient(180deg,#FFFFFF,#FFF6F8);box-shadow:3px 3px 0 var(--rule),0 12px 26px rgba(74,20,40,.12);color:var(--ink);font-weight:600;font-size:.9rem;line-height:1.4}
.chip .seal{font-size:.6rem}
body.home .section{position:relative}
.scene>*>.container{position:relative;z-index:1}
.blush::before{content:"";position:absolute;left:0;right:0;top:-48px;bottom:-48px;z-index:-1;background:linear-gradient(180deg,rgba(251,238,242,0),var(--blush) 72px,var(--blush) calc(100% - 72px),rgba(251,238,242,0))}
.wine{color:var(--moon);overflow:hidden}
.wine::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle 560px at 84% 24%,rgba(254,79,112,.22),rgba(254,79,112,0) 70%),radial-gradient(circle 420px at 8% 90%,rgba(216,20,58,.2),rgba(216,20,58,0) 70%),linear-gradient(180deg,var(--wine),var(--night-deep))}
body.home{--sov:184px}
body.home .hero{position:relative;color:var(--moon);padding-block:clamp(28px,5vw,64px) calc(46px + var(--sov))}
.hero-scene{--hh:820px;--cl:calc(50vw - 590px);--fx:min(0px,calc(var(--cl) - 330px));position:relative;overflow:hidden;isolation:isolate}
.hero-scene{position:sticky;top:var(--pin,0px);z-index:0}
.curtain{position:relative;z-index:1;background:linear-gradient(180deg,rgba(255,252,253,0) calc(var(--sov) - 96px),var(--white) var(--sov))}
.curtain::before{content:"";position:absolute;left:0;right:0;top:-70px;height:70px;pointer-events:none;background:linear-gradient(180deg,rgba(27,14,22,0),rgba(27,14,22,.5));opacity:0}
@supports (animation-timeline:scroll()){
.curtain::before{animation:curtain-shade linear both;animation-timeline:scroll(root);animation-range:0 40vh}
body.home .hero>.container{animation:hero-drift linear both;animation-timeline:scroll(root);animation-range:0 90vh}
}
@keyframes curtain-shade{to{opacity:1}}
@keyframes hero-drift{to{transform:translateY(-14vh);opacity:.4}}
@media (prefers-reduced-motion:reduce){body.home .hero>.container{animation:none}.curtain::before{animation:none}}
.hero-scene .container{position:relative;z-index:1}
.hero-scene::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--header-h));bottom:0;z-index:-1;background:linear-gradient(180deg,rgba(255,252,253,0) calc(100% - 96px),var(--white) 100%),linear-gradient(90deg,rgba(12,4,9,.94) 0,rgba(16,6,12,.9) 24vw,rgba(43,21,34,.6) 36vw,rgba(43,21,34,.4) 52vw,rgba(43,21,34,.28) 70vw,rgba(43,21,34,.2) 100%),url(/assets/img/world/home-hero.webp) center 100%/cover no-repeat,linear-gradient(90deg,#D2C8D9,#F298A4 45%,#FD4F56 80%)}
.hero-scene::after{display:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,56px);align-items:start}
.hero-copy{position:relative;min-width:0;max-width:640px}
.hero-copy::before{content:"";position:absolute;left:-150px;right:-130px;top:-130px;bottom:110px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(43,21,34,.44),rgba(43,21,34,.22) 55%,rgba(43,21,34,0) 100%)}
body.home .hero h1{color:#fff;font-size:clamp(2.4rem,1.1rem + 3.1vw,3.9rem);margin-bottom:.4em;text-shadow:0 2px 24px rgba(27,14,22,.45)}
body.home .hero .lead{color:var(--mist);max-width:56ch}
.hero-field{max-width:560px;margin-top:6px;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.97);box-shadow:0 18px 50px rgba(27,14,22,.32)}
.hero-field:focus-within{border-color:var(--coral);box-shadow:0 0 0 4px rgba(254,79,112,.26),0 18px 50px rgba(27,14,22,.32)}
.hero-field input{font-size:1.08rem}
#ts-widget{min-height:0;margin:0}
#ts-widget:not(:empty){margin-top:10px}
.hero-more{margin:12px 0 0 22px;font-size:.9rem}
.hero-more a{display:inline-block;padding:10px 0;color:var(--mist);text-decoration-color:rgba(230,201,214,.5)}
.hero-more a:hover{color:#fff}
.hero-out{position:relative;min-height:120px;margin-top:16px}
.hero-checking{display:flex;align-items:center;gap:12px;color:var(--mist);font-size:1rem}
.hero-checking::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(254,79,112,.28);border-top-color:var(--coral);animation:h-spin .8s linear infinite}
.hero-checking b{color:#fff;font-weight:600;overflow-wrap:anywhere}
.hero-msg{font-size:.95rem;color:var(--mist);max-width:52ch}
.hero-msg .banner{display:inline-block;padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.1);color:var(--moon);margin-top:2px}
.hero-msg a{color:var(--coral)}
.hv{align-items:flex-start;gap:14px;flex-wrap:nowrap}
.hv .seal{font-size:1rem;margin-top:.15em;box-shadow:inset 0 0 0 3px currentColor,inset 0 0 0 5px var(--wine),inset 0 0 0 6px currentColor}
.hv .seal-ok,.hv.verdict-ok .verdict-word{color:var(--ok-d)}
.hv .seal-ko,.hv.verdict-ko .verdict-word{color:var(--ko-d)}
.hv .seal-mb,.hv.verdict-mb .verdict-word{color:var(--mb-d)}
.hv .verdict-meta{color:var(--mist)}
.hv-text{display:flex;flex-direction:column;gap:9px;min-width:0}
.hv-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.hv-addr{position:relative;display:inline-block;align-self:flex-start;max-width:100%;padding:8px 14px;border-radius:10px;background:linear-gradient(180deg,#FFFFFF,#FFF6F8);box-shadow:3px 3px 0 var(--rule),0 12px 28px rgba(27,14,22,.35);color:var(--ink);font-weight:600;overflow-wrap:anywhere;transform-origin:50% -12px}
.hv-addr.cut{background:transparent;box-shadow:none;color:transparent}
.hv-addr .half{position:absolute;inset:0;padding:8px 14px;border-radius:10px;background:linear-gradient(180deg,#FFFFFF,#FFF6F8);box-shadow:3px 3px 0 var(--rule);color:var(--ink);pointer-events:none}
.hv-addr .ha{clip-path:polygon(0 0,100% 0,100% 42%,0 62%)}
.hv-addr .hb{clip-path:polygon(0 62%,100% 42%,100% 100%,0 100%)}
.hv-flash{position:absolute;left:-5%;right:-5%;top:52%;height:3px;margin-top:-1.5px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 30%,var(--coral) 70%,rgba(254,79,112,0));pointer-events:none;transform-origin:0 50%;z-index:2}
.hv-tag{position:absolute;right:14px;top:100%;display:grid;place-items:center;width:1.9em;height:1.9em;font-size:.72rem;font-weight:900;color:var(--mb);background:#fff;border-radius:4px;box-shadow:inset 0 0 0 2px currentColor,inset 0 0 0 3.5px #fff,inset 0 0 0 4.5px currentColor;transform:rotate(-7deg)}
.hv-tag::before{content:"";position:absolute;left:50%;bottom:100%;width:1.5px;height:9px;background:var(--rule)}
html.home-motion .hv.verdict-mb .hv-addr{animation:hv-hang 2.8s ease-in-out .4s infinite alternate}
@keyframes hv-hang{from{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}
.hv-plane{position:absolute;left:0;top:0;width:110px;height:110px;margin:-55px 0 0 -55px;pointer-events:none;z-index:3;filter:drop-shadow(0 8px 10px rgba(27,14,22,.4))}
.hv-plane svg{width:100%;height:100%;overflow:visible}
.hv-plane .banner{position:absolute;right:calc(50% + 26px);top:50%;translate:0 -50%;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 9px;border-radius:5px;background:#fff;box-shadow:2px 2px 0 var(--rule);font-size:12px;font-weight:600;color:var(--ink);line-height:1.4}
.hero-head{position:relative;display:flex;justify-content:flex-end;align-items:flex-start;min-width:0;padding-top:10px}
.head-slot{position:relative;display:block;width:min(100%,clamp(260px,26vw,380px));aspect-ratio:1;padding:0;margin:0;border:0;background:none;border-radius:50%;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}
.head-slot:focus-visible{outline:3px solid var(--coral);outline-offset:6px}
.head-fly{position:absolute;inset:0}
.head-fly.is-fixed{position:fixed;inset:auto;left:0;top:0;z-index:60;pointer-events:none;transform-origin:0 0;will-change:transform}
.head-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transition:opacity .45s ease;filter:drop-shadow(0 26px 30px rgba(74,20,40,.32))}
.head-fly.gl-on .head-svg{opacity:0}
.head-gl{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease}
.head-fly.gl-on .head-gl{opacity:1}
.head-svg .ah-ring,.head-svg .ah-white,.tile-head .ah-ring,.tile-head .ah-white,.o-head .ah-ring,.o-head .ah-white{animation:none;stroke-dashoffset:0}
.head-svg .ah-ball,.tile-head .ah-ball,.o-head .ah-ball{animation:none}
.head-svg .hx{transform-box:fill-box;transform-origin:center}
.tile-head .ah{transform-box:fill-box;transform-origin:center;transition:transform .5s var(--ease-out)}
.head-svg .ah-scan,.tile-head .ah-scan{opacity:0;transition:opacity .25s ease}
.head-svg .ah-scan circle:nth-child(1),.head-svg .ah-scan circle:nth-child(2),.tile-head .ah-scan circle:nth-child(1),.tile-head .ah-scan circle:nth-child(2){stroke:var(--coral)}
.head-svg .ah>rect:nth-of-type(2),.tile-head .ah>rect:nth-of-type(2),.o-head .ah>rect:nth-of-type(2){fill:var(--crimson);opacity:.1}
#hh-bd stop:last-child,#th-bd stop:last-child,#oh-bd stop:last-child{stop-color:#F6E3EA}
.head-svg .ah-happy,.head-svg .ah-tears,.head-svg .ah-brows{opacity:0}
.head-svg .ah-brows{transition:opacity .25s ease}
.head-svg[data-state="frown"] .ah-ball{opacity:0}
.head-svg[data-state="frown"] .ah-sq,.head-svg[data-state="frown"] .ah-brows{opacity:1}
.head-svg .ah-happy{transition:opacity 120ms ease}
.head-svg .ah-tear{transform-box:fill-box;transform-origin:center}
.head-svg[data-state="checking"] .ah-scan,.tile-head[data-state="checking"] .ah-scan{opacity:1;animation:h-spin .9s linear infinite}
.head-svg[data-state="ok"] .ah-eye-r .ah-ball,.head-svg[data-state="logo"] .ah-eye-r .ah-ball,.head-svg[data-state="wink"] .ah-eye-r .ah-ball,.tile-head[data-state="ok"] .ah-eye-r .ah-ball{opacity:0}
.head-svg[data-state="ok"] .ah-wink,.head-svg[data-state="logo"] .ah-wink,.head-svg[data-state="wink"] .ah-wink,.tile-head[data-state="ok"] .ah-wink{opacity:1}
.head-svg[data-state="happy"] .ah-ball{opacity:0}
.head-svg[data-state="happy"] .ah-wink,.head-svg[data-state="happy"] .ah-happy{opacity:1}
.head-svg[data-state="ko"] .ah-ball,.tile-head[data-state="ko"] .ah-ball{opacity:0}
.head-svg[data-state="ko"] .ah-shut,.tile-head[data-state="ko"] .ah-shut{opacity:1}
.head-svg[data-state="mb"] .ah-ball,.tile-head[data-state="mb"] .ah-ball{opacity:0}
.head-svg[data-state="mb"] .ah-sq,.tile-head[data-state="mb"] .ah-sq{opacity:1}
.tile-head[data-state="mb"] .ah{transform:rotate(-6deg)}
.stats{position:relative;margin-top:calc(-1 * var(--sov));padding-bottom:140px}
.stats-sheet{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:clamp(24px,2.8vw,32px) clamp(6px,1vw,14px)}
.stats-sheet .stat{display:flex;flex-direction:column;gap:6px;padding:4px clamp(18px,2.6vw,34px);min-width:0}
.stats-sheet .stat+.stat{border-left:1px solid var(--rule)}
.stats-sheet .l{color:var(--steel);font-size:.9rem}
.stats-sheet .n{color:var(--ink);font-size:clamp(1.9rem,1.3rem + 2vw,2.9rem);font-variant-numeric:tabular-nums;white-space:nowrap}
.od{display:inline-flex;align-items:flex-start;height:1em;overflow:hidden;vertical-align:top}
.od-d{display:inline-block;height:1em;overflow:hidden}
.od-d i{display:block;font-style:normal;height:1em;transform:translateY(calc(var(--n,0) * -1em));transition:transform .6s var(--ease-out)}
.od-d b{display:block;height:1em;line-height:1;font-weight:inherit}
.od-c{display:inline-block;height:1em;line-height:1}
.od.snap .od-d i{transition:none}
.od.fast .od-d i{transition-duration:.35s}
.live{position:absolute;top:12px;right:16px;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--steel);letter-spacing:.02em}
.live i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 0 rgba(254,79,112,.55);animation:live-pulse 1.8s ease-out infinite}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(254,79,112,.55)}70%{box-shadow:0 0 0 9px rgba(254,79,112,0)}100%{box-shadow:0 0 0 0 rgba(254,79,112,0)}}
body.home .trust{padding-top:clamp(40px,6vw,80px)}
.logo-sheet{margin:clamp(24px,3vw,40px) auto 0;padding:clamp(28px,3.5vw,44px) clamp(24px,4vw,56px)}
body.home .logo-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px clamp(32px,4vw,64px);align-items:center;justify-items:center}
body.home .logo-row a{display:flex;align-items:center;justify-content:center;width:150px;max-width:100%;height:48px;min-height:48px;padding:0}
body.home .logo-row img{width:100%;height:100%;max-width:none;object-fit:contain;transform:scale(var(--k,1))}
html.home-motion .logo-row:not(.in) a{opacity:0}
html.home-motion .logo-row.in a{animation:logo-in .5s var(--ease-out) backwards;animation-delay:calc(var(--i) * 60ms)}
@keyframes logo-in{from{opacity:0;transform:translateY(10px)}to{opacity:.85;transform:none}}
.rating{display:flex;align-items:center;justify-content:center;gap:14px;margin:clamp(24px,3vw,36px) 0 0;font-weight:650}
.rating a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:44px}
.rating a:hover{color:var(--crimson)}
.rating-seal{font-size:.8rem}
body.home .how{overflow-x:clip}
.rise{perspective:700px;margin-top:clamp(24px,3vw,40px)}
.tilt{transform-origin:50% 33%;border-radius:18px}
.journey{overflow:hidden;padding:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 0 0 1px rgba(235,217,224,.65),0 48px 96px -24px rgba(43,21,34,.45)}
html.home-motion .rise:not(.in){opacity:0;transform:translateY(40px)}
html.home-motion .rise.in{animation:rise 1.1s cubic-bezier(.22,1,.36,1) .2s both}
@keyframes rise{0%{opacity:0;transform:translateY(40px)}}
html.home-motion .tilt{-webkit-mask-image:linear-gradient(#000 calc(78% + var(--m,1) * 22%),rgba(0,0,0,var(--m,1)));mask-image:linear-gradient(#000 calc(78% + var(--m,1) * 22%),rgba(0,0,0,var(--m,1)))}
.jr-wrap{padding:18px clamp(8px,2vw,24px) 0}
.jr{display:block;width:100%;height:auto;overflow:visible}
.jr-tall{display:none;max-width:460px;margin-inline:auto}
.jr text{font-family:var(--font);fill:var(--steel)}
.jr .jr-name{font-size:15.5px;font-weight:700;fill:var(--ink);transition:fill .3s ease}
.jr .jr-sub{font-size:12.5px}
.jr .jr-addr{font-size:10.5px;font-weight:650;fill:var(--ink)}
.jr-tall text{font-size:14px}
.jr-tall .jr-name{font-size:17px}
.jr-tall .jr-sub{font-size:13px}
.jr-path{fill:none;stroke:var(--coral-soft);stroke-width:2;stroke-dasharray:2 8;stroke-linecap:round}
.jr-cloud rect{fill:#fff;opacity:.92}
.jr-trees circle{fill:var(--coral);opacity:.75}
.jr-trees circle:nth-child(even){fill:var(--coral-soft)}
.wp .flag{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform .45s var(--ease-spring)}
.wp.is-pass .flag,.jr:not(.is-live) .wp .flag{transform:none}
.wp .jr-name{transition:fill .3s ease}
.wp.is-pass .jr-name,.jr:not(.is-live) .wp .jr-name{fill:var(--crimson)}
.jr-sheet,.jr-plane{transform-box:view-box;filter:drop-shadow(0 10px 10px rgba(74,20,40,.3))}
.jr:not(.is-live) .jr-sheet{opacity:0}
.jr-wide:not(.is-live) .jr-plane{transform:translate(696px,124px) rotate(22deg)}
.jr-tall:not(.is-live) .jr-plane{transform:translate(246px,80px) rotate(22deg)}
.jr-seal{opacity:0;transition:opacity .2s ease}
.jr-stamp{transform-box:fill-box;transform-origin:center}
.jr:not(.is-live) .jr-seal,.jr.is-done .jr-seal{opacity:1}
.jr.is-done .jr-stamp{animation:jr-stamp .42s var(--ease-spring) both}
@keyframes jr-stamp{0%{transform:rotate(-16deg) scale(1.5)}55%{transform:rotate(-8deg) scale(.94)}100%{transform:rotate(-9deg) scale(1)}}
.jr-term{border-radius:0 0 18px 18px;margin:0;background:linear-gradient(180deg,var(--night-deep),var(--wine));color:var(--moon);font-size:.82rem;line-height:1.7;padding:16px clamp(14px,2vw,24px) 18px;border-top:1px solid var(--night-line)}
.jr-term .k{color:var(--coral-soft)}
.jr-term .s{color:var(--mb-d)}
.jr-term .c,.jr-term .ok{color:var(--ok-d)}
.jr-term .dim{color:var(--mist);opacity:.72}
.jr-term.is-live .ln{opacity:.14;transition:opacity 180ms ease}
.jr-term.is-live .ln.is-on{opacity:1}
body.home .how .steps{margin-top:clamp(28px,4vw,48px)}
body.home .how .steps p{color:var(--ink-2);margin:0}
body.home .steps h3::before{border:0;transform:none;width:2.1em;height:2.1em;color:#fff;font-size:.82em;background:radial-gradient(circle at 34% 30%,var(--coral-soft) 0,var(--crimson-hi) 42%,var(--crimson) 70%);box-shadow:0 8px 18px rgba(194,15,47,.32),inset 0 -6px 10px rgba(0,0,0,.24),inset 0 2px 3px rgba(255,255,255,.35)}
.tiles{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(232px,auto);gap:clamp(14px,1.6vw,22px);margin-top:clamp(24px,3vw,40px)}
.tile{padding:24px;display:flex;flex-direction:column;overflow:hidden;min-width:0;transition:transform .25s var(--ease-out),box-shadow .25s ease}
.tile .ico{width:52px;height:52px;margin-bottom:24px;flex:none;overflow:visible;filter:drop-shadow(0 8px 10px rgba(74,20,40,.2))}
.tile .ico text{font-family:var(--font)}
.tile .ico .mono{font-family:var(--mono)}
.tile h3{font-size:1.18rem;margin-bottom:.35em}
.tile h3 a{color:inherit;text-decoration:none}
.tile h3 a:hover{color:var(--crimson)}
.tile p{font-size:.95rem;color:var(--ink-2);margin:0 0 12px;max-width:44ch}
.t-instant{grid-column:span 4}
.t-finder{grid-column:span 4}
.t-head{grid-column:span 4}
.t-api{grid-column:span 5}
.t-dist{grid-column:span 4}
.t-syntax{grid-column:span 3}
.t-orbit{grid-column:span 12}
.t-demo{margin-top:auto;display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding-top:6px}
.t-demo .chip:nth-child(2){margin-left:34px}
.t-demo .chip-ko{color:var(--steel)}
.t-demo .chip-ko>span:first-child{text-decoration:line-through;text-decoration-color:var(--crimson);text-decoration-thickness:2px}
.fd{margin-top:auto}
.fd-q{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.fd-q span{padding:4px 11px;border-radius:999px;background:var(--blush);font-size:.85rem;color:var(--ink-2);font-weight:600}
.fd-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px;min-height:88px;align-content:start}
.fd-rows li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:10px;background:linear-gradient(180deg,#FFFFFF,#FFF6F8);box-shadow:2px 2px 0 var(--rule),0 8px 18px rgba(74,20,40,.1);font-size:.88rem;color:var(--ink)}
.fd-a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-v{flex:none;font-size:.8rem;color:var(--steel);font-weight:650}
.fd-rows li.is-ko .fd-v{color:var(--ko)}
.fd-rows li.is-ko .fd-a{color:var(--steel);text-decoration:line-through;text-decoration-color:var(--crimson)}
.fd-rows li.is-ok .fd-v{color:var(--ok)}
.t-head{position:relative}
.t-head p{max-width:58%}
.tile-head{position:absolute;right:-7%;bottom:-31%;width:60%;height:auto;overflow:visible;filter:drop-shadow(0 18px 24px rgba(74,20,40,.26))}
.code{margin:auto 0 0;padding:14px 16px;border-radius:12px;background:linear-gradient(180deg,var(--wine),var(--night-deep));color:var(--moon);font-family:var(--mono);font-size:.74rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 14px 30px rgba(43,21,34,.25)}
.code .m{color:var(--coral)}
.code .k{color:var(--coral-soft)}
.code .s{color:var(--ok-d)}
.code .p{color:var(--mist)}
.code b{font-weight:400;border-radius:3px;transition:background-color 700ms ease}
.code b.flash{background:rgba(254,79,112,.5);transition:none}
.dist{margin:auto 0 0;display:grid;gap:9px}
.d-row{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;margin:0}
.d-row dt{font-size:.9rem;font-weight:600}
.d-row dd{margin:0;display:flex;align-items:center;gap:10px}
.d-bar{flex:1;height:10px;border-radius:6px;background:var(--blush);overflow:hidden;box-shadow:inset 0 1px 2px rgba(74,20,40,.08)}
.d-bar i{display:block;height:100%;border-radius:inherit;background:var(--ok);transition:width .6s var(--ease-out)}
.d-ko .d-bar i{background:var(--ko)}
.d-mb .d-bar i{background:var(--mb)}
.d-n{min-width:3.4ch;text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem}
.d-session{margin:12px 0 0;font-size:.82rem;color:var(--steel)}
.d-session b{color:var(--ink)}
.sx{margin-top:auto;display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 6px;font-weight:750;font-size:1.22rem;letter-spacing:-.02em;line-height:1.1}
.sx-part{display:flex;flex-direction:column;gap:6px;min-width:0}
.sx-part b{font-weight:750;padding-bottom:6px;border-bottom:2px solid var(--coral);overflow-wrap:anywhere}
.sx-d b{border-color:var(--crimson)}
.sx-part small{font-weight:400;font-size:.74rem;letter-spacing:0;color:var(--steel)}
.sx-at{color:var(--steel)}
.sx-part b:empty{min-width:2.4em;border-bottom-style:dashed}
.t-orbit{min-height:390px}
.t-orbit p{max-width:36ch}
.orbit{position:absolute;right:28px;top:50%;width:340px;height:340px;margin-top:-170px}
.o-ring{position:absolute;border:1px solid var(--rule);border-radius:50%}
.o-ring.r1{inset:68px}
.o-ring.r2{inset:18px}
.o-list{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.o-in{animation:orbit 40s linear infinite}
.o-out{animation:orbit-r 60s linear infinite}
.o-list li{position:absolute;left:50%;top:50%;width:0;height:0}
.o-in li{transform:rotate(var(--a)) translateX(102px)}
.o-out li{transform:rotate(var(--a)) translateX(152px)}
.o-list span{position:absolute;left:0;top:0;display:grid;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--rule),0 8px 18px rgba(74,20,40,.14);transform:rotate(calc(-1 * var(--a)))}
.o-out span{width:40px;height:40px;margin:-20px 0 0 -20px}
.o-list img{width:22px;height:22px;max-width:none;object-fit:contain}
.o-in span{animation:orbit-r 40s linear infinite}
.o-out span{animation:orbit 60s linear infinite}
.o-head{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;overflow:visible;filter:drop-shadow(0 10px 14px rgba(74,20,40,.22))}
.orbit.is-paused .o-list,.orbit.is-paused .o-list span{animation-play-state:paused}
@keyframes orbit{to{rotate:360deg}}
@keyframes orbit-r{to{rotate:-360deg}}
body.home .video-sec .video{max-width:880px;margin:clamp(24px,3vw,40px) auto 0}
body.home .video button{background-color:var(--wine);transition:background-color .3s ease}
.quotes{margin-top:clamp(24px,3vw,40px)}
.quote{padding:22px 24px;display:flex;flex-direction:column}
.quote>p:first-child{flex:1;color:var(--ink-2);font-size:.98rem}
.quote .src{flex:0 0 auto;margin:0 0 14px;font-weight:650;font-size:.92rem}
.quote .src a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none}
.quote .src a:hover{color:var(--crimson)}
.quote .press{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;object-position:center top;border-radius:10px;margin-top:auto;box-shadow:2px 2px 0 var(--rule)}
.quote .src a{background:linear-gradient(var(--crimson),var(--crimson)) no-repeat 0 calc(100% - 10px)/0 2px;transition:color 220ms ease,background-size 260ms var(--ease-out)}
.post h3 a{background:linear-gradient(var(--crimson),var(--crimson)) no-repeat 0 100%/0 2px;transition:color 220ms ease,background-size 260ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
.quote,.post{transition:transform 260ms var(--ease-out),box-shadow 260ms var(--ease-out)}
.quote .press{transition:transform 340ms var(--ease-spring),box-shadow 340ms var(--ease-out);transform-origin:50% 100%}
.post img{transition:transform 340ms var(--ease-spring),box-shadow 340ms var(--ease-out);transform-origin:50% 0}
.quote:hover,.post:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(235,217,224,.55),0 26px 60px rgba(194,15,47,.16)}
.quote:hover .press{transform:translateY(-4px) rotate(-1.4deg) scale(1.035);box-shadow:5px 6px 0 var(--coral-soft)}
.post:hover img{transform:translateY(4px) rotate(1.4deg) scale(1.035);box-shadow:5px 6px 0 var(--coral-soft)}
.quote:hover .src a,.post:hover h3 a{color:var(--crimson);background-size:100% 2px}
}
@media (prefers-reduced-motion:reduce){.quote,.quote .press,.quote .src a,.post,.post img,.post h3 a{transition:none}.quote:hover,.post:hover{transform:none}.quote:hover .press,.post:hover img{transform:none}}
.pro-sheet{padding:clamp(26px,4vw,52px)}
.pro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.pro-head p{color:var(--ink-2);font-size:1.05rem;margin-bottom:0}
.cube-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.cube-list li{position:relative;padding-left:36px;color:var(--ink-2)}
.cube-list li::before{content:"";position:absolute;left:0;top:.2em;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='0,30 30,0 120,0 90,30' fill='%23FF8AA0'/%3E%3Cpolygon points='90,30 120,0 120,90 90,120' fill='%23C20F2F'/%3E%3Crect y='30' width='90' height='90' fill='%23FE4F70'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 4px 5px rgba(194,15,47,.3))}
.ready-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center}
.ready .env{margin-top:260px}
body.home .ready::before{background:linear-gradient(90deg,rgba(27,14,22,.86) 0,rgba(27,14,22,.8) 34%,rgba(27,14,22,.4) 54%,rgba(27,14,22,.22) 100%),url(/assets/img/world/ready.webp) center 100%/cover no-repeat,var(--wine)}
body.home .ready h2{color:#fff}
body.home .ready p{color:var(--mist)}
.ready-copy .btn{margin-top:6px}
.env{position:relative;padding:0 4%;isolation:isolate}
.env::before{content:"";position:absolute;inset:-8% -12% -4%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 58% 56% at 50% 56%,rgba(43,21,34,.62),rgba(43,21,34,0) 100%)}
.env-back{position:absolute;left:4%;right:4%;bottom:0;width:92%;height:auto;z-index:0;display:block}
.env-front{position:relative;z-index:2;display:block;width:100%;height:auto}
.claims{position:relative;z-index:1;list-style:none;margin:0 13% -46%;padding:0;display:grid;gap:10px}
.pm{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:12px;background:linear-gradient(180deg,#FFFFFF,#FFF6F8);box-shadow:3px 3px 0 var(--rule),0 18px 34px rgba(0,0,0,.42);color:var(--ink);font-weight:500;font-size:.95rem;line-height:1.45;transform:rotate(var(--rot,0deg))}
.pm:nth-child(1){--rot:-1.4deg}
.pm:nth-child(2){--rot:.9deg;margin-left:4%}
.pm:nth-child(3){--rot:-.5deg;margin-right:4%}
.pm:nth-child(4){--rot:.7deg;margin-left:2%}
.pm .seal{font-size:.68rem;margin-top:.1em}
.ready .btn:focus-visible,.start .btn:focus-visible,.hero-field .btn:focus-visible{outline-color:var(--moon)}
.post-cards{margin-top:clamp(24px,3vw,40px)}
.post{padding:16px 16px 22px;display:flex;flex-direction:column;transition:transform .25s var(--ease-out)}
.post img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;margin-bottom:14px;box-shadow:2px 2px 0 var(--rule)}
.post h3{font-size:1.08rem;margin-bottom:.4em}
.post h3 a{color:var(--ink);text-decoration:none}
.post h3 a:hover{color:var(--crimson)}
.post p{color:var(--ink-2);font-size:.95rem;margin-bottom:.8em;flex:1}
.post .more{font-weight:650;font-size:.9rem;text-decoration:none;color:var(--crimson)}
.articles-empty{margin:18px 0 0}
.start-sheet{max-width:780px;margin-inline:auto;padding:clamp(28px,5vw,56px) clamp(20px,4vw,48px)}
.start-sheet .lead{margin-inline:auto}
.start-wrap{position:relative;display:inline-flex;align-items:center;margin:10px 0 0}
.plane{position:absolute;left:100%;top:50%;width:76px;height:76px;margin:-44px 0 0 6px;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(74,20,40,.22))}
.plane svg{width:100%;height:100%;overflow:visible}
@media (hover:hover) and (pointer:fine){
.tile:hover{transform:translateY(-3px)}
}
@media (max-width:1180px){
.t-instant,.t-finder,.t-head{grid-column:span 6}
.t-api{grid-column:span 7}
.t-dist{grid-column:span 5}
.t-syntax{grid-column:span 6}
.t-head p{max-width:54%}
}
@media (max-width:1243px){
.hero-scene{--cl:4vw}
}
@media (min-width:1024px){
.rise{perspective:1600px}
.tilt{transform-origin:50% 0}
}
@media (max-width:960px){
.hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
.hero-head{order:0;margin:0 0 22px;padding-top:0;justify-content:flex-end}
.hero-copy{order:1;padding-left:0}
.hero-copy::before{left:-50vw;right:-50vw;top:-70px;bottom:-72px;border-radius:0;filter:none;background:var(--wine);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0),#000 90px,#000 calc(100% - 96px),rgba(0,0,0,0));mask-image:linear-gradient(180deg,rgba(0,0,0,0),#000 90px,#000 calc(100% - 96px),rgba(0,0,0,0))}
body.home .hero{padding-top:calc(38.89vw - 60px);padding-bottom:calc(76px + var(--sov))}
.stats{margin-top:calc(-1 * var(--sov))}
.hero-scene::after{display:none}
.hero-scene::before{background:linear-gradient(180deg,rgba(255,252,253,0) calc(100% - 96px),var(--white) 100%),linear-gradient(90deg,rgba(12,4,9,.94) 0,rgba(16,6,12,.9) 24vw,rgba(43,21,34,.6) 36vw,rgba(43,21,34,.4) 52vw,rgba(43,21,34,.28) 70vw,rgba(43,21,34,.2) 100%),url(/assets/img/world/home-hero.webp) center 100%/cover no-repeat,linear-gradient(90deg,#D2C8D9,#F298A4 45%,#FD4F56 80%)}
.hero-field{max-width:none}
.head-slot{width:min(54vw,250px)}
.jr-wide{display:none}
.jr-tall{display:block}
.pro-grid,.ready-grid{grid-template-columns:minmax(0,1fr)}
body.home .ready{padding-top:calc(clamp(56px,8vw,112px) + 77.78vw - 90px)}
body.home .ready::before{background:linear-gradient(180deg,rgba(43,21,34,0) calc(77.78vw - 120px),rgba(43,21,34,.75) calc(77.78vw - 45px),var(--wine) 77.78vw),url(/assets/img/world/ready-m.webp) 50% 0/100% auto no-repeat,var(--wine)}
.t-instant,.t-finder,.t-head,.t-api,.t-dist,.t-syntax,.t-orbit{grid-column:span 6}
.t-head p{max-width:60%}
.env{margin-top:12px}
}
@media (max-width:700px){
body.home{--sov:200px}
body.home .hero{padding-top:calc(62.22vw - 112px);padding-bottom:calc(44px + var(--sov))}
.hero-scene::before{background:linear-gradient(180deg,rgba(255,252,253,0) calc(100% - 96px),var(--white) 100%),linear-gradient(180deg,rgba(27,14,22,0) calc(62.22vw - 120px),rgba(27,14,22,.82) calc(62.22vw - 40px),#1B0E16 calc(62.22vw + 10px)),url(/assets/img/world/home-hero-m.webp) center top/100% auto no-repeat,linear-gradient(180deg,#1B0E16,#2B1522 55%,#3D1F30)}
.tiles{gap:10px;grid-auto-rows:auto}
.t-instant,.t-finder,.t-head,.t-api,.t-dist,.t-syntax,.t-orbit{grid-column:1/-1}
.tile{padding:20px}
.t-head{min-height:0;padding-bottom:180px}
.t-head p{max-width:none}
.tile-head{width:50%;right:-3%;bottom:-14%}
.t-orbit{min-height:590px}
.t-orbit p{max-width:none}
.orbit{top:auto;bottom:-6px;right:50%;margin:0 -170px 0 0}
.stats{margin-top:calc(-1 * var(--sov));padding-bottom:130px}
.stats-sheet{grid-template-columns:minmax(0,1fr);padding:8px 4px 6px}
.stats-sheet .stat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:13px 18px}
.stats-sheet .stat+.stat{border-left:0;border-top:1px solid var(--rule)}
.stats-sheet .stat .l:first-child{display:none}
.stats-sheet .stat .l:last-child{grid-column:1;grid-row:1;font-size:.9rem;line-height:1.3}
.stats-sheet .n{grid-column:2;grid-row:1;font-size:1.6rem;text-align:right}
.live{position:static;justify-self:start;margin:6px 18px 2px}
body.home .logo-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
body.home .logo-row a{width:140px;height:44px}
.jr-term{font-size:.72rem;padding:14px 14px 16px}
.quote .src{justify-content:flex-start}
.hero-out{min-height:128px}
.hero-field{padding-left:16px}
.hero-field input{font-size:1rem}
.hero-field .btn{padding:0 16px}
.hero-more{margin-left:16px}
.plane{width:52px;height:52px;margin:-26px 0 0 6px}
.claims{margin:0 8% -44%}
.pm{font-size:.9rem;padding:10px 14px}
}
@media (max-width:420px){
.hero-field .btn{min-width:0}
body.home .hero h1{font-size:2.35rem}
}
@media (prefers-reduced-motion:reduce){
.rise,html.home-motion .rise:not(.in){opacity:1;transform:none;animation:none}
html.home-motion .tilt{-webkit-mask-image:none;mask-image:none}
html.pre .head-svg .ah,html.pre .head-svg .hx{opacity:1}
.o-list,.o-list span,.live i,.hv.verdict-mb .hv-addr{animation:none!important}
.head-svg[data-state="checking"] .ah-scan,.tile-head[data-state="checking"] .ah-scan{animation:none;transform:rotate(40deg)}
.hero-checking::before{animation:none;border-top-color:rgba(254,79,112,.28)}
.d-bar i,.code b,.jr-term.is-live .ln,.wp .flag,.od-d i,.head-svg .ah-happy{transition:none}
.jr.is-done .jr-stamp{animation:none}
}
.hero-scene::after{display:none}
@media (max-width:700px){
.hero-grid{position:relative}
.hero-head{position:absolute;left:-6px;top:calc(-1 * min(30vw,116px) - 2px);z-index:3;margin:0;padding:0;justify-content:flex-start}
.head-slot{width:min(30vw,116px)}
body.home .quotes,body.home .post-cards{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(-1 * var(--gutter));padding:8px var(--gutter) 30px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
body.home .quotes::-webkit-scrollbar,body.home .post-cards::-webkit-scrollbar{display:none}
body.home .quotes>*,body.home .post-cards>*{scroll-snap-align:start}
body.home .post p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.hero-out{min-height:100px;margin-top:8px}
body.home .hero .lead{font-size:1rem;line-height:1.55}
.hv-addr,.hv-addr .half{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.home .hero{padding-bottom:calc(16px + var(--sov))}
.stats{padding-bottom:28px}
body.home .section:not(.ready){padding-block:44px}
body.home .ready{padding-bottom:44px}
body.home .trust{padding-top:36px}
}
