.product-env{--env-bg:var(--cine-void);--env-panel:var(--cine-deep);--env-line:var(--cine-line);--env-text:var(--cine-text);--env-dim:var(--cine-text-muted);--env-accent:var(--cine-accent);--env-warn:28 92% 62%;--env-ok:152 60% 52%;background:hsl(var(--env-bg));color:hsl(var(--env-text))}.product-env .text-console-dim{color:hsl(var(--env-dim))}.product-hero{border-bottom:1px solid hsl(var(--env-line));--product-rise:4rem;position:relative}.product-hero-grid{inset:calc(-1 * var(--product-rise)) 0 0;pointer-events:none;background-image:linear-gradient(hsl(var(--env-line) / .5) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--env-line) / .5) 1px, transparent 1px);background-size:56px 56px;position:absolute;-webkit-mask-image:radial-gradient(75% 62% at 50% 32%,#000 20%,#0000 76%);mask-image:radial-gradient(75% 62% at 50% 32%,#000 20%,#0000 76%)}.product-hero-glow{top:calc(-28% - var(--product-rise));aspect-ratio:2;pointer-events:none;background:radial-gradient(ellipse at center, hsl(var(--env-accent) / .16), transparent 66%);width:min(64rem,130%);position:absolute;left:50%;translate:-50%}.product-kicker{font-size:var(--page-title);letter-spacing:-.03em;font-weight:600;line-height:1.06}.product-kicker-section{font-size:var(--page-section);letter-spacing:-.022em;font-weight:600;line-height:1.12}.product-kicker-dim{color:hsl(var(--env-dim))}.product-lede{color:hsl(var(--env-dim));font-size:1.0625rem;line-height:1.65}.product-btn-primary{background:hsl(var(--env-accent));color:hsl(var(--cine-accent-foreground));border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;transition:background-color .2s,transform .2s;display:inline-flex}.product-btn-primary:hover{background:hsl(var(--env-accent) / .88)}.product-btn{border:1px solid hsl(var(--env-line));color:hsl(var(--env-text));border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:border-color .2s,background-color .2s;display:inline-flex}.product-btn:hover{border-color:hsl(var(--env-dim) / .5);background:hsl(var(--env-panel))}.stage-flow{gap:0;display:grid}@media (min-width:1024px){.stage-flow{grid-template-columns:repeat(var(--stage-count,7), minmax(0, 1fr))}}.stage-flow-item{gap:.75rem;padding:0 0 1.5rem;display:flex;position:relative}@media (min-width:1024px){.stage-flow-item{flex-direction:column;padding:0 1rem 0 0}}.stage-flow-marker{flex:none;place-items:center;width:1.5rem;height:1.5rem;display:grid;position:relative}.stage-flow-item:after{content:"";background:hsl(var(--env-line));width:1px;position:absolute;top:1.5rem;bottom:0;left:.75rem}@media (min-width:1024px){.stage-flow-item:after{width:auto;height:1px;inset:.75rem 0 auto 2rem}}.stage-flow-item:last-child:after{display:none}.stage-flow-pip{background:hsl(var(--env-accent));border-radius:999px;width:.5rem;height:.5rem}.stage-flow-item[data-tone=fail] .stage-flow-pip{background:hsl(var(--env-warn))}.stage-flow-item[data-tone=judge] .stage-flow-pip{background:hsl(var(--env-accent));box-shadow:0 0 0 4px hsl(var(--env-accent) / .18)}.stage-flow-label{font-size:.875rem;font-weight:600;display:block}@media (min-width:1024px){.stage-flow-body{margin-top:.5rem}}.stage-flow-detail{color:hsl(var(--env-dim));margin-top:.2rem;font-size:.8125rem;line-height:1.5;display:block}@media (prefers-reduced-motion:no-preference){.stage-flow-pip{animation:3s ease-in-out infinite stage-pulse;animation-delay:calc(var(--i) * .2s)}}@keyframes stage-pulse{0%,to{opacity:.45}50%{opacity:1}}.product-panel{border:1px solid hsl(var(--env-line));background:hsl(var(--env-panel));border-radius:.75rem;padding:1.5rem}.product-panel-title{font-size:.9375rem;font-weight:600}.product-panel-body{color:hsl(var(--env-dim));margin-top:.5rem;font-size:.875rem;line-height:1.65}.product-divider{border-top:1px solid hsl(var(--env-line))}.product-tag{border:1px solid hsl(var(--env-line));color:hsl(var(--env-dim));border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;display:inline-flex}.product-env :focus-visible{outline:2px solid hsl(var(--env-accent));outline-offset:2px}
