@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#f5f7f6;background:#07121f;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}.experience{position:relative;width:100%;height:100%;min-height:560px;isolation:isolate;overflow:hidden;background:#07121f}.camera-source{position:fixed;left:-9999px;width:2px;height:2px;opacity:0;pointer-events:none}.water-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:default}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(2,9,16,.48) 0%,transparent 27%,transparent 69%,rgba(2,8,14,.53) 100%),radial-gradient(circle at 50% 46%,transparent 44%,rgba(0,7,13,.3) 100%);transition:opacity .4s ease}.vignette.is-camera{opacity:0}.masthead,footer,.camera-card,.gesture-hint,.controls,.loading,.error-card{position:absolute;z-index:2}.masthead{top:34px;left:40px;right:40px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.eyebrow,.status,footer,.controls label,.panel-toggle,.card-kicker,.privacy-note{font-family:DM Mono,monospace;letter-spacing:.11em;text-transform:uppercase}.eyebrow{margin:0 0 3px;color:#ecf4f49e;font-size:10px}h1{margin:0;font-size:clamp(24px,2.5vw,42px);line-height:1;font-weight:500;letter-spacing:-.045em}.status{display:flex;align-items:center;gap:9px;margin-top:4px;font-size:9px;color:#eef6f5b8}.status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#b9c1c4;box-shadow:0 0 0 4px #c4cfd01f}.status-dot.is-ready{background:#b5f0cf;box-shadow:0 0 0 4px #9beec326,0 0 16px #9beec38c}.camera-card{top:50%;left:50%;width:min(470px,calc(100vw - 40px));padding:29px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:linear-gradient(145deg,#06111bc4,#050e1794);box-shadow:0 25px 80px #00000052;-webkit-backdrop-filter:blur(26px) saturate(130%);backdrop-filter:blur(26px) saturate(130%);transform:translate(-50%,-50%)}.card-kicker{margin:0 0 16px;color:#def1eca3;font-size:9px}.camera-card h2{max-width:370px;margin:0;font-size:clamp(31px,4vw,47px);line-height:.99;font-weight:500;letter-spacing:-.055em}.card-copy{max-width:400px;margin:18px 0 22px;color:#f0f6f4b3;font-size:14px;line-height:1.65}.primary-action{width:100%;min-height:52px;border:1px solid rgba(222,255,243,.58);border-radius:14px;background:#dffbed;color:#0b211a;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 12px 32px #87f4c724;transition:transform .16s ease,background .16s ease}.primary-action:hover{background:#eefff7;transform:translateY(-1px)}.privacy-note{display:block;margin-top:13px;color:#eef5f378;font-size:7px;line-height:1.5;text-align:center}.camera-message{margin:14px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.11);color:#ffd8ce;font-size:12px;line-height:1.5}.gesture-hint{top:50%;left:50%;display:flex;flex-direction:column;gap:6px;width:min(420px,calc(100vw - 40px));padding:17px 22px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#040d1675;box-shadow:0 16px 48px #0000002e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%,-50%);text-align:center;pointer-events:none;animation:hintFade 4.8s 1.2s both}.gesture-hint strong{font-size:19px;font-weight:500}.gesture-hint span{color:#f2f7f6a6;font-size:12px}@keyframes hintFade{0%,62%{opacity:1}to{opacity:0;visibility:hidden}}.controls{left:40px;bottom:55px;width:min(350px,calc(100vw - 80px));color:#f7faf9eb}.panel-toggle{width:max-content;min-height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:100px;background:#050e1666;-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);cursor:pointer;font-size:9px}.control-content{position:absolute;left:0;bottom:46px;width:100%;margin-top:10px;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:#040c1394;box-shadow:0 18px 50px #0000002e;-webkit-backdrop-filter:blur(22px) saturate(125%);backdrop-filter:blur(22px) saturate(125%);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.controls.is-open .control-content{opacity:1;transform:translateY(0);pointer-events:auto}.controls label{display:flex;justify-content:space-between;margin-bottom:12px;font-size:9px;color:#f1f7f6b3}.controls output{color:#fff}input[type=range]{width:100%;height:2px;margin:0 0 22px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:100px;outline:none;background:#ffffff40}input[type=range]::-webkit-slider-thumb{width:16px;height:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:4px solid rgba(255,255,255,.45);border-radius:50%;background:#f5fbf8;box-shadow:0 0 0 3px #ffffff14;cursor:grab}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.button-row button:only-child{grid-column:1 / -1}.button-row button,.stop-camera{min-height:39px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff0f;cursor:pointer;font-size:11px;transition:background .16s ease,border-color .16s ease}.button-row button:hover,.button-row button:focus-visible,.button-row button.active,.stop-camera:hover{border-color:#ffffff52;background:#ffffff24}.stop-camera{width:100%;margin-top:8px}.stop-camera{color:#ffe1dac7}button:focus-visible,input:focus-visible{outline:2px solid #d7fff0;outline-offset:3px}footer{left:40px;right:40px;bottom:26px;display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#ecf4f475;pointer-events:none}.loading,.error-card{top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid rgba(255,255,255,.15);border-radius:100px;background:#040d17c7;box-shadow:0 20px 50px #00000047;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-family:DM Mono,monospace;color:#f6faf9cc;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.loading span{width:8px;height:8px;border-radius:50%;background:#d9fff0;animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.25;transform:scale(.72)}}.error-card{width:min(420px,calc(100vw - 40px));flex-direction:column;align-items:flex-start;border-radius:18px;text-transform:none}.error-card p{margin:0;color:#fff;font-family:Manrope,sans-serif;font-size:16px;font-weight:600}.error-card span{color:#ffffff9e;line-height:1.55}@media(max-width:700px){.experience{min-height:500px}.masthead{top:24px;left:22px;right:22px}.status{max-width:130px;text-align:right;line-height:1.45}.camera-card{padding:24px;border-radius:21px}.camera-card h2{font-size:clamp(30px,10vw,43px)}.card-copy{margin-top:15px;font-size:13px}.controls{left:22px;bottom:62px;width:calc(100vw - 44px)}footer{left:22px;right:22px;bottom:22px}footer span:first-child{display:none}footer span:last-child{margin-left:auto}}@media(max-height:650px){.masthead{top:20px}.camera-card{padding:21px 24px}.camera-card h2{font-size:33px}.card-copy{margin:12px 0 16px;line-height:1.5}.privacy-note{margin-top:9px}}@media(prefers-reduced-motion:reduce){.gesture-hint,.loading span{animation:none}}
