*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.relative{position:relative}.block{display:block}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color:#f4efe7;background:#09090b;font-family:Manrope,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{overflow:hidden;background:#09090b}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.lofi-app{position:relative;width:100vw;height:100dvh;min-height:560px;isolation:isolate;overflow:hidden;background:#09090b}.scene-stage,.scene-image,.spatial-effects,.film-grain,.scene-vignette{position:absolute;top:0;right:0;bottom:0;left:0}.scene-stage{z-index:-1;overflow:hidden;background:#09090b}.scene-plane{position:absolute;transform:scale(1.035);transform-origin:center}.scene-image{width:100%;height:100%;filter:saturate(.92) contrast(1.04)}.spatial-effects{width:100%;height:100%;overflow:hidden;pointer-events:none}.spatial-light{mix-blend-mode:screen}.scene-stage.is-dreaming .scene-plane{filter:saturate(.65) brightness(.62) blur(6px)}.scene-stage[data-motion=reduced] .spatial-particles{display:none}.scene-stage[data-motion=paused] .film-grain{animation-play-state:paused}.scene-vignette{background:linear-gradient(180deg,rgba(5,6,9,.36) 0%,transparent 22%,transparent 68%,rgba(4,4,6,.48) 100%),radial-gradient(ellipse at center,transparent 38%,rgba(2,3,6,.38) 100%);pointer-events:none}.film-grain{width:140%;height:140%;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:grain .38s steps(2) infinite;pointer-events:none}.prompt-center{position:absolute;top:50%;left:50%;width:min(660px,calc(100vw - 40px));transform:translate(-50%,-50%);text-align:center}.scene-quote{max-width:560px;margin:0 auto 22px;color:#fbf7efeb;font-family:Fraunces,serif;font-size:clamp(20px,2.1vw,31px);font-weight:350;line-height:1.2;letter-spacing:-.025em;text-wrap:balance;text-shadow:0 2px 28px rgba(0,0,0,.76)}.prompt-box{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:9px 10px 9px 25px;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:#111113a3;box-shadow:0 24px 70px #0000006b,inset 0 1px #ffffff1a;backdrop-filter:blur(24px) saturate(1.25);-webkit-backdrop-filter:blur(24px) saturate(1.25);transition:border-color .18s ease,background .18s ease,transform .18s ease}.prompt-box:focus-within{border-color:#f4efe794;background:#0e0e10c2;transform:translateY(-2px)}.prompt-box input{min-width:0;flex:1;border:0;outline:0;color:#f8f4ed;background:transparent;font-size:16px;letter-spacing:-.012em}.prompt-box input::-moz-placeholder{color:#f4efe794}.prompt-box input::placeholder{color:#f4efe794}.prompt-box input:disabled{cursor:wait}.prompt-box button{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border:0;border-radius:16px;color:#161310;background:#f4efe7;cursor:pointer;box-shadow:0 5px 18px #0000004d;transition:transform .16s ease,opacity .16s ease,background .16s ease}.prompt-box button:hover:not(:disabled){transform:translateY(-1px) scale(1.025);background:#fffaf2}.prompt-box button:active:not(:disabled){transform:scale(.96)}.prompt-box button:disabled{opacity:.3;cursor:default}.prompt-box button svg{width:22px;height:22px;stroke-width:2.2}.prompt-status{min-height:20px;margin-top:12px;color:#f4efe79e;font-size:12px;letter-spacing:.01em;text-shadow:0 1px 12px rgba(0,0,0,.9)}.prompt-status.is-error{color:#ffd0c6}.scene-caption{position:absolute;top:28px;left:30px;text-shadow:0 2px 18px rgba(0,0,0,.82)}.scene-caption p{margin:0 0 2px;font-family:Fraunces,serif;font-size:18px;font-weight:420;letter-spacing:-.015em}.scene-caption span{color:#f4efe7a3;font-size:11px}.sound-button{position:relative;display:flex;align-items:center;gap:9px;height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#f9f5eed6;background:#0c0c0e80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.sound-button:hover,.sound-button.is-playing{border-color:#ffffff4d;background:#0f0f11b8}.sound-button:hover{transform:translateY(-1px)}.sound-button svg{width:15px;height:15px;stroke-width:2}.sound-button>svg:first-child{fill:currentColor}.sound-button span{font-size:11px}.sound-button .sound-wave{width:13px;opacity:.62;animation:sound-pulse 1.8s ease-in-out infinite}button:focus-visible{outline:2px solid #fffaf2;outline-offset:3px}@keyframes grain{0%{transform:translateZ(0)}25%{transform:translate3d(2%,-3%,0)}50%{transform:translate3d(-3%,2%,0)}75%{transform:translate3d(3%,4%,0)}to{transform:translate3d(-2%,-2%,0)}}@keyframes sound-pulse{0%,to{opacity:.36;transform:scale(.92)}50%{opacity:.9;transform:scale(1.05)}}@media(max-width:640px){.lofi-app{min-height:500px}.prompt-center{width:calc(100vw - 28px)}.scene-quote{max-width:88vw;margin-bottom:16px;font-size:21px}.prompt-box{min-height:64px;padding:7px 8px 7px 18px;border-radius:19px}.prompt-box input{font-size:14px}.prompt-box button{width:48px;height:48px;border-radius:14px}.scene-caption{top:20px;left:20px}.scene-caption p{font-size:16px}.sound-button{right:18px;bottom:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.scene-plane{transform:scale(1.035)}.spatial-particles{display:none}}.scene-toolbar{position:absolute;left:24px;bottom:24px;display:flex;gap:10px;align-items:center;z-index:3}.account-strip{position:absolute;top:22px;right:24px;display:flex;gap:8px;align-items:center;z-index:3}.credit-pill{padding:7px 13px;border-radius:999px;font-size:12px;letter-spacing:.02em;color:#f8f6f2e6;background:#0a0b1080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,250,242,.14)}.ghost-button{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1px solid rgba(255,250,242,.16);background:#0a0b1080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f8f6f2eb;font:inherit;font-size:13px;text-decoration:none;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease}.ghost-button:hover{background:#101218a8;border-color:#fffaf242}.ghost-button:active{transform:translateY(1px)}.ghost-button svg{width:15px;height:15px}.ghost-button.subtle{padding:9px}.signin{display:grid;gap:12px;margin-top:18px;padding:18px;border-radius:18px;border:1px solid rgba(255,250,242,.13);background:#0a0b108c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.signin-lead{margin:0;text-align:center;font-size:14px;line-height:1.5;color:#f6f2ebdb}.signin-lead em{font-style:normal;color:#fffaf2}.signin-email{position:relative;display:flex;gap:8px;align-items:center}.signin-email-icon{position:absolute;left:12px;width:15px;height:15px;color:#f4f0e980;pointer-events:none}.signin-email input{flex:1;height:40px;padding:0 12px 0 34px;border-radius:10px;border:1px solid rgba(255,250,242,.16);background:#06070b8c;color:#f8f6f2f2;font:inherit;font-size:14px}.signin-email input::-moz-placeholder{color:#f4f0e961}.signin-email input::placeholder{color:#f4f0e961}.signin-email button{height:40px;padding:0 16px;border-radius:10px;border:1px solid rgba(255,250,242,.18);background:#f8f6f2eb;color:#14151a;font:inherit;font-size:14px;font-weight:500;cursor:pointer}.signin-email button:disabled{opacity:.45;cursor:default}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.signin-providers{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.signin-divider{display:flex;align-items:center;gap:12px;color:#f4f0e973;font-size:12px}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:#fffaf224}@media(max-width:640px){.scene-toolbar{left:16px;bottom:16px}.account-strip{top:14px;right:16px}.signin-providers{flex-direction:column}}.library-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0405089e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.library{width:min(920px,100%);max-height:min(78vh,720px);display:flex;flex-direction:column;border-radius:20px;border:1px solid rgba(255,250,242,.14);background:#0c0d12f0;box-shadow:0 30px 80px #00000080;overflow:hidden}.library-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(255,250,242,.1)}.library-head h2{margin:0;font-size:16px;font-weight:600;color:#faf7f2f2}.library-head p{margin:3px 0 0;color:#f4f0e994;font-size:12px}.library-empty{margin:0;padding:40px 24px;text-align:center;color:#f4f0e999;font-size:14px}.library-grid{list-style:none;margin:0;padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;overflow-y:auto}.library-grid li{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,250,242,.1);background:#fffaf208}.library-grid li.is-current{border-color:#fffaf26b}.library-card{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.library-card img,.library-noimage{display:block;width:100%;aspect-ratio:3 / 2;-o-object-fit:cover;object-fit:cover;background:#fffaf20d}.library-meta{display:block;padding:10px 12px 12px}.library-meta strong{display:block;font-size:13px;font-weight:600;color:#faf7f2f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-meta em{display:block;margin-top:2px;font-style:normal;font-size:12px;color:#f4f0e98c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px;transition:opacity .16s ease}.library-actions.is-confirming{align-items:center;padding-left:9px;border-radius:10px;background:#08090df0;opacity:1}.library-actions.is-confirming span{color:#ffe7e0eb;font-size:11px}@media(hover:hover)and (pointer:fine){.library-actions{opacity:0}.library-grid li:hover .library-actions,.library-grid li:focus-within .library-actions{opacity:1}}.library-actions:has(.icon-button.is-on){opacity:1}.icon-button{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,250,242,.16);background:#08090dc7;color:#f8f6f2db;cursor:pointer}.icon-button svg{width:14px;height:14px}.icon-button:hover{background:#14161ce6}.icon-button.danger{border-color:#ff97806b;color:#ffd0c6}.icon-button.is-on{background:#f8f6f2eb;border-color:#f8f6f2eb;color:#14151a}@media(max-width:640px){.library-scrim{padding:12px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.lofi-app.is-idle{cursor:none}.immersive-exit{position:absolute;top:20px;right:20px;z-index:30;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,250,242,.18);background:#08090d8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f8f6f2e6;cursor:pointer;opacity:1;transition:opacity .42s ease,background .2s ease,transform .2s ease}.immersive-exit svg{width:17px;height:17px}.immersive-exit:hover{background:#12141ab8;transform:scale(1.04)}.immersive-exit.is-idle{opacity:0}.immersive-exit:focus-visible{opacity:1}@media(prefers-reduced-motion:reduce){.immersive-exit{transition:none}.immersive-exit.is-idle{opacity:1}.lofi-app.is-idle{cursor:auto}}@media(max-width:640px){.immersive-exit{top:14px;right:14px}}.quality-picker{display:flex;justify-content:center;gap:8px;margin:12px 0 0;padding:0;border:0}.quality-picker label{display:inline-flex;align-items:baseline;gap:7px;padding:7px 13px;border-radius:999px;border:1px solid rgba(255,250,242,.14);background:#0a0b10c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f4f0e9b3;font-size:12.5px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.quality-picker label.is-on{border-color:#fffaf266;background:#14161cb8;color:#faf7f2f5}.quality-picker input{position:absolute;opacity:0;width:1px;height:1px}.quality-picker label:has(input:focus-visible){outline:2px solid #fffaf2;outline-offset:2px}.quality-picker em{font-style:normal;font-size:11px;color:#f4f0e9b8}.quality-picker label.is-on em{color:#faf7f2d1}.quality-picker:disabled label{opacity:.5;cursor:default}.credit-store{width:min(520px,100%);overflow:hidden;border:1px solid rgba(255,250,242,.14);border-radius:20px;background:#0c0d12f5;box-shadow:0 30px 80px #00000080}.credit-options{display:grid;gap:10px;padding:18px}.credit-options>button{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;width:100%;padding:14px 15px;border:1px solid rgba(255,250,242,.13);border-radius:13px;color:#faf7f2f0;background:#fffaf209;text-align:left;cursor:pointer}.credit-options>button:hover:not(:disabled){border-color:#fffaf24d;background:#fffaf212}.credit-options>button:disabled{cursor:wait;opacity:.65}.credit-options>button>svg{width:18px;color:#f4f0e9ad}.credit-options>button span{display:grid;gap:2px}.credit-options>button strong{font-size:14px;font-weight:600}.credit-options>button em{color:#f4f0e985;font-size:11px;font-style:normal}.credit-options>button b{font-size:13px;font-weight:500}.store-error{margin:8px 0;color:#ffd0c6;font-size:13px;text-align:center}
