.world-surface{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none;overflow:hidden;backface-visibility:hidden}
.world-surface img{display:block;width:100%;height:100%;object-fit:contain}
#board-art{background:#d0c4a4;filter:brightness(.78) saturate(.65);mix-blend-mode:multiply}#board-art img{padding:8px}
#sun-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.window-light{animation-duration:55s}
body[data-page-hidden="true"] .window-light,body[data-investigation="inspecting"] .window-light,body[data-portfolio-state="inspecting"] .window-light,body[data-computer-state="inspecting"] .window-light{animation-play-state:paused}
#portfolio-view{position:fixed;inset:0;z-index:21;overflow:hidden;background:rgba(7,9,6,.89);opacity:0;touch-action:manipulation;--stage-w:100vw;--stage-h:100dvh}
body[data-portfolio-state="entering"] .scene,body[data-portfolio-state="inspecting"] .scene,body[data-portfolio-state="exiting"] .scene{transition:none!important}
.portfolio-exhibit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.study-reel{position:absolute;left:7%;right:12%;top:0;bottom:11%;perspective:1100px;perspective-origin:50% 50%;overflow:hidden;touch-action:none;mask-image:linear-gradient(transparent,black 9%,black 90%,transparent)}
.study-reel-card{position:absolute;left:50%;top:50%;width:min(68%,620px);height:55%;padding:0;background:none;border:0;backface-visibility:hidden;will-change:transform;transform-style:preserve-3d}
.study-reel-card img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}
.study-reel-card:focus-visible{outline:1px solid #c9b99a77;outline-offset:6px}
#work-full{position:absolute;left:8%;right:8%;top:4%;bottom:15%;padding:0;display:flex;justify-content:center;align-items:center;cursor:zoom-out}
#work-full-image{max-width:100%;max-height:100%;object-fit:contain;display:block;user-select:none}
.portfolio-control{position:absolute;z-index:3;color:#d2c4aa;width:48px;height:48px;padding:12px;border:0;background:transparent;opacity:.7;touch-action:manipulation}
.portfolio-control svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.portfolio-control:hover,.portfolio-control:focus-visible{opacity:1}.portfolio-control:focus-visible{outline:1px solid #c9b99a77;outline-offset:2px}
.portfolio-return{left:20px;bottom:22px}.work-previous{right:4%;top:calc(45% - 72px)}.work-next{right:4%;top:calc(45% + 24px)}.work-previous svg,.work-next svg{transform:rotate(90deg)}
#reel-toggle{right:4%;top:calc(45% - 24px)}#reel-toggle .play-icon{display:none}#reel-toggle[data-paused="true"] .pause-icon{display:none}#reel-toggle[data-paused="true"] .play-icon{display:block}
#portfolio-view[data-expanded="true"] #reel-toggle{display:none}#portfolio-view[data-expanded="true"] .work-previous{left:1%;right:auto;top:calc(45% - 24px)}#portfolio-view[data-expanded="true"] .work-next{right:1%;top:calc(45% - 24px)}#portfolio-view[data-expanded="true"] .work-previous svg,#portfolio-view[data-expanded="true"] .work-next svg{transform:none}
.work-selector{position:absolute;left:14%;right:14%;bottom:2.5%;height:9%;display:flex;align-items:center;justify-content:center;gap:clamp(5px,1vw,14px);overflow-x:auto;scrollbar-width:none;padding:5px 0}
.work-selector button{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:0;width:clamp(44px,4.5vw,72px);height:100%;opacity:.38;transition:opacity .25s,transform .25s}
.work-selector button img{max-width:100%;max-height:100%;object-fit:contain;display:block;pointer-events:none}
.work-selector button[aria-pressed="true"],.work-selector button:hover,.work-selector button:focus-visible{opacity:1;transform:translateY(-2px)}.work-selector button:focus-visible{outline:1px solid #c9b99a77;outline-offset:2px}
body[data-portfolio-state="entering"] #portfolio-view,body[data-portfolio-state="exiting"] #portfolio-view{pointer-events:none}
@media(max-height:500px){.work-selector{height:11%}.portfolio-return{left:10px;bottom:8px}}
@media(orientation:portrait){#portfolio-view{position:fixed;width:100dvh;height:100vw;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);--stage-w:100dvh;--stage-h:100vw}.work-selector{left:11%;right:11%;justify-content:flex-start}.work-selector button{width:44px}.portfolio-return{left:10px;bottom:8px}.study-reel{bottom:14%}}
@media(prefers-reduced-motion:reduce){.study-reel-card{will-change:auto}.work-selector button{transition:none}}
/* The supplied overhead photograph is now the gallery; artwork stays on its paper surface. */
#portfolio-view{background:transparent}
#board-plane{position:absolute;left:50%;top:50%;transform-origin:center;will-change:transform;overflow:hidden;isolation:isolate}
#board-detail{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
#board-light-layers{position:absolute;inset:0;isolation:isolate;pointer-events:none}
#board-light-layers canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.board-sun-plate{mix-blend-mode:plus-lighter}
#board-detail.board-source-ready{visibility:hidden}
#board-surface{pointer-events:auto;mix-blend-mode:normal;filter:saturate(.9);isolation:isolate;z-index:1}
#board-art-illumination{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;z-index:2}
#board-art-illumination canvas{width:100%;height:100%;display:block;pointer-events:none}
#board-surface .study-reel{inset:0;perspective:none;mask-image:none;cursor:grab}
#board-surface .study-reel[data-dragging="true"],#board-surface .study-reel[data-dragging="true"] button{cursor:grabbing}
#board-surface .study-reel-card{inset:0;width:100%;height:100%;padding:26px;background:#f5f0e5;transform-style:flat;cursor:grab;touch-action:none}
#board-surface .study-reel-card img{object-fit:contain}
#board-surface #work-full{inset:0;width:100%;height:100%;padding:8px;background:#f5f0e5;touch-action:manipulation}
#board-surface #work-full-image{width:100%;height:100%;object-fit:contain}
#portfolio-view .work-previous,#portfolio-view[data-expanded="true"] .work-previous{left:calc(50% - 92px);right:auto;top:auto;bottom:12px}
#portfolio-view .work-next,#portfolio-view[data-expanded="true"] .work-next{left:calc(50% + 44px);right:auto;top:auto;bottom:12px}
#portfolio-view .work-previous svg,#portfolio-view .work-next svg{transform:none}
#portfolio-view #reel-toggle{left:calc(50% - 24px);right:auto;top:auto;bottom:12px}
#portfolio-view .work-selector{display:none}
#board-atmosphere-toggle{position:absolute;left:88px;bottom:12px;min-height:44px;padding:8px 10px;border:0;background:transparent;color:#e5d6bb;font:12px 'Songti SC',serif;letter-spacing:.1em;text-shadow:0 1px 5px #000;z-index:3}
#board-atmosphere-toggle:focus-visible{outline:1px solid #e5d6bb;outline-offset:2px}
@media(max-width:600px){#board-atmosphere-toggle{left:72px}}
@media(prefers-reduced-motion:reduce){#board-plane{will-change:auto}}
