*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;max-height:100%;overflow:hidden;background:#000;position:fixed}#raw-photo{position:fixed;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:1;transition:opacity 1.2s ease}#raw-photo.fade-out{opacity:0;pointer-events:none}#c{display:block;width:100%;height:100%;position:fixed;inset:0;z-index:0}#watch-me{position:fixed;z-index:20;pointer-events:all;transform:translate(-50%,-50%);font-family:Courier New,monospace;font-size:clamp(.62rem,1.1vw,.8rem);letter-spacing:.14em;color:#fff582;text-shadow:0 0 6px rgba(255,230,80,1),0 0 18px rgba(255,200,0,.9),0 0 40px rgba(255,160,0,.6),0 0 80px rgba(255,100,0,.3);cursor:pointer;white-space:nowrap;animation:watchPulse 2s ease-in-out infinite;transition:opacity .5s ease;user-select:none}#watch-me.hidden{opacity:0;pointer-events:none}@keyframes watchPulse{0%,to{color:#ffe664d9;text-shadow:0 0 6px rgba(255,210,60,.9),0 0 16px rgba(255,180,0,.6),0 0 36px rgba(255,140,0,.3)}50%{color:#ffffbe;text-shadow:0 0 10px rgba(255,250,120,1),0 0 28px rgba(255,220,0,1),0 0 60px rgba(255,180,0,.85),0 0 110px rgba(255,120,0,.5),0 0 180px rgba(255,80,0,.2)}}#ui{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:max(5vh,env(safe-area-inset-bottom,16px));pointer-events:none;opacity:0;transition:opacity .8s ease}#ui.visible{opacity:1}#brand{font-family:Courier New,monospace;font-size:clamp(.75rem,1.5vw,1rem);letter-spacing:.25em;color:#b4dcff8c;text-transform:uppercase;margin-bottom:2.5rem}#brand em{font-style:normal;color:#00ffc899}#bottom-brand{position:fixed;bottom:max(4vh,env(safe-area-inset-bottom,16px));left:max(4vw,20px);z-index:20;pointer-events:none;transition:opacity .6s ease}#bottom-brand h1{font-family:Courier New,monospace;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.12em;font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7);text-transform:uppercase;line-height:1}#bottom-brand p{font-family:Courier New,monospace;font-size:clamp(.6rem,1.1vw,.78rem);letter-spacing:.08em;color:#ffffffb3;margin-top:.35rem;text-shadow:0 1px 6px rgba(0,0,0,.6)}#holo-nav{position:fixed;inset:0;z-index:8;pointer-events:none;overflow:hidden}.gem-btn{position:absolute;transform:translate(-50%,-50%);font-family:Courier New,monospace;font-size:clamp(.6rem,1.05vw,.72rem);letter-spacing:.14em;color:#00ffc8f2;text-decoration:none;white-space:nowrap;pointer-events:all;cursor:pointer;padding:.38em 1.1em;border:1px solid rgba(0,255,200,.6);border-radius:999px;background:#00281e59;backdrop-filter:blur(2px);box-shadow:0 0 8px #00ffc880,0 0 22px #00ffc840,inset 0 0 8px #00ffc814;text-shadow:0 0 6px rgba(0,255,200,.9),0 0 14px rgba(0,255,200,.5);left:-9999px;top:-9999px;opacity:0;transition:color .2s,box-shadow .2s,border-color .2s,background .2s}.gem-btn:hover{color:#fff;border-color:#00ffc8;background:#003c2d8c;box-shadow:0 0 14px #00ffc8e6,0 0 40px #00ffc880,0 0 80px #00ffc833,inset 0 0 14px #00ffc826;text-shadow:0 0 10px rgba(0,255,200,1),0 0 28px rgba(0,255,200,.7)}#beam-canvas{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity 1s ease}#beam-canvas.visible{opacity:1}#zoom-layer{position:fixed;inset:0;z-index:50;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .05s}#zoom-layer.active{pointer-events:all;opacity:1}#zoom-photo,#zoom-illustrated{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;transform-origin:51.5% 40%}#zoom-photo{transform:scale(1);transition:transform 2.2s cubic-bezier(.4,0,.2,1),filter 1.6s ease 0s}#zoom-illustrated{opacity:1;transform:scale(1);transition:transform 2.2s cubic-bezier(.4,0,.2,1);clip-path:circle(0px at 51.5% 40%)}#zoom-layer.cartoonize #zoom-photo{filter:saturate(.05) brightness(1.15)}#zoom-layer.zooming #zoom-photo,#zoom-layer.zooming #zoom-illustrated{transform:scale(20)}#zoom-iris{position:absolute;inset:0;pointer-events:none}#zoom-scanlines{position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,180,.06) 2px,rgba(0,255,180,.06) 3px);transition:opacity .8s ease .3s}#zoom-layer.cartoonize #zoom-scanlines{opacity:1}#zoom-fade{position:absolute;inset:0;background:#000;opacity:0;transition:opacity .6s ease .8s}#zoom-layer.zooming #zoom-fade{opacity:1}
