.tech-text{min-width:0;display:block;position:relative}.tech-text-fallback{display:block}.tech-text-canvas{opacity:0;pointer-events:none;width:calc(100% + 24px);height:calc(100% + 24px);display:block;position:absolute;inset:-12px}.tech-text[data-tech-ready=true]>.tech-text-fallback{color:#0000}.tech-text[data-tech-ready=true]>.tech-text-canvas{opacity:1}@media (prefers-reduced-motion:reduce){.tech-text[data-tech-ready=true]>.tech-text-fallback{color:inherit}.tech-text[data-tech-ready=true]>.tech-text-canvas{opacity:0}}
.card-swap{touch-action:pan-y;outline-offset:3px;background:#e7edf5;border-radius:12px;flex:1;width:100%;min-height:250px;position:relative;overflow:hidden}.card-swap-stage{perspective:900px;perspective-origin:50%;position:absolute;inset:52px 44px 40px 12px;container-type:size}.card-swap-hint{color:#4b4b4b;text-align:center;pointer-events:none;font-size:.6875rem;line-height:1.4;position:absolute;bottom:12px;left:12px;right:12px}.card-swap-slot{aspect-ratio:4/3;border:2px solid var(--color-ink);isolation:isolate;backface-visibility:hidden;-webkit-user-select:none;user-select:none;visibility:hidden;cursor:pointer;background:#fff;border-radius:10px;width:min(100cqw,133.333cqh);position:absolute;top:max(0px,50cqh - min(75cqw,100cqh)/2);left:0;overflow:hidden;box-shadow:0 8px 18px #1717172e}.card-swap-slot:first-child{visibility:visible}.card-swap-slot[data-front]{cursor:grab;touch-action:none}.card-swap[data-dragging] .card-swap-slot[data-front]{cursor:grabbing}.card-swap-card{background:#fff;width:100%;height:100%;position:relative}.card-swap-card img{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.card-swap--single .card-swap-slot[data-front]{cursor:default;touch-action:pan-y}.card-swap--single .card-swap-card img{object-fit:contain}.card-swap-shade{opacity:var(--swap-dim,0);pointer-events:none;background:#fff;position:absolute;inset:0}.card-swap-map-credit{color:#171717;background:#fffffff0;padding:4px 6px;font-size:.5625rem;line-height:1.4;position:absolute;bottom:0;left:0;right:0}html[data-theme=classic] .viewer-gallery--depth{color:var(--color-ink);overscroll-behavior:contain;background:#f3f5f8;overflow-y:auto}.viewer-gallery--depth .viewer-count{border-color:var(--color-ink);color:var(--color-ink);background:#fff}.viewer-gallery--depth .viewer-caption{color:#454545}@media (max-width:47.999rem){html[data-theme=classic] .viewer-gallery--depth{overscroll-behavior:auto;overflow:visible}.viewer-gallery--depth .card-swap{flex:none;height:clamp(280px,72vw + 30px,390px)}.card-swap-stage{inset:48px 40px 40px 10px}}
.depth-carousel{perspective:1400px;perspective-origin:50%;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;outline-offset:3px;background:#e7edf5;border-radius:12px;flex:1;width:100%;min-height:300px;position:relative;overflow:hidden}.depth-carousel[data-dragging]{cursor:grabbing}.depth-carousel__stage{width:300px;height:400px;transform-style:preserve-3d;position:absolute;top:calc(50% - 16px);left:50%;transform:translate(-50%,-50%)}.depth-carousel__card{transform-origin:50%;border:2px solid var(--color-ink);cursor:pointer;visibility:hidden;background:#fff;border-radius:12px;width:300px;height:400px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 30px -12px #17171759}.depth-carousel__card:first-child{visibility:visible}.depth-carousel__card[data-front]{cursor:grab}.depth-carousel__img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.depth-carousel__hint{color:#4b4b4b;text-align:center;pointer-events:none;font-size:.6875rem;line-height:1.4;position:absolute;bottom:12px;left:12px;right:12px}.viewer-gallery--alda-depth{color:var(--color-ink);overscroll-behavior:contain;background:#f3f5f8;overflow-y:auto}.viewer-gallery--alda-depth .viewer-count{border-color:var(--color-ink);color:var(--color-ink);background:#fff}.viewer-gallery--alda-depth .viewer-caption{color:#454545}@media (max-width:47.999rem){.viewer-gallery--alda-depth{overscroll-behavior:auto;overflow:visible}.viewer-gallery--alda-depth .depth-carousel{flex:none;height:clamp(340px,92vw,460px)}}
.text-loop{width:100%;position:relative;overflow:hidden}.text-loop-svg{width:100%;height:auto;display:block}.text-loop-text{-webkit-user-select:none;user-select:none}.text-loop-measure{visibility:hidden;pointer-events:none}
.portrait-reveal{aspect-ratio:1;touch-action:pan-y;background:0 0;overflow:hidden}.portrait-reveal__real,.portrait-reveal__lego{background:0 0;position:absolute;inset:0;overflow:hidden}.portrait-reveal__real img,.portrait-reveal__lego img{-webkit-user-select:none;user-select:none;max-width:none;position:absolute}.portrait-reveal__real img{height:calc(100% * var(--real-scale) * var(--real-ratio,1))}.portrait-reveal__lego img{height:calc(100% * var(--lego-scale) * var(--lego-ratio,1))}.portrait-reveal__real img{width:calc(100% * var(--real-scale));left:var(--real-x);top:var(--real-y)}.portrait-reveal__lego img{width:calc(100% * var(--lego-scale));left:var(--lego-x);top:var(--lego-y)}.portrait-reveal__real{visibility:hidden}.portrait-reveal[data-portrait-mode=real] .portrait-reveal__real{visibility:visible;z-index:1}.portrait-reveal[data-fluid-ready] .portrait-reveal__lego{opacity:0}.portrait-reveal[data-portrait-mode=real] .portrait-reveal__lego{visibility:hidden}.portrait-reveal__canvas{pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}.portrait-reveal[data-fluid-ready] .portrait-reveal__canvas{display:block}.portrait-reveal[data-portrait-mode=real] .portrait-reveal__canvas{display:none}.scroll-expand__stage[data-portrait-handoff] .portrait-reveal,.scroll-expand__stage[data-reveal-stopped] .portrait-reveal{pointer-events:none}@media (max-width:39.999rem){.portrait-reveal__real img{width:calc(100% * var(--real-mobile-scale));left:var(--real-mobile-x);top:var(--real-mobile-y)}.portrait-reveal__lego img{width:calc(100% * var(--lego-mobile-scale));left:var(--lego-mobile-x);top:var(--lego-mobile-y)}}
