
    @font-face{font-family:Camera;src:url('../assets/camera-plain.woff2') format('woff2');font-weight:100 900;font-display:block}
    *{box-sizing:border-box}
    html,body{margin:0;width:100%;height:100%;overflow:hidden}
    body{font-family:Camera,Arial,sans-serif;color:#1c1c1c;background:#faf9f6;-webkit-font-smoothing:antialiased}
    button{font:inherit;color:inherit;cursor:pointer}
    #viewport{position:relative;width:100%;height:100%;overflow:hidden}
    #scene{position:absolute;left:50%;top:50%;width:1280px;height:720px;overflow:hidden;transform:translate(-50%,-50%) scale(var(--scene-scale,1));transform-origin:center;background:#faf9f6}
    .background{position:absolute;width:2560px;height:2581.333333px;left:50%;top:-440px;transform:translateX(-50%);mask-image:linear-gradient(to bottom,transparent 0%,black 5%);pointer-events:none}
    .background img{display:block;width:100%;height:100%}
    .background-crush{width:1800px;height:1800px;top:120px;mask-image:none;opacity:1}
    .background-crush::before{content:"";position:absolute;inset:-180px 0 0;background:radial-gradient(ellipse 1000px 520px at 50% 610px,rgba(255,207,72,.7) 0%,rgba(255,218,113,.5) 38%,rgba(255,232,177,.22) 66%,rgba(255,238,205,0) 100%);filter:blur(40px)}
    .background-crush img{position:relative;filter:blur(32px);mask-image:radial-gradient(circle 900px at 50% 50%,#000 55%,rgba(0,0,0,.85) 65%,rgba(0,0,0,.35) 82%,transparent 98%)}
    header{position:absolute;z-index:2;top:0;left:80px;right:80px;height:64px;display:flex;align-items:center}
    .logo{width:105.34884px;height:18px;display:block}
    .header-brand{position:relative;width:105.34884px;height:28px;flex:none}
    .header-brand .logo{position:absolute;left:0;top:5px}
    .crush-logo{position:absolute;inset:0 auto 0 0;display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:22px;font-weight:700;letter-spacing:-.7px;opacity:1}
    .crush-logo-crop{position:relative;display:block;width:36px;height:37.044px;overflow:hidden;flex:none}
    .crush-logo-icon{position:absolute;display:block;width:52.371px;height:52.371px;max-width:none;left:-6.348px;top:-7.852px}
    .hero-lead{display:inline-block;white-space:pre}
    .hero-brand{display:inline-flex;align-items:baseline;white-space:nowrap;vertical-align:baseline}
    .hero-prefix{position:relative;display:inline-block;flex:none}
    .hero-lov{display:inline-block}
    .hero-able{display:inline-block}
    .hero-crush{position:absolute;left:0;top:0;width:max-content;opacity:0}
    .hero-bracket{position:absolute;top:0;font-weight:500;letter-spacing:0;opacity:0}
    .hero-bracket.left{left:0}
    .hero-bracket.right{right:0}
    .hero-reel{position:absolute;left:50%;top:0;transform:translateX(-50%);height:1.1em;overflow:hidden;opacity:0;mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}
    .hero-reel-strip{will-change:transform;display:flex;flex-direction:column}
    .hero-reel-row{height:var(--hero-row-height);flex:none;display:flex;align-items:center;justify-content:center;font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:.88em;line-height:1;letter-spacing:0}
    .hero-reel-row img{width:1em;height:1em;object-fit:contain}
    .hero-reel-row.crush{display:block;text-align:center;font:inherit;letter-spacing:inherit}
    .chevron{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;opacity:.8}
    .account{display:flex;gap:8px;margin-left:auto;font-size:14px;line-height:21px}
    .account button{height:32px;padding:0 12px;border:.5px solid #d5d4d1;border-radius:8px;background:linear-gradient(#ffffff25,#00000004);box-shadow:inset 0 1px 0 #ffffff90,0 2px 2px -1px #0000000a;white-space:nowrap}
    .account .start{background:linear-gradient(#20201f,#090909);color:#fff;border-color:#1a1a19;box-shadow:inset 0 1px 0 #ffffff18,0 2px 3px #0000001a}
    main{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
    .intro{position:relative;margin-bottom:36px;text-align:center}
    h1{margin:0;font-size:48px;font-weight:600;line-height:1.1;letter-spacing:-1.92px}
    .subtitle{margin:4px 0 0;font-size:18px;line-height:24px;font-weight:400;color:oklch(.5 .001 107)}
    .composer{position:relative;width:608px;padding:12px;border:1px solid white;border-radius:28px;background:#fff;box-shadow:0 0 0 1px #00000014,0 25px 50px -12px #00000040}
    .editor{height:40px;position:relative;padding:8px;font-size:16px;line-height:24px;white-space:pre-wrap;color:oklch(.1 0 0);outline:0}
    .placeholder{color:#808080}
    .app-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px 0 4px;border:1px solid #e2e4e7;border-radius:7px;background:#f5f6f7;vertical-align:top;white-space:nowrap;font-size:14px;line-height:22px;color:#262626}
    .app-chip[hidden]{display:none}
    .app-chip svg{display:block;width:17px;height:17px;flex:none}
    .caret{display:inline-block;vertical-align:-3px;height:18px;width:1px;background:#111;margin-left:1px}
    .toolbar{display:flex;align-items:center;height:32px;gap:8px;color:#808080}
    .toolbar button{border:0;background:transparent;display:flex;align-items:center;justify-content:center}
    .toolbar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
    .toolbar .add{height:32px;width:32px;border-radius:50%;background:linear-gradient(#fff,#f9f9f9);border:.5px solid #f1f1f1;box-shadow:0 2px 2px -1px #00000005}
    .build{margin-left:auto;gap:6px;height:32px;padding:0 10px;font-size:14px;line-height:21px}
    .toolbar .send{width:32px;height:32px;padding:0;border-radius:50%;transition:background .16s,color .16s}
    .send.ready{background:#1b1b1b;color:#fff}
    .send .arrow{display:none}
    .send.ready .arrow{display:block}
    .send.ready .mic{display:none}
    .send.pressed{transform:scale(.9);background:#353535}

/* Responsive landing layout; the video keeps its fixed 1280 x 720 stage. */
html,body{height:auto;min-height:100%;overflow:auto}
#scene{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:100svh;transform:none;overflow:hidden}
#landing{position:relative;min-height:100svh;isolation:isolate}
header{left:clamp(24px,6.25vw,80px);right:clamp(24px,6.25vw,80px);height:64px}
main{position:relative;inset:auto;min-height:100svh;padding:100px 24px}
.intro{max-width:100%}
h1{white-space:nowrap}
.subtitle{max-width:600px;margin:4px auto 0;text-wrap:balance}
.composer{width:min(608px,100%)}
textarea.editor{display:block;width:100%;height:40px;min-height:40px;resize:none;border:0;background:transparent;font:inherit;font-size:16px;line-height:24px;color:#1c1c1c}
textarea.editor::placeholder{color:#808080}
[hidden]{display:none!important}
@media(max-width:767px){
 main{padding:100px 24px}
 h1{font-size:32px;letter-spacing:-1.28px;line-height:1.1;white-space:normal}
 .hero-lead{display:block;font-size:inherit;letter-spacing:inherit;white-space:normal}
 .subtitle{font-size:16px;line-height:24px;max-width:25ch;margin-top:4px}
 .intro{width:100%;padding:0 16px;margin-bottom:28px}
 .composer{width:100%;background:#fffffff0}
 textarea.editor{height:60px;min-height:60px}
 .toolbar{height:36px;gap:4px}
 .toolbar .add,.toolbar .send,.toolbar .microphone{height:36px;width:36px;flex:none}
 .background{top:-220px}.background-crush{top:140px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.toolbar .build,.toolbar .build:disabled{color:#808080;-webkit-text-fill-color:#808080;background:transparent;opacity:1;cursor:default;pointer-events:none}
.toolbar .microphone{width:32px;height:32px;padding:0;color:#808080}
.toolbar .send .arrow{display:block}
.toolbar .send:disabled{background:#909090;color:#fff;opacity:1;cursor:default;box-shadow:none}
.toolbar .send.ready{background:linear-gradient(#20201f,#090909);color:#fff;border:.5px solid #1a1a19;box-shadow:inset 0 1px 0 #ffffff30,0 2px 3px #00000020}
.toolbar .send.ready:active{transform:scale(.94)}
.toolbar .send:focus-visible{outline:2px solid #1b1b1b;outline-offset:3px}

/* Opening reference: lovable.dev uses a 1.6s ease-out background entrance. */
.background-enter{position:absolute;inset:0;opacity:0;pointer-events:none;transform-origin:50% 65%}
.background-enter.is-loaded{animation:background-reveal 1.6s cubic-bezier(.215,.61,.355,1) both}
@keyframes background-reveal{
  from{opacity:0;transform:translateY(28px) scale(1.015)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .background-enter,.background-enter.is-loaded{animation:none;opacity:1;transform:none}
}

.prompt-field{position:relative}
.prompt-preview{display:none;position:absolute;inset:0;padding:8px;font-size:16px;line-height:24px;white-space:pre-wrap;overflow:hidden;pointer-events:none;color:#1c1c1c}
.prompt-preview.is-placeholder{color:#808080;white-space:nowrap;text-overflow:ellipsis}
.prompt-field.is-prefilling .editor{color:transparent;caret-color:transparent}
.prompt-field.is-prefilling .prompt-preview{display:block}
.prompt-preview.is-typing::after{content:'';display:inline-block;height:17px;border-right:1px solid #1c1c1c;margin-left:1px;vertical-align:-3px;animation:prompt-caret .8s steps(1) infinite}
@keyframes prompt-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.prompt-preview.is-typing::after{animation:none}}

.waitlist-opened,.waitlist-opened body{overflow:hidden}
.waitlist-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:36px 32px 30px;border:1px solid #fff;border-radius:30px;background:#fffdf9;color:#1c1c1c;box-shadow:0 32px 100px #492b1830;text-align:center;overflow:auto}
.waitlist-dialog[open]{animation:waitlist-arrive .24s cubic-bezier(.2,.8,.2,1) both}
.waitlist-dialog::backdrop{background:#3d302522;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.waitlist-close{position:absolute;top:16px;right:16px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:#efeeeb;color:#777}
.waitlist-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.waitlist-mark{position:relative;width:64px;height:66px;overflow:hidden;margin:0 auto 20px}
.waitlist-mark img{position:absolute;width:93px;height:93px;max-width:none;left:-11px;top:-14px}
.waitlist-dialog h2{margin:0;font-size:36px;line-height:1.08;font-weight:600;letter-spacing:-1.3px}
.waitlist-dialog #waitlist-description{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:24px 0 16px;color:#77716a;font-size:18px;line-height:1.2}
.waitlist-dialog strong{font-size:44px;line-height:1;letter-spacing:-1.3px;font-weight:600;color:#1c1c1c}
.waitlist-number{font-size:28px;line-height:1.3;letter-spacing:-.7px;font-weight:500;overflow-wrap:anywhere;user-select:all}
.waitlist-open{display:flex;justify-content:center;align-items:center;gap:10px;margin:20px 0 0;padding:14px;border-radius:15px;background:linear-gradient(#242423,#101010);color:white;font-size:16px;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff20}
.waitlist-dialog a:focus-visible,.waitlist-close:focus-visible{outline:2px solid #b87624;outline-offset:4px}
@keyframes waitlist-arrive{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:420px){.waitlist-dialog{padding:32px 24px 26px}.waitlist-dialog h2{font-size:32px}.waitlist-number{font-size:25px}}
@media(prefers-reduced-motion:reduce){.waitlist-dialog[open]{animation:none}}

/* Compact responsive header. */
.header-brand{width:138px}
@media(max-width:1023px){
 header{left:16px;right:8px}
 header>.account>button:not(.start){display:none}
}
@media(max-height:500px) and (max-width:1023px){
 main{padding-top:96px;padding-bottom:40px}
}
