.att-tray{--att-bg: #f3f0ea;--att-bg-hover: #e9e4da;--att-ink: #1f1d1a;--att-ink-2: #5f5a51;--att-remove-bg: #fff;--att-ease: cubic-bezier(.23, 1, .32, 1);list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.att{position:relative;display:flex;align-items:center;gap:8px;height:56px;border-radius:12px;background:var(--att-bg);color:var(--att-ink);animation:att-in .2s var(--att-ease)}@keyframes att-in{0%{opacity:0;transform:scale(.94)}}.att--image{width:56px;justify-content:center;overflow:visible}.att--image img{width:56px;height:56px;object-fit:cover;border-radius:12px;display:block}.att--file,.att--voice{max-width:228px;padding:0 32px 0 8px}.att__badge{flex:none;width:36px;height:40px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:10px;font-weight:700;line-height:1;letter-spacing:.06em;color:var(--att-ink-2);box-shadow:0 0 0 1px #1f1d1a14}.att__meta{min-width:0;display:flex;flex-direction:column;gap:2px}.att__name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att__sub{font-size:12px;color:var(--att-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.att__play,.att__remove{transition:scale .12s var(--att-ease),background-color .15s ease}.att__play:active,.att__remove:active{scale:.9}.att__play{flex:none;width:36px;height:36px;border-radius:50%;border:0;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--att-ink);color:#fff}.att__play:not([data-playing=true]) svg{margin-left:2px}.att__remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;padding:0;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--att-remove-bg);color:var(--att-ink);box-shadow:0 0 0 1px #1f1d1a2e,0 1px 3px #1f1d1a1f}.att__remove:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%}.att--file .att__remove,.att--voice .att__remove{top:50%;right:6px;width:24px;height:24px;transform:translateY(-50%);box-shadow:none;background:transparent;color:var(--att-ink-2)}@media(hover:hover)and (pointer:fine){.att__remove:hover{background:var(--att-remove-bg);color:var(--att-ink)}.att--file .att__remove:hover,.att--voice .att__remove:hover{background:var(--att-bg-hover)}.att__play:hover{background:#000}}.rec-meter{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.rec-meter__dot{width:8px;height:8px;border-radius:50%;background:#e0412b;animation:rec-pulse 1.2s ease-in-out infinite}.rec-meter__time{font-size:13px;font-weight:600;min-width:2.6em}.rec-meter__bars{display:inline-flex;align-items:center;gap:3px;height:16px}.rec-meter__bars i{width:3px;height:16px;border-radius:2px;background:currentColor;opacity:.85;transform-origin:center;transition:transform 90ms linear}@keyframes rec-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.att{animation-name:att-fade}.rec-meter__dot{animation:none}.rec-meter__bars i{transition:none}}@keyframes att-fade{0%{opacity:0}}.aT{animation-duration:16s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.65,0,.35,1)}.block .aT,.block .aBelt{animation-iteration-count:1;animation-fill-mode:both}.aLin{animation-timing-function:linear}.aFloat{animation:aFloat 5.2s ease-in-out infinite alternate}@keyframes aFloat{0%{transform:translateY(-6px)}to{transform:translateY(6px)}}.aSweep{animation:aSweep 3.2s cubic-bezier(.65,0,.35,1) infinite}@keyframes aSweep{0%{transform:translate(-80px)}70%,to{transform:translate(80px)}}.aBelt{animation:aBelt 16s linear infinite}@keyframes aBelt{0%,56%{stroke-dashoffset:0}62%,71.5%{stroke-dashoffset:-276}75%,to{stroke-dashoffset:-408}}.aWedge{animation-name:aWedge}.aInB{animation-name:aInB}.aIn{animation-name:aIn}.aDoor{animation-name:aDoor}.aScon{animation-name:aScon}.aSconL{animation-name:aSconL}.aSw{animation-name:aSw}.aRing{animation-name:aRing}.aMv{animation-name:aMv}.aBloom{animation-name:aBloom}.aLitD{animation-name:aLitD}.aLay{animation-name:aLay}.aHiV{animation-name:aHiV}.aPebG{animation-name:aPebG}.aDomeG{animation-name:aDomeG}.aCover{animation-name:aCover}.aGhost{animation-name:aGhost}.aScan{animation-name:aScan}.aBar{animation-name:aBar}.aNoz{animation-name:aNoz}.aBox{animation-name:aBox}.aFlL{animation-name:aFlL}.aFlR{animation-name:aFlR}.aTape{animation-name:aTape}.aMerge{animation-name:aMerge}.aSt1{animation-name:aSt1}.aSt2{animation-name:aSt2}.aSt3{animation-name:aSt3}.aLit1{animation-name:aLit1}.aLit2{animation-name:aLit2}.aLit3{animation-name:aLit3}.aI1{animation-name:aI1}.aI2{animation-name:aI2}.aI3{animation-name:aI3}.aI4{animation-name:aI4}.aI5{animation-name:aI5}.aShi1{animation-name:aShi1}.aShi2{animation-name:aShi2}.aShi3{animation-name:aShi3}.aShi4{animation-name:aShi4}.aShi5{animation-name:aShi5}@keyframes aLit1{0%,to{opacity:0}}@keyframes aLit2{0%,4.5%{opacity:0}6.5%,to{opacity:1}}@keyframes aLit3{0%,8.5%{opacity:0}10.5%,to{opacity:1}}@keyframes aI1{0%,11.5%{transform:translate(0);opacity:1}15.5%,to{transform:translate(-26px,-30px);opacity:0}}@keyframes aShi1{0%,11.5%{opacity:1}15%,to{opacity:0}}@keyframes aI2{0%,4.2%{transform:translate(0) scale(1);opacity:1}5.3%{transform:translateY(-16px) scale(.97,1.04);opacity:1}6.3%{transform:translate(0) scale(1.05,.95);opacity:1}7%{transform:translateY(-4px) scale(1);opacity:1}7.7%,14.5%{transform:translate(0) scale(1);opacity:1}19.5%{transform:translate(352px,14px) scale(.45);opacity:.6}20.5%,to{transform:translate(352px,14px) scale(.4);opacity:0}}@keyframes aShi2{0%,14.5%{opacity:1}17%,to{opacity:0}}@keyframes aI3{0%,8.2%{transform:translate(0) scale(1);opacity:1}9.3%{transform:translateY(-16px) scale(.97,1.04);opacity:1}10.3%{transform:translate(0) scale(1.05,.95);opacity:1}11%{transform:translateY(-4px) scale(1);opacity:1}11.7%,15%{transform:translate(0) scale(1);opacity:1}19.8%{transform:translate(188px,-28px) scale(.45);opacity:.6}20.8%,to{transform:translate(188px,-28px) scale(.4);opacity:0}}@keyframes aShi3{0%,15%{opacity:1}17.5%,to{opacity:0}}@keyframes aI4{0%,to{opacity:1}}@keyframes aShi4{0%,to{opacity:1}}@keyframes aI5{0%,to{opacity:1}}@keyframes aShi5{0%,to{opacity:1}}@keyframes aMerge{0%,17.5%{opacity:0}20.5%{opacity:.9}25%,to{opacity:0}}@keyframes aMv{0%,19%{transform:translateY(-46px) rotate(0) scale(.9);opacity:0}21.2%{transform:translate(0) rotate(0) scale(1.1,.88);opacity:1}22.4%{transform:translateY(-7px) rotate(0) scale(.96,1.05);opacity:1}23.4%{transform:translate(0) rotate(0) scale(1.02,.98);opacity:1}24.2%,27.4%{transform:translate(0) rotate(0) scale(1);opacity:1}28%{transform:translate(0) rotate(0) scale(.95,1.06);opacity:1}28.8%{transform:translate(0) rotate(0) scale(1.03,.98);opacity:1}29.6%,31.2%{transform:translate(0) rotate(0) scale(1);opacity:1}31.8%{transform:translate(0) rotate(0) scale(.95,1.06);opacity:1}32.6%{transform:translate(0) rotate(0) scale(1.03,.98);opacity:1}33.4%,47.4%{transform:translate(0) rotate(0) scale(1);opacity:1}48.2%{transform:translateY(-13px) rotate(0) scale(.98,1.03);opacity:1}49%{transform:translate(0) rotate(0) scale(1.05,.95);opacity:1}49.8%,56%{transform:translate(0) rotate(0) scale(1);opacity:1}58%{transform:translate(90px) rotate(-6deg) scale(1);opacity:1}61.2%{transform:translate(280px) rotate(4deg) scale(1);opacity:1}62.2%{transform:translate(280px) rotate(-1.5deg) scale(1);opacity:1}63%,71.5%{transform:translate(280px) rotate(0) scale(1);opacity:1}73%{transform:translate(330px) rotate(-4deg) scale(1);opacity:1}75%{transform:translate(410px) rotate(2deg) scale(1);opacity:1}77.2%{transform:translate(462px,-32px) rotate(0) scale(.62);opacity:1}79.2%{transform:translate(470px,14px) rotate(0) scale(.6);opacity:1}80.2%,to{transform:translate(470px,22px) rotate(0) scale(.6);opacity:0}}@keyframes aSt1{0%,26.8%{stop-color:#fbf5ea}28.2%,30.5%{stop-color:#d3deca}32%,to{stop-color:#f59a80}}@keyframes aSt2{0%,26.8%{stop-color:#efe5d3}28.2%,30.5%{stop-color:#a9bc9c}32%,to{stop-color:#e5573c}}@keyframes aSt3{0%,26.8%{stop-color:#d8c8ac}28.2%,30.5%{stop-color:#7f9573}32%,to{stop-color:#b53b24}}@keyframes aSw{0%,23.5%{opacity:0}25%,35.5%{opacity:1}37.5%,to{opacity:0}}@keyframes aRing{0%,24.5%{opacity:0;transform:translate(0)}25.5%,26.8%{opacity:1;transform:translate(0)}27.5%{opacity:1;transform:translate(12px,-7px)}28.2%,30.5%{opacity:1;transform:translate(24px)}31.3%{opacity:1;transform:translate(36px,-7px)}32%,35%{opacity:1;transform:translate(48px)}37%,to{opacity:0;transform:translate(48px)}}@keyframes aDomeG{0%,36.5%{opacity:1;transform:scale(1)}37.4%{opacity:1;transform:scale(.95,1.08)}39.5%,to{opacity:0;transform:scale(1.1,.3)}}@keyframes aPebG{0%,38.2%{opacity:0;transform:scale(.5)}40.2%{opacity:1;transform:scale(1.14,.86)}41.4%{opacity:1;transform:scale(.94,1.08)}42.6%{opacity:1;transform:scale(1.03,.98)}43.6%,to{opacity:1;transform:scale(1)}}@keyframes aHiV{0%,22%{opacity:0}25%,55%{opacity:1}57%,to{opacity:0}}@keyframes aLitD{0%,43.5%{opacity:0}44.2%{opacity:1}44.7%{opacity:.15}45.3%{opacity:1}45.8%{opacity:.45}46.6%,55%{opacity:1}57.5%,to{opacity:0}}@keyframes aBloom{0%,43.5%{opacity:0}44.2%{opacity:.55}44.7%{opacity:.05}45.3%{opacity:.65}45.8%{opacity:.25}47.4%,55%{opacity:.95}57.5%,to{opacity:0}}@keyframes aCover{0%,61.8%{opacity:0;transform:scaleY(1)}63.4%,64.2%{opacity:1;transform:scaleY(1)}70.8%{opacity:1;transform:scaleY(0)}71%,to{opacity:0;transform:scaleY(0)}}@keyframes aGhost{0%,62%{opacity:0}63.6%,69.5%{opacity:1}71.2%,to{opacity:0}}@keyframes aScan{0%,63.4%{opacity:0;transform:translateY(0)}64.2%{opacity:1;transform:translateY(0)}70.8%{opacity:1;transform:translateY(-150px)}71.6%,to{opacity:0;transform:translateY(-150px)}}@keyframes aBar{0%,61.8%{transform:translateY(-158px)}63.6%,64.2%{transform:translateY(-6px)}70.8%,to{transform:translateY(-158px)}}@keyframes aNoz{0%,64%{opacity:0}64.4%,70.6%{opacity:1}71%,to{opacity:0}}@keyframes aLay{0%,64.2%{opacity:0}70.8%,to{opacity:1}}@keyframes aFlL{0%,79.2%{transform:rotate(-150deg)}82%,to{transform:rotate(0)}}@keyframes aFlR{0%,79.8%{transform:rotate(150deg)}82.6%,to{transform:rotate(0)}}@keyframes aTape{0%,82.6%{opacity:0}83.6%,to{opacity:1}}@keyframes aBox{0%,84%{transform:translate(0) scale(1);opacity:1}84.8%{transform:translate(32px,-16px) scale(.97,1.03);opacity:1}85.6%{transform:translate(64px) scale(1.04,.96);opacity:1}86.4%{transform:translate(96px,-16px) scale(.97,1.03);opacity:1}87.2%{transform:translate(128px) scale(1.04,.96);opacity:1}88%{transform:translate(160px,-14px) scale(.97,1.03);opacity:1}88.6%{transform:translate(192px) scale(1.08,.92);opacity:1}89.2%,90.6%{transform:translate(192px) scale(1);opacity:1}92%,to{transform:translate(192px) scale(1);opacity:0}}@keyframes aScon{0%,86%{opacity:0}88%,to{opacity:1}}@keyframes aSconL{0%,86%{opacity:0}88%,to{opacity:1}}@keyframes aDoor{0%,88.8%{transform:scaleX(1)}90.6%{transform:scaleX(.05)}91.4%{transform:scaleX(.17)}92%,to{transform:scaleX(.12)}}@keyframes aWedge{0%,89%{opacity:0}92.5%,to{opacity:1}}@keyframes aIn{0%,91.6%{opacity:0;transform:translateY(10px) scale(.9)}92.8%{opacity:1;transform:translateY(-6px) scale(1.07)}93.6%{opacity:1;transform:translateY(0) scale(.98)}94.2%,to{opacity:1;transform:translateY(0) scale(1)}}@keyframes aInB{0%,92%{opacity:0}95%,to{opacity:1}}.vl-landing{--ink: #1F1D1A;--ink-2: #5F5A51;--ink-3: #7A7468;--paper: #FFFFFF;--paper-2: #F3F0EA;--paper-3: #E9E4DA;--line: rgba(31,29,26,.16);--night: #30353E;--night-dock: rgba(36,40,47,.94);--on-night: #F6F0E6;--on-night-2: #B9BFC9;--on-night-off: #8F96A1;--amber: #F2B35B;--amber-wash: #FFF7EA;--font-sans: "GT Standard Web", "GT Standard", "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--text-caption: 13px;--text-ui: 15px;--text-body: 18px;--text-h2: 24px;--text-h1: 48px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--control-sm: 32px;--control-md: 40px;--control-lg: 48px;--control-xl: 56px;--nav-h: 72px;--dock-h: 72px;--radius-thumb: 10px;--radius-prompt: 28px;--radius-section: 40px;--radius-pill: 999px;--ease-out: cubic-bezier(.23,1,.32,1);--dur-press: .12s;--dur-reveal: .18s;--dur-hover: .34s;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-ui);line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:clip}:where(.vl-landing) *,:where(.vl-landing) *:before,:where(.vl-landing) *:after{box-sizing:border-box}:where(.vl-landing) a{color:inherit;text-decoration:none}:where(.vl-landing) button{font:inherit;color:inherit}html:has(.vl-landing){scroll-padding-bottom:112px}.vl-landing{--focus-ring: var(--ink)}.vl-landing .lamps{--focus-ring: var(--amber)}.vl-landing :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.vl-landing .nav{position:relative;z-index:1;max-width:1440px;height:var(--nav-h);margin:0 auto;padding:0 var(--space-7);display:flex;align-items:center;gap:var(--space-5)}.vl-landing .logo{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-body);font-weight:700;letter-spacing:-.02em}.vl-landing .nav-spacer{flex:1}.vl-landing .nav-link{padding:0;border:0;background:none;font-weight:600;cursor:pointer}.vl-landing .nav-link:disabled,.vl-landing .btn:disabled{opacity:.45;cursor:default;transform:none}.vl-landing .nav-avatar{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--paper-2);color:var(--ink);font-weight:600}.vl-landing .nav-avatar img{width:100%;height:100%;object-fit:cover}.vl-landing .nav-avatar{cursor:pointer;transition:box-shadow .15s}.vl-landing .nav-avatar:hover,.vl-landing .nav-avatar:focus-visible{box-shadow:0 0 0 2px var(--ink);outline:none}.vl-landing .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-md);padding:0 20px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 var(--text-ui)/1 var(--font-sans);cursor:pointer;transition:transform var(--dur-press) var(--ease-out)}.vl-landing .btn:active{transform:scale(.97)}.vl-landing .hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 var(--space-7)}.vl-landing .hero-anim{position:relative;--anim-h: clamp(176px, calc(100vh - 530px) , 224px);--anim-h: clamp(176px, calc(100svh - 530px) , 224px);width:min(100%,calc(var(--anim-h) * 1440 / 310));aspect-ratio:1440 / 310}.vl-landing .hero-anim svg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;overflow:visible;clip-path:inset(-48px 0 -24px 0)}.vl-landing .hero-title{margin:var(--space-4) 0 0;text-align:center;font-size:var(--text-h1);font-weight:600;line-height:1.05;letter-spacing:-.03em;text-wrap:balance}.vl-landing .prompt{position:relative;margin-top:var(--space-5);width:600px;max-width:100%;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-prompt);background:var(--paper);box-shadow:0 0 0 1px #1f1d1a1a,0 1px 2px #1f1d1a0f,0 12px 32px #1f1d1a14;transition:box-shadow var(--dur-reveal) var(--ease-out)}.vl-landing .prompt:focus-within{box-shadow:0 0 0 1px #1f1d1a66,0 1px 2px #1f1d1a0f,0 12px 32px #1f1d1a14}.vl-landing .prompt.has-attachments{padding-top:var(--space-3)}.vl-landing .prompt-tray{padding:0 var(--space-1)}.vl-landing .prompt-row{display:flex;align-items:flex-end;gap:var(--space-2);min-height:var(--control-md)}.vl-landing .prompt textarea{flex:1;min-width:0;align-self:center;margin:0 0 0 var(--space-2);padding:7px 0;border:0;outline:none;resize:none;background:transparent;color:var(--ink);font:400 var(--text-body)/1.45 var(--font-sans);max-height:120px}.vl-landing .prompt textarea::placeholder{color:var(--ink-3)}.vl-landing .prompt.is-recording textarea{color:var(--ink-2)}.vl-landing .icon-btn{width:var(--control-md);height:var(--control-md);flex:none;border:0;padding:0;border-radius:50%;background:var(--paper-2);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--dur-press) var(--ease-out),background-color var(--dur-reveal) ease,opacity var(--dur-reveal) ease}.vl-landing .icon-btn:active{transform:scale(.94)}.vl-landing .icon-btn:disabled{opacity:.45;cursor:default;transform:none}.vl-landing .icon-btn--dark{background:var(--ink);color:var(--paper)}@media(hover:hover)and (pointer:fine){.vl-landing .icon-btn:not(:disabled):hover{background:var(--paper-3)}.vl-landing .icon-btn--dark:not(:disabled):hover{background:#000}}.vl-landing .prompt-send{animation:vl-pop var(--dur-reveal) var(--ease-out)}@keyframes vl-pop{0%{opacity:0;transform:scale(.8)}}.vl-landing .text-btn{flex:none;height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-2);font-weight:600;cursor:pointer}.vl-landing .text-btn{transition:color .15s ease,background-color .15s ease,transform var(--dur-press) var(--ease-out)}.vl-landing .text-btn:active{transform:scale(.96)}@media(hover:hover)and (pointer:fine){.vl-landing .text-btn:hover{color:var(--ink);background:var(--paper-2)}}.vl-landing .prompt-rec{align-self:center;margin-left:var(--space-2);color:var(--ink)}.vl-landing .prompt .att-tray{--att-bg: var(--paper-2);--att-bg-hover: var(--paper-3);--att-ink: var(--ink);--att-ink-2: var(--ink-2);--att-ease: var(--ease-out)}.vl-landing .prompt-drop{position:absolute;top:-12px;right:-24px;bottom:-12px;left:-24px;z-index:2;border-radius:36px;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:var(--space-3);border:2px dashed rgba(226,153,47,.7);background:#fff7eaf0;color:#6b4e1f;font-size:var(--text-ui);font-weight:600;animation:vl-fade var(--dur-reveal) var(--ease-out)}.vl-landing .drop-page{position:fixed;inset:var(--space-3);z-index:60;pointer-events:none;border:2px dashed rgba(242,179,91,.85);border-radius:var(--space-5);display:flex;justify-content:center;align-items:flex-start;padding-top:var(--space-5);animation:vl-fade var(--dur-reveal) var(--ease-out)}.vl-landing .drop-page__pill{display:flex;align-items:center;gap:var(--space-3);height:var(--control-lg);padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--amber-wash);color:#6b4e1f;font-weight:600;box-shadow:0 0 0 1px #f2b35b99,0 12px 32px #00000040;animation:vl-drop-in .24s var(--ease-out)}@keyframes vl-drop-in{0%{opacity:0;transform:translateY(-8px)}}.vl-landing .prompt.is-drop-over .prompt-drop{border-style:solid;border-color:var(--amber);background:#fff0d6f7;transform:scale(1.02);transition:transform var(--dur-reveal) var(--ease-out)}@keyframes vl-fade{0%{opacity:0}}.vl-landing .fine{margin:var(--space-4) 0 0;min-height:18px;text-align:center;font-size:var(--text-caption);color:var(--ink-2)}.vl-landing .fine.is-notice{color:var(--ink);font-weight:600}.vl-landing .lamps{position:relative;margin-top:var(--space-7);padding-top:var(--space-7);border-radius:var(--radius-section) var(--radius-section) 0 0;background:var(--night);color:var(--on-night);overflow-x:clip;scroll-margin-top:var(--space-5);container-type:inline-size}.vl-landing .lamps-dust{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.5px),radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.5px);background-size:120px 120px,70px 70px;background-position:20px 40px,55px 10px}.vl-landing .lamps-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:0 var(--space-7);text-align:center}.vl-landing .lamps-head h2{margin:0;font-size:var(--text-h2);font-weight:600;line-height:1.2;letter-spacing:-.02em}.vl-landing .field{--u: 1px;position:relative;max-width:1440px;height:calc(var(--field-h) * var(--u));margin:var(--space-5) auto 0}@supports (width: 1cqw){.vl-landing .field{--u: calc(min(100cqw, 1440px) / 1440)}}.vl-landing .lamp-item{position:absolute;left:var(--x);top:calc(var(--y) * var(--u));z-index:var(--z);transition:opacity .26s var(--ease-out),transform var(--dur-hover) var(--ease-out)}.vl-landing .lamp-item:hover,.vl-landing .lamp-item:focus-within{z-index:40!important}.vl-landing .lamp-bob{position:relative;cursor:pointer;animation:vl-lamp-bob 7s ease-in-out infinite}@keyframes vl-lamp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(var(--amp, -12px))}}.vl-landing .lamp-img{position:relative;z-index:1;display:block;width:auto;height:calc(var(--h) * var(--u));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 14px 14px rgba(0,0,0,.28));transition:filter var(--dur-hover) var(--ease-out),transform .38s var(--ease-out)}.vl-landing .lamp-glow{position:absolute;left:-45%;right:-45%;top:-35%;bottom:-10%;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,#ffb85a6b,#ffb85a00);opacity:0;transition:opacity .38s var(--ease-out)}.vl-landing .lamp-pool{position:absolute;left:-15%;right:-15%;bottom:-16px;height:30px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,#ffbe6e80,#ffbe6e00);opacity:0;transition:opacity .38s var(--ease-out)}.vl-landing .lamp-name{position:absolute;left:50%;bottom:100%;margin-bottom:var(--space-3);white-space:nowrap;pointer-events:none;font-size:var(--text-caption);font-weight:600;color:var(--on-night);opacity:0;transform:translate(-50%,6px);transition:opacity var(--dur-reveal) var(--ease-out),transform .22s var(--ease-out)}.vl-landing .lamp-actions{position:absolute;left:50%;top:100%;margin-top:var(--space-3);z-index:3;display:flex;gap:var(--space-2);opacity:0;transform:translate(-50%,-6px);transition:opacity var(--dur-reveal) var(--ease-out),transform .22s var(--ease-out)}.vl-landing .btn-keep,.vl-landing .btn-skip{height:var(--control-sm);padding:0 var(--space-4);border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;font:600 var(--text-caption) var(--font-sans);transition:transform var(--dur-press) var(--ease-out)}.vl-landing .btn-keep{border:0;background:var(--amber);color:var(--ink)}.vl-landing .btn-skip{border:1px solid rgba(255,255,255,.3);background:#1c1f258c;color:var(--on-night)}.vl-landing .btn-keep:active,.vl-landing .btn-skip:active{transform:scale(.96)}.vl-landing .lamp-badge{position:absolute;z-index:3;right:-8px;top:-8px;height:24px;padding:0 10px;border-radius:var(--radius-pill);display:flex;align-items:center;gap:6px;background:var(--on-night);color:var(--ink);font-size:var(--text-caption);font-weight:600}.vl-landing .lamp-badge i{width:7px;height:7px;border-radius:50%;background:var(--amber)}@media(hover:hover)and (pointer:fine){.vl-landing .lamp-item:hover .lamp-img{filter:brightness(1.1) saturate(1.08) drop-shadow(0 0 22px rgba(255,190,110,.65));transform:scale(1.06)}.vl-landing .lamp-item:hover .lamp-glow,.vl-landing .lamp-item:hover .lamp-pool{opacity:1}.vl-landing .lamp-item:hover .lamp-name,.vl-landing .lamp-item:hover .lamp-actions{opacity:1;transform:translate(-50%)}}@media(hover:none){.vl-landing .lamp-name,.vl-landing .lamp-actions{opacity:1;transform:translate(-50%)}}.vl-landing .lamp-item:focus-within .lamp-name,.vl-landing .lamp-item:focus-within .lamp-actions{opacity:1;transform:translate(-50%)}.vl-landing .lamp-item.is-kept .lamp-img{filter:brightness(1.06) drop-shadow(0 0 18px rgba(255,190,110,.5))}.vl-landing .lamp-item.is-kept .lamp-glow{opacity:.7}.vl-landing .lamp-item.is-kept .lamp-pool{opacity:.8}.vl-landing .lamp-item.is-skipped{opacity:.3}.vl-landing .lamp-item.is-skipped .lamp-img{transform:scale(.86);filter:saturate(.35)}.vl-landing .lamp-item.is-skipped:hover,.vl-landing .lamp-item.is-skipped:focus-within{opacity:1}.vl-landing .dock-wrap{position:sticky;bottom:var(--space-6);z-index:50;display:flex;justify-content:center;margin:var(--space-7) 0 var(--space-6);pointer-events:none}.vl-landing .dock-wrap.is-away .dock{opacity:0;transform:translateY(16px);pointer-events:none}.vl-landing .dock{transition:opacity .24s var(--ease-out),transform .24s var(--ease-out);pointer-events:auto;height:var(--dock-h);padding:0 var(--space-3) 0 var(--space-5);display:flex;align-items:center;gap:var(--space-4);border-radius:var(--radius-pill);background:var(--night-dock);box-shadow:0 0 0 1px #ffffff1a,0 16px 40px #00000059}.vl-landing .dock-label{font-size:var(--text-ui);font-weight:600}.vl-landing .dock-thumbs{display:flex;gap:6px;align-items:center}.vl-landing .dock-thumb{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-thumb);background:#ffffff14;padding:var(--space-1)}.vl-landing .dock-slot{width:40px;height:40px;border-radius:var(--radius-thumb);border:1.5px dashed rgba(255,255,255,.22)}.vl-landing .dock-more{display:none;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--space-2);border-radius:var(--radius-thumb);background:#ffffff14;font-size:var(--text-caption);font-weight:600}.vl-landing .dock-text{font-size:var(--text-caption);color:var(--on-night-2);white-space:nowrap}.vl-landing .btn-start{display:inline-flex;align-items:center;height:var(--control-lg);padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--on-night);color:var(--ink);font-weight:600;font-size:var(--text-ui);white-space:nowrap;cursor:pointer;transition:transform var(--dur-press) var(--ease-out)}.vl-landing .btn-start:active{transform:scale(.97)}.vl-landing .btn-start[aria-disabled=true]{background:#ffffff1a;color:var(--on-night-off);pointer-events:none}@media(prefers-reduced-motion:reduce){.vl-landing .lamp-bob{animation:none}.vl-landing .lamp-img,.vl-landing .lamp-item{transition:opacity .2s ease,filter .2s ease}.vl-landing .prompt-send,.vl-landing .prompt-drop,.vl-landing .drop-page,.vl-landing .drop-page__pill{animation:vl-fade var(--dur-reveal) ease}}@media(max-width:767px){.vl-landing{--nav-h: 60px}.vl-landing .nav{padding:0 var(--space-4);gap:var(--space-4)}.vl-landing .hero{padding:0 var(--space-4)}.vl-landing .hero-title{margin-top:var(--space-3);font-size:clamp(30px,9.2vw,44px)}.vl-landing .lamps{margin-top:var(--space-6);padding-top:var(--space-6);border-radius:var(--space-5) var(--space-5) 0 0}.vl-landing .lamps-head{padding:0 var(--space-4)}}@media(max-width:600px){.vl-landing .hero-anim{width:calc(100% + 2 * var(--space-4));height:132px;margin:0 calc(-1 * var(--space-4));aspect-ratio:auto}}@media(max-width:600px){.vl-landing .prompt{--radius-prompt: var(--space-5)}.vl-landing .prompt-row{flex-wrap:wrap;row-gap:var(--space-1)}.vl-landing .prompt textarea{order:-1;flex:1 0 100%;margin:0;padding:var(--space-2) var(--space-2) var(--space-1)}.vl-landing .prompt-mic,.vl-landing .prompt-cancel{margin-left:auto}.vl-landing .prompt-rec{margin-left:var(--space-1)}}@media(max-width:767px),(hover:none){.vl-landing .field{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(148px,calc(50% - 6px)),1fr));column-gap:var(--space-3);row-gap:var(--space-5);max-width:960px;height:auto;margin-top:var(--space-6);padding:0 var(--space-4)}.vl-landing .lamp-item{position:relative;left:auto;top:auto;z-index:auto;display:grid;grid-template-rows:168px auto auto;justify-items:center}.vl-landing .lamp-bob{align-self:end;max-width:100%}.vl-landing .lamp-img{height:calc(var(--h) * .7px);max-width:100%;object-fit:contain}.vl-landing .field .lamp-item .lamp-name,.vl-landing .field .lamp-item .lamp-actions{position:static;opacity:1;transform:none}.vl-landing .lamp-name{margin:var(--space-2) 0 0}.vl-landing .lamp-actions{margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;row-gap:var(--space-1);max-width:100%}.vl-landing .btn-keep,.vl-landing .btn-skip{position:relative;padding:0 var(--space-3)}.vl-landing .btn-keep:before,.vl-landing .btn-skip:before{content:"";position:absolute;top:-6px;right:-2px;bottom:-6px;left:-2px}.vl-landing .btn-keep{background:#ffffff1f;color:var(--on-night)}.vl-landing .btn-keep[aria-pressed=true]{background:var(--amber);color:var(--ink)}.vl-landing .btn-skip{border-color:transparent;background:transparent;color:var(--on-night-2)}.vl-landing .lamp-badge{display:none}.vl-landing .lamp-item.is-skipped{opacity:1}.vl-landing .lamp-item.is-skipped .lamp-bob,.vl-landing .lamp-item.is-skipped .lamp-name{opacity:.35}}@media(max-width:767px){.vl-landing .dock-wrap{bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));margin:var(--space-7) 0 var(--space-4);padding:0 var(--space-3)}.vl-landing .dock{width:100%;max-width:560px;height:64px;gap:var(--space-3);padding:0 var(--space-2) 0 var(--space-3)}.vl-landing .dock-label{display:none}.vl-landing .dock-thumbs img:nth-of-type(n+4){display:none}.vl-landing .dock-more{display:flex}.vl-landing .dock-text{flex:1;min-width:0;white-space:normal;line-height:1.3}.vl-landing .dock:not(.is-ready) .btn-start{display:none}.vl-landing .dock.is-ready .dock-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.vl-landing .dock.is-ready .dock-slot{display:none}.vl-landing .dock.is-ready .dock-thumbs{gap:0}.vl-landing .dock.is-ready .dock-thumbs>:not(:first-child){margin-left:-12px}.vl-landing .dock.is-ready .dock-thumb,.vl-landing .dock.is-ready .dock-more{background:#3a3f48;box-shadow:0 0 0 2px #24282f}.vl-landing .dock.is-ready .btn-start{flex:1;min-width:0;justify-content:center;padding:0 var(--space-4);overflow:hidden}}.vl-landing .btn-start__short{display:none}@media(max-width:359px){.vl-landing .btn-start__long{display:none}.vl-landing .btn-start__short{display:inline}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.45 system-ui,-apple-system,sans-serif;color:#1d1d1f;background:#fafafa}button,select,textarea{font:inherit}button{border:1px solid #d0d0d0;background:#fff;border-radius:6px;padding:4px 10px;cursor:pointer}button:disabled{opacity:.5;cursor:default}pre{white-space:pre-wrap;word-break:break-word;margin:0}.app{display:grid;grid-template-columns:220px 1fr 420px;grid-template-rows:minmax(0,1fr);height:100%;overflow:hidden}.app__files{border-right:1px solid #e5e5e5;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:2px;min-height:0}.app__files>*{flex-shrink:0}.app__files-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;padding:4px 6px 8px}.app__files-empty{color:#888;padding:6px;font-size:13px}.app__tree-row{display:flex;align-items:center;gap:2px;min-width:0;flex-shrink:0}.app__tree-row>.app__file,.app__tree-row>.app__folder-toggle{flex:1;min-width:0}.app__tree-delete{flex-shrink:0;border:none;background:none;color:#aaa;width:22px;height:22px;padding:0;border-radius:4px;font-size:16px;line-height:1;opacity:0;pointer-events:none}.app__tree-row:hover .app__tree-delete,.app__tree-delete:focus-visible{opacity:1;pointer-events:auto}.app__tree-delete:hover{background:#fde8e8;color:#c22}.app__file,.app__folder-toggle{width:100%;text-align:left;border:none;background:none;border-radius:5px;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;flex-shrink:0}.app__file{color:#444}.app__file:hover,.app__folder-toggle:hover{background:#f0f0f2}.app__file--active,.app__file--active:hover{background:#e8eefc;color:#1d3f9e;font-weight:500}.app__folder{display:flex;flex-direction:column;gap:1px}.app__folder-toggle{font-weight:500;display:flex;align-items:center;gap:4px}.app__chevron{display:inline-block;width:12px;color:#999;font-size:10px;transition:transform .12s;flex-shrink:0}.app__chevron--open{transform:rotate(90deg)}.conn-dot{width:8px;height:8px;border-radius:50%;background:#d33}.conn-dot--on{background:#2a2}.app__viewer{position:relative;min-width:0;min-height:0}.app__viewer-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0}.app__viewer-stack--hidden{visibility:hidden;pointer-events:none}.app__viewer-empty{display:grid;place-items:center;height:100%;color:#8a8d94;background:#1b1c1f}.cad-viewer{display:flex;flex-direction:column;height:100%}.cad-viewer__toolbar{display:flex;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px solid #e5e5e5;background:#fff}.cad-viewer__path{font-family:ui-monospace,monospace;font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-viewer__status--error{color:#c22}.cad-viewer__lamp-toggle--on{background:#fff4dc;border-color:#e8b860;color:#7a4b00}.cad-viewer__edit-toggle--on{background:#e6f3ff;border-color:#4fb3ff;color:#0b4f86}.cad-viewer__cost-toggle--on{background:#eef8ee;border-color:#6db86d;color:#1e5c1e}.cad-viewer__stage{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.cad-viewer__canvas{flex:1;min-height:0;position:relative;background:#1b1c1f;touch-action:none}.cad-viewer__handle-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cad-viewer__handle-label{position:absolute;left:0;top:0;margin:-26px 0 0 10px;padding:2px 6px;border-radius:4px;background:#14161ad9;color:#cfe8ff;font:11px ui-monospace,monospace;white-space:nowrap}.cad-viewer__params{position:absolute;top:10px;right:10px;width:260px;max-height:calc(100% - 20px);overflow:auto;padding:8px 10px;border-radius:8px;background:#fffffff2;box-shadow:0 4px 16px #0000004d;font-size:12px}.cad-viewer__params-title{font-weight:600;margin-bottom:6px}.cad-viewer__params-empty{color:#666}.cad-viewer__param{display:grid;grid-template-columns:1fr 1fr 56px;gap:6px;align-items:center;padding:2px 0}.cad-viewer__param-name{font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-viewer__param input[type=range]{width:100%;min-width:0}.cad-viewer__param-value{width:100%;min-width:0;font-size:12px}.cad-viewer__canvas canvas{display:block;width:100%;height:100%}.cad-progress{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:1}.cad-progress__card{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(360px,calc(100% - 32px));padding:20px 28px;border-radius:12px;background:#24262beb;box-shadow:0 8px 32px #00000059;color:#e8e9ec;text-align:center;animation:cad-progress-in .25s ease both}.cad-progress__card .spark{width:28px;height:28px;fill:#7f9cf0}.cad-progress__title{font-size:15px;font-weight:600}.cad-progress__detail{font-size:13px;color:#a3a6ae;overflow-wrap:anywhere;animation:cad-progress-in .3s ease both}.cad-progress-pill{position:absolute;top:12px;left:12px;z-index:1;display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:6px 12px 6px 10px;border-radius:999px;background:#24262be6;color:#e8e9ec;font-size:12.5px;box-shadow:0 2px 10px #0000004d;pointer-events:none;animation:cad-progress-in .2s ease .3s both}.cad-progress-pill .spark{fill:#7f9cf0}.cad-progress-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes cad-progress-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.cad-progress *,.cad-progress-pill *{animation:none!important}}.cad-viewer__error{position:absolute;left:12px;right:12px;bottom:12px;background:#fff3f3;border:1px solid #f0c0c0;color:#a00;padding:8px;border-radius:6px;max-height:40%;overflow:auto;font-size:12px}.cad-viewer__next-steps{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;align-items:stretch;gap:8px}.cad-viewer__next-step,.cad-viewer__print-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:10px;border-color:#2f55c8;background:#3a64d8;color:#fff;box-shadow:0 6px 20px #00000059}.cad-viewer__next-step:not(:disabled):hover{background:#3158c4}.cad-viewer__next-step-kicker{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.9}.cad-viewer__next-step-label{font-size:14px;font-weight:600}.cad-viewer__print-toggle{border-color:#ffffff2e;background:#24262beb}.cad-viewer__print-toggle:not(:disabled):hover,.cad-viewer__print-toggle--on{background:#33363d;border-color:#ffffff52}.cad-viewer__print-panel{position:absolute;right:16px;bottom:84px;z-index:3;width:320px;max-height:calc(100% - 108px);overflow:auto;display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:10px;background:#1c1d21f0;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 28px #0006;color:#e6e7ea;font-size:12.5px}.cad-viewer__print-panel-header{display:flex;align-items:center;justify-content:space-between}.cad-viewer__print-panel-title{font-size:14px;font-weight:600;color:#fff}.cad-viewer__print-panel-close{border:none;background:none;color:#8b8f98;font-size:18px;line-height:1;padding:0 4px}.cad-viewer__print-panel-close:hover{color:#fff}.cad-viewer__print-panel-intro{margin:0;color:#a3a6ae}.cad-viewer__print-all{border-color:#2f55c8;background:#3a64d8;color:#fff;padding:7px 10px;font-weight:600}.cad-viewer__print-all:hover{background:#3158c4}.cad-viewer__print-parts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cad-viewer__print-part{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 10px;border-radius:7px;background:#ffffff0d}.cad-viewer__print-part-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cad-viewer__print-part-name{font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-viewer__print-part-meta{color:#8b8f98;font-size:11.5px;font-variant-numeric:tabular-nums}.cad-viewer__print-part-warning{color:#f0b860;font-size:11.5px}.cad-viewer__print-part button{flex-shrink:0;background:#2a2c31;border-color:#ffffff29;color:#e6e7ea;font-size:12px}.cad-viewer__print-part button:hover{background:#363940}.cad-viewer__print-panel-note{color:#a3a6ae;border-top:1px solid rgba(255,255,255,.08);padding-top:9px}.cad-viewer__print-panel-note strong{color:#e6e7ea;font-weight:600}.cad-viewer__cost-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.cad-viewer__cost-leaders{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.cad-viewer__cost-leader-line{fill:none;stroke:#ffffff73;stroke-width:1}.cad-viewer__cost-leader-dot{fill:#fff;stroke:#00000073;stroke-width:1}.cad-viewer__cost-label{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:2px;min-width:128px;padding:8px 12px;border-radius:8px;background:#1c1d21b8;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#e6e7ea;font-size:12px;line-height:1.3;white-space:nowrap}.cad-viewer__cost-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.cad-viewer__cost-label-name{font-weight:500}.cad-viewer__cost-label-price{font-weight:600;font-variant-numeric:tabular-nums;color:#fff}.cad-viewer__cost-label-meta{color:#8b8f98;font-size:11px}.cad-viewer__cost-total-float{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:baseline;gap:10px;padding:7px 14px;border-radius:999px;background:#1c1d21b8;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12px;white-space:nowrap}.cad-viewer__cost-total-label{color:#8b8f98}.cad-viewer__cost-total-price{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}.order-page{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:auto;background:#f4f5f8;display:flex;flex-direction:column}.order-page__header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e0e3ea;background:#fff}.order-page__header h1{margin:0;font-size:18px;font-weight:600}.order-page__back{border:none;background:none;color:#3a64d8;padding:4px 0}.order-page__body{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:16px;align-content:start}.order-page__card{background:#fff;border:1px solid #e0e3ea;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}.order-page__card h2{margin:0;font-size:14px;font-weight:600;color:#444}.order-page__design{margin:0;font-size:17px;font-weight:600}.order-page__summary{margin:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.order-page__summary>div{display:flex;justify-content:space-between;gap:12px}.order-page__summary dt{margin:0;color:#666}.order-page__summary dd{margin:0;font-weight:500;text-align:right}.order-page__field{display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:0}.order-page__field input{width:100%;min-width:0;border:1px solid #d0d4de;border-radius:6px;padding:6px 8px}.order-page__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.order-page__note{margin:0;font-size:12px;color:#777}.order-page__error{margin:0;font-size:13px;color:#b42318}.order-page__lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.order-page__lines li{display:flex;justify-content:space-between;gap:12px}.order-page__lines small{display:block;font-size:11px;color:#888}.order-page__lines-total{margin-top:4px;padding-top:8px;border-top:1px solid #eee;font-weight:600;font-size:14px}.order-page__primary{margin-top:4px;align-self:flex-start;background:#3a64d8;border-color:#3a64d8;color:#fff;padding:8px 16px}.order-page__confirm{padding:24px 16px;max-width:520px;display:flex;flex-direction:column;gap:12px}.order-page__confirm-kicker{margin:0;font-size:16px;font-weight:600}.sign-in{display:grid;place-items:center;height:100%;padding:16px;background:#f4f5f8}.sign-in__card{width:100%;max-width:360px;background:#fff;border:1px solid #e0e3ea;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:10px}.sign-in__card h1{margin:0;font-size:18px;font-weight:600}.sign-in__card p{margin:0;color:#666}.sign-in__card .sign-in__error{font-size:13px;color:#b42318}.sign-in__google{margin-top:4px;background:#3a64d8;border-color:#3a64d8;color:#fff;padding:8px 16px}.app__sign-out{border:none;background:none;color:#3a64d8;padding:4px 6px;font-size:12px;text-align:left;margin-top:auto}.app__chat{--chat-bg: #fff;--chat-surface: #fff;--chat-ink: #1d1d1f;--chat-muted: #888;--chat-faint: #b8b8bd;--chat-line: #e5e5e5;--chat-bubble: #eef2fb;--chat-subtle: #f5f5f7;--chat-accent: #3a64d8;--chat-accent-ink: #1d3f9e;--chat-accent-soft: #eef2fc;border-left:1px solid var(--chat-line);min-width:0;min-height:0;background:var(--chat-bg);color:var(--chat-ink)}.chat-panel{position:relative;display:flex;flex-direction:column;height:100%;min-height:0}.chat-panel button{transition:background .15s,border-color .15s,color .15s}.chat-panel__header{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid #eee}.chat-panel__select{flex:1;min-width:0;border:none;background:transparent;color:var(--chat-muted);font-size:13px;padding:4px 6px;border-radius:8px;cursor:pointer;outline:none}.chat-panel__select:hover{background:#f0f0f2;color:var(--chat-ink)}.chat-panel__new{border:1px solid var(--chat-line);background:var(--chat-surface);color:var(--chat-ink);border-radius:6px;padding:4px 10px;font-size:13px}.chat-panel__new:hover{border-color:var(--chat-faint)}.chat-panel__new span{color:var(--chat-accent);font-weight:600;margin-right:2px}.chat-panel__transcript{flex:1;min-height:0;overflow:auto;padding:12px 14px 20px;display:flex;flex-direction:column;gap:22px}.vibelamp-mark{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:50%;background:#f2b35b;box-shadow:0 0 12px 4px #f2b35b80}.chat-welcome{margin:auto 0;padding:24px 4px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;animation:chat-fade-in .4s ease both}.chat-welcome .vibelamp-mark{width:18px;height:18px;margin:5px}.chat-welcome h2{margin:4px 0 0;font-weight:600;font-size:18px}.chat-welcome p{margin:0;color:var(--chat-muted);font-size:14px}.chat-welcome__starters{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px}.chat-welcome__starters button{border:1px solid var(--chat-line);background:var(--chat-surface);border-radius:8px;padding:6px 12px;color:var(--chat-ink);font-size:13px;text-align:left}.chat-welcome__starters button:hover{border-color:#9fb3e6;background:var(--chat-accent-soft)}.chat-turn{display:flex;flex-direction:column;gap:14px}.chat-turn__user{align-self:flex-end;max-width:85%;background:var(--chat-bubble);border-radius:10px;padding:8px 12px;white-space:pre-wrap;word-break:break-word;animation:chat-fade-in .25s ease both}.chat-turn__user img{max-width:160px;border-radius:6px;display:block;margin-bottom:6px}.chat-turn__focus{font-size:12px;color:var(--chat-muted);margin-bottom:2px}.chat-turn__files{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.chat-turn__file{font-size:12px;padding:1px 8px;border-radius:999px;background:var(--chat-surface);color:#4a5a8a;border:1px solid var(--chat-line)}.chat-turn__assistant{display:flex;flex-direction:column;gap:10px}.chat-text{display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.55;animation:chat-fade-in .3s ease both}.chat-text p{margin:.35em 0}.chat-text h1,.chat-text h2,.chat-text h3,.chat-text h4{font-size:14px;font-weight:600;margin:.9em 0 .2em}.chat-text ul,.chat-text ol{margin:.35em 0;padding-left:1.4em}.chat-text li{margin:.2em 0}.chat-text li::marker{color:var(--chat-muted)}.chat-text strong{font-weight:600}.chat-text :not(pre)>code{font-family:ui-monospace,monospace;background:#f2f2f4;padding:1px 5px;border-radius:5px;font-size:.82em}.chat-text pre{font-size:12px;background:var(--chat-surface);border:1px solid var(--chat-line);padding:8px 10px;border-radius:6px;overflow:auto}.chat-text table{border-collapse:collapse;font-size:13px}.chat-text th,.chat-text td{border-bottom:1px solid var(--chat-line);padding:5px 8px;text-align:left}.chat-markdown-file-ref{border:none;background:none;padding:0;color:var(--chat-accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--chat-accent) 40%,transparent);text-underline-offset:2px;cursor:pointer;font:inherit}.chat-markdown-file-ref--code{font-family:ui-monospace,monospace;font-size:.85em}.mc{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}.mc__options{display:flex;flex-direction:column;gap:6px}.mc__option{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:8px 12px;border:1px solid var(--chat-line);border-radius:8px;background:var(--chat-surface);color:var(--chat-ink)}.mc__option:not(:disabled):hover{border-color:#9fb3e6;background:var(--chat-accent-soft)}.mc__option--selected,.mc__option--selected:disabled{border-color:var(--chat-accent);background:var(--chat-accent-soft);opacity:1}.mc--locked .mc__option:not(.mc__option--selected){opacity:.5}.mc__key{flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;border-radius:5px;background:#eef0f4;color:#555;font-size:11px;font-weight:600}.mc__option--selected .mc__key{background:var(--chat-accent);color:#fff}.mc__label{line-height:20px}.mc__paren{color:var(--chat-muted)}.mc__option--custom{align-items:center}.mc__custom-input{flex:1;min-width:0;border:none;outline:none;font:inherit;background:transparent}.mc__custom-ok{padding:2px 8px;font-size:12px}.mc__notes{font-size:13px;color:var(--chat-muted)}.mc__notes summary{cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none}.mc__notes>div,.mc__notes>p{margin-left:4px}.mc__notes p{margin:.35em 0}.mc__pending{color:var(--chat-muted);font-size:13px}.mc__submit{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:4px}.mc__progress{color:var(--chat-muted);font-size:12px}.mc__send{background:var(--chat-accent);border-color:var(--chat-accent);color:#fff}.spark{width:16px;height:16px;flex-shrink:0;fill:var(--chat-accent)}.spark--active{animation:spark-spin 2.4s cubic-bezier(.5,0,.5,1) infinite}.spark--active rect{animation:spark-pulse 1.2s ease-in-out infinite;transform-origin:12px 12px}.spark--active rect:nth-child(2n){animation-delay:.6s}@keyframes spark-spin{to{transform:rotate(360deg)}}@keyframes spark-pulse{0%,to{opacity:1}50%{opacity:.35}}.activity{display:flex;flex-direction:column;font-size:13.5px;animation:chat-fade-in .25s ease both}.activity__header{align-self:flex-start;display:flex;align-items:center;gap:8px;max-width:100%;border:none;background:none;padding:3px 8px 3px 0;color:var(--chat-muted);text-align:left}.activity__header:disabled{opacity:1;cursor:default}.activity__header:not(:disabled):hover{color:var(--chat-ink)}.activity__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:chat-fade-in .3s ease both}.activity--live .activity__label{color:transparent;background:linear-gradient(90deg,var(--chat-muted) 0%,var(--chat-muted) 40%,var(--chat-ink) 50%,var(--chat-muted) 60%,var(--chat-muted) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:chat-fade-in .3s ease both,activity-shimmer 2s linear infinite}@keyframes activity-shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}.activity__meta{color:var(--chat-faint);font-size:12px}.activity__chevron{width:6px;height:6px;flex-shrink:0;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:0;transition:transform .15s,opacity .15s}.activity__header:hover .activity__chevron,.activity--open .activity__chevron{opacity:.7}.activity--open .activity__chevron{transform:rotate(45deg) translate(-1px,-1px)}.activity__steps{list-style:none;margin:4px 0 2px 7px;padding:2px 0 2px 16px;border-left:1.5px solid var(--chat-line);display:flex;flex-direction:column;gap:8px;color:var(--chat-muted);animation:chat-fade-in .2s ease both}.activity__line{display:flex;align-items:center;gap:8px}.activity__line--snag{color:#c22}.activity__thought{white-space:pre-wrap;font-size:13px;line-height:1.5;color:var(--chat-muted);max-height:220px;overflow:auto}.activity__view{border:none;background:none;padding:0;font-size:12px;color:var(--chat-accent)}.activity__view:hover{text-decoration:underline}.activity__image{max-width:100%;border-radius:6px;border:1px solid var(--chat-line);margin-top:6px}.chat-notice{font-size:13px;padding:8px 10px;border-radius:6px}.chat-notice--error{color:#a00;background:#fff3f3;border:1px solid #f0c0c0}.chat-notice--hint{color:#6b4e1f;background:#fffaf0;border:1px solid #f2d48a}.chat-composer-wrap>.chat-notice{margin-top:6px}.chat-approval{margin:0 10px 8px;padding:10px 12px;border:1px solid #f2d48a;background:#fffaf0;border-radius:8px;display:flex;flex-direction:column;gap:10px;animation:chat-fade-in .2s ease both}.chat-approval__text{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.chat-approval__details{border:none;background:none;padding:0;font-size:12px;color:var(--chat-muted)}.chat-approval__command{font-family:ui-monospace,monospace;font-size:11.5px;background:var(--chat-subtle);border-radius:6px;padding:8px 10px;max-height:140px;overflow:auto}.chat-approval__actions{display:flex;justify-content:flex-end;gap:6px}.chat-approval__actions button{padding:4px 12px}.chat-approval__allow{background:var(--chat-accent);border-color:var(--chat-accent)!important;color:#fff}.chat-composer-wrap{padding:8px 10px 10px;border-top:1px solid #eee}.chat-composer{border:1px solid var(--chat-line);background:var(--chat-surface);border-radius:10px;padding:8px 8px 8px 10px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s}.chat-composer:focus-within{border-color:#9fb3e6;box-shadow:0 0 0 3px var(--chat-accent-soft)}.chat-composer__images{display:flex;gap:6px;flex-wrap:wrap}.chat-composer__images button{padding:0;border:none;background:none}.chat-composer__images img{width:52px;height:52px;object-fit:cover;border-radius:6px}.chat-composer__footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-composer__context{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--chat-muted);background:var(--chat-accent-soft);border-radius:6px;padding:2px 8px;color:#4a5a8a}.chat-composer__send{flex-shrink:0;width:30px;height:30px;padding:0;border:none;border-radius:8px;background:var(--chat-accent);color:#fff;display:grid;place-items:center}.chat-composer__send:not(:disabled):hover{background:#2f55c0}.chat-composer__send:disabled{background:var(--chat-subtle);color:var(--chat-faint);opacity:1}.chat-composer__send svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.chat-composer__send--stop{background:#555}.chat-composer__send--stop:not(:disabled):hover{background:#333}.chat-composer__stop-icon{width:10px;height:10px;border-radius:2px;background:currentColor}.chat-composer__tray{--att-bg: var(--chat-subtle);--att-bg-hover: #ebebef;--att-ink: var(--chat-ink);--att-ink-2: var(--chat-muted);padding-top:6px}.chat-composer__tools{display:flex;align-items:center;gap:4px;min-width:0}.chat-composer__icon{flex-shrink:0;width:30px;height:30px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--chat-muted);display:grid;place-items:center}.chat-composer__icon:not(:disabled):hover{background:var(--chat-subtle);color:var(--chat-ink)}.chat-composer__icon--rec{background:var(--chat-ink);color:#fff}.chat-composer__icon--rec:not(:disabled):hover{background:#000;color:#fff}.chat-composer__tools .chat-composer__context{margin-left:4px}.chat-composer__tools .rec-meter{color:var(--chat-ink);margin:0 4px}.chat-composer__text-btn{border:none;background:none;padding:4px 8px;border-radius:6px;color:var(--chat-muted);font-size:13px}.chat-composer__text-btn:hover{background:var(--chat-subtle);color:var(--chat-ink)}.chat-composer__send--label{width:auto;display:inline-flex;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600}.draft-picks{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px;background:#fffaf0;border:1px solid #f2dfb8}.draft-picks__head{display:flex;flex-direction:column;gap:1px;font-size:12px}.draft-picks__head b{font-size:13px;font-weight:600}.draft-picks__head span{color:#7a6a4f}.draft-picks__row{list-style:none;margin:0;padding:4px 0 0 4px;display:flex;flex-wrap:wrap;gap:10px}.draft-pick{position:relative;width:52px;height:52px;border-radius:10px;background:#fff;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;box-shadow:0 0 0 1px #7a4b001f}.draft-pick img{width:84%;height:84%;min-width:0;min-height:0;object-fit:contain;display:block}.draft-pick__num{position:absolute;left:-5px;top:-5px;width:18px;height:18px;border-radius:50%;background:var(--chat-ink);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px #fffaf0}.draft-pick__remove{position:absolute;right:-6px;top:-6px;width:18px;height:18px;padding:0;border:1px solid var(--chat-line);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--chat-ink)}.draft-pick--add{background:transparent;border:1.5px dashed #d9c7a3;box-shadow:none;color:#7a6a4f}.draft-pick--add:hover{background:#fff}.draft-prefs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.draft-prefs__label{color:#7a6a4f;font-weight:600}.draft-pref{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 4px 0 10px;border-radius:999px;background:#fbefd9;color:#6b4e1f;font-weight:600}.draft-pref button{width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center}.draft-pref button:hover{background:#6b4e1f1f}.chat-drop{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:5;pointer-events:none;border-radius:12px;border:2px dashed #9fb3e6;background:#eef2fcf0;color:#2f4a99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:600}.chat-drop--over{border-style:solid;border-color:var(--chat-accent);background:#e2eafcf7}.chat-input{width:100%;resize:none;border:none;background:transparent;padding:2px 0;outline:none;font-size:14px;line-height:1.45;color:var(--chat-ink)}.chat-input::placeholder{color:var(--chat-faint)}@keyframes chat-fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.chat-panel *,.chat-panel *:before{animation:none!important}.activity--live .activity__label{color:var(--chat-muted);background:none}}.app__bar,.app__scrim{display:none}@media(max-width:1099px){.app{grid-template-columns:minmax(0,1fr) minmax(320px,380px);grid-template-rows:auto minmax(0,1fr)}.app__bar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;min-width:0;height:48px;padding:0 12px;border-bottom:1px solid #e5e5e5;background:#fff}.app__bar-files{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:500}.app__bar-files[aria-expanded=true]{background:#f0f0f2}.app__bar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.app__files{position:fixed;z-index:30;inset:0 auto 0 0;width:min(300px,85vw);padding:12px 8px;background:#fafafa;border-right:0;box-shadow:0 0 0 1px #0000000f,8px 0 32px #0000002e;transform:translate(-100%);visibility:hidden;transition:transform .22s cubic-bezier(.23,1,.32,1),visibility 0s linear .22s}.app__files--open{transform:none;visibility:visible;transition:transform .26s cubic-bezier(.23,1,.32,1)}.app__file,.app__folder-toggle{padding:8px;font-size:14px}@media(hover:none){.app__tree-delete{opacity:1;pointer-events:auto;width:36px;height:36px}.app__bar-files{height:44px}}.app__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;padding:0;border:0;border-radius:0;background:#0000004d;animation:app-scrim-in .2s ease}.cad-viewer__toolbar{overflow-x:auto;scrollbar-width:none}.cad-viewer__toolbar::-webkit-scrollbar{display:none}.cad-viewer__toolbar>*{flex:none;white-space:nowrap}.cad-viewer__path{display:none}.chat-panel>.chat-composer-wrap{flex:0 1 auto;min-height:0;display:flex;flex-direction:column}.chat-composer{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.chat-composer__footer{position:sticky;bottom:-8px;margin-bottom:-8px;padding-bottom:8px;background:var(--chat-surface)}}@keyframes app-scrim-in{0%{opacity:0}}@media(max-width:767px)and (orientation:portrait){.app{height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,42svh) minmax(0,1fr)}.app:has(>.app__viewer>.app__viewer-empty){grid-template-rows:auto 136px minmax(0,1fr)}.app__chat{border-left:0;border-top:1px solid var(--chat-line)}.app__viewer-empty{padding:16px;text-align:center;font-size:13px}}@media(max-width:767px),(max-width:1099px)and (max-height:500px){.app__viewer{overflow:hidden}.cad-viewer__params{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:60%}.cad-viewer__next-steps{right:12px;bottom:12px}.cad-viewer__next-step,.cad-viewer__print-toggle{padding:8px 12px}.cad-viewer__print-panel{left:8px;right:8px;width:auto;bottom:68px;max-height:calc(100% - 80px)}.cad-viewer__params~.cad-viewer__next-steps,.cad-viewer__params~.cad-viewer__print-panel{display:none}.cad-viewer__stage:has(>.cad-viewer__params) .cad-viewer__cost-labels{display:none}.cad-progress__card{gap:4px;padding:12px 18px}.cad-progress__card .spark{width:20px;height:20px}.cad-progress__detail{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.order-page{position:fixed;z-index:40}.chat-input,.cad-viewer__param-value,.cad-viewer__toolbar select,.chat-panel__select,.mc__custom-input{font-size:16px}}@media(prefers-reduced-motion:reduce){.app__files,.app__files--open{transition:none}.app__scrim{animation:none}}
