*,: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}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.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))}.resize{resize:both}.rounded{border-radius:.25rem}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);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)}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{color:#f4efe7;background:#09090b;font-family:Manrope,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--glass-1: rgba(10, 10, 13, .5);--glass-2: rgba(10, 10, 13, .74);--glass-3: rgba(11, 11, 14, .94);--glass-blur: blur(14px) saturate(1.15);--glass-edge: rgba(255, 250, 242, .16);--glass-edge-strong: rgba(255, 250, 242, .3);--glass-relief: inset 0 1px 0 rgba(255, 250, 242, .09), inset 0 -1px 0 rgba(0, 0, 0, .25), 0 8px 28px rgba(0, 0, 0, .34);--control-h: 40px;--control-fs: 12.5px;--panel-r: 18px;--edge: 24px;--edge-top: calc(var(--edge) + env(safe-area-inset-top, 0px));--edge-right: calc(var(--edge) + env(safe-area-inset-right, 0px));--edge-bottom: calc(var(--edge) + env(safe-area-inset-bottom, 0px));--edge-left: calc(var(--edge) + env(safe-area-inset-left, 0px));--text-relief: 0 1px 1px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .55), 0 4px 30px rgba(0, 0, 0, .62)}*{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,label{-webkit-tap-highlight-color:transparent}.lofi-app:focus{outline:none}.lofi-app{position:relative;width:100vw;height:100dvh;isolation:isolate;overflow:hidden;background:#09090b;touch-action:manipulation}@media(min-height:600px){.lofi-app{min-height:560px}}.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(.96) contrast(1.02)}.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,#05060961,#0506092b 12%,#0506090d 26%,#05060900 42%,#04040600 56%,#04040614,#04040642 88%,#04040680),radial-gradient(ellipse 78% 88% at 50% 48%,#02030600 30%,#0203061a 62%,#0203063d 82%,#02030666);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");background-size:180px 180px;background-repeat:repeat;animation:grain .38s steps(2) infinite;pointer-events:none}.prompt-center:before{content:"";position:absolute;top:-16%;right:-12%;bottom:-16%;left:-12%;z-index:-1;background:radial-gradient(ellipse at center,#06060a8c,#06060a00 72%);pointer-events:none}.prompt-center{--measure: clamp(320px, 42vw, 760px);position:absolute;top:50%;left:50%;width:min(760px,calc(100vw - 40px));transform:translate(-50%,-50%);text-align:center}.product-line{max-width:var(--measure);margin:0 auto 14px;color:#f4f0e9b8;font-size:13px;line-height:1.5;letter-spacing:.005em;text-shadow:var(--text-relief)}.product-line strong{color:#fcf9f4f2;font-weight:600;letter-spacing:.01em}.scene-quote{max-width:var(--measure);margin:0 auto 22px;color:#fbf7eff0;font-family:Fraunces,serif;font-size:clamp(21px,calc(var(--measure) / 17),42px);font-weight:350;line-height:1.18;letter-spacing:-.016em;text-wrap:balance;text-shadow:var(--text-relief)}@media(min-width:1100px){.scene-quote{letter-spacing:-.026em}}.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-field{display:flex;align-items:center;align-self:stretch;flex:1;min-width:0;cursor:text}.prompt-box input{width:100%;min-width:0;border:0;outline:0;color:#f8f4ed;background:transparent;font-size:16px;letter-spacing:-.012em}.feedback-message{flex:1;width:100%;min-width:0;resize:vertical;border:0;outline:0;background:transparent;color:#f8f4ed;font:inherit;font-size:15px;line-height:1.5;padding:4px 0}.feedback-message::-moz-placeholder,.prompt-box input::-moz-placeholder{color:#f4efe794}.feedback-message::placeholder,.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: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{display:inline-block;min-height:20px;margin-top:12px;padding:5px 13px;border-radius:999px;color:#f4efe7cc;background:#090a0ebd;font-size:12px;letter-spacing:.01em}.prompt-status.is-error{color:#ffd0c6}.prompt-status.is-suggestion{border:0;cursor:pointer;transition:background .18s ease,color .18s ease}@media(hover:hover)and (pointer:fine){.prompt-status.is-suggestion:hover{color:#faf7f2f5;background:#101116db}}.scene-caption{position:absolute;top:var(--edge-top);left:var(--edge-left);max-width:min(46ch,calc(100% - 180px));padding:9px 15px 10px;border-radius:15px;border:1px solid rgba(255,250,242,.12);background:#090a0e9e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);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:#f4efe7cc;font-size:12.5px;letter-spacing:.035em}.sound-button{position:relative;display:flex;align-items:center;gap:9px;height:var(--control-h);padding:0 15px;border:1px solid var(--glass-edge);border-radius:999px;color:#f9f6f0e6;background:var(--glass-1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-relief);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.sound-button.is-playing{border-color:var(--glass-edge-strong);background:var(--glass-2)}.sound-button svg{width:15px;height:15px;stroke-width:2}.sound-button>svg:first-child{fill:currentColor}.sound-button span{font-size:var(--control-fs)}.sound-button .sound-wave{width:13px;opacity:.62;animation:sound-pulse 1.8s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.prompt-box button:hover:not(:disabled){transform:translateY(-1px) scale(1.025);background:#fffaf2}.sound-button:hover,.ghost-button:hover,.quality-picker label:hover{border-color:var(--glass-edge-strong);background:var(--glass-2)}.sound-button:hover{transform:translateY(-1px)}.icon-button:hover{background:#14161ce6}.credit-options>button:hover:not(:disabled){border-color:#fffaf24d;background:#fffaf212}}button:focus-visible{outline:2px solid #fffaf2;outline-offset:3px}.scene-caption{animation:settle-in .9s cubic-bezier(.22,1,.36,1) backwards}.prompt-center{animation:settle-in .9s cubic-bezier(.22,1,.36,1) .14s backwards}.scene-toolbar{animation:settle-in .9s cubic-bezier(.22,1,.36,1) .26s backwards}.account-strip{animation:settle-in .9s cubic-bezier(.22,1,.36,1) .36s backwards}@keyframes settle-in{0%{opacity:0}}@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){.scene-watermark text{font-size:11px;letter-spacing:.05em}.prompt-center{width:calc(100vw - 28px)}.scene-quote{margin-bottom:16px}.prompt-box{min-height:64px;padding:7px 8px 7px 18px;border-radius:19px}.prompt-box button{width:48px;height:48px;border-radius:14px}.scene-caption p{font-size:16px}}@media(max-width:640px){.prompt-box input,.signin-email input{font-size:16px}}@media(pointer:coarse){.sound-button,.ghost-button,.credit-pill,.quality-picker label{height:46px}.ghost-button.subtle{width:46px}.signin-email input,.signin-email button{height:46px}.icon-button{width:36px;height:36px}}@media(prefers-reduced-transparency:reduce){:root{--glass-1: rgba(10, 10, 13, .86);--glass-2: rgba(10, 10, 13, .93);--glass-3: rgba(11, 11, 14, .98);--glass-blur: none}.prompt-box,.scene-caption{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0c0c0fe0}.library-scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:#040508db}}@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:var(--edge-left);bottom:var(--edge-bottom);display:flex;gap:10px;align-items:center;z-index:3}.account-strip{position:absolute;top:var(--edge-top);right:var(--edge-right);display:flex;gap:8px;align-items:center;z-index:3}.credit-pill{display:inline-flex;align-items:center;height:var(--control-h);padding:0 15px;border-radius:999px;font-size:var(--control-fs);letter-spacing:.02em;color:#f9f6f0e6;background:var(--glass-1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-relief);border:1px solid var(--glass-edge)}.ghost-button{display:inline-flex;align-items:center;gap:8px;height:var(--control-h);padding:0 15px;border-radius:999px;border:1px solid var(--glass-edge);background:var(--glass-1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-relief);color:#f9f6f0e6;font:inherit;font-size:var(--control-fs);text-decoration:none;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease}.ghost-button:active{transform:translateY(1px)}.ghost-button svg{width:15px;height:15px}.ghost-button.subtle{width:var(--control-h);padding:0;justify-content:center}.signin{display:grid;gap:12px;margin-top:18px;padding:18px;border-radius:var(--panel-r);border:1px solid var(--glass-edge);background:var(--glass-3);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-relief)}.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:#f4f0e994;font-size:12px}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:#fffaf224}@media(max-width:640px){:root{--edge: 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:var(--panel-r);border:1px solid var(--glass-edge);background:var(--glass-3);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.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))}}.scene-watermark{position:absolute;right:var(--edge-right);bottom:var(--edge-bottom);z-index:4;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75)) drop-shadow(0 2px 12px rgba(0,0,0,.5));pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:settle-in 1.4s ease .4s backwards}.scene-watermark text{fill:#fcfaf645;font-family:Manrope,sans-serif;font-size:12px;font-weight:500;letter-spacing:.07em}.climate-link{width:auto;padding:0 12px;gap:0;color:#c6e2c8d1}.climate-link svg{width:15px;height:15px;flex:0 0 auto}.climate-label{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .32s cubic-bezier(.22,1,.36,1),opacity .22s ease,margin-left .32s cubic-bezier(.22,1,.36,1)}.climate-link:hover .climate-label,.climate-link:focus-visible .climate-label{max-width:140px;margin-left:8px;opacity:1}@media(pointer:coarse){.climate-label{max-width:140px;margin-left:8px;opacity:1}}@media(prefers-reduced-motion:reduce){.climate-label{transition:none}}.lofi-app.is-idle{cursor:none}.scene-caption,.scene-toolbar,.account-strip,.prompt-center{transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),filter .3s linear,visibility 0s}.is-immersive .scene-caption,.is-immersive .scene-toolbar,.is-immersive .account-strip,.is-immersive .prompt-center{opacity:0;filter:blur(3px);pointer-events:none;visibility:hidden;transition:opacity .38s cubic-bezier(.32,0,.67,0),transform .52s cubic-bezier(.22,1,.36,1),filter .38s linear,visibility 0s .52s}.is-immersive .scene-caption{transform:translate(-10px,-10px)}.is-immersive .account-strip{transform:translate(10px,-10px)}.is-immersive .scene-toolbar{transform:translate(-10px,10px)}.is-immersive .prompt-center{transform:translate(-50%,-50%) scale(.985)}.scene-vignette{transition:opacity .9s ease}.is-immersive .scene-vignette{opacity:.74}@media(prefers-reduced-motion:reduce){.scene-caption,.scene-toolbar,.account-strip,.prompt-center,.scene-vignette{transition:none}.is-immersive .scene-caption,.is-immersive .scene-toolbar,.is-immersive .account-strip,.is-immersive .prompt-center{transform:none;filter:none;transition:none}.is-immersive .prompt-center{transform:translate(-50%,-50%)}}.immersive-controls{position:absolute;top:calc(var(--edge-top) - 13px);right:calc(var(--edge-right) - 13px);z-index:30;display:flex;gap:4px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .26s ease,transform .26s ease}.immersive-controls.is-shown,.immersive-controls:focus-within{opacity:1;transform:none;pointer-events:auto}@media(pointer:coarse){.immersive-controls{opacity:.32;transform:none;pointer-events:auto}.immersive-controls.is-shown{opacity:1}.immersive-button{width:48px;height:48px}.immersive-button svg{width:20px;height:20px}}.immersive-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:none;color:#fcfaf6e6;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85)) drop-shadow(0 2px 10px rgba(0,0,0,.55));transition:color .2s ease,background .2s ease}.immersive-button svg{width:18px;height:18px;stroke-width:1.75}.immersive-button.is-secondary{color:#fcfaf6bd}.immersive-hint{align-self:center;margin-right:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--glass-edge);background:var(--glass-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:#f9f6f0e6;font-size:12px;white-space:nowrap;animation:settle-in .5s ease backwards}@media(hover:hover)and (pointer:fine){.immersive-button:hover{color:#fffdf9;background:#0000004d}}@media(prefers-reduced-motion:reduce){.immersive-controls{opacity:1;transform:none;pointer-events:auto;transition:none}.lofi-app.is-idle{cursor:auto}}.scene-glitch{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#07050a;opacity:0;pointer-events:none;transition:opacity .3s ease}.scene-glitch.is-on{transition:none;animation:glitch-cut .64s steps(1,end) both}.scene-glitch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,rgba(255,214,160,.4) 0 2px,transparent 2px 7px);mix-blend-mode:screen;opacity:0}.scene-glitch.is-on:before{animation:glitch-tear .64s steps(1,end) both}@keyframes glitch-cut{0%{opacity:0}8%,88%{opacity:1}to{opacity:0}}@keyframes glitch-tear{0%,10%{opacity:0;transform:translate3d(0,-42%,0) scaleY(.3)}16%{opacity:.42;transform:translate3d(-2.5%,-30%,0) scaleY(.34)}30%{opacity:.42;transform:translate3d(3%,6%,0) scaleY(.12)}44%{opacity:.42;transform:translate3d(-1.5%,-16%,0) scaleY(.5)}58%{opacity:.42;transform:translate3d(2%,24%,0) scaleY(.18)}72%{opacity:.42;transform:translate3d(-3%,-4%,0) scaleY(.28)}84%,to{opacity:0;transform:translate3d(0,38%,0) scaleY(.3)}}@media(prefers-reduced-motion:reduce){.scene-glitch.is-on{animation:none!important;opacity:1}.scene-glitch.is-on:before{animation:none!important}}.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;height:var(--control-h);padding:0 15px;border-radius:999px;border:1px solid var(--glass-edge);background:var(--glass-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-relief);color:#f4f0e9c7;font-size:var(--control-fs);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.quality-picker label.is-on{border-color:var(--glass-edge-strong);background:#181a20db;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 var(--glass-edge);border-radius:var(--panel-r);background:var(--glass-3);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: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}.climate-note{display:flex;align-items:center;gap:11px;margin:0 18px 18px;padding:12px 14px;border-radius:13px;border:1px solid rgba(160,214,168,.22);background:#18281e80;color:#e2f0e3db;font-size:12.5px;line-height:1.45;text-decoration:none;transition:background .2s ease,border-color .2s ease}.climate-note strong{color:#c6e8cafa;font-weight:600}.climate-note-leaf{width:17px;height:17px;flex:0 0 auto;color:#96d6a0eb}.climate-note-out{width:13px;height:13px;flex:0 0 auto;margin-left:auto;opacity:.55}@media(hover:hover)and (pointer:fine){.climate-note:hover{background:#1c3023a8;border-color:#a0d6a85c}}.store-error{margin:8px 0;color:#ffd0c6;font-size:13px;text-align:center}
