@font-face{font-family:Lyra Display;src:url(/projects/lyra/fonts/vt323-latin.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Lyra Mono;src:url(/projects/lyra/fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-display:swap}.lyra-page{font-family:var(--face-body)}.lyra-page :is(h1,h2,h3){font-family:var(--face-display);font-weight:400;letter-spacing:0;line-height:1;text-wrap:wrap}.lyra-page p{margin:0;text-wrap:wrap}.lyra-page .home-stage>section{container-type:inline-size}.lyra-page .home-stage>section>div[aria-hidden]{display:none}.lyra-artwork{position:absolute;inset:0;pointer-events:none}.lyra-art-frame{position:absolute;width:100%;aspect-ratio:1440/900;left:0;top:50%;transform:translateY(-50%)}.lyra-art-frame :is(picture,img,canvas){display:block;width:100%;height:100%}.lyra-art-frame canvas{position:absolute;inset:0;opacity:0}.lyra-static-window{position:absolute;left:23.6111%;top:23.5556%;width:52.7778%;height:55.5556%;border:1.5px solid var(--c-primary);border-radius:12px;background:var(--c-lyra-chrome)}.lyra-static-mark{position:absolute;left:19.4737%;top:23%;width:14.7368%;height:22.4%;color:var(--c-primary)}.lyra-artwork[data-live=true] .lyra-static-window{display:none}.lyra-page .home-stage>section>.relative.mx-auto{position:absolute;padding:0;max-width:none!important;width:52.7778%;height:34.7222cqw;left:23.6111%;top:calc(50% - 16.5278cqw)}.lyra-page .home-stage h1{position:absolute;left:38.4211%;top:14.2%;font-size:13.8889cqw;line-height:1;margin:0;color:transparent;translate:0 calc(var(--lyra-name-shift,0) * 1px)}.lyra-page .home-stage h1:before{content:"Lyra";position:absolute;inset:0;color:var(--c-title);clip-path:inset(0 calc((4 - var(--lyra-name,4)) * 25%) 0 0)}.lyra-page .home-stage h1:after{content:"";position:absolute;top:25%;left:calc(var(--lyra-name,4) * 25%);width:.34em;height:.6em;background:var(--c-primary);opacity:0}.lyra-page .home-stage section[data-lyra-cursor=true] h1:after{opacity:1}.lyra-page .home-stage .label{position:absolute;top:11.2%;left:0;width:100%;font-family:var(--face-body);color:var(--c-primary);font-size:.9722cqw;line-height:1.3;text-align:center;letter-spacing:0;text-transform:none;font-weight:600;opacity:var(--lyra-copy,1)}.lyra-page .home-stage .text-text-soft{position:absolute;left:13.1579%;top:56.9%;width:73.6842%;max-width:none;font-size:1.1806cqw;line-height:1.6;text-align:center;color:var(--c-text);opacity:var(--lyra-copy,1)}.lyra-page .home-stage .flex.flex-wrap{position:absolute;top:79.8%;left:0;width:100%;margin:0;justify-content:center;opacity:var(--lyra-button,1)}.lyra-page .home-stage .flex.flex-wrap:focus-within{opacity:1}.lyra-page .home-stage .lyra-action{transform:scale(var(--lyra-button-scale,1));box-shadow:0 0 28px color-mix(in srgb,var(--c-primary) 45%,transparent)}.lyra-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:4px;background:var(--c-primary);color:var(--c-on-primary);font-size:14px;line-height:1;font-weight:600;text-decoration:none;border:0}.lyra-action svg{width:16px;height:16px;flex:none}.lyra-action:hover{background:var(--c-primary-hover)}.lyra-hero-pause{position:absolute;left:83.75%;top:90px}.lyra-sheet{overflow:hidden;border:0;border-radius:20px;box-shadow:inset 0 0 0 1px var(--c-border);background-image:radial-gradient(ellipse 50% 72px at 50% 0,color-mix(in srgb,var(--c-primary) 9%,transparent),transparent)}.lyra-sheet:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--c-primary-wash),var(--c-primary),var(--c-primary-wash),transparent)}.lyra-scene{padding:120px max(20px,calc((100% - 1116px) / 2));display:flex;flex-direction:column;gap:56px}.lyra-scene h2{font-size:75px}.lyra-scene-heading p{font-size:17px;line-height:1.65;color:var(--c-text)}.lyra-local .lyra-scene-heading{display:flex;justify-content:space-between;gap:36px}.lyra-local h2{width:520px;flex:none}.lyra-local .lyra-scene-heading p{width:560px;padding-top:8px}.lyra-cosmic .lyra-scene-heading{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}.lyra-cosmic h2{width:760px}.lyra-cosmic .lyra-scene-heading p{max-width:700px}.lyra-modes .lyra-scene-heading{display:flex;flex-direction:column;gap:16px}.lyra-modes h2{max-width:760px}.lyra-modes .lyra-scene-heading p{max-width:640px}.lyra-desktop-film{position:relative;width:100%;container-type:inline-size}.lyra-film-text{position:absolute;inset:0;overflow:hidden;pointer-events:none}.lyra-film-text span{position:absolute;white-space:pre;line-height:1}.lyra-small{font-size:13px;line-height:1.55;color:var(--c-text-soft)}.lyra-install{position:relative;min-height:900px;display:flex;align-items:center;overflow:hidden}.lyra-install-content{position:relative;width:1116px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.lyra-install-row{display:flex;gap:96px;align-items:flex-start}.lyra-install-copy{width:460px;flex:none;display:flex;flex-direction:column;gap:20px}.lyra-install-copy h2{font-size:75px}.lyra-install-copy>p{font-size:17px;line-height:1.65}.lyra-install-copy .lyra-small{margin-top:8px}.lyra-ground{opacity:.6}.lyra-terminal{border:1px solid var(--c-border);border-radius:6px;background:var(--c-lyra-term);overflow:hidden}.lyra-terminal-bar{height:36px;display:flex;align-items:center;gap:10px;padding-left:14px;border-bottom:1px solid var(--c-border);background:var(--c-lyra-chrome);color:var(--c-text-soft);font-size:12px;line-height:1}.lyra-terminal-bar>:first-child{font-weight:600}.lyra-window-controls{margin-left:auto;width:120px;white-space:pre;display:flex;justify-content:space-around;font-size:16px}.lyra-terminal-body{padding:20px 24px;font-size:14px;line-height:1.55;display:flex;flex-direction:column;gap:4px}.lyra-setup{width:560px;min-height:246px}.lyra-green{color:var(--c-primary)}.lyra-soft{color:var(--c-text-soft)}.lyra-title-ink{color:var(--c-title)}.lyra-setup-models{margin:6px 0}.lyra-setup-models p{display:flex;align-items:flex-start}.lyra-setup-models p>span{width:96px;flex:none;color:var(--c-text-soft)}.lyra-phone-film{display:none}@media (max-width:767px){.lyra-sheet{background-image:radial-gradient(ellipse 50% 49.5px at 50% 0,color-mix(in srgb,var(--c-primary) 9%,transparent),transparent)}.lyra-art-frame{aspect-ratio:390/844}.lyra-static-window{left:5.1282%;top:27.9621%;width:89.7436%;height:47.3934%}.lyra-static-mark{left:16.5714%;top:19.3%;width:16%;height:14%}.lyra-page .home-stage>section>.relative.mx-auto{left:5.1282%;width:89.7436%;height:102.5641cqw;top:calc(50% - 47.6923cqw)}.lyra-page .home-stage h1{left:37.7143%;top:14%;font-size:25.641cqw}.lyra-page .home-stage .label{top:8.625%;font-size:3.3333cqw}.lyra-page .home-stage .text-text-soft{left:8%;top:43.5%;width:84%;font-size:3.8462cqw;line-height:1.6}.lyra-page .home-stage .flex.flex-wrap{top:80%;left:8%;width:84%}.lyra-page .home-stage .lyra-action{width:100%}.lyra-hero-pause{left:auto;right:20px;top:84px}.lyra-scene{padding:72px 20px;gap:32px}.lyra-scene h2{font-size:50px}.lyra-cosmic .lyra-scene-heading,.lyra-local .lyra-scene-heading,.lyra-modes .lyra-scene-heading{display:flex;flex-direction:column;gap:16px;align-items:flex-start;text-align:left}.lyra-cosmic h2,.lyra-local h2{width:100%}.lyra-local .lyra-scene-heading p,.lyra-scene-heading p{width:100%;max-width:none;padding-top:0;font-size:15px;line-height:1.6}.lyra-desktop-film{display:none}.lyra-phone-film{position:relative;display:flex;flex-direction:column}.lyra-phone-film>.cosmic-film{position:absolute;inset:0;pointer-events:none}.lyra-phone-film>:not(.cosmic-film){position:relative}.lyra-phone-film .cosmic-film img,.lyra-phone-film .cosmic-film picture{height:100%}.lyra-phone-film :is(.lyra-terminal,.lyra-terminal-bar,.lyra-sent,.lyra-phone-app,.lyra-app-symbol,.lyra-phone-status,.lyra-phone-chat,.lyra-bubble){background:transparent;border-color:transparent}.lyra-phone-film :is(.lyra-app-symbol,.lyra-sent>span,.lyra-memory svg,.lyra-focused span,.lyra-phone-status hr){visibility:hidden}.lyra-phone-mode-list>div:before{visibility:hidden}.lyra-phone-local{gap:16px}.lyra-phone-local .lyra-terminal{min-height:274px}.lyra-session-model,.lyra-session-question{margin-top:10px!important}.lyra-session-model{font-size:13px;color:var(--c-text-dim)}.lyra-sent{display:flex;height:94px;padding:16px;gap:12px;align-items:center;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface)}.lyra-sent>span{width:18px;flex:none}.lyra-sent svg{width:18px;height:18px}.lyra-sent>div{flex:1;font-size:13px;line-height:1.55;color:var(--c-text-soft)}.lyra-sent>div>:last-child{color:var(--c-text-dim);margin-top:2px}.lyra-sent strong{font-family:var(--face-display);font-size:50px;font-weight:400;line-height:1;white-space:nowrap;color:var(--c-primary)}.lyra-phone-cosmic{gap:10px}.lyra-phone-app{display:flex;height:56px;gap:12px;padding:0 14px;align-items:center;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface)}.lyra-phone-app[data-active=true]{border-color:var(--c-primary)}.lyra-phone-app strong{font-weight:600;font-size:14px;color:var(--c-title)}.lyra-app-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--c-surface-3);color:var(--c-title)}.lyra-app-symbol svg{width:18px;height:18px}.lyra-phone-app>:last-child{margin-left:auto;font-size:12px;color:var(--c-text-soft)}.lyra-phone-app[data-active=true]>:last-child{color:var(--c-primary)}.lyra-phone-status{display:flex;flex-direction:column;gap:12px;padding:16px;margin-top:16px;min-height:188px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface);color:var(--c-text-soft);font-size:13px;line-height:1.4}.lyra-phone-status>p:nth-of-type(3){font-size:12px;font-weight:600}.lyra-phone-status>p:nth-of-type(4){font-size:14px;line-height:1.5}.lyra-phone-status .lyra-focused{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--c-title)}.lyra-focused span{width:10px;height:10px;border-radius:50%;background:var(--c-primary)}.lyra-phone-status hr{margin:0;border:0;height:1px;background:var(--c-border)}.lyra-phone-modes{gap:28px}.lyra-phone-chat{display:flex;flex-direction:column;height:208px;gap:14px;padding:16px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface);font-size:14px;line-height:1.5}.lyra-bubble{align-self:flex-end;flex-shrink:0;width:258px;max-height:62px;overflow:auto;padding:10px 14px;border-radius:6px;background:var(--c-surface-2);color:var(--c-title)}.lyra-phone-chat>div{display:flex;flex:1;min-height:0;overflow:auto;flex-direction:column;gap:6px}.lyra-phone-chat :focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.lyra-phone-chat>div>:first-child{font-size:13px;line-height:18px;font-weight:600}.lyra-memory{display:flex;flex-shrink:0;align-items:center;gap:8px;font-size:13px;line-height:18px;color:var(--c-primary)}.lyra-memory svg{width:14px;height:14px;flex:none}.lyra-memory>span:first-of-type{font-weight:600}.lyra-memory>:last-child{margin-left:auto;color:var(--c-text-soft)}.lyra-phone-mode-list{display:flex;flex-direction:column;gap:18px}.lyra-phone-mode-list>div{position:relative;padding-left:16px}.lyra-phone-mode-list>div:before{content:"";position:absolute;left:0;top:0;width:2px;height:64px;background:var(--c-border-strong)}.lyra-phone-mode-list>[data-active=true]:before{background:var(--c-primary)}.lyra-phone-mode-list p{font-size:13px;line-height:1.55;color:var(--c-text-soft)}.lyra-phone-mode-list>div>:first-child{font-weight:600;margin-bottom:2px}.lyra-phone-mode-list>[data-active=true]>:first-child{color:var(--c-primary)}.lyra-phone-mode-list strong{font-family:var(--face-display);font-weight:400;font-size:50px;line-height:.9;display:block;color:var(--c-title);margin-bottom:2px}.lyra-install{min-height:844px;padding:80px 20px}.lyra-install-content{width:100%}.lyra-install-row{flex-direction:column;gap:32px}.lyra-install-copy{width:100%}.lyra-install-copy h2{font-size:50px}.lyra-install-copy>p{font-size:15px;line-height:1.6}.lyra-setup{width:100%;min-height:356px}}.lyra-page .home-stage>section{--hero-width:min(100vw,calc((100dvh - var(--header-height)) * 1.6));--hero-height:calc(var(--hero-width) * .625);--hero-scale:calc(var(--hero-width) / 1440px);min-height:100dvh;height:100dvh;--lyra-name:0;--lyra-copy:0;--lyra-button:0;--lyra-name-shift:0;--lyra-button-scale:1;animation:lyra-copy-fallback 3s step-end forwards}.lyra-hero-artwork .lyra-art-frame{width:var(--hero-width);height:var(--hero-height);aspect-ratio:auto;inset:auto}.lyra-hero-artwork .lyra-art-frame,.lyra-hero-ground{position:absolute;left:50%;top:calc(50% + var(--header-height) / 2);transform:translate(-50%,-50%)}.lyra-hero-ground{width:calc(var(--hero-width) * 3);height:calc(var(--hero-height) * 3)}.lyra-hero-ground img{display:block;width:100%;height:100%}.lyra-hero-live-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}.lyra-hero-artwork .lyra-art-frame>picture,.lyra-hero-ground:not(.lyra-hero-start){opacity:0;animation:lyra-image-fallback 3s step-end forwards}.lyra-page .home-stage>section[data-lyra-ready=true]{animation:none}.lyra-page .home-stage>section[data-lyra-ready=true] :is(.lyra-hero-ground:not(.lyra-hero-start),.lyra-hero-artwork .lyra-art-frame>picture){animation:none;opacity:0}.lyra-page .home-stage>section[data-lyra-ready=false]{animation:none;--lyra-name:4!important;--lyra-copy:1!important;--lyra-button:1!important;--lyra-name-shift:0!important;--lyra-button-scale:1!important}.lyra-page .home-stage>section[data-lyra-ready=false] :is(.lyra-hero-ground:not(.lyra-hero-start),.lyra-hero-artwork .lyra-art-frame>picture){animation:none;opacity:1}@keyframes lyra-image-fallback{to{opacity:1}}@keyframes lyra-copy-fallback{to{--lyra-name:4;--lyra-copy:1;--lyra-button:1;--lyra-name-shift:0;--lyra-button-scale:1}}@media(max-width:767px){.lyra-page .home-stage>section{--hero-width:min(100vw,calc((100dvh - var(--header-height)) * 390 / 844));--hero-height:calc(var(--hero-width) * 844 / 390);--hero-scale:calc(var(--hero-width) / 390px)}}@media(prefers-reduced-motion:reduce){.lyra-page .home-stage>section{animation:none;--lyra-name:4!important;--lyra-copy:1!important;--lyra-button:1!important;--lyra-name-shift:0!important;--lyra-button-scale:1!important}.lyra-page .home-stage>section :is(.lyra-hero-ground:not(.lyra-hero-start),.lyra-hero-artwork .lyra-art-frame>picture){animation:none;opacity:1}.lyra-hero-live-canvas{opacity:0!important}}.lyra-page .home-stage>section>.relative.mx-auto{width:760px;height:500px;left:50%;top:calc(50% + var(--header-height) / 2 + 12px * var(--hero-scale));margin:0;transform:translate(-50%,-50%) scale(var(--hero-scale));transform-origin:center}.lyra-page .home-stage h1{font-size:200px}.lyra-page .home-stage .label{font-size:14px}.lyra-page .home-stage .text-text-soft{font-size:17px}.lyra-cosmic{gap:60px}@media(min-width:768px){.lyra-local .lyra-scene-heading p{width:524px}}.lyra-modes{gap:88px}.lyra-modes>.lyra-small{margin-top:0}.lyra-modes{row-gap:58px}.lyra-modes .lyra-scene-heading{margin-bottom:30px}@media(max-width:767px){.lyra-page .home-stage>section>.relative.mx-auto{width:350px;height:400px;left:50%;top:calc(50% + var(--header-height) / 2 + 14px * var(--hero-scale))}.lyra-page .home-stage h1{font-size:100px}.lyra-page .home-stage .label{font-size:13px}.lyra-page .home-stage .text-text-soft{font-size:15px}.lyra-scene{gap:32px}.lyra-modes>.lyra-small{margin-top:0}.lyra-modes .lyra-scene-heading{margin-bottom:0}}@media(min-width:1600px) and (max-height:1000px){.lyra-desktop-film{width:min(100%,calc((100dvh - var(--header-height) - 300px) * 1116 / 756));align-self:center}}.lyra-hero-artwork:after{content:"";position:absolute;inset:0 0 auto;height:calc(var(--header-height) + 80px);background:linear-gradient(to bottom,var(--c-canvas) var(--header-height),transparent);pointer-events:none}.lyra-hero-artwork{background:var(--c-lyra-term)}