.fl{background:var(--bg);color:var(--white);padding-block:clamp(72px,9vw,140px)}main[data-route=preview-factory-line] .fl{padding-top:clamp(132px,13vw,190px)}.fl .eb{color:var(--faint)}.fl-head{align-items:end;margin-top:20px}.fl-head h2{letter-spacing:-.035em;text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(32px,4.2vw,60px);font-weight:600;line-height:1.02}.fl-head p{max-width:40ch;color:var(--mute);margin:0;font-size:clamp(17px,1.45vw,21px);line-height:1.45}.fl-stage{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(20px,2.4vw,36px);margin-top:clamp(36px,4.4vw,64px);display:grid}.fl-film{aspect-ratio:16/9;background:#151515;border-radius:18px;position:relative;overflow:hidden}.fl-film video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.fl-film video.on{opacity:1}.fl-info{flex-direction:column;gap:18px;min-width:0;padding-top:4px;display:flex}.fl-phase{color:var(--grn)}.fl-count{letter-spacing:.08em;color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.fl-say{animation:.5s cubic-bezier(.2,.8,.2,1) both fl-in}.fl-say h3{letter-spacing:-.03em;margin:0;font-size:clamp(26px,2.6vw,38px);font-weight:600;line-height:1.05}.fl-say p{color:var(--mute);max-width:34ch;margin:12px 0 0;font-size:17px;line-height:1.5}@keyframes fl-in{0%{opacity:0;transform:translateY(8px)}}.fl-pass{border:1px solid rgba(var(--grn-rgb),.35);background:linear-gradient(135deg,rgba(var(--grn-rgb),.08),transparent 60%);border-radius:12px;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;margin-top:auto;padding:14px 16px;display:grid;position:relative;overflow:hidden}.fl-pass:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#ffffff06 3px 4px);position:absolute;inset:0}.fl-pass-head{gap:3px;min-width:0;display:grid}.fl-pass-k{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:11px}.fl-pass-id{letter-spacing:.02em;color:var(--grn);text-shadow:0 0 18px rgba(var(--grn-rgb),.35);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(20px,1.7vw,24px);font-weight:600}.fl-pass-sub{color:var(--mute);font-size:12px}.fl-qr{width:72px;height:72px;fill:var(--grn);shape-rendering:crispedges;grid-area:1/2/3;overflow:visible}.fl-qr .fl-scan{fill:var(--white);opacity:0;transform:translateY(0)}.fl-stamps{grid-column:1;grid-template-columns:repeat(13,minmax(0,1fr));align-self:end;gap:4px;margin:0;padding:0;list-style:none;display:grid}.fl-stamps li{background:var(--line);border-radius:2px;height:8px;transition:background .3s}.fl-stamps li.done{background:var(--grn)}.fl-stamps li.on{background:var(--grn);animation:1.2s ease-in-out infinite fl-blink}.fl-pass-n{letter-spacing:.06em;color:var(--mute);font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:12px}.fl-qr .fl-scan{animation:1.1s cubic-bezier(.2,.8,.2,1) fl-scan}@keyframes fl-scan{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(28px)}}.fl-ctl{gap:10px;display:flex}.fl-ctl button{border:1px solid var(--line);width:46px;height:46px;color:var(--white);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:background .25s,border-color .25s;display:grid}.fl-ctl button:hover{background:#ffffff0f;border-color:#ffffff4d}.fl-ctl svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.fl-ctl .fl-tri{fill:currentColor;stroke:none}.fl-ctl .fl-play{background:var(--white);border-color:var(--white);color:var(--bg)}.fl-ctl .fl-play:hover{background:#fff;border-color:#fff}.fl button:focus-visible{outline:2px solid var(--grn);outline-offset:3px}.fl-cycle{flex-wrap:wrap;gap:12px 48px;margin:clamp(32px,4vw,52px) 0 0;display:flex}.fl-cycle div{align-items:baseline;gap:12px;display:flex}.fl-cycle dt{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--white);margin:0;font-size:clamp(24px,2.2vw,32px);font-weight:600;line-height:1}.fl-cycle dd{color:var(--mute);max-width:22ch;margin:0;font-size:14px;line-height:1.3}.fl-map{margin-top:clamp(24px,3vw,40px)}.fl-life{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:0 8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.fl-life li{letter-spacing:-.005em;color:var(--faint);padding-bottom:6px;font-size:13px;font-weight:500;transition:color .3s}.fl-life li.on{color:var(--white)}.fl-phases{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:0 8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.fl-phases li{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;padding-bottom:8px;font-size:12px;font-weight:500;transition:color .3s,border-color .3s;overflow:hidden}.fl-phases li.on{color:var(--grn);border-bottom-color:var(--grn)}.fl-line{grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:auto auto;margin:0;padding:0;list-style:none;display:grid;position:relative}.fl-line li{--p:1;grid-row:1;min-width:0}.fl-line li.on{--p:inherit}.fl-line button{width:100%;color:var(--faint);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:14px;padding:0 0 4px;transition:color .3s;display:grid}.fl-line button:hover{color:var(--mute)}.fl-line li.on button{color:var(--white)}.fl-g{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transform-origin:0 100%;width:80px;height:56px;transition:transform .4s cubic-bezier(.2,.8,.2,1);overflow:visible}.fl-line li.on .fl-g{color:var(--grn);transform:scale(1.12)}.fl-g rect,.fl-g circle.g-dot{fill:currentColor;stroke:none}.fl-g circle{fill:none}.fl-g .g-insul{opacity:.35}.fl-g .g-mesh{stroke-width:1.3px;opacity:.7}.fl-g .g-tag{fill:none;stroke:currentColor;stroke-width:1.3px}.fl-g .g-draw{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p))}.fl-g .g-hatch{stroke-width:1.3px;opacity:.8}.fl-g .g-tie{stroke-width:2.2px}.fl-g .g-late{opacity:clamp(0,calc(var(--p) * 3 - 2),1)}.fl-g .g-fill{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--p))}.fl-g .g-fill-x{fill:currentColor;stroke:none;opacity:.5;transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--p))}.fl-g .g-pour{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(clamp(0,calc(var(--p) * 4),1))}.fl-g .g-tilt{transform-box:view-box;transform-origin:66px 42px;transform:rotate(calc(var(--p) * 72deg))}.fl-g .g-frame{transform:translateY(calc((1 - var(--p)) * -16px));opacity:clamp(0,calc(var(--p) * 2),1)}.fl-g .g-brush{transform:translateY(calc(var(--p) * 28px))}.fl-g .g-wipe{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p))}.fl-g .g-trolley{transform:translateX(calc(var(--p) * 38px))}.fl-g .g-lower{transform:translateY(calc((1 - var(--p)) * -16px))}.fl-g .g-step{opacity:clamp(.12,calc(var(--p) * 5 - var(--i)),1)}.fl-line li.on .g-drum{transform-box:fill-box;transform-origin:50%;animation:1.8s linear infinite fl-spin}.fl-line li.on .g-vib{animation:.12s linear infinite fl-shake}.fl-line li.on .g-sway{transform-box:fill-box;transform-origin:50% 0;animation:2.4s ease-in-out infinite fl-sway}.fl-line li.on .g-dot{animation:1.2s ease-in-out infinite fl-blink}@keyframes fl-spin{to{transform:rotate(360deg)}}@keyframes fl-shake{0%{transform:translate(0)}25%{transform:translate(.6px,-.4px)}50%{transform:translate(-.5px,.5px)}75%{transform:translate(.4px,.6px)}to{transform:translate(0)}}@keyframes fl-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes fl-blink{0%,to{opacity:1}50%{opacity:.2}}.fl-seg{background:var(--line);height:2px;display:block;position:relative}.fl-seg:before{content:"";background:var(--bg);width:8px;height:8px;box-shadow:inset 0 0 0 2px var(--line);border-radius:50%;margin:-4px 0 0;position:absolute;top:50%;left:0}.fl-seg b{background:var(--grn);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.fl-line li.done .fl-seg b{transform:scaleX(1)}.fl-line li.on .fl-seg b{transform:scaleX(var(--p))}.fl-line li.done .fl-seg:before,.fl-line li.on .fl-seg:before{background:var(--grn);box-shadow:none}.fl-line li.on .fl-seg:before{box-shadow:0 0 0 5px rgba(var(--grn-rgb),.18)}.fl-name{letter-spacing:-.005em;flex-direction:column;gap:3px;min-height:36px;padding-right:12px;font-size:14px;font-weight:500;line-height:1.3;display:flex}.fl-k{letter-spacing:.08em;opacity:.7;font-variant-numeric:tabular-nums;font-size:12px}.fl-line li.fl-par{grid-row:2}.fl-line li.fl-par button{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);gap:0 14px;padding-top:0}.fl-line li.fl-par .fl-seg{grid-area:1/1/auto/-1;margin-right:-5px}.fl-line li.fl-par .fl-g{grid-row:2;margin-top:14px}.fl-line li.fl-par .fl-name{grid-row:2;align-self:center;margin-top:14px}.fl-join{background:var(--line);grid-row:1;place-self:stretch start;width:2px;margin:71px 0 0 3px;position:relative}.fl-join:after{content:"";background:var(--grn);transition:top .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:100% 0 0}.fl-join.done:after{top:0}.fl-line .fl-join-target .fl-name{margin-left:14px}.fl-twin{max-width:52ch;color:var(--mute);margin:clamp(28px,3vw,40px) 0 0;font-size:16px;line-height:1.5}.fl-src{color:var(--faint);margin:20px 0 0;font-size:13px}@media (max-width:900px){.fl-stage{grid-template-columns:minmax(0,1fr)}.fl-info{flex-flow:wrap;align-items:flex-start;gap:12px 20px}.fl-count{width:100%}.fl-say{flex:260px}.fl-pass{flex:100%;margin-top:0}.fl-ctl{margin-top:0}}@media (max-width:760px){.fl-head{grid-template-columns:minmax(0,1fr)}.fl-film{border-radius:14px}.fl-g{width:32px;height:22px}.fl-line button{gap:10px}.fl-name{display:none}.fl-phases{gap:0 4px}.fl-phases li{letter-spacing:.04em;font-size:10px}.fl-phases li:not(.on){color:#0000}.fl-life li{font-size:11px}.fl-life li:not(.on){color:#0000}.fl-line li.fl-par button{gap:0 10px}.fl-line li.fl-par .fl-g{margin-top:10px}.fl-join{margin-top:33px}.fl-pass{padding:10px 12px}.fl-qr{width:56px;height:56px}}@media (max-width:1100px){.fl-g{width:68px;height:48px}.fl-name{padding-right:4px;font-size:13px}.fl-join{margin-top:63px}}@media (max-width:960px) and (min-width:761px){.fl-g{width:48px;height:34px}.fl-name{min-height:0;font-size:0}.fl-k{font-size:12px}.fl-join{margin-top:49px}.fl-phases{gap:0 4px}.fl-phases li{letter-spacing:.04em;font-size:10.5px}}@media (max-width:760px){.fl-map{--gw:min(32px,calc((100vw - 40px) / 12))}.fl-g{width:var(--gw);height:calc(var(--gw) * .6875)}.fl-join{margin-top:calc(var(--gw) * .6875 + 11px)}.fl-phases li.on{text-overflow:clip;overflow:visible}.fl-life li{white-space:nowrap;justify-self:start}.fl-life li:last-child{justify-self:end}}.fl-mobile-hint{display:none}@media (max-width:760px){.fl-mobile-hint{color:var(--mute);margin:28px 0 12px;font-size:13px;display:block}.fl-map{--gw:56px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:4px 0 14px;overflow-x:auto}.fl-map:focus-visible{outline:2px solid var(--grn);outline-offset:5px}.fl-map :is(.fl-life,.fl-phases,.fl-line){min-width:calc(var(--cols) * 100px)}.fl-map :is(.fl-life,.fl-phases) li{color:var(--faint);white-space:normal;font-size:12px;line-height:1.4}.fl-map :is(.fl-life,.fl-phases) li.on{color:var(--white)}.fl-map .fl-g{width:var(--gw);height:calc(var(--gw) * .6875)}.fl-map .fl-name{min-height:40px;padding-right:10px;font-size:13px;display:flex}.fl-map .fl-line button{scroll-snap-align:start;min-height:104px}.fl-map .fl-line li.fl-par button{min-height:64px}.fl-map .fl-join{margin-top:calc(var(--gw) * .6875 + 11px)}}@media (prefers-reduced-motion:reduce){.fl-film video{transition:none}.fl-say,.fl-line li.on .g-drum,.fl-line li.on .g-vib,.fl-line li.on .g-sway,.fl-line li.on .g-dot,.fl-stamps li.on,.fl-qr .fl-scan{animation:none}}
