@font-face{font-family:WithMyWoes;src:url(/iceman/WithMyWoes.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#000;--fg:#fff;--accent:#fff;--capture-size:72px;--hold-ring-size:88px}@keyframes ice-glow{0%,to{opacity:.4}50%{opacity:1}}#share-btn{color:#fff;background:0 0;border:1.5px solid #2ec4ff;position:relative}#share-btn:after{content:"";border-radius:inherit;opacity:.5;pointer-events:none;z-index:-1;animation:2s ease-in-out infinite ice-glow;position:absolute;inset:-1px;box-shadow:0 0 14px 1px #2ec4ffe6,0 0 32px 4px #2ec4ff73}#share-btn:hover{transform:translateY(-2px)}#retake-btn{color:#ffffffb3;background:0 0;border:1px solid #ffffff4d;transition:border-color .2s,color .2s}#retake-btn:hover{color:#fff;border-color:#fff9;transform:translateY(-2px)}.icy-btn{background:0 0;border:1px solid #2ec4ff;box-shadow:0 0 10px #2ec4ff66;color:#fff!important}.icy-btn:hover{transform:translateY(-2px)}html,body{background:var(--bg);width:100%;height:100%;color:var(--fg);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif;overflow:hidden}.hidden{display:none!important}#passcode-screen{z-index:150;background:radial-gradient(at 50% 60%,#1a1a2e 0%,#000 70%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.passcode-card{text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:320px;padding:48px 32px;display:flex}.passcode-card h1{letter-spacing:-.5px;font-size:28px;font-weight:700}.passcode-card p{color:#fff9;font-size:15px;line-height:1.5}#passcode-input{color:#fff;text-align:center;letter-spacing:1px;background:#ffffff14;border:1px solid #fff3;border-radius:14px;width:100%;margin-top:4px;padding:14px 18px;font-size:16px}#passcode-input:focus{border-color:#2ec4ff;outline:none;box-shadow:0 0 10px #2ec4ff66}#passcode-input::placeholder{color:#ffffff59;letter-spacing:normal}#passcode-btn{cursor:pointer;border-radius:50px;width:100%;padding:15px 0;font-size:16px;font-weight:700;transition:transform .15s}#passcode-btn:active{transform:scale(.97)}.passcode-error{color:#ff6b6b!important;font-size:14px!important}#permission-screen{z-index:100;background:radial-gradient(at 50% 60%,#1a1a2e 0%,#000 70%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.permission-card{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:320px;padding:48px 32px;display:flex}.glove-icon{filter:drop-shadow(0 0 24px #fff6);font-size:64px}.permission-card h2{letter-spacing:-.5px;font-size:28px;font-weight:700}.permission-card p{color:#fff9;font-size:15px;line-height:1.5}#start-btn{cursor:pointer;border-radius:50px;margin-top:8px;padding:16px 40px;font-size:16px;font-weight:700;transition:transform .15s}#start-btn:active{transform:scale(.96)}#ar-view{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#video,#frozen-frame,#frozen-frame-ice{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}#frozen-frame-ice{opacity:0;transition:opacity 3s ease-in-out}#three-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#hold-ring{pointer-events:none;z-index:10;width:14px;height:14px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.hold-ring-fill{fill:none;stroke:#6cf;stroke-width:4px;stroke-linecap:round;stroke-dasharray:276.5;stroke-dashoffset:276.5px;filter:drop-shadow(0 0 6px #64c8ffcc);transition:stroke-dashoffset 50ms linear}#template-overlay{object-fit:contain;pointer-events:none;mix-blend-mode:screen;opacity:.95;width:60vmin;height:60vmin;transition:opacity .25s,filter .25s;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}#template-overlay.locking{opacity:.8;filter:drop-shadow(0 0 20px #64dcffb3)}#template-overlay.locked{opacity:1;filter:drop-shadow(0 0 40px #a0f0fff2)}#template-overlay.hidden-template{opacity:0;transition:opacity .4s}#page-title{top:calc(env(safe-area-inset-top,0px) + 120px);text-align:center;color:#fff;opacity:.85;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:5;font-family:WithMyWoes,serif;font-size:clamp(36px,8vw,64px);transition:opacity .25s;position:absolute;left:0;right:0}#page-title.icing-mode{opacity:1;top:50%;transform:translateY(-50%)}.title-six{vertical-align:middle;font-family:Caveat,cursive;font-size:2em;font-weight:600}#controls{bottom:calc(env(safe-area-inset-bottom,0px) + 32px);justify-content:center;align-items:center;padding:0 32px;display:flex;position:absolute;left:0;right:0}.ctrl-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:48px;height:48px;color:var(--fg);cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,background .15s;display:flex}.ctrl-btn:active{background:#ffffff40;transform:scale(.9)}.zoom-btn{letter-spacing:-.3px;min-width:48px;font-size:13px;font-weight:700}.capture-wrap{width:var(--hold-ring-size);height:var(--hold-ring-size);justify-content:center;align-items:center;display:flex;position:relative}.hold-ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.hold-ring-track{fill:none;stroke:#ffffff26;stroke-width:3px}.hold-ring-fill{fill:none;stroke:#6cf;stroke-width:3px;stroke-linecap:round;stroke-dasharray:251.2;stroke-dashoffset:251.2px;transition:stroke-dashoffset .1s linear}.capture-btn{width:var(--capture-size);height:var(--capture-size);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffff26;border:4px solid #fffc;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s;display:flex;position:relative}.capture-btn:active{transform:scale(.91)}.shutter-ring{width:calc(var(--capture-size) - 16px);height:calc(var(--capture-size) - 16px);background:#fff;border-radius:50%;transition:transform .12s;display:block}.capture-btn:active .shutter-ring{transform:scale(.9)}#shard-canvas{pointer-events:none;z-index:55;width:100%;height:100%;position:fixed;inset:0}#preview-overlay{z-index:50;opacity:0;pointer-events:none;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:24px;transition:opacity .3s;display:flex;position:fixed;inset:0}#preview-overlay.visible{opacity:1;pointer-events:all}#preview-img{object-fit:cover;aspect-ratio:1;border-radius:12px;width:min(92vw,92vh);max-width:none;max-height:none}#preview-controls{flex-direction:column;align-items:center;gap:10px;display:flex}#btn-row{gap:16px;display:flex}@media (pointer:coarse){#preview-img{width:100vw;height:100vh;aspect-ratio:unset;object-fit:cover;border-radius:0}#preview-controls{bottom:calc(env(safe-area-inset-bottom,0px) + 20px);justify-content:center;align-items:center;position:absolute;left:0;right:0}}#preview-controls button{cursor:pointer;border:none;border-radius:50px;padding:14px 32px;font-size:16px;font-weight:600;transition:transform .12s}#preview-controls button:active{transform:scale(.96)}#credit-label{text-align:center;color:#ffffff59;letter-spacing:.3px;pointer-events:none;font-size:11px;font-weight:400}#preview-overlay.shatter-reveal #preview-img{width:100vw;max-width:none;height:100vh;max-height:none;aspect-ratio:unset;object-fit:cover;border-radius:0}#preview-overlay.shatter-reveal #preview-controls{display:none}#loading-overlay{z-index:200;background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.spinner{border:3px solid #fff3;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#loading-msg{color:#ffffffb3;font-size:14px}#error-toast{color:#fff;z-index:300;background:#c0392b;border-radius:8px;padding:12px 24px;font-size:14px;animation:.3s fadeInUp;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}#ar-view.flash:after{content:"";pointer-events:none;background:#c8f0ff;animation:.4s forwards flashOut;position:absolute;inset:0}@keyframes flashOut{to{opacity:0}}
