.ld{--ink: #04050a;--panel: #0b0f1a;--panel-2: #0f1424;--edge: rgba(148, 163, 184, .13);--edge-2: rgba(148, 163, 184, .24);--fg: #eef2f8;--fg-2: #a3adc2;--fg-3: #6b7489;--blue: #3b82f6;--violet: #8b5cf6;--cyan: #22d3ee;--ok: #34d399;--hero: 0;--mock: 0;position:relative;min-height:100vh;color:var(--fg);background:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}html:has(.ld){scroll-behavior:smooth;background:#04050a}.ld main{position:relative;z-index:2}.ld section[id],.ld main[id]{scroll-margin-top:76px}.ld h1,.ld h2,.ld h3{color:#f8fafc}.grad-v{background:linear-gradient(92deg,#60a5fa,#a78bfa 55%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.linkish{background:none;border:0;padding:0;color:#93c5fd;font:inherit;cursor:pointer;text-decoration:underline}.ld-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.ld-dots{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(148,163,184,.16) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 0%,transparent 75%)}.ld-aurora{position:absolute;inset:-30% -10% auto;height:90vh;background:radial-gradient(40% 50% at 25% 30%,rgba(59,130,246,.2),transparent 70%),radial-gradient(35% 45% at 78% 22%,rgba(139,92,246,.18),transparent 70%);filter:blur(30px);opacity:calc(1 - var(--hero) * .7)}.ld-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:10px;border:1px solid transparent;font:600 14.5px Inter,system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;white-space:nowrap}.ld-btn svg{width:17px;height:17px}.ld-btn.sm{height:36px;padding:0 14px;font-size:13.5px;border-radius:9px}.ld-btn.lg{height:50px;padding:0 24px;font-size:15.5px;border-radius:12px}.ld-btn.primary{color:#fff;background:linear-gradient(135deg,#3b82f6,#7c3aed);box-shadow:0 10px 30px -10px #7c3aedcc,inset 0 1px #ffffff40}.ld-btn.primary:hover{transform:translateY(-1px);box-shadow:0 16px 40px -12px #7c3aedf2,inset 0 1px #ffffff4d}.ld-btn.ghost{color:var(--fg);background:#94a3b814;border-color:var(--edge-2)}.ld-btn.ghost:hover{background:#94a3b829}.ld-btn.mobile{display:none}.ld-nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;padding:14px clamp(16px,4vw,44px);border-bottom:1px solid transparent;transition:background .25s,border-color .25s}.ld-nav.solid{background:#04050ab8;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom-color:var(--edge)}.ld-brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:750;font-size:18px;letter-spacing:-.2px}.ld-links{display:flex;gap:2px;margin:0 auto}.ld-links a{color:var(--fg-2);text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px;border-radius:8px;transition:color .15s,background .15s}.ld-links a:hover{color:#fff;background:#94a3b81a}.ld-nav-right{display:flex;align-items:center;gap:8px}.ld-burger{display:none;width:40px;height:36px;border-radius:9px;border:1px solid var(--edge-2);background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px}.ld-burger span{width:18px;height:2px;border-radius:2px;background:var(--fg)}.ld-hero{position:relative;min-height:calc(100vh - 66px);display:grid;place-items:center;padding:40px clamp(16px,4vw,44px) 120px;text-align:center}.ld-hero-in{position:relative;z-index:3;max-width:1060px;opacity:calc(1 - var(--hero) * .85);transform:translateY(calc(var(--hero) * -50px)) scale(calc(1 - var(--hero) * .04));will-change:transform,opacity}.ld-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;color:#c7d2fe;background:#6366f11f;border:1px solid rgba(129,140,248,.32)}.ld-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:ld-pulse 2s ease-in-out infinite}.ld-hero h1{font-size:clamp(42px,7.4vw,104px);line-height:1.02;letter-spacing:clamp(-1.5px,-.3vw,-4px);font-weight:800;margin:26px 0}.ld-lead{font-size:clamp(16px,1.55vw,20px);line-height:1.6;color:var(--fg-2);max-width:760px;margin:0 auto 34px}.ld-hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.ld-err{max-width:560px;margin:22px auto 0;text-align:left}.ld-sel{position:relative;display:inline-block;padding:0 .12em}.ld-sel:before{content:"";position:absolute;top:.06em;right:-.02em;bottom:-.02em;left:-.02em;border:2px dashed rgba(167,139,250,.85);border-radius:4px;animation:ld-sel .6s .9s both}.ld-sel .h{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #8b5cf6;border-radius:3px;animation:ld-pop .4s cubic-bezier(.2,.9,.3,1.5) both}.ld-sel .tl{left:-.06em;top:0;transform:translate(-50%,-20%);animation-delay:1.15s}.ld-sel .tr{right:-.06em;top:0;transform:translate(50%,-20%);animation-delay:1.25s}.ld-sel .bl{left:-.06em;bottom:-.04em;transform:translate(-50%,50%);animation-delay:1.35s}.ld-sel .br{right:-.06em;bottom:-.04em;transform:translate(50%,50%);animation-delay:1.45s}.ld-sel em{position:absolute;left:0;top:-.62em;transform:translateY(-50%);font:600 clamp(10px,.95vw,13px) ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0;font-style:normal;color:#e9d5ff;background:#4c1d95d9;border:1px solid rgba(167,139,250,.6);padding:3px 8px;border-radius:5px;animation:ld-fade-up .5s 1.5s both;white-space:nowrap}.a1,.a2,.a3,.a4{animation:ld-fade-up .9s cubic-bezier(.2,.7,.2,1) both}.a2{animation-delay:.12s}.a3{animation-delay:.3s}.a4{animation-delay:.45s}.ld-float{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:calc(1 - var(--hero))}.ld-float .tile{position:absolute;width:clamp(52px,5vw,72px);aspect-ratio:1;border-radius:16px;display:grid;place-items:center;background:linear-gradient(160deg,#1a2034,#0c101c);border:1px solid var(--edge-2);box-shadow:0 20px 40px -14px #000000e6,inset 0 1px #ffffff0f}.ld-float .tile img{width:58%;height:58%;object-fit:contain}.ld-float .tile.code{color:#c4b5fd;font:700 18px ui-monospace,SFMono-Regular,Menlo,monospace;gap:0}.ld-float .tile.code small{font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fg-3);margin-top:-10px}.ld-float .t1{left:8%;top:20%;rotate:-14deg;animation:ld-roll-l 1.1s .5s both,ld-bob 6s 1.6s ease-in-out infinite}.ld-float .t2{right:8%;top:26%;rotate:12deg;animation:ld-roll-r 1.1s .65s both,ld-bob 7s 1.8s ease-in-out infinite}.ld-float .t3{left:13%;bottom:20%;rotate:10deg;animation:ld-roll-l 1.1s .8s both,ld-bob 6.5s 1.9s ease-in-out infinite}.ld-float .t4{right:14%;bottom:16%;rotate:-8deg;animation:ld-roll-r 1.1s .95s both,ld-bob 5.5s 2s ease-in-out infinite}.ld-float .t5{left:25%;top:8%;width:46px;rotate:8deg;opacity:.7;animation:ld-roll-l 1.1s 1.1s both,ld-bob 8s 2.2s ease-in-out infinite}.ld-float .t6{right:26%;top:7%;width:46px;rotate:-10deg;opacity:.7;animation:ld-roll-r 1.1s 1.2s both,ld-bob 7.5s 2.3s ease-in-out infinite}.ld-float .cur{position:absolute;display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 6px;border-radius:999px;font-size:12px;color:#fff;white-space:nowrap}.ld-float .cur svg{width:14px;height:14px;position:absolute;left:-12px;top:-12px}.ld-float .cur b{font-weight:700;margin-left:4px}.ld-float .c1{right:4%;top:47%;background:#7c3aed;animation:ld-fade-up .6s 1.6s both,ld-wander-1 9s 2.2s ease-in-out infinite}.ld-float .c1 svg{fill:#7c3aed}.ld-float .c2{left:9%;top:56%;background:#0284c7;animation:ld-fade-up .6s 1.8s both,ld-wander-2 10s 2.4s ease-in-out infinite}.ld-float .c2 svg{fill:#0284c7}.ld-float .frame{position:absolute;right:23%;bottom:10%;width:74px;height:74px;border:1.5px solid rgba(203,213,225,.5);rotate:14deg;animation:ld-roll-r 1.2s 1.3s both,ld-spin 30s linear infinite}.ld-float .frame i{position:absolute;width:8px;height:8px;background:#fff;border-radius:2px}.ld-float .frame i:nth-child(1){left:-4px;top:-4px}.ld-float .frame i:nth-child(2){right:-4px;top:-4px}.ld-float .frame i:nth-child(3){left:-4px;bottom:-4px}.ld-float .frame i:nth-child(4){right:-4px;bottom:-4px}.ld-arc{position:absolute;left:50%;bottom:-10vh;width:min(1400px,140vw);height:60vh;translate:-50% 0;z-index:1;pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,rgba(124,58,237,.55),rgba(59,130,246,.28) 45%,transparent 72%);filter:blur(20px);animation:ld-light 1.6s .4s cubic-bezier(.2,.7,.2,1) both}.ld-mock-wrap{position:relative;z-index:3;margin:-110px auto 0;padding:0 clamp(16px,4vw,44px);max-width:1240px;perspective:1800px}.ld-mock{border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#121829,#0a0e19);border:1px solid rgba(148,163,184,.22);box-shadow:0 60px 120px -40px #4c1d9599,0 30px 60px -30px #000000e6,inset 0 1px #ffffff0f;transform-origin:50% 0%;transform:rotateX(calc((1 - var(--mock)) * 24deg)) scale(calc(.9 + var(--mock) * .1)) translateY(calc((1 - var(--mock)) * 30px));animation:ld-mock-in 1.2s .6s cubic-bezier(.2,.7,.2,1) both;will-change:transform}.ld-mock-bar{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--edge);font-size:13px;color:var(--fg-3)}.ld-mock-bar .crumbs b{color:#e2e8f0}.ld-mock-bar .crumbs em{font-style:normal;color:#c4b5fd}.ld-mock-bar .live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#a7f3d0}.ld-mock-bar .live i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:ld-pulse 1.6s infinite}.ld-mock-body{padding:clamp(14px,2vw,26px);--edge: rgba(148, 163, 184, .14);--edge-2: rgba(148, 163, 184, .24);--fg-3: #6f7d93;--ok: #34d399}.ld-mock .lp-preview{transform:none!important;max-width:none;padding:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(12px,2vw,24px);align-items:start}.ld-mock .lp-clouds{grid-column:1 / -1;margin:0}.ld-mock .lp-diagram{width:auto}.ld-mock .lp-window.lp-code{position:relative;top:auto;right:auto;width:auto;height:100%}.ld-mock .lp-code pre{min-height:250px;font-size:clamp(11px,1vw,13px)}.ld-statement{padding:clamp(90px,12vw,160px) 0 clamp(40px,6vw,70px);text-align:center}.ld-statement h2{font-size:clamp(30px,4.4vw,58px);line-height:1.08;letter-spacing:-1.6px;font-weight:780;margin:0 auto 26px;padding:0 16px;max-width:1000px}.ld-statement .dim{color:#4b5568}.ld-kicker{color:var(--fg-2);font-size:14px;margin:0 0 28px}.ld-marquee{display:grid;gap:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.ld-marquee .row{overflow:hidden}.ld-marquee .track{display:flex;gap:14px;width:max-content;animation:ld-marquee 55s linear infinite}.ld-marquee .rev .track{animation-direction:reverse;animation-duration:62s}.ld-marquee:hover .track{animation-play-state:paused}.ld-marquee .chip{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;border-radius:14px;background:#0f1424cc;border:1px solid var(--edge);font-size:14.5px;font-weight:600;color:#dbe3ef;white-space:nowrap}.ld-marquee .chip img{width:30px;height:30px;object-fit:contain}.ld-tour{position:relative}.ld-tour-sticky{position:sticky;top:66px;height:calc(100vh - 66px);display:flex;flex-direction:column;justify-content:center;max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,44px)}.ld-tour-head{text-align:center;margin-bottom:clamp(18px,3vh,36px)}.ld-tour-head h2{font-size:clamp(28px,3.6vw,48px);letter-spacing:-1.2px;margin:10px 0 0;line-height:1.1}.ld-eyebrow{display:inline-block;font:700 12px Inter,system-ui,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--cyan)}.ld-tour-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,3vw,44px);align-items:center}.ld-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ld-steps li{position:relative;border-radius:14px;border:1px solid transparent;transition:background .35s,border-color .35s}.ld-steps li.on{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-color:#818cf859}.ld-steps li:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:3px;background:linear-gradient(#60a5fa,#a78bfa);transform:scaleY(0);transition:transform .35s}.ld-steps li.on:before{transform:scaleY(1)}.ld-steps button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;gap:14px;width:100%;padding:14px 18px;cursor:pointer}.ld-steps .n{font:700 12.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fg-3);padding-top:3px;transition:color .3s}.ld-steps li.on .n{color:#c4b5fd}.ld-steps .tx b{display:block;font-size:16.5px;color:#64708a;transition:color .3s}.ld-steps li.on .tx b,.ld-steps li:hover .tx b{color:#f8fafc}.ld-steps .tx span{display:block;font-size:14px;line-height:1.6;color:var(--fg-2);max-height:0;overflow:hidden;opacity:0;transition:max-height .45s,opacity .35s,margin .35s}.ld-steps li.on .tx span{max-height:140px;opacity:1;margin-top:6px}.ld-steps .bar,.ld-steps .m-shot{display:none}.ld-tour-pane{position:relative;aspect-ratio:16 / 10.4;border-radius:18px;background:#0b1020;border:1px solid var(--edge-2);overflow:hidden;box-shadow:0 50px 100px -40px #4c1d958c,0 20px 50px -25px #000000e6}.ld-shot{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;transform:scale(1.04) translateY(14px);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.7,.2,1);cursor:zoom-in;display:grid;place-items:center;background:#0b1020}.ld-shot.on{opacity:1;transform:none;z-index:1}.ld-shot img{width:100%;height:100%;object-fit:cover;object-position:top left}.ld-dots-nav{position:absolute;z-index:2;left:50%;bottom:12px;translate:-50% 0;display:flex;gap:6px;padding:6px 8px;border-radius:999px;background:#04050ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ld-dots-nav button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:#94a3b873;cursor:pointer;transition:width .3s,background .3s}.ld-dots-nav button.on{width:22px;background:linear-gradient(90deg,#60a5fa,#a78bfa)}.ld-numbers{max-width:1180px;margin:clamp(40px,6vw,90px) auto 0;padding:0 clamp(16px,4vw,44px);display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ld-numbers>div{text-align:center;padding:26px 12px;border-radius:16px;background:#0f142499;border:1px solid var(--edge)}.ld-numbers b{display:block;font-size:clamp(36px,4.4vw,58px);font-weight:800;letter-spacing:-2px;line-height:1;background:linear-gradient(180deg,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;color:transparent}.ld-numbers span{display:block;margin-top:10px;color:var(--fg-2);font-size:14px}.ld-section{max-width:1180px;margin:0 auto;padding:clamp(90px,11vw,150px) clamp(16px,4vw,44px) 0}.ld-head{text-align:center;max-width:780px;margin:0 auto clamp(40px,5vw,64px)}.ld-head h2{font-size:clamp(30px,4vw,52px);line-height:1.08;letter-spacing:-1.4px;margin:12px 0 16px;font-weight:780}.ld-head p{margin:0;color:var(--fg-2);font-size:clamp(15.5px,1.35vw,18px);line-height:1.6}.ld-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bx{position:relative;overflow:hidden;border-radius:20px;padding:26px 26px 24px;min-height:260px;background:linear-gradient(180deg,#111626f2,#0a0d18f2);border:1px solid var(--edge);transition:border-color .3s,transform .3s}.bx:hover{border-color:#818cf866}.bx:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(400px 200px at 0% 0%,rgba(99,102,241,.1),transparent 70%)}.bx.span2{grid-column:span 2}.bx.accent{background:linear-gradient(140deg,#4338ca,#6d28d9 45%,#312e81);border-color:#a78bfa73}.bx.accent p{color:#ddd6fe}.bx h3{position:relative;z-index:1;margin:0 0 8px;font-size:20px;letter-spacing:-.3px}.bx p{position:relative;z-index:1;margin:0;color:var(--fg-2);font-size:14.5px;line-height:1.6;max-width:520px}.bx-shot{display:block;width:86%;margin:22px auto -30px;border-radius:12px 12px 0 0;box-shadow:0 -10px 40px -10px #0009;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.bx:hover .bx-shot{transform:translateY(-8px)}.bx .clouds{margin:22px -26px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}.bx .clouds .track{display:flex;gap:36px;width:max-content;animation:ld-marquee 24s linear infinite;font-size:22px;font-weight:750;color:#ffffffd9}.bx .clouds span:nth-child(2n){color:#ffffff73}.checks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:9px;position:relative;z-index:1}.checks li{display:flex;align-items:center;gap:10px;font-size:14px;color:#dbe3ef;padding:9px 12px;border-radius:10px;background:#94a3b80f;border:1px solid var(--edge)}.checks li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--ok);background:#34d3991f;border:1px solid rgba(52,211,153,.35)}.bx.in .checks li{animation:ld-check-row 6s calc(var(--i) * .45s) infinite both}.bx.in .checks li span{animation:ld-check 6s calc(var(--i) * .45s) infinite both}.prompt{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-top:22px;padding:10px 10px 10px 14px;border-radius:12px;background:#020617b3;border:1px solid var(--edge-2);font-size:13.5px;color:#e2e8f0}.prompt .typed{flex:1;overflow:hidden;white-space:nowrap;border-right:2px solid #a78bfa;width:0;max-width:max-content}.bx.in .prompt .typed{animation:ld-type 8s steps(52) infinite,ld-caret .8s step-end infinite}.prompt button{flex:none;border:0;border-radius:8px;padding:7px 12px;font:700 12.5px Inter,system-ui,sans-serif;color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 0 #a855f799}.bx.in .prompt button{animation:ld-ask 8s infinite}.ai-out{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;min-height:64px}.ai-out span{padding:6px 11px;border-radius:8px;font-size:12.5px;font-weight:600;color:#c4b5fd;background:#8b5cf624;border:1px solid rgba(167,139,250,.35);opacity:0}.bx.in .ai-out span{animation:ld-chip 8s calc(4.2s + var(--i) * .25s) infinite both}.templ .fan{position:relative;z-index:1;height:190px;margin-top:18px}.templ .fan img{position:absolute;left:50%;top:10px;width:min(330px,60%);border-radius:12px;background:#fff;padding:6px;box-shadow:0 20px 40px -14px #000000b3;transform:translate(-50%) rotate(calc((var(--i) - 1) * 7deg)) translate(calc((var(--i) - 1) * 70px)) translateY(calc(var(--i) * 6px));transition:transform .5s cubic-bezier(.2,.7,.2,1)}.templ:hover .fan img{transform:translate(-50%) rotate(calc((var(--i) - 1) * 10deg)) translate(calc((var(--i) - 1) * 150px)) translateY(calc(var(--i) * 4px - 10px))}.templ .hand{position:absolute;z-index:1;right:28px;top:28px;font:600 22px Segoe Print,Bradley Hand,Comic Sans MS,cursive;color:#ffffffd9;rotate:4deg}.git{position:relative;z-index:1;width:100%;margin-top:18px;overflow:visible}.git path{fill:none;stroke-width:3;stroke-linecap:round}.git .main{stroke:#475569}.git .branch{stroke:url(#none);stroke:#a78bfa;stroke-dasharray:340;stroke-dashoffset:340}.bx.in .git .branch{animation:ld-draw 5s ease-in-out infinite}.git circle{fill:#0b1020;stroke:#94a3b8;stroke-width:2.5}.git circle:nth-of-type(2),.git circle:nth-of-type(3){stroke:#a78bfa}.bx.in .git circle{animation:ld-commit 5s calc(var(--i) * .3s) ease-in-out infinite;transform-box:fill-box;transform-origin:center}.git .pr rect{fill:#34d39924;stroke:#34d39980}.git .pr text{fill:#a7f3d0;font:700 11px Inter,system-ui,sans-serif;text-anchor:middle}.bx.in .git .pr{animation:ld-pr 5s ease-in-out infinite}.roles{position:relative;z-index:1;display:grid;gap:9px;margin-top:20px}.rl{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#94a3b80f;border:1px solid var(--edge);font-size:13px}.rl b{font:700 12.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:#93c5fd}.rl span{color:var(--fg-2)}.rl:nth-child(3) b{color:#fca5a5}.bx.in .rl{animation:ld-slide-in .6s calc(.2s + var(--i) * .15s) both}.docs{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.docs span{width:54px;height:70px;border-radius:8px 18px 8px 8px;display:grid;place-items:end center;padding-bottom:12px;font:800 13px Inter,system-ui,sans-serif;color:#fff;background:linear-gradient(160deg,#1e293b,#0f172a);border:1px solid var(--edge-2);box-shadow:0 14px 26px -12px #000c;animation:ld-bob 4s calc(var(--i) * .4s) ease-in-out infinite}.docs span:nth-child(1){border-top:3px solid #f87171}.docs span:nth-child(2){border-top:3px solid #60a5fa}.docs span:nth-child(3){border-top:3px solid #a78bfa}.docs span:nth-child(4){border-top:3px solid #34d399}.docs span:nth-child(5){border-top:3px solid #fbbf24}.intg{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.intg span{padding:10px 16px;border-radius:12px;font-weight:650;font-size:14px;color:#dbe3ef;background:#94a3b80f;border:1px solid var(--edge);position:relative;overflow:hidden;transition:border-color .2s,color .2s}.intg span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(167,139,250,.22),transparent 70%);translate:-120% 0;animation:ld-shine 6s ease-in-out infinite}.intg span:nth-child(odd):after{animation-delay:1.5s}.intg span:nth-child(3n):after{animation-delay:3s}.intg span:hover{border-color:#a78bfa80;color:#fff}.lock{position:relative;z-index:1;width:92px;height:92px;margin:26px auto 0;border-radius:24px;display:grid;place-items:center;color:var(--ok);background:linear-gradient(160deg,#13203a,#0b1222);border:1px solid rgba(52,211,153,.35)}.lock svg{width:44px;height:44px}.lock:before,.lock:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;border:1px solid rgba(52,211,153,.5);animation:ld-ring 2.8s ease-out infinite}.lock:after{animation-delay:1.4s}.ld-arch{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ld-arch .card{border-radius:18px;overflow:hidden;background:#0d1220e6;border:1px solid var(--edge);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;transition-delay:calc(var(--i) * .06s)}.ld-arch .card:hover{transform:translateY(-6px);border-color:#818cf873;box-shadow:0 30px 60px -30px #6366f199}.ld-arch .img{aspect-ratio:16 / 9;background:#fff;display:grid;place-items:center;padding:12px;overflow:hidden}.ld-arch .img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.ld-arch .card:hover .img img{transform:scale(1.07)}.ld-arch .body{padding:18px 20px 22px}.ld-arch h3{margin:10px 0 6px;font-size:17px}.ld-arch p{margin:0;font-size:13.5px;line-height:1.55;color:var(--fg-2)}.cl{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid}.cl.c-azure{color:#93c5fd;border-color:#3b82f673;background:#3b82f61f}.cl.c-aws{color:#fdba74;border-color:#ff990073;background:#ff99001a}.cl.c-google{color:#86efac;border-color:#34a85373;background:#34a8531f}.ld-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,70px);align-items:start}.ld-faq .side{position:sticky;top:100px}.ld-faq .side h2{font-size:clamp(34px,4.4vw,56px);line-height:1.04;letter-spacing:-1.6px;margin:0 0 18px;font-weight:800}.ld-faq .side p{color:var(--fg-2);margin:0 0 22px;line-height:1.6}.ld-faq .list{display:grid;gap:10px}.ld-faq details{border-radius:14px;background:#0f1424cc;border:1px solid var(--edge);padding:0 22px;transition:border-color .25s,background .25s}.ld-faq details[open]{border-color:#818cf866;background:#161b30e6}.ld-faq summary{cursor:pointer;list-style:none;position:relative;padding:20px 34px 20px 0;font-weight:650;font-size:16px;color:#f1f5f9}.ld-faq summary::-webkit-details-marker{display:none}.ld-faq summary:after{content:"";position:absolute;right:0;top:50%;width:22px;height:22px;translate:0 -50%;border-radius:50%;border:1.5px solid rgba(203,213,225,.6);background:linear-gradient(#cbd5e1,#cbd5e1) center / 10px 1.5px no-repeat,linear-gradient(#cbd5e1,#cbd5e1) center / 1.5px 10px no-repeat;transition:transform .3s}.ld-faq details[open] summary:after{transform:rotate(45deg)}.ld-faq details p{margin:0 0 20px;color:var(--fg-2);line-height:1.7;font-size:15px;animation:ld-fade-up .35s both}.ld-final{position:relative;overflow:hidden;max-width:1180px;margin:clamp(90px,11vw,150px) auto 0;padding:clamp(56px,8vw,96px) 24px;text-align:center;border-radius:26px;background:radial-gradient(700px 300px at 50% 120%,rgba(124,58,237,.55),transparent 70%),#0b0f1a;border:1px solid rgba(129,140,248,.3);width:calc(100% - 32px)}.ld-final:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(148,163,184,.18) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 80%);mask-image:radial-gradient(ellipse at center,#000,transparent 80%)}.ld-final>*{position:relative}.ld-final h2{font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:-1.8px;margin:0 0 18px;font-weight:800}.ld-final p{color:var(--fg-2);font-size:17px;margin:0 0 30px}.ld-footer{position:relative;z-index:2;max-width:1180px;margin:90px auto 0;padding:50px clamp(16px,4vw,44px) 40px;border-top:1px solid var(--edge);display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}.ld-footer .brand p{color:var(--fg-3);font-size:14px;line-height:1.6;margin:14px 0 0;max-width:340px}.ld-footer h4{margin:0 0 14px;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:#cbd5e1}.ld-footer .col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.ld-footer .col a,.ld-footer .col .linkish{color:var(--fg-2);text-decoration:none;font-size:14px}.ld-footer .col a:hover,.ld-footer .col .linkish:hover{color:#fff}.ld-footer small{grid-column:1 / -1;color:var(--fg-3);font-size:12.5px;padding-top:22px;border-top:1px solid var(--edge)}.ld-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#02040ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:ld-fade .2s both}.ld-modal>div{position:relative;width:min(420px,100%);animation:ld-fade-up .35s cubic-bezier(.2,.7,.2,1) both}.ld-modal .lp-card{--edge: rgba(148, 163, 184, .14);--edge-2: rgba(148, 163, 184, .24);--fg: #e6edf7;--fg-2: #a7b4c8;--fg-3: #6f7d93;--ok: #34d399;--accent: #3b82f6;color:var(--fg)}.ld-x{position:absolute;z-index:2;right:12px;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:#94a3b81f;color:#cbd5e1;font-size:22px;line-height:1;cursor:pointer}.ld-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#02040ae6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px;cursor:zoom-out;animation:ld-fade .2s both}.ld-lightbox img{max-width:min(1600px,100%);max-height:100%;border-radius:12px;box-shadow:0 40px 100px -20px #000000e6}.rv{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * .08s)}.rv.in{opacity:1;transform:none}.ld-bento .rv:nth-child(3n+2){--i: 1}.ld-bento .rv:nth-child(3n){--i: 2}.ld-numbers .rv:nth-child(2){--i: 1}.ld-numbers .rv:nth-child(3){--i: 2}.ld-numbers .rv:nth-child(4){--i: 3}@keyframes ld-fade{0%{opacity:0}to{opacity:1}}@keyframes ld-fade-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes ld-sel{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}@keyframes ld-pop{0%{opacity:0;scale:.2}to{opacity:1;scale:1}}@keyframes ld-roll-l{0%{opacity:0;transform:translate(-60%,60%) rotate(-60deg)}to{opacity:1;transform:none}}@keyframes ld-roll-r{0%{opacity:0;transform:translate(60%,60%) rotate(60deg)}to{opacity:1;transform:none}}@keyframes ld-bob{0%,to{translate:0 0}50%{translate:0 -12px}}@keyframes ld-wander-1{0%,to{translate:0 0}33%{translate:-30px 18px}66%{translate:18px -12px}}@keyframes ld-wander-2{0%,to{translate:0 0}40%{translate:36px -16px}70%{translate:-10px 14px}}@keyframes ld-spin{to{rotate:374deg}}@keyframes ld-light{0%{opacity:0;transform:translateY(20%) scale(.2)}to{opacity:1;transform:none}}@keyframes ld-mock-in{0%{opacity:0;translate:0 80px}to{opacity:1;translate:0 0}}@keyframes ld-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes ld-marquee{to{transform:translate(-50%)}}@keyframes ld-check-row{0%{opacity:.35}8%,85%{opacity:1}to{opacity:.35}}@keyframes ld-check{0%{transform:scale(0)}8%{transform:scale(1.25)}12%,85%{transform:scale(1)}to{transform:scale(0)}}@keyframes ld-type{0%{width:0}45%,90%{width:100%}to{width:0}}@keyframes ld-caret{50%{border-color:transparent}}@keyframes ld-ask{0%,48%{box-shadow:0 0 #a855f700}52%{box-shadow:0 0 #a855f7b3;transform:scale(.95)}60%{box-shadow:0 0 0 12px #a855f700;transform:none}to{box-shadow:none}}@keyframes ld-chip{0%{opacity:0;transform:translateY(8px) scale(.9)}4%,40%{opacity:1;transform:none}46%,to{opacity:0}}@keyframes ld-draw{0%{stroke-dashoffset:340}45%,85%{stroke-dashoffset:0}to{stroke-dashoffset:-340}}@keyframes ld-commit{0%,10%{transform:scale(.6)}20%,85%{transform:scale(1)}to{transform:scale(.6)}}@keyframes ld-pr{0%,40%{opacity:0;transform:translateY(6px)}50%,85%{opacity:1;transform:none}to{opacity:0}}@keyframes ld-slide-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}@keyframes ld-shine{0%,60%{translate:-120% 0}to{translate:120% 0}}@keyframes ld-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}@media (max-width: 1080px){.ld-links a{padding:8px;font-size:13.5px}.ld-bento,.ld-arch{grid-template-columns:repeat(2,1fr)}.ld-float .t5,.ld-float .t6{display:none}}@media (max-width: 880px){.ld-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:10px 16px 16px;background:#04050af7;border-bottom:1px solid var(--edge)}.ld-links.open{display:flex}.ld-links a{padding:12px 10px;font-size:15px}.ld-btn.mobile{display:inline-flex;margin-top:8px}.ld-nav-right .ld-btn{display:none}.ld-nav-right{margin-left:auto}.ld-burger{display:flex}.ld-hero{min-height:auto;padding-top:50px;padding-bottom:150px}.ld-float .tile{width:46px;border-radius:12px}.ld-float .t1{left:3%;top:4%}.ld-float .t2{right:3%;top:6%}.ld-float .t3{left:4%;bottom:8%}.ld-float .t4{right:4%;bottom:6%}.ld-float .cur,.ld-float .frame{display:none}.ld-mock-wrap{margin-top:-100px}.ld-mock .lp-preview{grid-template-columns:1fr}.ld-mock .lp-code pre{min-height:0}.ld-tour{height:auto!important;padding-top:90px}.ld-tour-sticky{position:static;height:auto}.ld-tour-grid{grid-template-columns:1fr}.ld-tour-pane{display:none}.ld-steps{gap:18px}.ld-steps li{background:#0f1424b3;border-color:var(--edge)}.ld-steps li:before{display:none}.ld-steps .tx b{color:#f8fafc}.ld-steps .tx span{max-height:none;opacity:1;margin-top:6px}.ld-steps .m-shot{display:block;width:calc(100% - 28px);margin:0 14px 14px;border-radius:10px;border:1px solid var(--edge)}.ld-numbers{grid-template-columns:repeat(2,1fr)}.ld-bento,.ld-arch{grid-template-columns:1fr}.bx.span2{grid-column:auto}.templ .hand{display:none}.ld-faq{grid-template-columns:1fr}.ld-faq .side{position:static}.ld-footer{grid-template-columns:1fr 1fr}.ld-footer .brand{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){html:has(.ld){scroll-behavior:auto}.ld *,.ld *:before,.ld *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.ld-mock,.ld-hero-in{transform:none!important;opacity:1!important}.rv{opacity:1;transform:none}}.ld-steps li{min-width:0}.ld-steps button,.ld-steps .tx,.ld-steps .tx b,.ld-steps .tx span{white-space:normal;min-width:0}.ld-mock .lp-window{min-width:0}.ld-mock .lp-code pre{overflow:hidden}.ld-mock .lp-code .l{text-overflow:ellipsis}@media (max-width: 880px){.ld-float .t1,.ld-float .t2{display:none}.ld-pill{font-size:12px}}.ld-bill{display:flex;width:max-content;margin:-24px auto 34px;padding:4px;border-radius:999px;background:#0f1424d9;border:1px solid var(--edge-2)}.ld-bill button{height:36px;padding:0 18px;border:0;border-radius:999px;background:none;color:var(--fg-2);font:600 13.5px Inter,system-ui,sans-serif;cursor:pointer}.ld-bill button.on{color:#fff;background:linear-gradient(135deg,#3b82f6,#7c3aed)}.ld-bill em{font-style:normal;font-size:11px;font-weight:700;margin-left:6px;padding:2px 7px;border-radius:999px;background:#34d3992e;color:var(--ok)}.ld-bill button.on em{background:#fff3;color:#fff}.ld-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.ld-plan{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px 22px 24px;border-radius:20px;background:linear-gradient(180deg,#111626f2,#0a0d18f2);border:1px solid var(--edge)}.ld-plan.pop{border-color:#8b5cf699;box-shadow:0 30px 70px -30px #7c3aedb3;background:linear-gradient(180deg,#251e48f2,#0c0e1cf5)}.ld-plan .tag{position:absolute;top:-12px;left:22px;font:700 11px Inter,system-ui,sans-serif;letter-spacing:.4px;padding:4px 10px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#3b82f6,#7c3aed)}.ld-plan h3{margin:0;font-size:19px;letter-spacing:-.3px}.ld-plan .blurb{margin:-6px 0 0;color:var(--fg-2);font-size:13.5px;line-height:1.5;min-height:40px}.ld-plan .price{display:flex;flex-wrap:wrap;align-items:baseline;align-content:flex-start;gap:4px 8px;min-height:78px}.ld-plan .price b{font-size:40px;letter-spacing:-1.4px;color:#f8fafc;line-height:1}.ld-plan .price s{color:var(--fg-3);font-size:16px}.ld-plan .price span{flex-basis:100%;color:var(--fg-3);font-size:12.5px}.ld-plan .ld-btn{width:100%}.ld-plan ul{list-style:none;margin:4px 0 0;padding:14px 0 0;border-top:1px solid var(--edge);display:grid;gap:9px}.ld-plan li{position:relative;padding-left:24px;font-size:13.5px;color:var(--fg-2);line-height:1.45}.ld-plan li:before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:#34d39929 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%2334d399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat}.ld-plan-note{text-align:center;color:var(--fg-3);font-size:13px;margin:26px 0 0}.ld-plan-note a{color:#93c5fd}@media (max-width: 1100px){.ld-plans{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}}@media (max-width: 600px){.ld-plans{grid-template-columns:1fr}.ld-plan .blurb{min-height:0}}:root{--bg: #0f172a;--panel: #ffffff;--panel-2: #f8fafc;--line: #e2e8f0;--text: #0f172a;--muted: #64748b;--blue: #2563eb;--azure: #0078d4;--aws: #ff9900;--warn: #b45309;--code-bg: #0b1220;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--panel-2)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 14px;background:var(--bg);color:#e2e8f0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand-name{font-weight:700;font-size:15px;letter-spacing:.2px}.brand-sub{font-size:11px;color:#94a3b8}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn,.select{height:32px;padding:0 12px;border-radius:7px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font:inherit;font-size:13px;cursor:pointer}.btn:hover:not(:disabled),.select:hover{border-color:#64748b}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:#1d4ed8}.toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1;padding:0 6px;cursor:pointer}.workspace{flex:1;display:flex;min-height:0}.canvas{flex:1;min-width:0;display:flex;background:#fff}.drawio{flex:1;border:0;width:100%;height:100%}.divider{width:6px;cursor:col-resize;background:var(--line);transition:background .15s}.divider:hover,.divider.active{background:var(--blue)}.panel{display:flex;flex-direction:column;background:var(--panel);min-width:360px;border-left:1px solid var(--line)}.tabs{display:flex;align-items:center;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;padding:8px 10px;font:inherit;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer}.tabs button.on{color:var(--text);border-bottom-color:var(--blue);font-weight:600}.count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:#e2e8f0;color:var(--text);font-size:11px;text-align:center;margin-left:4px}.count.warn{background:#fef3c7;color:var(--warn)}.spacer{flex:1}.pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:4px}.pill.azure{background:#e0f2fe;color:var(--azure)}.pill.aws{background:#fff7ed;color:#c2410c}.error{margin:10px;padding:8px 10px;border-radius:6px;background:#fef2f2;color:#b91c1c;font-size:13px}.code-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.files{display:flex;gap:4px;padding:8px 10px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--panel-2)}.files button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 9px;font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer;color:var(--muted)}.files button.on{border-color:var(--blue);color:var(--blue);background:#eff6ff}.files .ghost{font-family:inherit}.code{flex:1;margin:0;overflow:auto;background:var(--code-bg);color:#e2e8f0;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:10px 0}.ln{display:flex}.no{width:46px;flex:none;text-align:right;padding-right:14px;color:#475569;-webkit-user-select:none;user-select:none}.tx{white-space:pre;padding-right:16px}.code .c{color:#64748b;font-style:italic}.code .s{color:#a5d6a7}.code .i{color:#fbbf24}.code .k{color:#c084fc;font-weight:600}.code .l,.code .n{color:#f472b6}.code .a{color:#7dd3fc}.scroll{flex:1;overflow:auto;padding:12px 14px;font-size:13px}.empty{color:var(--muted);padding:24px 6px;text-align:center}.empty.ok{color:#15803d}.grid{width:100%;border-collapse:collapse;font-size:12.5px}.grid th{text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;position:sticky;top:0;background:#fff}.grid td{border-bottom:1px solid #f1f5f9;padding:7px 8px;vertical-align:top}.grid code{font-size:11.5px;color:#334155}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}.dot.azure{background:var(--azure)}.dot.aws{background:var(--aws)}.warnings{margin:0;padding-left:18px}.warnings li{margin-bottom:8px;color:var(--warn)}.help p{color:#334155;line-height:1.5}.help h3{margin:18px 0 6px;font-size:14px}.muted{color:var(--muted);font-size:11.5px}.tag{margin-left:6px;font-size:10px;padding:1px 6px;border-radius:8px;background:#ede9fe;color:#6d28d9}kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px}.ver{font-size:10px;font-weight:500;color:#94a3b8;margin-left:4px}.btn.ai{display:inline-flex;align-items:center;gap:6px;border-color:#7c3aed;color:#ddd6fe}.btn.ai:hover:not(:disabled){background:#2e1065}.btn.ai.attn{background:#6d28d9;color:#fff;border-color:#6d28d9}.btn.light{background:#fff;color:var(--text);border-color:var(--line)}.ai-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;border:1px solid #334155;background:transparent;color:#cbd5e1;font:inherit;font-size:12px;cursor:pointer}.ai-pill .dot,.dot.on{width:8px;height:8px;border-radius:50%;background:#64748b;display:inline-block}.ai-pill.on .dot,.dot.on{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.banner{display:flex;align-items:center;gap:8px;margin:8px 10px 0;padding:8px 10px;border-radius:8px;background:#f5f3ff;color:#4c1d95;font-size:12.5px;border:1px solid #ddd6fe}.banner svg{flex:none;color:#7c3aed}.banner span{flex:1}.link{border:0;background:none;color:#6d28d9;font:inherit;font-weight:600;cursor:pointer;padding:0;white-space:nowrap}.link:hover{text-decoration:underline}.tabs button svg{vertical-align:-2px;color:#7c3aed}.files button.aifile{color:#6d28d9;border-color:#ddd6fe;background:#faf5ff;display:inline-flex;align-items:center;gap:4px}.files button.aifile.on{border-color:#7c3aed}.tag.ai{background:#ede9fe;color:#6d28d9;font-weight:700}tr.pending td{color:var(--muted);background:#fafafa}h3.sub{font-size:13px;margin:18px 0 6px;color:#334155}.muted-list li{color:#475569}.assistant{flex:1;display:flex;flex-direction:column;min-height:0}.quick{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line)}.chip{border:1px solid #ddd6fe;background:#faf5ff;color:#5b21b6;border-radius:16px;padding:5px 12px;font:inherit;font-size:12.5px;cursor:pointer}.chip:hover:not(:disabled){background:#ede9fe}.chip.ghost{background:#fff;color:var(--muted);border-color:var(--line)}.chip:disabled{opacity:.5;cursor:default}.messages{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.msg{max-width:92%;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.55}.msg p{margin:0}.msg.user{align-self:flex-end;background:#2563eb;color:#fff}.msg.assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line)}.msg.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.msg.thinking{display:flex;gap:4px;padding:12px 14px}.msg.thinking span{width:6px;height:6px;border-radius:50%;background:#a78bfa;animation:blink 1.2s infinite ease-in-out}.msg.thinking span:nth-child(2){animation-delay:.2s}.msg.thinking span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.ask{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}.ask input{flex:1;height:34px;border:1px solid var(--line);border-radius:7px;padding:0 10px;font:inherit;font-size:13px}.ask input:focus{outline:2px solid #bfdbfe;border-color:var(--blue)}.md h1,.md h2,.md h3{font-size:14px;margin:12px 0 6px}.md h1:first-child,.md h2:first-child,.md h3:first-child{margin-top:0}.md p{margin:6px 0}.md ul,.md ol{margin:6px 0;padding-left:20px}.md li{margin:3px 0}.md code{background:#eef2f7;border-radius:4px;padding:1px 4px;font-size:12px}.md pre{background:var(--code-bg);color:#e2e8f0;border-radius:6px;padding:10px;overflow:auto}.md pre code{background:none;color:inherit;padding:0}.md table{border-collapse:collapse;font-size:12px;margin:6px 0}.md th,.md td{border:1px solid var(--line);padding:4px 6px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:12px;width:min(560px,100%);box-shadow:0 20px 50px #00000040;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.modal-head h2 svg{color:#7c3aed}.x{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}.modal-foot{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:var(--panel-2)}.setup{padding:14px 18px;font-size:13.5px;line-height:1.6;color:#1e293b}.setup ol,.setup ul{padding-left:20px}.setup li{margin-bottom:8px}.setup code{background:#eef2f7;border-radius:4px;padding:1px 5px;font-size:12.5px}.setup a{color:var(--blue)}.ok-line{display:flex;align-items:center;gap:8px}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);padding:10px 16px;border-radius:8px;background:#0f172a;color:#fff;font-size:13px;box-shadow:0 10px 30px #00000040;z-index:60;max-width:min(640px,90vw);animation:rise .2s ease-out}.toast.ok{background:#166534}.toast.warn{background:#92400e}.toast.error{background:#b91c1c}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.splash{height:100%;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;color:var(--muted)}.ms-btn{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #8c8c8c;background:#fff;color:#5e5e5e;font:600 15px Segoe UI,system-ui,sans-serif;border-radius:4px;cursor:pointer}.ms-btn:hover:not(:disabled){background:#f3f3f3}.ms-btn:disabled{opacity:.7;cursor:progress}.btn.wide{width:100%;height:40px}.docbar{display:flex;align-items:center;gap:6px;flex:1;min-width:220px;max-width:460px}.btn.ghosty{background:transparent;border-color:transparent;font-size:16px;padding:0 8px}.btn.ghosty:hover{border-color:#334155}.docname{flex:1;min-width:0;height:30px;background:transparent;border:1px solid transparent;border-radius:6px;color:#f8fafc;font:inherit;font-size:14px;font-weight:600;padding:0 8px}.docname:hover{border-color:#334155}.docname:focus{outline:none;border-color:#3b82f6;background:#1e293b}.savestate{border:0;background:none;font:inherit;font-size:11.5px;color:#94a3b8;cursor:pointer;white-space:nowrap}.savestate.pending,.savestate.saving{color:#fbbf24}.savestate.error{color:#fca5a5}.usermenu{position:relative}.avatar-btn{border:0;background:none;padding:0;cursor:pointer}.avatar{width:30px;height:30px;border-radius:50%;background:#6366f1;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.avatar.lg{width:40px;height:40px;font-size:14px;flex:none}.avatar.sm{width:26px;height:26px;font-size:10.5px;flex:none}.menu{position:absolute;right:0;top:38px;width:260px;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px #0f172a2e;overflow:hidden;z-index:40}.menu-head{display:flex;gap:10px;padding:14px;border-bottom:1px solid var(--line);background:var(--panel-2)}.menu-name{font-weight:600;font-size:14px}.menu-head .muted{font-size:12px;word-break:break-all}.menu>button,.menu>a{display:block;width:100%;text-align:left;padding:10px 14px;border:0;background:none;font:inherit;font-size:13.5px;color:var(--text);text-decoration:none;cursor:pointer}.menu>button:hover,.menu>a:hover{background:#f1f5f9}.role{display:inline-block;margin-top:4px;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:8px;background:#e2e8f0;color:#334155}.role.admin{background:#ede9fe;color:#6d28d9}.devbar{background:#fffbeb;color:#92400e;border-bottom:1px solid #fde68a;font-size:12.5px;padding:6px 14px}.modal.wide{width:min(900px,100%);max-height:85vh;display:flex;flex-direction:column}.modal-tools{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line)}.search{flex:1;height:34px;border:1px solid var(--line);border-radius:7px;padding:0 10px;font:inherit;font-size:13.5px}.search:focus{outline:2px solid #bfdbfe;border-color:var(--blue)}.modal-body{overflow:auto;padding:4px 18px 16px}.select.light{background:#fff;color:var(--text);border-color:var(--line)}.select.sm{height:28px;padding:0 6px;font-size:12.5px}.grid tr.current td{background:#eff6ff}.grid tr.disabled td{opacity:.55}.link.name{color:var(--text);font-weight:600;font-size:13.5px;text-align:left}.link.name:hover{color:var(--blue)}.inline{height:28px;border:1px solid var(--blue);border-radius:6px;padding:0 8px;font:inherit;width:100%}.row-actions{white-space:nowrap;text-align:right}.row-actions button{border:0;background:none;color:#2563eb;font:inherit;font-size:12.5px;cursor:pointer;padding:2px 6px}.row-actions button:hover{text-decoration:underline}.row-actions button.danger{color:#b91c1c}.user-cell{display:flex;align-items:center;gap:8px}.pill.on{background:#dcfce7;color:#166534}.pill.off{background:#fee2e2;color:#991b1b}.pill.invited{background:#fef3c7;color:#92400e}.admin-info{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 18px;font-size:12.5px;color:#475569;background:var(--panel-2);border-bottom:1px solid var(--line)}.topbar{justify-content:flex-start;row-gap:8px}.docbar{flex:1 1 260px;max-width:520px}.actions{margin-left:auto;justify-content:flex-end}@media (max-width: 1640px){.actions .btn,.actions .select{padding:0 9px;font-size:12.5px}.actions select.select{max-width:170px}.toggle{font-size:12.5px}}.btn.gh-top{display:inline-flex;align-items:center;gap:6px}.btn.light{background:#fff;color:var(--text);border-color:var(--line);text-decoration:none;display:inline-flex;align-items:center}.btn.light:hover{border-color:#94a3b8}a.btn{text-decoration:none;display:inline-flex;align-items:center;gap:8px}.modal.gh{width:min(720px,100%);max-height:90vh;display:flex;flex-direction:column}.gh-body{padding:16px 20px 20px;overflow:auto;display:grid;gap:14px}.gh-lead{font-size:16px;font-weight:650;margin:0;color:var(--text)}.gh-body p{margin:0;line-height:1.5}.gh-body code{font-size:12px;background:#f1f5f9;padding:1px 5px;border-radius:4px}.gh-connect,.gh-done{justify-items:center;text-align:center;padding:30px 28px 28px}.gh-connect>svg{color:#0f172a}.gh-btn{height:40px;padding:0 18px;background:#1f2328;border-color:#1f2328;color:#fff;font-weight:600}.gh-btn:hover{background:#32383f!important}.gh-account{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155;padding:8px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px}.gh-account img{border-radius:50%}.link-btn{margin-left:auto;border:0;background:none;color:var(--blue);font:inherit;font-size:12.5px;cursor:pointer;padding:0}.gh-done .link-btn{margin:0}.link-btn:hover{text-decoration:underline}.gh-field{display:grid;gap:6px;min-width:0}.gh-field>label{font-size:12px;font-weight:600;color:#334155}.gh-field .search,.gh-field .select{width:100%;height:36px}.gh-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.gh-row .gh-field{flex:0 1 180px}.gh-row .gh-field.grow{flex:1 1 200px}.seg{display:inline-flex;padding:3px;background:#f1f5f9;border-radius:9px;border:1px solid var(--line);justify-self:start}.seg button{height:30px;padding:0 14px;border:0;border-radius:6px;background:none;font:inherit;font-size:13px;color:#475569;cursor:pointer}.seg button.on{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 2px #0f172a1f}.gh-repos{max-height:176px;overflow:auto;border:1px solid var(--line);border-radius:8px}.gh-repos button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;font:inherit;font-size:13px;color:var(--text);cursor:pointer;text-align:left}.gh-repos button:hover{background:#f8fafc}.gh-repos button.on{background:#eff6ff;color:#1d4ed8;font-weight:600;box-shadow:inset 3px 0 #2563eb}.gh-hint{font-size:12.5px;color:#a16207;background:#fefce8;border:1px solid #fde68a;border-radius:7px;padding:6px 10px}.gh-none{padding:14px;font-size:13px}.gh-private{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#64748b;font-weight:500}.gh-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gh-modes button{text-align:left;display:grid;gap:3px;padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:#fff;font:inherit;cursor:pointer}.gh-modes button b{font-size:13.5px;color:var(--text)}.gh-modes button small{font-size:12px;color:var(--muted);line-height:1.4}.gh-modes button.on{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb26;background:#f8fbff}.gh-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#334155;cursor:pointer;height:36px}.gh-includes{display:flex;flex-wrap:wrap;gap:4px 18px}.gh-includes .gh-check{height:auto}.gh-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:10px 12px;border-radius:8px;font-size:13px}.gh-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;flex-wrap:wrap}.gh-actions .muted{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.gh-actions .btn{height:38px;padding:0 16px}.gh-done-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:700;background:#dcfce7;color:#15803d}.gh-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.gh-links .btn{height:38px;padding:0 16px}.gh-warn{font-size:12.5px}@media (max-width: 560px){.gh-modes{grid-template-columns:1fr}}.modal.gh .modal-head h2 svg{color:#1f2328}@media (max-width: 1640px){.btn.gh-top .gh-label{display:none}.btn.gh-top{padding:0 9px}}.dd{position:relative}.dd-btn{display:inline-flex;align-items:center;gap:6px}.dd-btn .caret{font-size:10px;opacity:.7}.dd-menu{position:absolute;top:38px;min-width:250px;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px #0f172a2e;padding:6px;z-index:45;max-height:75vh;overflow:auto}.dd-menu.right{right:0}.dd-menu.left{left:0}.dd-section{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px}.dd-menu button{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:12px;border:0;background:none;text-align:left;padding:7px 10px;border-radius:7px;font:inherit;font-size:13px;color:var(--text);cursor:pointer}.dd-menu button small{font-size:11px;color:var(--muted);white-space:nowrap}.dd-menu button:hover:not(:disabled){background:#f1f5f9}.dd-menu button:disabled{opacity:.45;cursor:default}.seg.sm{padding:2px}.seg.sm button{height:24px;padding:0 9px;font-size:12px}.files .seg.sm{margin-right:6px}.btn.sm{height:28px;font-size:12.5px;padding:0 10px}.cost{padding:4px 2px 16px;display:grid;gap:14px}.cost-head{display:flex;justify-content:space-between;align-items:center}.cost-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cost-card{text-align:left;display:grid;gap:2px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;border-top:3px solid #94a3b8}.cost-card.azure{border-top-color:#0078d4}.cost-card.aws{border-top-color:#f90}.cost-card.gcp{border-top-color:#34a853}.cost-card.on{box-shadow:0 0 0 2px #2563eb inset}.cost-card b{font-size:22px;letter-spacing:-.4px;color:var(--text)}.cost-card small{font-size:11.5px;color:var(--muted)}.cc-cloud{font-size:12.5px;font-weight:600;color:#334155;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cc-cloud em{font-style:normal;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;background:#e2e8f0;color:#334155}.cc-cloud em.best{background:#dcfce7;color:#166534}.cost h4{margin:4px 0 0;font-size:12.5px;color:#334155}.cost-cats{display:grid;gap:8px}.cat-row{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center}.cat-name{font-size:12px;color:#334155}.cat-bars{display:grid;gap:2px}.bar{height:14px;min-width:2px;border-radius:3px;position:relative}.bar span{position:absolute;left:calc(100% + 6px);top:-1px;font-size:10.5px;color:var(--muted);white-space:nowrap}.bar.azure,.lg.azure:before{background:#0078d4}.bar.aws,.lg.aws:before{background:#f90}.bar.gcp,.lg.gcp:before{background:#34a853}.legend{display:flex;gap:14px;font-size:11.5px;color:var(--muted)}.lg:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.cost .num{text-align:right;white-space:nowrap}.cost tr.total td{font-weight:700;border-top:2px solid var(--line)}.cost .note{font-size:11.5px;margin:0}@media (max-width: 1500px){.cost-cards{grid-template-columns:1fr}}.modal.aidraw{width:min(720px,100%);max-height:92vh;display:flex;flex-direction:column}.aidraw .gh-row{justify-content:space-between;align-items:center}.drop{border:2px dashed #cbd5e1;border-radius:12px;padding:24px;display:grid;gap:6px;justify-items:center;text-align:center;cursor:pointer;background:#f8fafc;font-size:13.5px}.drop.over{border-color:var(--blue);background:#eff6ff}.drop.has{padding:12px}.drop img{max-width:100%;max-height:240px;border-radius:8px;border:1px solid var(--line)}.drop .muted{font-size:12px}.ta{height:auto!important;padding:10px 12px!important;resize:vertical;font-family:inherit;line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font:inherit;font-size:12px;color:#334155;cursor:pointer;text-align:left}.chip:hover{border-color:var(--blue);color:var(--blue)}.gh-error.warnish{background:#fffbeb;color:#92400e;border-color:#fde68a}.aidraw .gh-actions .muted{white-space:normal}.filepick{height:30px;min-width:260px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.admin-seg{margin-left:auto;margin-right:10px}.grid.audit td{font-size:12.5px;vertical-align:top}.grid.audit code{font-size:12px;background:#f1f5f9;padding:1px 6px;border-radius:4px}.grid.audit tr.warnrow code{background:#fef2f2;color:#b91c1c}.grid.audit .ip{color:#94a3b8}.modal-note{margin:10px 18px 0;font-size:13px;color:#475569;line-height:1.5}.grid.versions .tag,.grid .tag{margin-left:6px}.pill.ai{background:#f3e8ff;color:#7c3aed}.keys{display:grid;gap:16px;padding:14px 18px 18px}.keys h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#64748b}.keyrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:13.5px}kbd{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f5f9;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:6px;padding:2px 8px;white-space:nowrap;color:#0f172a}.conflict-bar{position:fixed;z-index:45;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:calc(100% - 32px);padding:12px 16px;border-radius:12px;background:#fff7ed;color:#7c2d12;border:1px solid #fdba74;box-shadow:0 16px 40px -12px #00000059;font-size:13.5px}.savestate.conflict{color:#c2410c;background:#fff7ed;border-color:#fdba74}.ai-diff{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ai-diff>div{border:1px solid var(--line, #e2e8f0);border-radius:10px;padding:12px;text-align:center}.ai-diff b{display:block;font-size:24px;color:#0f172a}.ai-diff span{font-size:12px;color:#64748b}.modal.cfg{width:min(620px,100%);max-height:90vh;display:flex;flex-direction:column}.cfg .modal-head h2 .dot{margin-right:0}.cfg-sub{padding:6px 18px 0}.cfg-body{display:grid;gap:4px;padding-top:6px}.cfg-body section{display:grid;gap:12px;padding:10px 0 12px;border-bottom:1px solid #f1f5f9}.cfg-body section:last-child{border-bottom:0}.cfg-body h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.cfg-field{display:grid;gap:5px}.cfg-field>label{font-size:13px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:6px}.cfg-field .select,.cfg-field .input{width:100%;height:34px;font-size:13px}.cfg-field .input{border:1px solid var(--line);border-radius:7px;padding:0 10px;font:inherit;font-size:13px;color:var(--text);background:#fff;min-width:0}.cfg-field .input:focus,.cfg-field .select:focus{outline:2px solid #bfdbfe;border-color:var(--blue)}.cfg-inline{display:flex;gap:8px;align-items:center}.cfg-check{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:#1e293b;cursor:pointer}.cfg-check input{width:16px;height:16px;accent-color:var(--blue)}.cfg-cost{font-size:10px;font-weight:700;color:#166534;background:#dcfce7;border-radius:6px;padding:0 5px}.cfg-help{font-size:11.5px;color:var(--muted);line-height:1.4}.cfg-msg{font-size:12px;line-height:1.4}.cfg-msg.error{color:#b91c1c}.cfg-msg.warn{color:#a16207}.cfg-field.has-error .select,.cfg-field.has-error .input{border-color:#ef4444}.cfg-foot{gap:10px}.cfg-price{flex:1;display:grid;min-width:0}.cfg-price b{font-size:20px;letter-spacing:-.3px;color:var(--text)}.cfg-price span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-grid .num{text-align:right;white-space:nowrap}.res-grid .sub{margin-top:2px}.res-grid tr.total td{font-weight:700;border-top:2px solid var(--line)}.res-grid .cfg-btn{padding:0 8px;font-size:14px}.cfg-flag{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;margin-left:6px;font-size:10.5px;font-weight:800;color:#fff;cursor:help;vertical-align:1px}.cfg-flag.error{background:#dc2626}.cfg-flag.warn{background:#d97706}.linkish{border:0;background:none;padding:0;font:inherit;color:var(--blue);cursor:pointer;text-align:left}.linkish:hover{text-decoration:underline}.est{padding:4px 2px 18px;display:grid;gap:14px}.est h4{margin:0;font-size:12.5px;color:#334155}.est .note{font-size:11.5px;margin:0}.est-total{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #dbeafe}.est-total>div:first-child{display:grid;gap:2px;min-width:0}.est-total b{font-size:30px;letter-spacing:-.6px;color:var(--text);line-height:1.15}.est-total small{font-size:12px}.est-save{justify-self:start;margin-top:6px;font-size:12px;font-weight:600;color:#166534;background:#dcfce7;border-radius:999px;padding:2px 10px}.est-split{display:flex;gap:3px;height:34px;border-radius:8px;overflow:hidden}.est-split span{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:0 7px;color:#fff;font-size:10.5px;line-height:1.15;white-space:nowrap;overflow:hidden;background:#6366f1}.est-split span:nth-child(2){background:#0ea5e9}.est-split span:nth-child(3){background:#10b981}.est-split span:nth-child(4){background:#f59e0b}.est-split span:nth-child(5){background:#ec4899}.est-split span:nth-child(6){background:#8b5cf6}.est-split span:nth-child(n+7){background:#64748b}.est-split i{font-style:normal;opacity:.9;overflow:hidden;text-overflow:ellipsis}.est-split b{font-size:11.5px}.est-regions{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.est-region{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;font-size:13px;font-weight:600;color:#1e293b}.est-region .select{width:100%;min-width:0}.est-head{display:flex;justify-content:space-between;align-items:center}.est-group{display:grid;gap:6px}.est-group-head{display:flex;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:4px 2px 0}.est-item{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.est-item.open{border-color:#93c5fd;box-shadow:0 4px 14px -6px #2563eb40}.est-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 12px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--text)}.est-row:hover{background:#f8fafc}.est-row .dot{margin:0}.est-name{display:grid;gap:1px;min-width:0}.est-name b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.est-name small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.est-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.est-tags em{font-style:normal;font-size:10.5px;font-weight:600;color:#1d4ed8;background:#eff6ff;border-radius:5px;padding:1px 6px}.est-tags em.tag-extra{color:#7c3aed;background:#f3e8ff}.est-tags em.tag-err{color:#b91c1c;background:#fef2f2}.est-price{display:grid;justify-items:end;font-weight:700;font-size:14px;white-space:nowrap}.est-price small{font-weight:500;color:var(--muted);font-size:11px;display:inline}.est-price s{font-size:11px;font-weight:500;color:#94a3b8}.est-chev{color:#94a3b8;font-size:12px}.est-body{border-top:1px solid #eef2f7;padding:4px 14px 12px;display:grid;gap:2px}.est-body section{display:grid;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}.est-body section h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.est-body section h4 .muted{text-transform:none;letter-spacing:0;font-weight:500}.est-presets{display:flex;flex-wrap:wrap;gap:6px}.est-presets button,.est-commit button{font:inherit;font-size:12px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 9px;cursor:pointer;color:#334155}.est-presets button.on,.est-commit button.on{border-color:var(--blue);background:#eff6ff;color:#1d4ed8;font-weight:600}.est-presets button:disabled,.est-commit button:disabled{opacity:.45;cursor:not-allowed}.est-commit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.est-commit button{display:grid;gap:2px;text-align:left;padding:8px 10px}.est-commit button b{font-size:14px;color:var(--text)}.est-commit button em{font-style:normal;font-size:11px;font-weight:700;color:#15803d}.est-foot{display:flex;align-items:center;gap:8px;padding-top:12px;flex-wrap:wrap}.est-foot .cfg-price b{font-size:18px}.est-add{display:grid;gap:8px;padding:12px;border:1px dashed #93c5fd;border-radius:10px;background:#f8fbff}.est-add-head{display:flex;gap:8px}.est-add-list{display:grid;gap:2px;max-height:280px;overflow:auto}.est-add-list button{display:flex;align-items:center;gap:6px;padding:7px 8px;border:0;border-radius:7px;background:none;font:inherit;font-size:13px;text-align:left;cursor:pointer;color:var(--text)}.est-add-list button:hover{background:#e0f2fe}.est-add-list code{margin-left:auto;font-size:11px;color:var(--muted)}.dot.gcp{background:#34a853}@media (max-width: 1500px){.est-commit{grid-template-columns:1fr}.est-region{grid-template-columns:1fr;gap:4px}}.tabs{overflow-x:auto;scrollbar-width:thin}.tabs button{white-space:nowrap;flex-shrink:0}.cfg-inline .muted{white-space:nowrap}.est-via{margin:0;font-size:12.5px;color:#334155;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.divider{position:relative;flex-shrink:0}.divider.collapsed{cursor:default}.panel-toggle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;width:18px;height:44px;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:#475569;font:600 14px/1 inherit;cursor:pointer;box-shadow:0 2px 6px #0f172a1f;display:grid;place-items:center}.panel-toggle:hover{background:var(--blue);border-color:var(--blue);color:#fff}.panel-rail{width:38px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;background:var(--panel);border-left:1px solid var(--line);overflow:hidden}.panel-rail button{writing-mode:vertical-rl;border:0;background:none;padding:10px 6px;border-radius:7px;font:inherit;font-size:12.5px;color:var(--muted);cursor:pointer;white-space:nowrap}.panel-rail button:hover{background:#f1f5f9;color:var(--text)}.panel-rail button.on{color:var(--text);font-weight:600;background:#eff6ff}.tabs .tab-hide{margin-left:4px;padding:4px 8px;font-size:15px;line-height:1;color:#94a3b8;border-radius:6px;flex-shrink:0}.tabs .tab-hide:hover{background:#f1f5f9;color:var(--text)}.lp,.hm{--ink: #05080f;--ink-2: #0a1020;--card: rgba(15, 23, 42, .72);--card-solid: #0e1627;--edge: rgba(148, 163, 184, .14);--edge-2: rgba(148, 163, 184, .24);--fg: #e6edf7;--fg-2: #a7b4c8;--fg-3: #6f7d93;--accent: #3b82f6;--accent-2: #22d3ee;--ok: #34d399;color:var(--fg);background:var(--ink);-webkit-font-smoothing:antialiased}.lp-grid,.hm-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(96,165,250,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.07) 1px,transparent 1px),linear-gradient(rgba(96,165,250,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.035) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 40%,transparent 100%)}.lp-glow,.hm-glow{position:absolute;pointer-events:none;inset:-20% -10% auto -10%;height:80%;background:radial-gradient(600px 340px at 25% 35%,rgba(37,99,235,.3),transparent 70%),radial-gradient(520px 300px at 80% 20%,rgba(34,211,238,.14),transparent 70%);filter:blur(10px)}.lp{position:relative;min-height:100%;overflow:hidden;display:flex;flex-direction:column}.lp-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(16px,4vw,48px)}.lp-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:.2px}.lp-main{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,410px);gap:clamp(32px,5vw,80px);align-items:center;width:100%;max-width:1280px;margin:0 auto;padding:8px clamp(16px,4vw,48px) 56px}.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#bfdbfe;border:1px solid rgba(96,165,250,.3);background:#2563eb1f;padding:5px 12px;border-radius:999px;letter-spacing:.2px}.lp-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 10px var(--accent-2)}.lp-hero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-1.6px;font-weight:750;margin:18px 0 34px;color:#f8fafc}.grad{background:linear-gradient(90deg,#60a5fa,#22d3ee 60%,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-preview{position:relative;max-width:720px;padding-bottom:110px}.lp-diagram{width:66%}.lp-window.lp-code{position:absolute;right:0;top:132px;width:58%;z-index:1;overflow:visible;background:#0b1222}.lp-window{background:linear-gradient(180deg,#11192ceb,#0a101eeb);border:1px solid var(--edge-2);border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -20px #000000b3,0 0 0 1px #ffffff05 inset;animation:lp-rise .7s cubic-bezier(.2,.7,.2,1) both}.lp-code{animation-delay:.25s}.lp-win-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-bottom:1px solid var(--edge);font:11.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fg-3)}.lp-win-bar i{width:9px;height:9px;border-radius:50%;background:#334155}.lp-win-bar i:nth-child(1){background:#f87171aa}.lp-win-bar i:nth-child(2){background:#fbbf24aa}.lp-win-bar i:nth-child(3){background:#34d399aa}.lp-win-bar span{margin-left:8px}.lp-svg{display:block;width:100%;height:auto;padding:6px}.lp-group{fill:#3b82f60a;stroke:#60a5fa73;stroke-dasharray:4 4}.lp-group.vnet{fill:#22d3ee08;stroke:#22d3ee66}.lp-group-label{font:600 10px Inter,system-ui,sans-serif;fill:#93c5fd}.lp-node rect:first-child{fill:#0f1d36;stroke:#60a5fa8c}.lp-node .glyph{fill:#3b82f659;stroke:#60a5fa;stroke-width:1.6}.lp-node .glyph-line{fill:none;stroke:#93c5fd;stroke-width:1.6;stroke-linecap:round}.lp-node text{font:500 10px Inter,system-ui,sans-serif;fill:#cbd5e1;text-anchor:middle}.lp-node.small rect:first-child{stroke:#a78bfa99}.lp-node.small .glyph{fill:#a78bfa4d;stroke:#a78bfa}.lp-node.small .glyph-line{stroke:#c4b5fd}.lp-mini{font:500 9.5px Inter,system-ui,sans-serif;fill:#94a3b8}.lp-node{transform-box:fill-box;transform-origin:center;animation:lp-pop .5s cubic-bezier(.2,.9,.3,1.3) both}.lp-node.n2{animation-delay:.12s}.lp-node.n3{animation-delay:.24s}.lp-node.n4{animation-delay:.36s}.lp-node.n5{animation-delay:.42s}.lp-flow{fill:none;stroke:#38bdf8;stroke-width:1.8;stroke-dasharray:5 6;animation:lp-flow 1.2s linear infinite;filter:drop-shadow(0 0 4px rgba(56,189,248,.7))}.lp-arrow{position:absolute;right:18px;bottom:-16px;z-index:2;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:#0a101eeb;border:1px solid rgba(52,211,153,.35);box-shadow:0 10px 30px -10px #000c;font:600 11.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:#a7f3d0;white-space:nowrap;flex-direction:row-reverse;animation:lp-rise .5s 1.9s both}.lp-arrow b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#34d39926;color:var(--ok);border:1px solid rgba(52,211,153,.4);font-size:12px}.lp-code pre{margin:0;padding:14px 16px 16px;font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#cbd5e1;overflow:hidden}.lp-code .l{display:block;white-space:pre;overflow:hidden;text-overflow:ellipsis;opacity:0;animation:lp-type .35s ease-out forwards}.lp-code .l:nth-child(1){animation-delay:.6s}.lp-code .l:nth-child(2){animation-delay:.75s}.lp-code .l:nth-child(3){animation-delay:.9s}.lp-code .l:nth-child(4){animation-delay:1.05s}.lp-code .l:nth-child(5){animation-delay:1.2s}.lp-code .l:nth-child(6){animation-delay:1.35s}.lp-code .l:nth-child(7){animation-delay:1.5s}.lp-code .l:nth-child(8){animation-delay:1.65s}.lp-code b,.lp-code s,.lp-code i{font-weight:inherit;font-style:normal;text-decoration:none}.lp-code .k{color:#c084fc}.lp-code s{color:#86efac}.lp-code i{color:#7dd3fc}.lp-code .n{color:#fda4af}.lp-card{position:relative;background:#0d1424c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--edge-2);border-radius:18px;padding:34px 32px 22px;box-shadow:0 40px 80px -24px #000000bf,0 0 0 1px #ffffff08 inset;animation:lp-rise .6s .1s cubic-bezier(.2,.7,.2,1) both}.lp-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(140deg,rgba(96,165,250,.6),transparent 35%,transparent 65%,rgba(34,211,238,.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.lp-card h2{margin:18px 0 6px;font-size:22px;letter-spacing:-.3px;color:#f8fafc}.lp-sub{margin:0 0 24px;font-size:14px;color:var(--fg-2)}.lp-card .ms-btn{height:46px;border-radius:6px;border-color:#fff;box-shadow:0 8px 24px -10px #ffffff59;transition:transform .15s,box-shadow .15s}.lp-card .ms-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px -10px #ffffff73}.lp-fine{font-size:12.5px;color:var(--fg-3);margin:14px 0 0;line-height:1.55}.lp-error{background:#ef44441f;color:#fecaca;border:1px solid rgba(239,68,68,.4);padding:10px 12px;border-radius:9px;font-size:13px;margin-bottom:16px}.lp-dev{display:grid;gap:12px}.lp-dev label{display:grid;gap:6px;font-size:12.5px;color:var(--fg-2);font-weight:600}.lp-dev input{height:42px;background:#02061799;border:1px solid var(--edge-2);border-radius:8px;padding:0 12px;font:inherit;font-size:14px;font-weight:400;color:var(--fg)}.lp-dev input::placeholder{color:#55637a}.lp-dev input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f640}.lp-warn{font-size:12.5px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.35);color:#fcd34d;padding:10px 12px;border-radius:9px;line-height:1.5}.lp-primary{height:44px;margin-top:4px;border:0;border-radius:8px;font:600 14.5px Inter,system-ui,sans-serif;color:#fff;cursor:pointer;background:linear-gradient(180deg,#3b82f6,#2563eb);box-shadow:0 10px 24px -10px #2563ebe6}.lp-primary:hover:not(:disabled){filter:brightness(1.08)}.lp-primary:disabled{opacity:.7;cursor:progress}.lp-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:22px;padding-top:16px;border-top:1px solid var(--edge);font-size:12px;color:var(--fg-3)}.lp-secure svg{color:var(--ok)}@keyframes lp-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes lp-pop{0%{opacity:0;scale:.8}to{opacity:1;scale:1}}@keyframes lp-flow{to{stroke-dashoffset:-22}}@keyframes lp-type{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@media (max-width: 880px){.lp-main{grid-template-columns:1fr;padding-top:0}.lp-hero h1{margin-bottom:0}.lp-preview{display:none}.lp-card{padding:28px 22px 18px}}.hm{position:relative;min-height:100%;overflow-x:hidden}.hm-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;height:58px;padding:0 clamp(16px,3vw,32px);background:#05080fb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--edge)}.hm-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15.5px}.hm-brand .ver{font-size:11px;color:var(--fg-3);font-weight:500}.hm-nav{display:flex;gap:4px;margin-left:12px}.hm-nav button{height:32px;padding:0 12px;border:0;border-radius:7px;background:none;color:var(--fg-2);font:500 13.5px Inter,system-ui,sans-serif;cursor:pointer}.hm-nav button:hover{color:var(--fg);background:#94a3b814}.hm-nav button.on{color:var(--fg);background:#94a3b81f}.hm-top-right{margin-left:auto;display:flex;align-items:center;gap:12px}.hm-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:12px;color:var(--fg-2);border:1px solid var(--edge-2);background:#0f172a99}.hm-chip .dot{width:7px;height:7px;border-radius:50%;background:#64748b}.hm-chip.on .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.hm-body{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:40px clamp(16px,3vw,32px) 64px}.hm-devbar{position:relative;z-index:1;font-size:12.5px;padding:8px clamp(16px,3vw,32px);background:#f59e0b1a;color:#fcd34d;border-bottom:1px solid rgba(245,158,11,.3)}.hm-hello{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}.hm-hello h1{margin:0;font-size:clamp(26px,3vw,34px);letter-spacing:-.8px;font-weight:700;color:#f8fafc}.hm-hello p{margin:6px 0 0;color:var(--fg-2);font-size:14.5px}.hm-stats{display:flex;gap:10px;flex-wrap:wrap}.hm-stat{min-width:120px;padding:10px 14px;border-radius:12px;background:var(--card);border:1px solid var(--edge)}.hm-stat b{display:block;font-size:20px;letter-spacing:-.4px;color:#f8fafc}.hm-stat span{font-size:12px;color:var(--fg-3)}.hm-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:44px}.hm-action{position:relative;text-align:left;display:flex;flex-direction:column;gap:10px;padding:18px;min-height:132px;border-radius:14px;border:1px solid var(--edge);background:var(--card);color:var(--fg);font:inherit;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.hm-action:hover:not(:disabled){border-color:#60a5fa8c;transform:translateY(-2px);background:#141f38d9}.hm-action:disabled{opacity:.5;cursor:default}.hm-action.primary{background:linear-gradient(160deg,#2563eb73,#0e1627e6 70%);border-color:#60a5fa73}.hm-action .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#3b82f629;color:#93c5fd;border:1px solid rgba(96,165,250,.25)}.hm-action.primary .ic{background:#2563eb;color:#fff;border-color:#3b82f6}.hm-action b{font-size:14.5px;font-weight:600}.hm-action small{font-size:12.5px;color:var(--fg-2);line-height:1.45}.hm-action kbd{position:absolute;top:16px;right:16px;font:11px ui-monospace,monospace;color:var(--fg-3);border:1px solid var(--edge-2);border-radius:5px;padding:1px 6px}.hm-sec{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap}.hm-sec h2{margin:0;font-size:16px;font-weight:650;color:#f1f5f9;display:flex;align-items:center;gap:10px}.hm-sec h2 .count{font-size:11.5px;font-weight:600;color:var(--fg-3);background:#94a3b81f;border-radius:999px;padding:1px 8px}.hm-sec-tools{display:flex;gap:8px;align-items:center}.hm-search{height:34px;width:240px;max-width:100%;border-radius:8px;border:1px solid var(--edge-2);background:#0206178c;color:var(--fg);font:inherit;font-size:13px;padding:0 12px 0 32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f7d93' stroke-width='2.2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:11px center}.hm-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f633}.hm-ghost{white-space:nowrap;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--edge-2);background:transparent;color:var(--fg-2);font:500 13px Inter,system-ui,sans-serif;cursor:pointer}.hm-ghost:hover{color:var(--fg);border-color:#94a3b873}.hm-tabs{display:inline-flex;padding:3px;border-radius:9px;background:#0f172acc;border:1px solid var(--edge)}.hm-tabs button{height:28px;padding:0 12px;border:0;border-radius:6px;background:none;color:var(--fg-2);font:500 12.5px Inter,system-ui,sans-serif;cursor:pointer}.hm-tabs button.on{background:#3b82f633;color:#dbeafe}.hm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;margin-bottom:44px}.hm-card{text-align:left;padding:0;border-radius:14px;border:1px solid var(--edge);background:var(--card-solid);color:var(--fg);font:inherit;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s}.hm-card:hover{border-color:#60a5fa8c;transform:translateY(-2px);box-shadow:0 18px 40px -18px #2563eb8c}.hm-thumb{position:relative;height:112px;border-bottom:1px solid var(--edge);overflow:hidden;background:linear-gradient(rgba(96,165,250,.08) 1px,transparent 1px) 0 0 / 16px 16px,linear-gradient(90deg,rgba(96,165,250,.08) 1px,transparent 1px) 0 0 / 16px 16px,radial-gradient(120% 120% at 0% 0%,#10264b,#0a1222 70%)}.hm-thumb.aws{background:linear-gradient(rgba(251,191,36,.07) 1px,transparent 1px) 0 0 / 16px 16px,linear-gradient(90deg,rgba(251,191,36,.07) 1px,transparent 1px) 0 0 / 16px 16px,radial-gradient(120% 120% at 0% 0%,#2a2112,#0f0f14 70%)}.hm-thumb svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hm-thumb .badge{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:700;letter-spacing:.3px;padding:2px 8px;border-radius:999px;background:#020617b3;border:1px solid var(--edge-2);color:#bfdbfe}.hm-thumb.aws .badge{color:#fde68a}.hm-thumb .badge.ms{left:auto;right:10px;color:#c4b5fd}.hm-card-body{padding:12px 14px 14px;display:grid;gap:4px}.hm-card-body b{font-size:13.5px;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hm-card-body small{font-size:12px;color:var(--fg-3)}.hm-card.new{align-items:center;justify-content:center;gap:10px;min-height:172px;border-style:dashed;border-color:var(--edge-2);background:transparent;color:var(--fg-2)}.hm-card.new:hover{color:var(--fg);background:#3b82f60f}.hm-card.new .plus{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:#3b82f626;color:#93c5fd}.hm-empty{padding:34px;border-radius:14px;border:1px dashed var(--edge-2);text-align:center;color:var(--fg-2);margin-bottom:44px}.hm-empty b{display:block;color:var(--fg);font-size:15px;margin-bottom:4px}.hm-skel{height:172px;border-radius:14px;border:1px solid var(--edge);background:linear-gradient(90deg,#1e293b66,#33415566,#1e293b66);background-size:200% 100%;animation:hm-shimmer 1.4s infinite linear}@keyframes hm-shimmer{to{background-position:-200% 0}}.hm-foot{margin-top:8px;padding-top:20px;border-top:1px solid var(--edge);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;font-size:12.5px;color:var(--fg-3)}.hm .avatar{box-shadow:0 0 0 2px #6366f159}@media (max-width: 980px){.hm-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.hm-nav,.hm-chip{display:none}.hm-actions{grid-template-columns:1fr}.hm-action{min-height:0}.hm-search,.hm-sec-tools{width:100%}}@media (prefers-reduced-motion: reduce){.lp *,.hm *{animation:none!important;transition:none!important}.lp-code .l{opacity:1}}.brand-home{border:0;background:none;color:inherit;font:inherit;padding:4px 6px 4px 2px;margin-left:-2px;border-radius:8px;cursor:pointer;text-align:left}.brand-home:hover{background:#94a3b81f}.hm{--thumb-node: #0b1426;transition:background-color .2s,color .2s}.hm[data-theme=light]{--ink: #f5f7fb;--card: rgba(255, 255, 255, .85);--card-solid: #ffffff;--edge: rgba(15, 23, 42, .09);--edge-2: rgba(15, 23, 42, .16);--fg: #0f172a;--fg-2: #475569;--fg-3: #64748b;--accent: #2563eb;--ok: #059669;--thumb-node: #ffffff;color-scheme:light}.hm[data-theme=dark]{color-scheme:dark}.hm[data-theme=light] .hm-grid{background-image:linear-gradient(rgba(37,99,235,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.07) 1px,transparent 1px),linear-gradient(rgba(37,99,235,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.035) 1px,transparent 1px)}.hm[data-theme=light] .hm-glow{background:radial-gradient(600px 340px at 25% 35%,rgba(59,130,246,.14),transparent 70%),radial-gradient(520px 300px at 80% 20%,rgba(34,211,238,.1),transparent 70%)}.hm[data-theme=light] .hm-top{background:#fffc}.hm[data-theme=light] .hm-nav button:hover{background:#0f172a0d}.hm[data-theme=light] .hm-nav button.on{background:#2563eb1a;color:#1d4ed8}.hm[data-theme=light] .hm-chip{background:#fff}.hm[data-theme=light] .hm-devbar{background:#fffbeb;color:#92400e;border-bottom-color:#fde68a}.hm[data-theme=light] .hm-hello h1,.hm[data-theme=light] .hm-stat b,.hm[data-theme=light] .hm-sec h2{color:#0f172a}.hm[data-theme=light] .hm-stat,.hm[data-theme=light] .hm-action,.hm[data-theme=light] .hm-card:not(.new){box-shadow:0 1px 2px #0f172a0a,0 4px 16px -8px #0f172a14}.hm[data-theme=light] .hm-action:hover:not(:disabled){background:#fff;border-color:#2563eb73;box-shadow:0 14px 30px -14px #2563eb59}.hm[data-theme=light] .hm-action.primary{background:linear-gradient(160deg,#2563eb,#1d4ed8);border-color:#1d4ed8;color:#fff}.hm[data-theme=light] .hm-action.primary small{color:#dbeafe}.hm[data-theme=light] .hm-action.primary .ic{background:#ffffff2e;border-color:#ffffff59}.hm[data-theme=light] .hm-action .ic{background:#eff6ff;color:#2563eb;border-color:#dbeafe}.hm[data-theme=light] .hm-sec h2 .count{background:#0f172a0f}.hm[data-theme=light] .hm-search{background-color:#fff}.hm[data-theme=light] .hm-search::placeholder{color:#94a3b8}.hm[data-theme=light] .hm-ghost{background:#fff}.hm[data-theme=light] .hm-ghost:hover{border-color:#0f172a4d}.hm[data-theme=light] .hm-tabs{background:#fff}.hm[data-theme=light] .hm-tabs button.on{background:#eff6ff;color:#1d4ed8}.hm[data-theme=light] .hm-card:hover{border-color:#2563eb73;box-shadow:0 16px 34px -16px #2563eb59}.hm[data-theme=light] .hm-thumb{background:linear-gradient(rgba(37,99,235,.08) 1px,transparent 1px) 0 0 / 16px 16px,linear-gradient(90deg,rgba(37,99,235,.08) 1px,transparent 1px) 0 0 / 16px 16px,linear-gradient(160deg,#eff6ff,#f8fafc 75%)}.hm[data-theme=light] .hm-thumb.aws{background:linear-gradient(rgba(217,119,6,.08) 1px,transparent 1px) 0 0 / 16px 16px,linear-gradient(90deg,rgba(217,119,6,.08) 1px,transparent 1px) 0 0 / 16px 16px,linear-gradient(160deg,#fffbeb,#f8fafc 75%)}.hm[data-theme=light] .hm-thumb .badge{background:#ffffffeb;color:#1d4ed8}.hm[data-theme=light] .hm-thumb.aws .badge{color:#b45309}.hm[data-theme=light] .hm-thumb .badge.ms{color:#6d28d9}.hm[data-theme=light] .hm-card.new:hover{background:#2563eb0a}.hm[data-theme=light] .hm-card.new .plus{background:#eff6ff;color:#2563eb}.hm[data-theme=light] .hm-skel{background:linear-gradient(90deg,#eef2f7,#e2e8f0,#eef2f7);background-size:200% 100%}.hm-theme{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--edge-2);background:transparent;color:var(--fg-2);cursor:pointer}.hm-theme:hover{color:var(--fg);border-color:var(--accent)}.hm[data-theme=light] .hm-theme{background:#fff}.hm[data-theme=light] .hm-action.primary .ic{color:#fff}.hm-thumb.real{height:164px}.hm-thumb .pv{position:absolute;width:calc(100% - 20px);height:calc(100% - 44px);top:34px;right:10px;bottom:10px;left:10px}.pv-loading{position:absolute;top:34px;right:14px;bottom:12px;left:14px;border-radius:8px;background:linear-gradient(90deg,#94a3b814,#94a3b82e,#94a3b814);background-size:200% 100%;animation:hm-shimmer 1.4s infinite linear}.pv-empty{position:absolute;top:34px;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:12px;color:var(--fg-3)}.hm[data-theme=dark] .hm-thumb .pv{filter:drop-shadow(0 0 .5px rgba(255,255,255,.2))}.hm-thumb.plain .pv,.hm-thumb.plain .pv-loading{top:12px;right:12px;bottom:12px;left:12px}.hm-thumb.plain .pv{width:calc(100% - 24px);height:calc(100% - 24px);top:12px;left:12px}.hm-cards.big{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.hm-cards.big .hm-thumb.real{height:236px}@media (max-width: 640px){.hm-cards.big{grid-template-columns:1fr}}.hm-actions{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width: 1240px){.hm-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.hm-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.hm-actions{grid-template-columns:1fr}}.hm-action.ai .ic{background:#a78bfa29;color:#c4b5fd;border-color:#a78bfa59}.hm[data-theme=light] .hm-action.ai .ic{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}.hm-tabs .n{font-size:10.5px;opacity:.7;margin-left:3px}.hm-chips{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 16px}.hm-chips button{height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--edge-2);background:transparent;color:var(--fg-2);font:500 12.5px Inter,system-ui,sans-serif;cursor:pointer}.hm-chips button:hover{color:var(--fg)}.hm-chips button.on{background:#3b82f62e;border-color:#60a5fa80;color:#dbeafe}.hm[data-theme=light] .hm-chips button{background:#fff}.hm[data-theme=light] .hm-chips button.on{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.hm-cat{justify-self:start;margin-top:4px;font-size:10.5px;font-weight:600;color:var(--fg-3);border:1px solid var(--edge-2);border-radius:999px;padding:1px 8px}.hm-thumb.gcp .badge{color:#a7f3d0}.hm[data-theme=light] .hm-thumb.gcp .badge{color:#047857}.hm-empty .inline{margin-left:8px;height:30px}.hm-sec-tools{flex-wrap:wrap}.lp-spot{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:radial-gradient(520px 380px at var(--mx, 30%) var(--my, 40%),rgba(56,189,248,.1),transparent 70%);transition:background .2s}.lp-preview{transform:perspective(1400px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transform-style:preserve-3d;transition:transform .25s ease-out,opacity .2s linear;will-change:transform}.lp-clouds{display:flex;gap:6px;margin-bottom:12px}.lp-clouds span{font:600 11.5px Inter,system-ui,sans-serif;color:var(--fg-3);padding:4px 10px;border-radius:999px;border:1px solid var(--edge);background:#0a101e99;transition:all .3s}.lp-clouds span.on{color:#fff;border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:0 0 18px -4px var(--c)}.lp-tile{fill:#f8fafc;stroke:#94a3b859}.lp-label{font:500 10px Inter,system-ui,sans-serif;fill:#cbd5e1;text-anchor:middle}.lp-label.side{text-anchor:start;font-size:9.5px;fill:#94a3b8}.lp-edge{fill:none;stroke:#64748b;stroke-width:1.8;stroke-dasharray:100;stroke-linecap:round}.lp-packet{filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 8px rgba(56,189,248,.8))}.lp-cursor{fill:#fff;stroke:#0f172a;stroke-width:.8;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.lp-group{transition:opacity .4s,stroke .4s}.lp-group-label{transition:opacity .4s}.lp-window.lp-code{opacity:0;transform:translateY(16px) scale(.98);transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1);animation:none}.lp-window.lp-code.show{opacity:1;transform:none}.lp-code pre{min-height:190px}.lp-code .l{opacity:1!important;animation:none!important}.lp-code .caret{display:inline-block;width:7px;height:14px;margin-left:1px;vertical-align:-2px;background:#93c5fd;animation:lp-blink .9s steps(1) infinite}@keyframes lp-blink{50%{opacity:0}}.lp-win-bar em{margin-left:auto;font-style:normal;font-size:10.5px;color:#fbbf24}.lp-win-bar em.ok{color:var(--ok)}.lp-arrow{opacity:0;transform:translateY(8px) scale(.9);transition:opacity .35s,transform .35s cubic-bezier(.2,.9,.3,1.4);animation:none}.lp-arrow.show{opacity:1;transform:none}.lp-arrow.show b{animation:lp-ping 1.6s ease-out 1}@keyframes lp-ping{0%{box-shadow:0 0 #34d399b3}to{box-shadow:0 0 0 14px #34d39900}}@media (prefers-reduced-motion: reduce){.lp-preview{transform:none}.lp-code .caret{display:none}}.lp-window.lp-code{top:232px}.lp-preview{padding-bottom:200px}.hm .modal{color:#0f172a;color-scheme:light}.hd{display:grid;grid-template-columns:248px minmax(0,1fr);height:100vh;min-height:0;overflow:hidden}.hd-side{position:relative;z-index:3;display:flex;flex-direction:column;gap:4px;padding:18px 14px 14px;border-right:1px solid var(--edge);background:#05080fb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow-y:auto}.hd-side .hm-brand{padding:2px 6px 16px}.hd-new{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;margin-bottom:14px;border-radius:10px;border:1px solid #3b82f6;background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;font:600 13.5px Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 24px -10px #2563ebcc}.hd-new:hover:not(:disabled){filter:brightness(1.08)}.hd-nav{display:grid;gap:2px}.hd-nav button{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--fg-2);font:500 13.5px Inter,system-ui,sans-serif;cursor:pointer;text-align:left}.hd-nav button svg{width:17px;height:17px;flex:none;opacity:.85}.hd-nav button span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-nav button em{font-style:normal;font-size:11px;font-weight:600;color:var(--fg-3);background:#94a3b81f;border-radius:999px;padding:1px 7px}.hd-nav button:hover:not(:disabled){color:var(--fg);background:#94a3b814}.hd-nav button.on{color:var(--fg);background:#3b82f629;box-shadow:inset 2px 0 #3b82f6}.hd-side-label{margin:16px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--fg-3)}.hd-side-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--edge)}.hd-main{position:relative;z-index:1;overflow-y:auto;min-width:0}.hd-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px clamp(16px,3vw,36px);background:#05080fb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--edge)}.hd-top h1{margin:0;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.6px;font-weight:700;color:#f8fafc}.hd-top p{margin:4px 0 0;color:var(--fg-2);font-size:13.5px}.hd-top .hm-search{width:280px}.hd-body{max-width:1800px;margin:0 auto;padding:26px clamp(16px,3vw,36px) 56px}.hd-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:0;margin-bottom:18px;border-radius:18px;overflow:hidden;border:1px solid rgba(96,165,250,.3);background:linear-gradient(135deg,#1e3a8a59,#0e1627eb 55%);box-shadow:0 30px 60px -30px #2563eb8c}.hd-hero.empty{grid-template-columns:1fr}.hd-hero-pv{position:relative;min-height:300px;border:0;padding:0;cursor:pointer;border-right:1px solid var(--edge);background:linear-gradient(rgba(96,165,250,.08) 1px,transparent 1px) 0 0 / 20px 20px,linear-gradient(90deg,rgba(96,165,250,.08) 1px,transparent 1px) 0 0 / 20px 20px,radial-gradient(120% 120% at 0% 0%,#10264b,#0a1222 70%)}.hd-hero-pv .pv{position:absolute;top:22px;right:22px;bottom:22px;left:22px;width:calc(100% - 44px);height:calc(100% - 44px)}.hd-hero-pv .pv-loading{top:22px;right:22px;bottom:22px;left:22px}.hd-hero-pv:hover{filter:brightness(1.08)}.hd-hero-info{padding:26px 28px;display:flex;flex-direction:column;gap:6px;min-width:0}.hd-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#93c5fd;letter-spacing:.2px}.hd-eyebrow svg{width:15px;height:15px}.hd-hero-info h2{margin:4px 0 0;font-size:24px;letter-spacing:-.5px;color:#f8fafc;overflow:hidden;text-overflow:ellipsis}.hd-hero-info .muted{margin:0;color:var(--fg-3);font-size:13px}.hd-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 6px}.hd-kpis div{padding:10px 12px;border-radius:11px;background:#02061773;border:1px solid var(--edge);min-width:0}.hd-kpis b{display:block;font-size:19px;letter-spacing:-.3px;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hd-kpis span{font-size:11.5px;color:var(--fg-3)}.hd-bars{display:grid;gap:7px;margin:8px 0 4px}.hd-bar{display:grid;grid-template-columns:96px minmax(0,1fr) 72px;align-items:center;gap:10px;font-size:12px;color:var(--fg-2)}.hd-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-bar i{height:7px;border-radius:99px;background:#94a3b824;overflow:hidden}.hd-bar s{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#3b82f6,#22d3ee)}.hd-bar b{text-align:right;font-weight:600;color:var(--fg)}.hd-hero-actions{display:flex;gap:10px;margin-top:auto;padding-top:14px;flex-wrap:wrap}.btn-cta{height:38px;padding:0 18px;border-radius:9px;border:1px solid #3b82f6;background:#2563eb;color:#fff;font:600 13.5px Inter,system-ui,sans-serif;cursor:pointer}.btn-cta:hover:not(:disabled){background:#1d4ed8}.hd-hero-actions .hm-ghost{height:38px}.hd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.hd-stats .hm-stat{min-width:0;padding:14px 16px}.hm-actions.hd-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:38px}.hd-actions .hm-action{flex-direction:row;align-items:center;gap:12px;min-height:0;padding:14px}.hd-actions .hm-action>span:last-child{display:grid;gap:3px;min-width:0}.hd-actions .hm-action .ic{flex:none}.hd-cost{color:var(--ok);font-weight:600}@media (max-width: 1180px){.hd-hero{grid-template-columns:1fr}.hd-hero-pv{min-height:240px;border-right:0;border-bottom:1px solid var(--edge)}.hm-actions.hd-actions,.hd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.hd{grid-template-columns:1fr;height:auto;overflow:visible;overflow-x:clip}.hd-side{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--edge);padding:12px 16px}.hd-side .hm-brand{padding:0;margin-right:auto}.hd-side .hd-nav,.hd-side-label{display:none}.hd-new{margin:0;height:34px;padding:0 12px}.hd-side-foot{margin:0;padding:0;border:0}.hd-main{overflow:visible}.hd-top .hm-search,.hd-top .hm-top-right{width:100%}}@media (max-width: 520px){.hm-actions.hd-actions{grid-template-columns:1fr}.hd-kpis{gap:6px}.hd-kpis b{font-size:16px}.hd-hero-info{padding:20px 18px}}.hm.hd[data-theme=light] .hd-side{background:#ffffffd1}.hm.hd[data-theme=light] .hd-top{background:#fffc}.hm.hd[data-theme=light] .hd-top h1,.hm.hd[data-theme=light] .hd-hero-info h2,.hm.hd[data-theme=light] .hd-kpis b{color:#0f172a}.hm.hd[data-theme=light] .hd-nav button:hover:not(:disabled){background:#0f172a0d}.hm.hd[data-theme=light] .hd-nav button.on{background:#eff6ff;color:#1d4ed8}.hm.hd[data-theme=light] .hd-hero{background:linear-gradient(135deg,#eff6ff,#fff 55%);border-color:#bfdbfe;box-shadow:0 24px 50px -30px #2563eb59}.hm.hd[data-theme=light] .hd-hero-pv{background:linear-gradient(rgba(37,99,235,.07) 1px,transparent 1px) 0 0 / 20px 20px,linear-gradient(90deg,rgba(37,99,235,.07) 1px,transparent 1px) 0 0 / 20px 20px,#f8fbff}.hm.hd[data-theme=light] .hd-kpis div{background:#fff}.hm.hd[data-theme=light] .hd-eyebrow{color:#2563eb}.hm.hd[data-theme=light] .hd-side-foot .hm-chip{background:#fff}
