@font-face{font-family:Aigc Albert;src:url('../case-directory/fonts/albert-sans-extralight.ttf') format('truetype');font-weight:200;font-display:swap}
@font-face{font-family:Aigc Albert;src:url('../profile/fonts/albert-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Aigc Chinese;src:url('./fonts/noto-sans-sc-scenes.woff2') format('woff2');font-weight:100 900;font-display:swap}
.aigc-section{width:100%;display:block;background:#000;color:#fff;overflow:clip}
.aigc-viewport{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}
.aigc-board{position:absolute;left:0;top:0;width:1920px;height:1080px;overflow:hidden;background:#000;transform:scale(var(--aigc-scale,1));transform-origin:0 0;font-synthesis:none}
.aigc-text{position:absolute;margin:0;padding:0;border:0;font-family:'Aigc Albert','Aigc Chinese',sans-serif;font-weight:200;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.aigc-column{position:absolute;left:756px;top:0;width:416px;height:1080px;overflow:auto;scrollbar-width:none;overscroll-behavior-y:auto;user-select:none}
.aigc-column::-webkit-scrollbar{display:none}
.aigc-column:focus-visible{outline:1px solid #666;outline-offset:5px}
.aigc-column-content{position:relative;width:416px;height:1180px}
.aigc-image,.aigc-repeat{position:absolute;overflow:hidden}
.aigc-image,.aigc-repeat{backface-visibility:visible}
[data-continuation-phase=aigc] .aigc-image,[data-continuation-phase=aigc] .aigc-repeat{transition:transform 420ms cubic-bezier(.22,.75,.25,1)}
.aigc-image img,.aigc-repeat img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
/* Reflow real cards on the original left edge; no detached preview. */
.aigc-image,.aigc-repeat{transform-origin:0 0!important}
[data-queue-focus=true]{cursor:zoom-in}
.aigc-hover-frame{position:absolute;inset:0;overflow:hidden;transform-origin:50% 50%;transition:transform 420ms cubic-bezier(.22,.75,.25,1),opacity var(--aigc-retreat-ms,420ms) cubic-bezier(.22,.75,.25,1);opacity:var(--aigc-retreat-opacity,1);background:inherit}
.aigc-hover-frame img{transition:transform 420ms cubic-bezier(.22,.75,.25,1)}
[data-queue-focus=true]{overflow:visible}
@property --aigc-edge-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.aigc-hover-frame::after{content:'';position:absolute;inset:0;z-index:2;padding:1px;pointer-events:none;opacity:0;background:conic-gradient(from var(--aigc-edge-angle),transparent 0% 70%,#d9ecff33 82%,#e8f4ffd9 94%,#fff 98%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 2.5px #dcefffaa);transition:opacity 180ms ease}
[data-queue-focus=true] .aigc-hover-frame::after{opacity:1;animation:aigc-edge-travel 3.2s linear infinite}
@keyframes aigc-edge-travel{to{--aigc-edge-angle:360deg}}
@media(prefers-reduced-motion:reduce){[data-queue-focus=true] .aigc-hover-frame::after{animation:none;background:#e8f4ff99}}
[data-foreground-ready=true] .aigc-hover-frame,[data-foreground-ready=true] .aigc-hover-frame img{transition-duration:180ms}
@media(prefers-reduced-motion:reduce){.aigc-hover-frame,.aigc-hover-frame img{transition:none!important}}
@media(prefers-reduced-motion:reduce){.aigc-image,.aigc-repeat{transition:none}}
.aigc-image[type=button],.aigc-repeat[type=button]{padding:0;border:0;background:transparent;text-align:initial;cursor:zoom-in}
.aigc-image[type=button]:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.aigc-placeholder,.aigc-image.aigc-placeholder,.aigc-repeat.aigc-placeholder{background:#d9d9d9}
.aigc-repeat{opacity:0;pointer-events:none}
[data-continuation-phase=aigc] .aigc-repeat{opacity:1;pointer-events:auto}
.aigc-detail{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#000;color:#fff}
.aigc-detail::backdrop{background:#000}
.aigc-detail-board{position:absolute;left:0;top:0;width:1920px;height:var(--aigc-detail-height,1080px);transform:scale(var(--aigc-detail-scale,1));transform-origin:0 0;font-synthesis:none}
.aigc-detail-scene{position:absolute;inset:0;perspective:1600px;perspective-origin:50% 50%;transform-style:preserve-3d}
.aigc-detail-rig,.aigc-detail-group{position:absolute;inset:0;transform-style:preserve-3d}
/* Empty viewport planes must not intercept cards behind their Z=0 plane. */
.aigc-detail-scene,.aigc-detail-rig,.aigc-detail-group{pointer-events:none}
.aigc-detail-rig{transition:transform 220ms cubic-bezier(.22,.75,.25,1)}
.aigc-detail-image{position:absolute;overflow:visible;padding:0;border:0;margin:0;background:transparent;color:inherit;cursor:pointer;transform-style:preserve-3d;pointer-events:auto}
.aigc-detail-image *{pointer-events:none}
.aigc-detail-image:focus-visible{outline:2px solid #fff;outline-offset:5px}
.aigc-detail-image:disabled{cursor:default}
@media(prefers-reduced-motion:reduce){.aigc-detail-rig{transition:none}}
.aigc-detail-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.aigc-detail-primary{overflow:visible}
.aigc-detail-turn{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(180deg)}
.aigc-detail-front,.aigc-detail-back{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.aigc-detail-back{transform:rotateY(180deg)}
.aigc-detail-text{position:absolute;margin:0;padding:0;border:0;font:400 70px/80px 'Aigc Albert','Aigc Chinese',sans-serif;white-space:nowrap}
.aigc-detail-close{position:absolute;right:22px;top:18px;z-index:100;padding:8px 12px;border:1px solid #ffffff44;background:#0009;color:#fff;font:12px/18px 'Aigc Albert','Aigc Chinese',sans-serif;cursor:pointer}
[data-detail-open=true]>.aigc-viewport .aigc-column-content,[data-detail-open=true]>.aigc-viewport .aigc-text{visibility:hidden}

.aigc-detail .aigc-detail-text{font-weight:200}
/* The project covers share one camera and pointer tilt. */
[data-aigc-space] .aigc-board{height:var(--aigc-space-height,1080px)}
[data-aigc-space] .aigc-space-scene{left:0;top:0;width:1920px;height:var(--aigc-space-height,1080px);overflow:visible;perspective:var(--aigc-space-perspective,1632px);perspective-origin:50% 50%;transform-style:preserve-3d;pointer-events:none}
[data-aigc-space] .aigc-space-rig{position:absolute;inset:0;width:1920px;height:100%;transform-style:preserve-3d;transition:transform 220ms cubic-bezier(.22,.75,.25,1);pointer-events:none}
[data-aigc-space] .aigc-space-arrival{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(-1800px);visibility:hidden;pointer-events:none}
[data-aigc-space] .aigc-space-card{overflow:visible;transform-origin:50% 50%!important;pointer-events:auto;transition:none;background:transparent;transform-style:preserve-3d}
[data-aigc-space] .aigc-space-card img{object-fit:contain;pointer-events:none}
[data-aigc-space] .aigc-space-card.aigc-placeholder{background:#3f3f3f}
.aigc-space-pending{display:grid;place-items:center;width:100%;height:100%;color:#aaa;font:400 28px/1 'Aigc Albert',sans-serif;pointer-events:none}
.aigc-space-number{position:absolute;left:0;bottom:-34px;color:#ccc;font:400 23px/1 'Aigc Albert',sans-serif;pointer-events:none}
.aigc-space-count{position:absolute;left:77px;bottom:52px;margin:0;color:#aaa;font:400 30px/1.2 'Aigc Albert','Aigc Chinese',sans-serif;pointer-events:none}
[data-aigc-space] .aigc-text{z-index:10}
[data-aigc-space][data-detail-open=true] .aigc-space-count{visibility:hidden}
@media(prefers-reduced-motion:reduce){[data-aigc-space] .aigc-space-rig{transition:none}}
.aigc-space-mask{position:absolute;inset:0;pointer-events:none}
[data-aigc-project-link].aigc-space-card:focus-visible{outline:2px solid #fff;outline-offset:4px}
.aigc-project{position:relative;min-height:100dvh;display:grid;place-items:center;background:#000;color:#fff}
.aigc-project-viewport{position:relative;width:min(100%,calc(100dvh * 16 / 9));aspect-ratio:16/9;overflow:hidden}
.aigc-project-board{width:1920px;height:1080px}
.aigc-project-label{position:absolute;margin:0;color:#fff;font:200 50px/40px 'Aigc Albert','Portfolio CJK ExtraLight',sans-serif;letter-spacing:-.05em;white-space:nowrap}
.aigc-project-caption{line-height:18px}
.aigc-project-asset,.aigc-poster-slot,.aigc-poster-index{position:absolute;display:block}
.aigc-project-asset{object-fit:cover}
.aigc-poster-slot{background:#252525}
.aigc-poster-index{left:168.65px;top:812px;width:45.58px;height:70px;color:#aaa;font:200 70px/1 'Aigc Albert',sans-serif}
.aigc-poster-index span{position:absolute;top:0;left:29px;width:1px;height:68px;background:#aaa;transform:skewY(-30deg)}
.aigc-project-return{position:absolute;left:22px;top:18px;z-index:2;padding:8px 12px;border:1px solid #ffffff44;background:#0009;color:#fff;font:12px/18px 'Aigc Albert','Portfolio CJK',sans-serif;text-decoration:none}

.aigc-space-card.aigc-custom-pointer{cursor:none}
:root{
  --portfolio-pointer-glass:linear-gradient(var(--portfolio-pointer-light-angle,115deg),#26262640,#10101074);
  --portfolio-pointer-blur:blur(12px);
  --portfolio-pointer-highlight:inset .55px .6px .7px #ffffff91,inset -.5px -.55px .7px #ffffff6b;
}
.aigc-open-cursor[hidden]{display:none}
.aigc-open-cursor{
  position:fixed;left:-11px;top:-14px;z-index:90;pointer-events:none;
  display:flex;align-items:center;justify-content:flex-start;gap:4px;
  box-sizing:border-box;width:85px;height:28px;padding:0 9px;border-radius:14px;
  background:var(--portfolio-pointer-glass);color:#fff;
  backdrop-filter:var(--portfolio-pointer-blur);-webkit-backdrop-filter:var(--portfolio-pointer-blur);
  box-shadow:var(--portfolio-pointer-highlight);
  transform-origin:11px 14px;transform:rotate(21.67deg);
  font:400 12px/1 'Aigc Albert',sans-serif;letter-spacing:.35px
}
.aigc-open-cursor svg{width:24px;height:16px;flex:none}

@media(prefers-reduced-motion:no-preference){
  .aigc-open-cursor:not([hidden]){animation:aigc-open-swing 1.9s ease-in-out infinite}
}
@keyframes aigc-open-swing{
  0%,100%{transform:rotate(0deg)}
  55%{transform:rotate(23deg)}
}
