.lp-gallery{padding:64px 0 0}.gal-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;display:grid}.gal-deck{align-content:start;gap:10px;min-width:0;display:grid}.gal-open{width:100%;box-shadow:0 0 0 1px var(--rule), 0 12px 30px #1414191a;transition:box-shadow var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease);background:#fff;border-radius:10px;display:block;position:relative;overflow:hidden}.gal-open:hover{box-shadow:0 0 0 1px var(--rule-2), 0 18px 40px #14141929}.gal-open:active{transition-duration:60ms;transform:scale(.99)}.gal-open img,.gal-thumbs img,.gal-stack img,.dv-img,.dv-thumbs img{aspect-ratio:16/9;background:#fff;width:100%;height:auto;display:block}.gal-open img.swap,.dv-img.swap{animation:gal-soften var(--dur-ui) var(--ease-out)}@keyframes gal-soften{0%{opacity:.45}}.gal-hint{border-radius:var(--r-pill);background:color-mix(in srgb, var(--foot-bg) 86%, transparent);color:var(--foot-ink);font:500 12px / 1.2 var(--font-display);pointer-events:none;opacity:0;transition:opacity var(--dur-ui), transform var(--dur-ui) var(--ease-out);padding:6px 11px;position:absolute;bottom:10px;right:10px;transform:translateY(4px)}.gal-open:hover .gal-hint,.gal-open:focus-visible .gal-hint{opacity:1;transform:none}.gal-thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.gal-thumbs button,.dv-thumbs button{box-shadow:0 0 0 1px var(--rule);transition:box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease);border-radius:4px;overflow:hidden}.gal-thumbs button:hover,.dv-thumbs button:hover{box-shadow:0 0 0 1px var(--rule-2)}.gal-thumbs button.on,.dv-thumbs button.on{box-shadow:0 0 0 2px var(--accent)}.gal-thumbs button:active,.dv-thumbs button:active{transition-duration:60ms;transform:scale(.95)}.gal-meta{gap:2px;min-width:0;margin-top:6px;display:grid}.gal-meta h3{align-items:center;gap:10px;font-size:16.5px;line-height:1.45;display:flex}.gal-scene{font:500 11px / 1 var(--font-mono);letter-spacing:.1em;color:var(--dim);background:var(--sunk);border-radius:6px;flex:none;padding:5px 8px}.gal-line{color:var(--body);font-size:14px}.gal-spec{font:12px / 1.7 var(--font-mono);color:var(--dim);gap:12px;margin-top:2px;display:flex}.gal-parts{font:12px / 1.7 var(--font-mono);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gal-same{border-radius:var(--r-card);background:var(--bg-2);gap:18px;margin-top:64px;padding:24px;display:grid}.gal-same-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px 24px;display:flex}.gal-same-head h3{font-size:19px;line-height:1.4}.gal-same-head p{color:var(--dim);margin-top:2px;font-size:14px}.gal-seg{border-radius:var(--r-pill);background:var(--sunk);padding:4px;display:inline-flex;position:relative}.gal-seg button{z-index:1;border-radius:var(--r-pill);font:500 13.5px / 1.2 var(--font-display);color:var(--dim);transition:color var(--dur-fast), transform var(--dur-fast) var(--ease);padding:8px 15px;position:relative}.gal-seg button[aria-selected=true]{color:var(--ink)}.gal-seg button:active{transition-duration:60ms;transform:scale(.96)}.gal-seg:not([data-anim]) button[aria-selected=true]{background:var(--panel);box-shadow:var(--shadow-card)}.gal-seg:before{content:"";width:var(--iw,0px);translate:var(--ix,0px) 0;border-radius:var(--r-pill);background:var(--panel);box-shadow:var(--shadow-card);position:absolute;top:4px;bottom:4px;left:0}.gal-seg[data-anim]:before{transition:translate var(--dur-ui) var(--ease-out), width var(--dur-ui) var(--ease-out)}.gal-same-slides{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.gal-same-slide{gap:8px;margin:0;display:grid}.gal-stack{box-shadow:0 0 0 1px var(--rule), 0 10px 26px #14141917;background:#fff;border-radius:8px;position:relative;overflow:hidden}.gal-stack img{opacity:0;transition:opacity var(--dur) var(--ease-out)}.gal-stack img+img{position:absolute;inset:0}.gal-stack img.on{opacity:1}.gal-same-slide figcaption{font:12px / 1.4 var(--font-mono);color:var(--dim)}.gal-note{color:var(--faint);margin-top:18px;font-size:13px}.lp-viewer{width:min(1060px,100vw - 32px);max-width:none;max-height:calc(100dvh - 24px);color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.lp-viewer::backdrop{background:color-mix(in srgb, var(--foot-bg) 76%, transparent)}.dv{background:var(--panel);box-shadow:var(--shadow-float);border-radius:18px;gap:12px;padding:14px;display:grid}.dv-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:2px 2px 0 6px;display:flex}.dv-bar b{font:600 15px / 1.4 var(--font-display);color:var(--ink)}.dv-pill{font:600 11.5px / 1 var(--font-display);color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--r-pill);padding:5px 9px}.dv-n{font:12px / 1 var(--font-mono);color:var(--dim);font-variant-numeric:tabular-nums}.dv-close{width:34px;height:34px;color:var(--dim);transition:background-color var(--dur-fast), transform var(--dur-fast) var(--ease);border-radius:50%;place-items:center;margin-left:auto;display:grid}.dv-close:hover{background:var(--panel-2);color:var(--ink)}.dv-close:active{transition-duration:60ms;transform:scale(.9)}.dv-stage{position:relative}.dv-img{box-shadow:0 0 0 1px var(--rule);border-radius:10px}.dv-nav{background:var(--panel);width:42px;height:42px;color:var(--ink);box-shadow:var(--shadow-card);transition:opacity var(--dur-fast), transform var(--dur-fast) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;translate:0 -50%}.dv-nav:active{transition-duration:60ms;transform:scale(.92)}.dv-nav:disabled{opacity:0;pointer-events:none}.dv-prev{left:12px}.dv-next{right:12px}.dv-thumbs{scrollbar-width:none;gap:6px;padding:2px;display:flex;overflow-x:auto}.dv-thumbs button{flex:0 0 104px}.dv-files{flex-wrap:wrap;gap:8px;padding:0 2px 2px;display:flex}.lp-viewer[open] .dv{animation:dv-in var(--dur) var(--ease-out)}.lp-viewer[open]::backdrop{animation:dv-fade-in var(--dur-fast) var(--ease-out)}.lp-viewer.out .dv{animation:dv-out .15s var(--ease-in) forwards}.lp-viewer.out::backdrop{animation:dv-fade-out .15s var(--ease-in) forwards}@keyframes dv-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes dv-out{to{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes dv-fade-in{0%{opacity:0}}@keyframes dv-fade-out{to{opacity:0}}@media (hover:none){.gal-hint{opacity:1;transform:none}.gal-open:hover{box-shadow:0 0 0 1px var(--rule), 0 12px 30px #1414191a}}@media (max-width:1040px){.gal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.lp-gallery{padding-top:44px}.gal-grid{grid-template-columns:minmax(0,1fr);gap:40px}.gal-same{border-radius:18px;margin-top:48px;padding:16px}.gal-same-slides{grid-template-columns:minmax(0,1fr)}.dv{border-radius:14px;padding:10px}.dv-nav{width:36px;height:36px}.dv-thumbs button{flex-basis:84px}}
[data-motion] .lp-row .side[data-reveal]{opacity:0}[data-motion] .lp-row .side[data-reveal].in{opacity:1;transition:opacity var(--dur) var(--ease-out)}[data-motion] .lp-row .main[data-reveal]{opacity:0;transform:translateY(10px)}[data-motion] .lp-row .main[data-reveal].in{opacity:1;transition:opacity var(--dur) var(--ease-out) 60ms, transform var(--dur) var(--ease-out) 60ms;transform:none}.lp-bar nav{position:relative}.lp-bar nav a{z-index:1;transition:color var(--dur-fast), transform var(--dur-fast) var(--ease);position:relative}.lp-bar nav a.on{color:var(--ink)}.lp-bar nav a.on:hover{background:0 0}.lp-bar nav:before{content:"";width:var(--iw,0px);height:var(--ih,0px);translate:var(--ix,0px) 0;border-radius:var(--r-pill);background:var(--panel-2);pointer-events:none;position:absolute;top:0;left:0}.lp-bar nav[data-anim]:before{transition:translate var(--dur-ui) var(--ease-out), width var(--dur-ui) var(--ease-out), height var(--dur-ui) var(--ease-out)}.lp-bar nav a:active{transition-duration:60ms;transform:scale(.94)}[data-motion] .faq details[open] .faq-body{animation:faq-open var(--dur) var(--ease-out)}@keyframes faq-open{0%{opacity:0;grid-template-rows:0fr}}@media (hover:none){.lp-bar nav a:hover{color:var(--dim);background:0 0}}
