@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0a1a;--bg-grad:radial-gradient(1200px 700px at 80% -10%, #2a1a4d 0%, transparent 60%), radial-gradient(900px 600px at -10% 110%, #1b2650 0%, transparent 55%), linear-gradient(180deg, #0b0a1a 0%, #100c24 100%);--surface:#ffffff0b;--surface-2:#ffffff13;--surface-solid:#16132b;--input:#0a081a8c;--line:#ffffff17;--line-strong:#ffffff29;--text:#efeaff;--muted:#a39cc8;--g1:#c4b5fd;--g2:#a78bfa;--g3:#f9a8d4;--dew:#7ee8d0;--star:#e9e3ff;--accent:#a78bfa;--accent-ink:#160f2e;--danger:#ff7a90;--glow:0 0 0 1px #c4b5fd40, 0 10px 40px -10px #a78bfa73;--shadow:0 20px 60px -20px #0009;--moon-edge:#d9cfee;--planet-shadow:#3b1d6e;--nebula-1:#a78bfa38;--nebula-2:#f9a8d424;--nebula-3:#7ee8d01a;--radius:18px;--serif:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--sans:"Outfit Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6f0ff;--bg-grad:radial-gradient(1000px 600px at 85% -10%, #ffd9ec 0%, transparent 60%), radial-gradient(900px 600px at -10% 100%, #d4f3ff 0%, transparent 55%), linear-gradient(180deg, #f3ecff 0%, #fdf6fb 55%, #eef8ff 100%);--surface:#fff9;--surface-2:#ffffffd9;--surface-solid:#fff;--input:#fffc;--line:#4c348c1f;--line-strong:#4c348c38;--text:#2a1d52;--muted:#74699a;--g1:#a78bfa;--g2:#7c3aed;--g3:#ec4899;--dew:#14b8a6;--star:#8b5cf6;--accent:#7c3aed;--accent-ink:#fff;--danger:#e11d48;--glow:0 0 0 1px #7c3aed26, 0 12px 36px -12px #7c3aed59;--shadow:0 18px 50px -24px #4c348c59;--moon-edge:#c4b0f2;--planet-shadow:#5b21b6;--nebula-1:#c4b5fd73;--nebula-2:#fbcfe88c;--nebula-3:#bae6fd80;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);background-image:var(--bg-grad);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-size:15px;transition:background-color .4s,color .4s}#root{z-index:1;position:relative}button,input{font:inherit;color:inherit}h1,h2,h3{line-height:1.15;font-family:var(--serif);letter-spacing:-.01em;margin:0 0 8px;font-weight:600}h2{font-size:1.35rem}h3{font-size:1.05rem}p{margin:0 0 12px;line-height:1.55}::selection{background:color-mix(in srgb, var(--g2) 40%, transparent)}.muted{color:var(--muted)}.small{font-size:.83rem}.center{text-align:center}.grow{flex:1;min-width:0}.error{color:var(--danger);font-size:.9rem}.hidden{display:none!important}.gradient-text{background:linear-gradient(100deg, var(--g1), var(--g3) 55%, var(--dew));color:#0000;-webkit-background-clip:text;background-clip:text}.splash{height:100%;color:var(--muted);align-content:center;place-items:center;gap:14px;display:grid}.splash .logo-mark{animation:3s ease-in-out infinite floaty}.sky{z-index:0;pointer-events:none;transition:opacity .6s;position:fixed;inset:0;overflow:hidden}.sky.dim{opacity:.45}.sky canvas{width:100%;height:100%;position:absolute;inset:0}.nebula{filter:blur(70px);border-radius:50%;animation:26s ease-in-out infinite alternate drift;position:absolute}.nebula.n1{background:var(--nebula-1);width:46vw;height:46vw;top:-12vw;left:-10vw}.nebula.n2{background:var(--nebula-2);width:40vw;height:40vw;animation-delay:-8s;top:25vh;right:-12vw}.nebula.n3{background:var(--nebula-3);width:36vw;height:36vw;animation-delay:-15s;bottom:-18vw;left:25vw}input{background:var(--input);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;padding:11px 14px;transition:border-color .2s,box-shadow .2s,background .2s}input::placeholder{color:var(--muted);opacity:.8}input:focus{border-color:var(--g2);box-shadow:0 0 0 4px color-mix(in srgb, var(--g2) 18%, transparent)}label{color:var(--muted);gap:6px;font-size:.88rem;display:grid}.btn{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-weight:500;transition:transform .15s,background .2s,border-color .2s,box-shadow .25s,opacity .2s;display:inline-flex;position:relative;overflow:hidden}.btn:hover{border-color:var(--line-strong);transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--g2) 45%, transparent);outline:none}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.primary{color:var(--accent-ink);background:linear-gradient(110deg, var(--g1), var(--g2) 45%, var(--g3));box-shadow:var(--glow);background-size:200% 100%;border:0}:root[data-theme=light] .btn.primary{color:#fff}.btn.primary:hover{box-shadow:var(--glow), 0 0 28px -4px color-mix(in srgb, var(--g3) 55%, transparent);background-position:100% 0}.btn.primary:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn.primary:hover:after{animation:.9s shimmer}.btn.ghost{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--danger)}.btn.sm{border-radius:10px;padding:6px 11px;font-size:.85rem}.btn.icon{padding:8px}.btn.sm.icon{padding:6px}.btn.wide{width:100%;padding:13px;font-size:1rem}.btn.round{border-radius:50%;width:48px;height:48px;padding:0}.btn.round.off{background:color-mix(in srgb, var(--danger) 14%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger)}.btn.round.on{background:color-mix(in srgb, var(--dew) 16%, transparent);border-color:color-mix(in srgb, var(--dew) 45%, transparent);color:var(--dew);box-shadow:0 0 20px -6px var(--dew)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)saturate(140%);box-shadow:var(--shadow);padding:20px}.row{align-items:center;gap:8px;display:flex}.label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:18px 0 6px;font-size:.72rem;font-weight:600}.brand{align-items:center;gap:10px;display:inline-flex}.wordmark{font-family:var(--serif);letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.wordmark em{color:var(--g3);padding:0 1px;font-style:italic;font-weight:400}.brand.big .wordmark{font-size:1.7rem}.logo-mark{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--g2) 45%, transparent));flex:none}.logo-drop{transform-box:fill-box;transform-origin:top;animation:3.6s ease-in infinite drip}.logo-spark{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite twinkle}.theme-toggle{cursor:pointer;background:0 0;border:0;border-radius:99px;padding:4px}.theme-toggle:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--g2) 45%, transparent);outline:none}.tt-track{border:1px solid var(--line-strong);background:linear-gradient(120deg,#1d1840,#3b2a74);border-radius:99px;width:52px;height:28px;transition:background .4s;display:block;position:relative}.theme-toggle.light .tt-track{background:linear-gradient(120deg,#ffe4f1,#dbeafe)}.tt-stars{color:#fff;letter-spacing:1px;font-size:9px;transition:opacity .3s;position:absolute;top:4px;left:8px}.theme-toggle.light .tt-stars{opacity:0}.tt-knob{color:#3b2a74;background:#f5f0ff;border-radius:50%;place-items:center;width:20px;height:20px;transition:left .35s cubic-bezier(.5,1.6,.4,1),background .3s,color .3s;display:grid;position:absolute;top:3px;left:27px;box-shadow:0 0 12px #c4b5fdcc}.theme-toggle.light .tt-knob{color:#d97706;background:#fff3c4;left:3px;box-shadow:0 0 14px #fbbf24cc}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid;position:relative;box-shadow:inset 0 0 0 2px #ffffff2e,0 4px 14px -4px #0006}.avatar .dot{border:2px solid var(--surface-solid);background:#6b6590;border-radius:50%;width:32%;min-width:8px;height:32%;min-height:8px;position:absolute;bottom:-1px;right:-1px}.avatar .dot.on{background:var(--dew);box-shadow:0 0 8px var(--dew)}.stack{display:flex}.stack .avatar+.avatar{margin-left:-7px}.list-row{border-radius:12px;align-items:center;gap:11px;padding:8px 6px;transition:background .2s;display:flex}.list-row:hover{background:var(--surface)}.list-row .hover-only{opacity:0}.list-row:hover .hover-only,.list-row .hover-only:focus{opacity:1}.pill{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:.72rem}.pill.running{color:var(--dew);border-color:color-mix(in srgb, var(--dew) 40%, transparent);background:color-mix(in srgb, var(--dew) 12%, transparent)}.pill.running:before{content:"";background:var(--dew);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.6s infinite pulse;display:inline-block}.pill.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.badge{background:linear-gradient(120deg, var(--g2), var(--g3));color:#fff;border-radius:99px;padding:1px 7px;font-size:.7rem}.toasts{z-index:100;gap:8px;width:min(420px,100vw - 32px);display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--surface-2);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow);border-radius:14px;padding:12px 16px;animation:.35s cubic-bezier(.2,1.4,.4,1) rise}.toast:before{content:"✦ ";color:var(--g3)}.toast.error{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.toast.error:before{content:"! ";color:var(--danger);font-weight:700}.auth-wrap{grid-template-columns:1.15fr 1fr;align-items:center;gap:56px;max-width:1120px;min-height:100%;margin:0 auto;padding:32px 24px 48px;display:grid}.auth-top{z-index:5;position:fixed;top:16px;right:16px}.auth-hero>*{animation:.7s both fadeUp}.auth-hero>:nth-child(2){animation-delay:80ms}.auth-hero>:nth-child(3){animation-delay:.16s}.auth-hero>:nth-child(4){animation-delay:.24s}.auth-hero>:nth-child(5){animation-delay:.32s}.auth-hero h1{letter-spacing:-.03em;margin:26px 0 14px;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500}.auth-hero h1 em{font-style:italic}.auth-hero .lead{color:var(--muted);max-width:470px;font-size:1.1rem}.hero-art{width:min(440px,100%);height:auto;margin-top:8px;display:block}.chips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.chip{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:inline-flex}.chip svg{color:var(--g3)}.auth-card{gap:15px;padding:28px;animation:.7s .2s both fadeUp;display:grid;position:relative}.auth-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(140deg, color-mix(in srgb, var(--g1) 70%, transparent), transparent 40%, color-mix(in srgb, var(--g3) 60%, transparent));-webkit-mask-composite:xor;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.auth-card h2{margin:0;font-size:1.6rem}.tabs{background:var(--input);border:1px solid var(--line);border-radius:12px;padding:4px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;padding:9px;font-weight:500;transition:background .25s,color .25s}.tabs button.active{background:var(--surface-2);color:var(--text);box-shadow:0 2px 10px -4px #00000059}.topbar{z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.topbar-right,.me{align-items:center;gap:10px;display:flex}.me-name{font-size:.9rem;line-height:1.2;display:grid}.greeting{max-width:1180px;margin:0 auto;padding:32px 24px 0;animation:.6s both fadeUp}.greeting h1{margin-bottom:4px;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:500}.dash-grid{grid-template-columns:1fr 350px;gap:22px;max-width:1180px;margin:0 auto;padding:22px 24px 48px;display:grid}.col{align-content:start;gap:22px;display:grid}.col>*{animation:.6s both fadeUp}.col>:nth-child(2){animation-delay:80ms}.col>:nth-child(3){animation-delay:.16s}.create-room{position:relative;overflow:hidden}.create-room:after{content:"";background:radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--g3) 55%, transparent), color-mix(in srgb, var(--g2) 25%, transparent) 45%, transparent 70%);pointer-events:none;border-radius:50%;width:200px;height:200px;animation:7s ease-in-out infinite floaty;position:absolute;top:-60px;right:-50px}.create-room>*{z-index:1;position:relative}.room-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:10px;display:grid}.room-card{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:16px;gap:14px;padding:16px;transition:transform .25s,border-color .25s,box-shadow .3s;display:grid;position:relative;overflow:hidden}.room-card:before{content:"";opacity:0;background:radial-gradient(400px 120px at 0% 0%, color-mix(in srgb, var(--g2) 22%, transparent), transparent), radial-gradient(300px 120px at 100% 100%, color-mix(in srgb, var(--g3) 18%, transparent), transparent);transition:opacity .35s;position:absolute;inset:0}.room-card:hover{border-color:color-mix(in srgb, var(--g2) 55%, transparent);box-shadow:var(--glow);transform:translateY(-3px)}.room-card:hover:before{opacity:1}.room-card>*{position:relative}.room-card-top{justify-content:space-between;align-items:start;gap:8px;display:flex}.room-card-top strong{font-family:var(--serif);font-size:1.08rem;font-weight:600}.empty{text-align:center;justify-items:center;padding:10px 0 4px;display:grid}.empty-orbit{width:140px;height:auto;margin-bottom:4px}.room{flex-direction:column;height:100%;display:flex}.room-top{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:2;align-items:center;gap:12px;padding:9px 14px;display:flex;position:relative}.room-title{min-width:0;margin-right:auto;line-height:1.25;display:grid}.room-title strong{text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-size:1.1rem;font-weight:600;overflow:hidden}.room-body{flex:1;grid-template-columns:1fr 350px;min-height:0;display:grid}.stage-col{flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.stage{border-radius:var(--radius);border:1px solid var(--line);min-height:240px;box-shadow:0 0 0 1px color-mix(in srgb, var(--g2) 18%, transparent), 0 30px 80px -30px color-mix(in srgb, var(--g2) 55%, transparent);background:#05040d;flex:1;position:relative;overflow:hidden}.stage iframe{border:0;width:100%;height:100%;animation:.6s both fadeIn;position:absolute;inset:0}.stage-empty{text-align:center;color:#efeaff;background:radial-gradient(600px 300px at 50% 20%,#a78bfa2e,#0000 70%),linear-gradient(#0d0a20,#05040d);place-content:center;justify-items:center;gap:4px;padding:24px;display:grid;position:absolute;inset:0}.stage-empty .muted{color:#a39cc8}.stage-empty p{max-width:430px}.stage-empty .btn.ghost{color:#c9c2e8}.quiet-moon{width:150px;height:auto;margin-bottom:8px}.loader{width:74px;height:74px;margin-bottom:18px;position:relative}.loader:before,.loader:after{content:"";border:2px solid #0000;border-radius:50%;position:absolute;inset:0}.loader:before{border-top-color:var(--g1);border-right-color:var(--g3);animation:1.1s linear infinite spin}.loader:after{border-bottom-color:var(--dew);animation:1.6s linear infinite reverse spin;inset:12px}.loader span{background:radial-gradient(circle, #fff, var(--g2));box-shadow:0 0 20px var(--g2);border-radius:50%;animation:1.4s infinite pulse;position:absolute;inset:28px}.stage:fullscreen{border:0;border-radius:0}.reactions{pointer-events:none;position:absolute;inset:0;overflow:hidden}.reactions span{filter:drop-shadow(0 4px 12px #0006);font-size:2.3rem;animation:2.6s ease-out forwards floatUp;position:absolute;bottom:10px}.stage-bar{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.control-info{align-items:center;gap:8px;font-size:.9rem;display:flex}.control-info>svg{color:var(--g2)}.control-actions{gap:6px;display:flex}.reaction-picker{gap:2px;display:flex}.emoji{cursor:pointer;background:0 0;border:0;border-radius:10px;padding:4px 5px;font-size:1.15rem;transition:transform .15s cubic-bezier(.3,1.8,.5,1),background .15s}.emoji:hover{background:var(--surface-2);transform:translateY(-3px)scale(1.25)}.requests{gap:6px;display:grid}.request{background:linear-gradient(110deg, color-mix(in srgb, var(--g2) 20%, transparent), color-mix(in srgb, var(--g3) 14%, transparent));border:1px solid color-mix(in srgb, var(--g2) 40%, transparent);border-radius:14px;align-items:center;gap:10px;padding:9px 12px;font-size:.9rem;animation:.4s both rise;display:flex}.request>span:not(.avatar){flex:1}.side{border-left:1px solid var(--line);background:color-mix(in srgb, var(--bg) 45%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;min-height:0;display:flex}.tiles{flex:none;place-content:center;gap:9px;padding:12px;display:grid;overflow-y:auto}.tiles-empty{grid-column:1/-1;margin:auto;padding:10px}.tile{aspect-ratio:16/10;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--g2) 25%, transparent), transparent 70%), var(--surface-solid);border:2px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s;animation:.4s both popIn;position:relative;overflow:hidden}.tile.speaking{border-color:var(--dew);box-shadow:0 0 0 3px color-mix(in srgb, var(--dew) 25%, transparent), 0 0 24px -4px var(--dew)}.tile video{object-fit:cover;width:100%;height:100%;display:block}.tile-avatar{place-items:center;display:grid;position:absolute;inset:0}.tile-avatar .avatar{box-shadow:0 0 0 6px color-mix(in srgb, var(--g2) 18%, transparent), 0 0 30px -4px var(--g2)}.tile.speaking .tile-avatar .avatar{animation:1.2s infinite ripple}.tile-label{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080614a6;border-radius:8px;align-items:center;gap:5px;max-width:calc(100% - 12px);padding:3px 8px;font-size:.78rem;display:flex;position:absolute;bottom:6px;left:6px}.tile-label span:not(.tile-muted):not(.tile-drive){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile-muted{color:#ff9aac;display:flex}.tile-drive{color:#c4b5fd;display:flex}.media-bar{align-items:center;gap:10px;padding:12px;display:flex}.side-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex}.side-tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:11px;font-weight:500;transition:color .2s,border-color .3s;display:flex}.side-tabs button.active{color:var(--text);border-image:linear-gradient(90deg, var(--g2), var(--g3)) 1}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-list{flex-direction:column;flex:1;gap:3px;padding:12px 14px;display:flex;overflow-y:auto}.msg{padding:2px 0;animation:.3s both rise}.msg:not(.grouped){margin-top:10px}.msg-head{align-items:center;gap:7px;margin-bottom:4px;font-size:.85rem;display:flex}.msg-head .avatar{font-size:.6rem!important}.msg-body{background:var(--surface-2);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 14px 14px;max-width:calc(100% - 27px);margin-left:27px;padding:7px 12px;line-height:1.45;display:inline-block}.msg.mine .msg-body{background:linear-gradient(120deg, color-mix(in srgb, var(--g2) 30%, transparent), color-mix(in srgb, var(--g3) 22%, transparent));border-color:color-mix(in srgb, var(--g2) 35%, transparent)}.msg-system{text-align:center;color:var(--muted);margin:10px 0;font-size:.78rem}.msg-system:before,.msg-system:after{content:" ✦ ";color:var(--g2);opacity:.6}.typing{height:18px;color:var(--muted);padding:0 14px;font-size:.78rem}.chat-input{gap:8px;padding:10px 12px 12px;display:flex}.chat-empty{text-align:center;color:var(--muted);margin:auto}.chat-empty .big-emoji{margin-bottom:6px;font-size:2rem;animation:3s ease-in-out infinite floaty;display:block}.people{flex:1;padding:8px 12px;overflow-y:auto}.people-settings{border-top:1px solid var(--line);justify-items:start;gap:10px;margin-top:12px;padding-top:4px;display:grid}.modal-back{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#05040f8c;place-items:center;padding:16px;animation:.2s both fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--surface-2);width:min(440px,100%);max-height:80vh;animation:.35s cubic-bezier(.2,1.4,.4,1) both popIn;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.username-field{gap:8px;display:grid}.input-wrap{position:relative}.input-wrap input{padding-right:78px}.avail{pointer-events:none;align-items:center;gap:3px;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.avail.ok{color:var(--dew)}.avail.bad{color:var(--danger)}.avail.checking{color:var(--muted)}.suggest{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.suggest-chip{border:1px dashed var(--line-strong);background:var(--surface);cursor:pointer;color:var(--text);border-radius:99px;padding:4px 10px;font-size:.8rem;transition:transform .15s cubic-bezier(.3,1.8,.5,1),border-color .2s,background .2s}.suggest-chip:hover{border-color:var(--g2);border-style:solid;transform:translateY(-2px)}.suggest-chip.picked{border-style:solid;border-color:var(--g2);background:color-mix(in srgb, var(--g2) 18%, transparent)}.dice{cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:1.1rem;transition:transform .4s cubic-bezier(.3,1.6,.5,1)}.check{color:var(--text);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.86rem;line-height:1.45;display:flex}.check input{appearance:none;border:1.5px solid var(--line-strong);background:var(--input);cursor:pointer;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;margin:0;padding:0;transition:background .2s,border-color .2s;display:grid}.check input:checked{background:linear-gradient(120deg, var(--g2), var(--g3));border-color:#0000}.check input:checked:after{content:"✓";color:#fff;font-size:13px;font-weight:700;animation:.25s both popIn}.me-button{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:99px;align-items:center;gap:10px;padding:4px 10px 4px 4px;transition:background .2s,border-color .2s;display:flex}.me-button:hover{background:var(--surface-2);border-color:var(--line)}.profile{gap:14px;width:min(480px,100%);display:grid}.profile-preview{background:radial-gradient(300px 120px at 0% 0%, color-mix(in srgb, var(--g2) 25%, transparent), transparent), var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;padding:14px;display:flex}.profile-preview strong{font-family:var(--serif);font-size:1.2rem}.profile-preview .avatar{box-shadow:0 0 0 4px color-mix(in srgb, var(--g2) 25%, transparent), 0 0 30px -6px var(--g2);font-size:1.6rem!important}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .15s;box-shadow:inset 0 0 0 2px #fff3}.swatch:hover{transform:scale(1.15)}.swatch.picked{border-color:var(--text);box-shadow:0 0 0 3px var(--surface-solid), 0 0 14px -2px currentColor;transform:scale(1.12)}.password-box{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:10px;padding:12px;display:grid}.splitter{touch-action:none;z-index:3;place-items:center;display:grid;position:relative}.splitter.vertical{cursor:col-resize;width:8px}.splitter.horizontal{cursor:row-resize;flex:none;height:18px}.splitter.horizontal:after{content:"⇕ drag to stretch videos";color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);opacity:0;pointer-events:none;white-space:nowrap;border-radius:99px;padding:1px 8px;font-size:.7rem;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.splitter.horizontal:hover:after,.splitter.horizontal.active:after{opacity:1}.splitter .grip{background:var(--line-strong);border-radius:99px;transition:background .2s,transform .2s}.splitter.vertical .grip{width:4px;height:44px}.splitter.horizontal .grip{width:64px;height:5px}.splitter:hover .grip,.splitter.active .grip,.splitter:focus-visible .grip{background:linear-gradient(var(--g2), var(--g3));transform:scale(1.15)}.splitter:focus-visible{outline:none}body.resizing{-webkit-user-select:none;user-select:none}body.resizing-x{cursor:col-resize}body.resizing-y{cursor:row-resize}body.resizing-xy{cursor:nesw-resize}body.resizing iframe,.stage.dragging iframe{pointer-events:none}.side.hidden{display:none}.tile-actions{opacity:0;z-index:2;gap:4px;transition:opacity .2s;display:flex;position:absolute;top:6px;right:6px}.tile:hover .tile-actions,.tile:focus-within .tile-actions{opacity:1}.tile-actions button{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08061499;border:0;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.tile-actions button:hover{background:#7c3aedbf}.float-layer{pointer-events:none;z-index:4;position:absolute;inset:0}.tile.floating{aspect-ratio:auto;pointer-events:auto;cursor:grab;touch-action:none;animation:.3s both popIn;position:absolute;box-shadow:0 20px 50px -12px #000000b3,0 0 0 1px #ffffff1f}.stage.dragging .tile.floating{cursor:grabbing}.stretch-grip{cursor:nesw-resize;z-index:3;touch-action:none;opacity:.55;background:linear-gradient(225deg,#0000 50%,#ffffffbf 50% 57%,#0000 57% 67%,#ffffffbf 67% 74%,#0000 74%);width:26px;height:26px;transition:opacity .2s;position:absolute;bottom:0;left:0}.tile:hover .stretch-grip,.stretch-grip:hover{opacity:1}.tile .tile-label{left:28px}.tile.floating .tile-label{left:6px}.resize-handle{cursor:nwse-resize;z-index:3;touch-action:none;background:linear-gradient(135deg,#0000 50%,#ffffffb3 50% 58%,#0000 58% 68%,#ffffffb3 68% 76%,#0000 76%);width:22px;height:22px;position:absolute;bottom:0;right:0}.vol input{width:90px;accent-color:var(--g2);background:0 0;border:0;padding:0}.bar-sep{background:var(--line);width:1px;height:22px;margin:0 2px}.btn.lit{color:#fde68a;background:#fde68a24}.sky-btn{font-weight:600}.panel-scroll{flex:1;min-height:0;overflow-y:auto}.pop-anchor{display:inline-flex;position:relative}.popover{z-index:30;background:var(--surface-solid);border:1px solid var(--line-strong);width:300px;box-shadow:var(--shadow), var(--glow);border-radius:16px;gap:8px;padding:16px;animation:.25s both popIn;display:grid;position:absolute;bottom:calc(100% + 10px);right:-40px}.pop-title{font-family:var(--serif);align-items:center;gap:8px;font-size:1.05rem;font-weight:600;display:flex}.popover .label{margin:4px 0 0}.chips .chip-btn,.chip-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:99px;padding:5px 11px;font-size:.8rem;transition:border-color .2s,background .2s}.chip-btn:hover{border-color:var(--g2)}.chip-btn.on{background:color-mix(in srgb, var(--g2) 22%, transparent);border-color:var(--g2)}.small-check{padding:8px 10px;font-size:.82rem}.small-check input[type=radio]{border-radius:50%}.moon-dot{background:radial-gradient(circle at 35% 35%,#fffaf0,#d9cfee);border-radius:50%;flex:none;width:18px;height:18px;box-shadow:inset -4px -2px #7c3aed40,0 0 14px #fde68a99}.sleep-dim{z-index:3;pointer-events:none;background:radial-gradient(at 50% 0,#1e144640,#05040f8c);animation:3s both fadeIn;position:absolute;inset:0}.room.sleeping .stage iframe{filter:brightness(.7)saturate(.85);transition:filter 3s}.room.sleeping .stage{box-shadow:0 0 0 1px #fde68a26,0 30px 90px -30px #fde68a4d}.sleep-banner{z-index:5;color:#efeaff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e0a22c7;border:1px solid #fde68a40;border-radius:16px;gap:10px;width:min(560px,100% - 24px);padding:12px 14px;transition:opacity 20s;animation:.6s both rise;display:grid;position:absolute;top:12px;left:50%;transform:translate(-50%)}.sleep-banner.ending{opacity:.35}.sleep-banner .small{color:#b9b1dc;font-size:.8rem}.sleep-head{align-items:center;gap:10px;display:flex}.sleep-head .moon-dot{width:26px;height:26px;animation:4s ease-in-out infinite floaty}.sleep-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sleep-banner .chip-btn{color:#efeaff;background:#ffffff0f;border-color:#ffffff1f}.sleep-banner .chip-btn.on{background:#a78bfa4d;border-color:#a78bfa}.sleep-banner .btn{color:#efeaff;background:#ffffff14;border-color:#ffffff24;margin-left:auto}.vol{color:#b9b1dc;align-items:center;gap:6px;display:flex}.letters{align-content:start;gap:8px;padding:12px;display:grid}.letters .label{margin-top:12px}.letter-card{text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:11px 12px;transition:transform .2s,border-color .2s,box-shadow .3s;display:flex}.letter-card:hover{border-color:color-mix(in srgb, var(--g2) 50%, transparent);transform:translateY(-2px)}.letter-card .grow{gap:2px;display:grid}.letter-card .drop{flex:none;font-size:1.5rem}.letter-card.ready{border-color:color-mix(in srgb, var(--dew) 50%, transparent);box-shadow:0 0 22px -8px var(--dew)}.letter-card.ready .drop{filter:drop-shadow(0 0 8px var(--dew));animation:2.6s ease-in-out infinite floaty}.letter-card.sealed{opacity:.85}.letter-card.opened{opacity:.75}.letter-card.sent{cursor:pointer}select,textarea{background:var(--input);border:1px solid var(--line);width:100%;color:var(--text);font:inherit;border-radius:12px;outline:none;padding:11px 14px}textarea{resize:vertical;min-height:120px;line-height:1.5}select:focus,textarea:focus{border-color:var(--g2);box-shadow:0 0 0 4px color-mix(in srgb, var(--g2) 18%, transparent)}.composer{gap:12px;width:min(520px,100%);display:grid}.unlock-choice{gap:6px;display:grid}.letter-open{place-items:center;width:min(560px,100%);display:grid;position:relative}.splash-drop{background:radial-gradient(circle at 30% 30%, #fff, var(--dew));width:46px;height:46px;box-shadow:0 0 40px var(--dew);border-radius:50% 50% 50% 0;margin:-23px;animation:.9s ease-in both dropBurst;position:absolute;top:50%;left:50%;transform:rotate(-45deg)}.paper{color:#2f2550;transform-origin:top;background:repeating-linear-gradient(#fdfaf3 0 31px,#ece4f7 31px 32px),#fdfaf3;border-radius:6px;width:100%;padding:30px 30px 22px;animation:.8s cubic-bezier(.2,1.2,.4,1) .45s both unfold;box-shadow:0 30px 80px -20px #0009}.paper header .muted{color:#8a7fb0}.paper h2{color:#3b2a74;margin:6px 0 14px;font-size:1.7rem;font-style:italic;font-weight:500}.letter-body{white-space:pre-wrap;line-height:32px;font-family:var(--serif);max-height:50vh;margin:0 0 18px;font-size:1.08rem;overflow-y:auto}.paper footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.paper .sig{font-family:var(--serif);color:#7c3aed;font-style:italic}.paper .btn{color:#3b2a74;background:#7c3aed14;border-color:#7c3aed33}.paper .btn.danger{color:#be123c;background:0 0}@keyframes dropBurst{0%{opacity:0;transform:rotate(-45deg)translateY(-60px)scale(.6)}45%{opacity:1;transform:rotate(-45deg)scale(1)}to{opacity:0;transform:rotate(-45deg)scale(5)}}@keyframes unfold{0%{opacity:0;transform:perspective(900px)rotateX(-75deg)scale(.9)}}.camera-flash{z-index:20;pointer-events:none;background:#fff;animation:.7s ease-out both flash;position:absolute;inset:0}@keyframes flash{0%{opacity:.9}to{opacity:0}}.polaroid-dialog{gap:12px;width:min(460px,100%);display:grid}.polaroid-preview{place-items:center;min-height:240px;display:grid}.polaroid-preview img{object-fit:contain;border-radius:4px;width:100%;max-height:52vh;transform:rotate(-1.5deg);box-shadow:0 20px 50px -18px #0009}.develop{animation:2.2s ease-out both develop}@keyframes develop{0%{filter:brightness(1.8)saturate(0)blur(3px);opacity:.4}60%{filter:brightness(1.15)saturate(.6);opacity:1}to{filter:none}}.sky-view{z-index:60;color:#efeaff;background:radial-gradient(1200px 600px at 70% -10%,#3a1f6e 0%,#0000 60%),radial-gradient(900px 500px at 0 100%,#142650 0%,#0000 60%),#07061a;animation:.4s both fadeIn;position:fixed;inset:0;overflow-y:auto}.sky-view:before{content:"";pointer-events:none;opacity:.6;background-image:radial-gradient(1px 1px at 10% 20%,#fff,#0000),radial-gradient(1px 1px at 30% 70%,#fff,#0000),radial-gradient(1.5px 1.5px at 55% 30%,#fff,#0000),radial-gradient(1px 1px at 80% 15%,#fff,#0000),radial-gradient(1px 1px at 90% 60%,#fff,#0000),radial-gradient(1px 1px at 65% 85%,#fff,#0000),radial-gradient(1.2px 1.2px at 20% 90%,#fff,#0000);background-size:400px 400px;animation:6s ease-in-out infinite twinkle;position:fixed;inset:0}.sky-view-inner{gap:18px;max-width:1100px;margin:0 auto;padding:24px 20px 48px;display:grid;position:relative}.sky-view .muted{color:#a39cc8}.sky-view .btn{color:#efeaff}.sky-view .label{color:#a39cc8}.sky-top{align-items:center;gap:20px;display:flex}.sky-top h2{margin:0;font-size:2rem;font-weight:500}.sky-top p{margin:2px 0 0}.sky-top>.btn{margin-left:auto}.sky-stats{gap:22px;margin-left:auto;display:flex}.sky-stats div{text-align:center;display:grid}.sky-stats strong{font-family:var(--serif);font-size:1.35rem;font-weight:600}.sky-stats span{color:#a39cc8;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.constellation-wrap{background:radial-gradient(600px 260px at 50% 40%,#a78bfa1f,#0000 70%),#ffffff05;border:1px solid #ffffff14;border-radius:22px;place-items:center;min-height:300px;display:grid}.constellation-svg{width:100%;height:auto;display:block}.const-line{stroke:#c4b5fd;stroke-opacity:.45;stroke-width:1.2px;stroke-dasharray:3 6;animation:1s both fadeIn}.star{cursor:pointer;outline:none;animation:.8s cubic-bezier(.2,1.5,.4,1) both starIn}.star .halo{animation:3.5s ease-in-out infinite pulse}.star:hover .halo,.star:focus-visible .halo,.star.selected .halo{opacity:1}.star.live .halo{animation:1.2s ease-in-out infinite pulse}.sel-ring{fill:none;stroke:#7ee8d0;stroke-width:1.6px;filter:drop-shadow(0 0 6px #7ee8d0);animation:.3s both popIn}.moment-ring{fill:none;stroke:#f9a8d4;stroke-width:1.5px;stroke-dasharray:2 4}.star-label{fill:#c9c2e8;text-anchor:middle;font-size:13px;font-family:var(--sans);pointer-events:none}@keyframes starIn{0%{opacity:0;transform:scale(0)}}.sky-empty{text-align:center;max-width:420px;padding:40px 20px}.big-star{color:#c4b5fd;font-size:3rem;animation:2.5s ease-in-out infinite twinkle;display:block}.evening-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:18px;gap:10px;padding:16px 18px;animation:.35s both rise;display:grid}.evening-title{font-family:var(--serif);color:#efeaff;background:0 0;border:1px dashed #0000;padding:4px 6px;font-size:1.35rem;font-style:italic}.evening-title:hover{border-color:#fff3}.evening-meta{color:#c9c2e8;flex-wrap:wrap;align-items:center;gap:16px;font-size:.9rem;display:flex}.evening-meta span{align-items:center;gap:6px;display:inline-flex}.moment-strip{gap:18px;padding:10px 4px 16px;display:flex;overflow-x:auto}.moment-thumb{cursor:pointer;width:150px;transform:rotate(var(--tilt));background:0 0;border:0;flex:none;padding:0;transition:transform .25s;animation:.5s both rise}.moment-thumb:hover{transform:rotate(0)scale(1.06)}.moment-thumb img{border-radius:3px;width:100%;display:block;box-shadow:0 12px 30px -10px #000000b3}.lightbox{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03020ccc;place-items:center;padding:20px;animation:.2s both fadeIn;display:grid;position:fixed;inset:0}.lightbox figure{gap:12px;max-width:min(560px,100%);margin:0;animation:.3s both popIn;display:grid}.lightbox img{object-fit:contain;border-radius:4px;width:100%;max-height:78vh}.lightbox figcaption{color:#efeaff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lightbox .btn{color:#efeaff}.chat-input{align-items:center;position:relative}.chat-input .emoji-toggle{color:var(--muted);flex:none}.chat-input .emoji-toggle.on,.chat-input .emoji-toggle:hover{color:var(--g3)}.emoji-picker{z-index:20;background:var(--surface-solid);border:1px solid var(--line-strong);max-height:300px;box-shadow:var(--shadow), var(--glow);border-radius:16px;grid-template-rows:auto 1fr;animation:.2s both popIn;display:grid;position:absolute;bottom:calc(100% + 6px);left:10px;right:10px;overflow:hidden}.emoji-tabs{border-bottom:1px solid var(--line);gap:2px;padding:6px;display:flex}.emoji-tabs button{cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:10px;flex:1;padding:5px 0;font-size:1.15rem;transition:opacity .15s,background .15s}.emoji-tabs button.on,.emoji-tabs button:hover{opacity:1;background:var(--surface-2)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px;padding:8px;display:grid;overflow-y:auto}.emoji-grid button{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:1.35rem;transition:transform .12s cubic-bezier(.3,1.8,.5,1),background .12s}.emoji-grid button:hover{background:var(--surface-2);transform:scale(1.25)}.msg-body.jumbo{padding:0 0 0 2px;font-size:2.4rem;line-height:1.2;animation:.35s cubic-bezier(.2,1.6,.4,1) both popIn;background:0 0!important;border:0!important}.step-out{gap:6px}@media (width<=600px){.step-out span{display:none}}.avatar{overflow:visible}.avatar>img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatar-edit{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;position:relative}.avatar-edit:hover .avatar{filter:brightness(.85)}.avatar-edit-badge{color:#fff;background:linear-gradient(120deg, var(--g2), var(--g3));border:2px solid var(--surface-solid);border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;bottom:-2px;right:-2px}.photo-actions{flex-wrap:wrap;margin-top:8px}.cropper{justify-items:center;gap:10px;display:grid}.crop-circle{cursor:grab;touch-action:none;box-shadow:0 0 0 4px color-mix(in srgb, var(--g2) 35%, transparent), 0 20px 50px -20px #0009;background:#000;border-radius:50%;position:relative;overflow:hidden}.crop-circle:active{cursor:grabbing}.crop-circle img{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.cropper .zoom{width:min(260px,100%);color:var(--muted);align-items:center;gap:8px;display:flex}.cropper .zoom input{accent-color:var(--g2);background:0 0;border:0;padding:0}.cropper .row{width:100%}.orbit-path{fill:none;stroke:var(--line-strong);stroke-width:1.2px;stroke-dasharray:3 7}.orbiter{transform-origin:220px 215px;animation:14s linear infinite orbit}.float-slow{animation:7s ease-in-out infinite floaty}.float-fast{animation:5s ease-in-out infinite reverse floaty}.twinkle{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite twinkle}.twinkle.delay,.twinkle.d1{animation-delay:-1.1s}.twinkle.d2{animation-delay:-1.9s}.constellation{fill:none;stroke:var(--g1);stroke-width:1.4px;stroke-dasharray:2 6;stroke-linecap:round;opacity:.7;animation:2.5s linear infinite dash}.constellation.late{stroke:var(--g3)}.pulse-glow{animation:3.5s ease-in-out infinite pulse}.drip{transform-box:fill-box;transform-origin:top;animation:3s ease-in infinite drip}.rocket-orbit{transform-origin:60px 48px;animation:6s linear infinite spin}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}}@keyframes fadeIn{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes popIn{0%{opacity:0;transform:scale(.94)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbit{0%{transform:rotate(-14deg)}to{transform:rotate(346deg)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes drip{0%,55%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(6px)}to{opacity:0;transform:translateY(12px)}}@keyframes dash{to{stroke-dashoffset:-16px}}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(4vw,3vh)scale(1.12)}}@keyframes shimmer{to{transform:translate(120%)}}@keyframes ripple{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--dew) 60%, transparent)}to{box-shadow:0 0 0 16px #0000}}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:1;transform:translateY(-30px)scale(1.15)}to{opacity:0;transform:translateY(-260px)scale(1)rotate(8deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=900px){.auth-wrap{grid-template-columns:1fr;gap:20px;padding:64px 16px 32px}.hero-art{width:min(300px,80%);margin:0 auto}.auth-hero h1{margin-top:18px}.dash-grid{grid-template-columns:1fr;padding:16px}.greeting{padding:22px 16px 0}.topbar{padding:10px 16px}.me-name{display:none}.room{height:auto;min-height:100%}.stage-col{padding:10px}.stage{aspect-ratio:16/9;flex:none;min-height:0}.side{border-left:0;border-top:1px solid var(--line);min-height:520px}.room-top .stack{display:none}.reaction-picker{order:10;justify-content:space-between;width:100%}.splitter.vertical{display:none}.room-body{grid-template-columns:1fr!important}.sky-stats{display:none}}
