:root{color-scheme:dark;font-family:Space Grotesk,Avenir Next,sans-serif;background:radial-gradient(circle at 20% 10%,#1a3a54,#070b14 42%,#02050b)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:#ebf6ff;background:transparent}#root{min-height:100vh}.app-shell{position:relative}.upload-panel{position:fixed;z-index:10;top:1rem;left:1rem;width:min(320px,calc(100vw - 2rem));background:#040a0fdb;border:1px solid rgb(139 194 255 / 24%);border-radius:14px;padding:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.upload-title{display:block;margin-bottom:.45rem;font-size:.95rem;font-weight:700;letter-spacing:.04em}.upload-panel form{display:grid;gap:.5rem}@media(min-width:769px){.upload-panel form{display:grid!important}}.upload-field{display:grid;gap:.25rem;font-size:.78rem;color:#c5e1fa}.upload-field input,.upload-panel input[type=file],.upload-panel button{width:100%}.upload-field input,.upload-panel input[type=file]{border:1px solid rgb(148 200 255 / 28%);border-radius:8px;background:#020c14b3;color:#e8f5ff;padding:.45rem .55rem}.upload-panel button{border:1px solid rgb(149 214 255 / 38%);border-radius:999px;background:linear-gradient(180deg,#185c8e,#0a4066);color:#f2fbff;padding:.5rem .75rem;font-weight:700}.upload-panel button:disabled{opacity:.6}.upload-caption{margin:.45rem 0 0;font-size:.8rem;color:#b2d5f8}.upload-quicklook-toggle{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:#ebf6ff;cursor:pointer}.upload-quicklook-toggle input{width:1rem;height:1rem;accent-color:#2f7fc1}.upload-error,.feed-error{color:#ff9ea6}.feed-scroll{position:relative;height:100svh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth;background:radial-gradient(circle at 50% 112%,rgb(99 198 255 / .22) 0%,transparent 34%),radial-gradient(ellipse at 50% -12%,rgb(102 182 255 / .16) 0%,transparent 46%),radial-gradient(circle at 18% 20%,rgb(43 118 187 / .2) 0%,transparent 38%),radial-gradient(circle at 84% 14%,rgb(80 133 236 / .14) 0%,transparent 34%),linear-gradient(102deg,#3684d61a,#3684d600 33%),linear-gradient(180deg,#020a141f,#020a1494)}@keyframes bubble-hover{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.005)}}@keyframes bubble-glow-pulse{0%,to{opacity:.68;transform:scale(.97)}50%{opacity:1;transform:scale(1.05)}}@keyframes bubble-aura-spin{0%{transform:rotate(0) scale(1);opacity:.54}50%{transform:rotate(180deg) scale(1.02);opacity:.85}to{transform:rotate(360deg) scale(1);opacity:.54}}@keyframes bubble-window-sweep{0%{background-position:0% 0%,0% 0%,0% 0%,0% 0%;opacity:.72}50%{background-position:12% -4%,-10% 8%,42% 0%,70% 0%;opacity:.96}to{background-position:0% 0%,0% 0%,88% 0%,120% 0%;opacity:.72}}@keyframes bubble-caustic-drift{0%{transform:translate3d(-4%,-2%,0) scale(1);opacity:.2}50%{transform:translate3d(5%,3%,0) scale(1.05);opacity:.42}to{transform:translate3d(-4%,-2%,0) scale(1);opacity:.2}}@keyframes bubble-base-breathe{0%,to{opacity:.62;transform:translate(-50%) scale(.97)}50%{opacity:.98;transform:translate(-50%) scale(1.05)}}@keyframes bubble-rim-shimmer{0%{opacity:.78;transform:rotate(0) scale(1)}50%{opacity:1;transform:rotate(180deg) scale(1.012)}to{opacity:.78;transform:rotate(360deg) scale(1)}}@keyframes bubble-beam-pulse{0%,to{opacity:.34;transform:translate(-50%) scaleY(.95)}50%{opacity:.78;transform:translate(-50%) scaleY(1.08)}}@keyframes bubble-specular-orbit{0%{background-position:0% 0%,0% 0%,0% 0%;opacity:.66}50%{background-position:14% -5%,-8% 10%,42% 0%;opacity:.9}to{background-position:0% 0%,0% 0%,84% 0%;opacity:.66}}@keyframes bubble-core-drift{0%{transform:translate3d(-2.8%,-1.6%,0) scale(1);opacity:.22}50%{transform:translate3d(2.5%,2.4%,0) scale(1.04);opacity:.44}to{transform:translate3d(-2.8%,-1.6%,0) scale(1);opacity:.22}}@keyframes bubble-front-shimmer{0%{transform:rotate(0) scale(1);opacity:.72;background-position:0% 0%,0% 0%,0% 0%}50%{transform:rotate(180deg) scale(1.02);opacity:1;background-position:12% -7%,-8% 9%,56% 0%}to{transform:rotate(360deg) scale(1);opacity:.72;background-position:0% 0%,0% 0%,112% 0%}}@keyframes bubble-floor-glow{0%,to{opacity:.55;transform:translate(-50%) scale(.96)}50%{opacity:.9;transform:translate(-50%) scale(1.05)}}.feed-card{--bubble-size: min(85vw, 75vh);--holo-cyan: #76e4ff;--holo-blue: #64aeff;--holo-violet: #b188ff;--holo-deep: #041528;--holo-ice: #eaf8ff;--holo-indigo: #6d8fff;position:relative;height:100svh;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;overflow:hidden;padding:2rem 1rem;background:transparent;perspective:1200px}.feed-card-bubble-shell{position:relative;width:var(--bubble-size);height:var(--bubble-size);flex-shrink:0;z-index:1;isolation:isolate;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 28% 18%,#e8f8ff33,#e8f8ff00 26%),radial-gradient(circle at 66% 68%,#76bcff1a,#76bcff00 42%),radial-gradient(circle at 50% 48%,#1042781f,#061b393d 58%,#020b1799);box-shadow:0 0 0 1px #a7e4ff33,inset 0 0 44px #49a6ff14,inset 0 -10px 64px #030f214d,0 24px 72px #010712a8,0 0 110px #55afff29}.feed-card-bubble-glow{position:absolute;inset:-24%;border-radius:50%;background:radial-gradient(circle,rgb(102 203 255 / .24) 0%,rgb(62 156 233 / .12) 30%,transparent 70%);filter:blur(.6px);pointer-events:none;z-index:-2}.feed-card-bubble-aura{position:absolute;inset:-2.5%;border-radius:50%;background:conic-gradient(from 124deg,transparent 0deg,rgb(136 224 255 / .18) 52deg,transparent 102deg,rgb(102 160 255 / .14) 204deg,transparent 286deg,rgb(136 224 255 / .16) 360deg);opacity:.52;pointer-events:none;z-index:0}.feed-card-bubble{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;clip-path:circle(50% at 50% 50%);z-index:2}.feed-card-model-unavailable{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center;padding:1rem;background:radial-gradient(circle at 50% 42%,#4da1e629,#112b4e33 52%,#06142775)}.feed-card-model-unavailable p{margin:0;font-size:.82rem;font-weight:600;letter-spacing:.03em;color:#d3e7f9;text-transform:uppercase}.feed-card-bubble-shell:before{content:"";position:absolute;inset:3%;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle at 68% 78%,rgb(109 186 255 / .16) 0%,transparent 46%),radial-gradient(circle at 28% 30%,rgb(150 224 255 / .08) 0%,transparent 42%);opacity:.55}.feed-card-bubble-shell:after{content:none;position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:7}.feed-card-bubble-rim{position:absolute;inset:-.4%;border-radius:50%;border:1px solid rgb(190 246 255 / .46);box-shadow:0 0 0 1px #8dd8ff29,0 0 26px #78c2ff3d;pointer-events:none;z-index:5}.feed-card-bubble-base{position:absolute;left:50%;top:calc(50% + (var(--bubble-size) * .44));width:calc(var(--bubble-size) * .52);height:calc(var(--bubble-size) * .15);border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 48%,rgb(195 246 255 / .42) 0%,rgb(118 204 255 / .2) 27%,transparent 74%),radial-gradient(circle at 50% 52%,rgb(177 136 255 / .14) 0%,transparent 64%);box-shadow:0 0 54px #59b0ff3d,inset 0 0 18px #c9f3ff3d;transform:translate(-50%);transform-origin:center center}.feed-card-bubble-base:before,.feed-card-bubble-base:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none}.feed-card-bubble-base:before{inset:18% 8%;border:1px solid rgb(177 238 255 / .34);box-shadow:0 0 18px #6dc3ff57,inset 0 0 11px #b1eeff3d}.feed-card-bubble-base:after{inset:32% 16%;border:1px solid rgb(177 136 255 / .22);box-shadow:0 0 12px #b188ff47,inset 0 0 8px #b188ff33}.feed-card canvas{display:block;width:100%!important;height:100%!important;border-radius:50%;clip-path:circle(50% at 50% 50%)}.feed-card-overlay{position:absolute;inset:0;z-index:10;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.feed-card-overlay>*{pointer-events:auto}@media(prefers-reduced-motion:reduce){.feed-card-bubble-shell,.feed-card-bubble-base{animation:none!important}}.feed-card-meta{position:absolute;bottom:calc(1rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:max-content;max-width:min(28rem,calc(100vw - 4rem));background:#02080f9e;border:1px solid rgb(141 210 255 / 18%);padding:.7rem 1.3rem;border-radius:999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.feed-card-meta h2{margin:0;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-card-meta p{margin:.15rem 0 0;font-size:.68rem;color:#a8cce4}.feed-card-badge{position:absolute;top:calc(1.25rem + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:2;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b8d8f0;padding:.4rem .75rem;border-radius:999px;border:1px solid rgb(141 210 255 / 20%);background:#0410198c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.feed-sentinel{height:1px}.feed-state{position:fixed;right:1rem;top:1rem;margin:0}.ar-trigger-button{position:absolute;top:calc(1.25rem + env(safe-area-inset-top,0px));right:max(1rem,env(safe-area-inset-right,0px));z-index:2;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;color:#dbeeff;padding:.6rem;border-radius:50%;border:1px solid rgb(149 214 255 / 35%);background:#081e34cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:all .2s ease}.ar-trigger-button svg{width:100%;height:100%}.ar-trigger-button:hover{background:linear-gradient(135deg,#185c8e,#0a4066);border-color:#a9e0ff8c;transform:translateY(-2px);box-shadow:0 6px 16px #185c8e7f}.ar-trigger-button:active{transform:translateY(0)}.ar-quicklook-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:auto;min-height:3rem;padding:.55rem .95rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.03em;line-height:1;white-space:nowrap}.audio-mute-button{position:absolute;bottom:calc(5.25rem + env(safe-area-inset-bottom,0px));right:max(1rem,env(safe-area-inset-right,0px));z-index:2;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;color:#dbeeff;padding:.55rem;border-radius:50%;border:1px solid rgb(149 214 255 / 35%);background:#081e34cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:all .2s ease}.audio-mute-button svg{width:100%;height:100%}.audio-mute-button:hover{background:linear-gradient(135deg,#185c8e,#0a4066);border-color:#a9e0ff8c;transform:translateY(-2px);box-shadow:0 6px 16px #185c8e7f}.audio-mute-button:active{transform:translateY(0)}.ar-view-container{position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,#1a3a54,#070b14 42%,#02050b);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ebf6ff}.ar-enter-button{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:100;font-size:.9rem;font-weight:700;letter-spacing:.04em;color:#f2fbff;padding:.75rem 1.5rem;border-radius:999px;border:2px solid rgb(149 214 255 / 48%);background:linear-gradient(180deg,#2270ac,#0f5484);cursor:pointer;transition:all .2s ease;box-shadow:0 8px 24px #185c8e99}.ar-enter-button:hover{background:linear-gradient(180deg,#2c84ca,#1968a2);border-color:#bdeaff94;transform:translate(-50%) translateY(-2px);box-shadow:0 12px 32px #2270acb3}.ar-exit-button{position:fixed;top:2rem;right:2rem;z-index:100;font-size:.85rem;font-weight:700;color:#f2fbff;padding:.6rem 1.2rem;border-radius:999px;border:1px solid rgb(255 149 149 / 40%);background:linear-gradient(180deg,#8e1818,#660a0a);cursor:pointer;transition:all .2s ease}.ar-exit-button:hover{background:linear-gradient(180deg,#ac2222,#840f0f);border-color:#ffa9a97f;transform:translateY(-1px);box-shadow:0 4px 12px #8e181866}.ar-back-button{font-size:.9rem;font-weight:700;color:#f2fbff;padding:.75rem 1.5rem;border-radius:999px;border:1px solid rgb(149 214 255 / 38%);background:linear-gradient(180deg,#185c8e,#0a4066);cursor:pointer;margin-top:1rem}.ar-info{position:fixed;top:2rem;left:2rem;z-index:100;background:#02080fd1;border:1px solid rgb(141 210 255 / 28%);padding:.8rem 1rem;border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(400px,calc(100vw - 4rem))}.ar-info h2{margin:0;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ar-info p{margin:.3rem 0 0;font-size:.75rem;color:#c7deee}.ar-bubble-warning{top:7.25rem;left:2rem;right:auto;max-width:min(360px,calc(100vw - 4rem));border-color:#95d6ff66;background:#020a16d1}.ar-loading,.ar-error{text-align:center;font-size:1.1rem}.ar-error{color:#ff9ea6}.upload-toggle{display:none}@media(max-width:768px){.feed-card{--bubble-size: min(90vw, 58svh)}.feed-card-bubble-base{top:calc(50% + (var(--bubble-size) * .44));width:calc(var(--bubble-size) * .56);height:calc(var(--bubble-size) * .16)}.upload-panel{left:50%;transform:translate(-50%);top:auto;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));padding:.5rem;width:auto;min-width:100px;transition:all .3s ease;z-index:20}.upload-panel:not(.upload-panel-expanded){background:#040a0ff2;padding:0}.upload-toggle{display:block;width:100%;border:1px solid rgb(149 214 255 / 38%);border-radius:999px;background:linear-gradient(180deg,#185c8e,#0a4066);color:#f2fbff;padding:.6rem 1rem;font-weight:700;font-size:.8rem;cursor:pointer}.upload-panel-expanded{width:min(320px,calc(100vw - 2rem));padding:.85rem}.upload-panel-expanded .upload-toggle{background:#8e1818;border-color:#ff959566;margin-bottom:.5rem}.ar-trigger-button{width:2.75rem;height:2.75rem;padding:.55rem;top:calc(.75rem + env(safe-area-inset-top,0px));right:max(.75rem,env(safe-area-inset-right,0px))}.ar-quicklook-link{width:auto;height:auto;min-height:2.5rem;padding:.5rem .8rem;font-size:.74rem;letter-spacing:.02em}.audio-mute-button{width:2.25rem;height:2.25rem;padding:.45rem;bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));right:max(.75rem,env(safe-area-inset-right,0px))}.feed-card-badge{top:calc(.75rem + env(safe-area-inset-top,0px))}.feed-card-meta{bottom:calc(.4rem + env(safe-area-inset-bottom,0px));max-width:min(22rem,calc(100vw - 1.5rem));padding:.58rem .95rem}.feed-card-meta h2{font-size:.8rem}.feed-card-meta p{font-size:.62rem}.ar-exit-button{top:1rem;right:1rem;font-size:.8rem;padding:.5rem 1rem}.ar-info{top:1rem;left:1rem;right:1rem;max-width:none}.ar-bubble-warning{top:5.2rem;left:1rem;right:1rem;max-width:none}.ar-enter-button{bottom:1.5rem;font-size:.85rem;padding:.65rem 1.3rem}}
