/* scoped from docs/saas-launch/design/static/Main.html by app/tools/board_css.py — do not edit by hand */
.ex.pg-Main{--solid:#0f0f0f;--on-solid:#f2f2ef;--plane:#f2f2ef;--surface:#fff;--surface-2:#f7f7f4;--surface-3:#ecece7;--ink:#0f0f0f;--ink-2:#52525b;--ink-3:#6b6b66;--border:#e3e3dd;--border-strong:#cfcfc8;--act:#f5dd1e;--commit:#2f5bff;--good:#1f8a4c;
 font-family:'Geist',system-ui,sans-serif;color:var(--ink);background:var(--plane)}
.ex.pg-Main.dark{--solid:#2c2c31;--on-solid:#f2f2ef;--plane:#121214;--surface:#1c1c1f;--surface-2:#242428;--surface-3:#2c2c31;--ink:#f2f2ef;--ink-2:#c4c4ca;--ink-3:#a3a39d;--border:#2c2c31;--border-strong:#3a3a40;--commit:#7d97ff;--good:#4cc283}
.pg-Main .disp{font-family:'Plus Jakarta Sans','Geist',sans-serif}
.pg-Main .serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400}
.pg-Main .mono{font-family:'Geist Mono',ui-monospace,monospace}
.pg-Main .glassbar{background:rgba(255,255,255,0.62);border:1px solid rgba(255,255,255,0.8);backdrop-filter:blur(16px) saturate(1.4)}
.pg-Main:where(.dark) .glassbar{background:rgba(28,28,31,0.62);border:1px solid var(--border-strong)}
.ex.pg-Main.dark .glassbar{background:rgba(28,28,31,0.7);border-color:var(--border-strong)}
.pg-Main .ibtn{position:relative;width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);cursor:pointer;transition:transform .12s ease-out,background .12s}
.pg-Main .ibtn:hover{transform:translateY(-1px);background:var(--surface-2)}
.pg-Main .chip{font:500 13px 'Geist',sans-serif;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:transform .12s ease-out,border-color .12s}
.pg-Main .chip:hover{transform:translateY(-1px);border-color:var(--border-strong)}
.pg-Main .btn-dark{display:inline-flex;align-items:center;gap:8px;padding:9px 10px 9px 16px;border-radius:999px;border:0;background:var(--solid);color:var(--on-solid);font:600 13px 'Geist',sans-serif;cursor:pointer;text-decoration:none;transition:transform .12s ease-out,box-shadow .2s}
.pg-Main .btn-dark .arr{width:24px;height:24px;border-radius:50%;background:var(--act);color:#0f0f0f;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.pg-Main .btn-dark:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(15,15,15,.6)}
.pg-Main .btn-dark:hover .arr{transform:translateX(3px) rotate(-45deg)}
.pg-Main .word{background:linear-gradient(100deg,#0f0f0f 0%,#c98a00 35%,#ff8a3d 50%,#c98a00 65%,#0f0f0f 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine--Main 5s ease-in-out infinite}
.ex.pg-Main.dark .word{background-image:linear-gradient(100deg,#f2f2ef 0%,#f5dd1e 35%,#ff9a3d 50%,#f5dd1e 65%,#f2f2ef 100%)}
@keyframes shine--Main{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.pg-Main .squig path{stroke-dasharray:220;stroke-dashoffset:220;animation:draw--Main 1.2s .4s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes draw--Main{to{stroke-dashoffset:0}}
.pg-Main .pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--good);display:inline-block}
.pg-Main .pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--good);opacity:0;animation:ping--Main 1.8s ease-out infinite}
@keyframes ping--Main{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.6);opacity:0}}
.pg-Main .rail{height:4px;border-radius:99px;background:var(--surface-3);position:relative;overflow:hidden}
.pg-Main .rail i{position:absolute;inset:0 22% 0 0;border-radius:99px;background:linear-gradient(90deg,#f5dd1e,#ff9a3d,#2f5bff,#f5dd1e);background-size:300% 100%;animation:flow--Main 4s linear infinite}
@keyframes flow--Main{to{background-position:-300% 0}}
.pg-Main .node{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 11px 'Geist Mono',monospace;border:2px solid var(--plane);flex:none}
.pg-Main .col{display:flex;flex-direction:column;gap:10px;min-width:0}
.pg-Main .cr{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:10px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 0 rgba(15,15,15,.03);transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s,border-color .16s;animation:rise--Main .4s cubic-bezier(.2,.8,.2,1) both;cursor:pointer}
.pg-Main .cr:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(15,15,15,.45);border-color:var(--border-strong)}
@keyframes rise--Main{from{transform:translateY(8px);opacity:.001}}
.pg-Main .th{position:relative;width:44px;height:72px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pg-Main .th svg{opacity:0;transition:opacity .15s}
.pg-Main .cr:hover .th svg{opacity:1}
.pg-Main .tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;width:max-content}
.pg-Main .bar{height:4px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-top:6px}
.pg-Main .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--commit),#7d97ff,var(--commit));background-size:200% 100%;animation:flow--Main 1.6s linear infinite}
.pg-Main .cost{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(15,15,15,.1);font:600 12px 'Geist',sans-serif}
.pg-Main .now{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);line-height:1.35}
.pg-Main .now svg{flex:none}
.pg-Main .meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}
.pg-Main .av{width:16px;height:16px;border-radius:50%;flex:none}
.pg-Main .steps{display:flex;gap:3px}
.pg-Main .steps i{width:14px;height:4px;border-radius:2px;background:var(--surface-3)}
.pg-Main .steps i.d{background:#ff9a3d}
.pg-Main .steps i.c{background:linear-gradient(90deg,#ff9a3d,#f5dd1e);background-size:200% 100%;animation:flow--Main 1.4s linear infinite}
.pg-Main .dock a{font:500 14px 'Geist',sans-serif;color:var(--ink-2);text-decoration:none;padding:10px 16px;border-radius:999px;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.pg-Main .dock a:hover{transform:scale(1.08)}
.pg-Main .dock a.on{background:var(--solid);color:var(--on-solid)}
.pg-Main .dock a.new{background:var(--act);color:#0f0f0f;font-weight:700}
@media (prefers-reduced-motion:reduce){.pg-Main .word,.pg-Main .squig path,.pg-Main .pulse::after,.pg-Main .rail i,.pg-Main .bar i,.pg-Main .cr{animation:none!important}
.pg-Main .squig path{stroke-dashoffset:0}}
.pg-Main .dk2{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:6px;border-radius:26px;background:rgba(18,18,20,.82);border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 50px -18px rgba(15,15,15,.6),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);z-index:8;animation:dkin--Main .6s cubic-bezier(.34,1.56,.64,1) both}
@keyframes dkin--Main{from{transform:translateX(-50%) translateY(24px);opacity:0}}
.pg-Main .dk2 a{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;box-sizing:border-box;padding:8px 10px 7px;border-radius:20px;text-decoration:none;color:rgba(242,242,239,.6);font:500 11.5px 'Geist',sans-serif;transition:color .2s,background .25s cubic-bezier(.2,.8,.2,1)}
.pg-Main .dk2 a svg{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.pg-Main .dk2 a:hover{color:#fff;background:rgba(255,255,255,.07)}
.pg-Main .dk2 a:hover svg{transform:translateY(-3px) scale(1.15)}
.pg-Main .dk2 a.on{color:#fff;background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.pg-Main .dk2 a.on::after{content:"";position:absolute;bottom:-3px;left:50%;width:18px;height:3px;border-radius:3px;transform:translateX(-50%);background:#f5dd1e;box-shadow:0 0 10px 2px rgba(245,221,30,.7)}
.pg-Main .dk2 .bd{position:absolute;top:3px;right:16px;min-width:17px;height:17px;padding:0 4px;box-sizing:border-box;border-radius:99px;background:#ff8a3d;color:#fff;font:700 10px 'Geist',sans-serif;display:flex;align-items:center;justify-content:center;border:2px solid #18181a;animation:bdp--Main 2.4s ease-in-out infinite}
@keyframes bdp--Main{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.pg-Main .dk2 .sep{width:1px;height:30px;background:rgba(255,255,255,.12);margin:0 4px}
.pg-Main .dk2 .newb{position:relative;margin:-22px 6px 0;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:0;background:none;color:#f5dd1e;font-weight:600}
.pg-Main .dk2 .newb:hover{background:none}
.pg-Main .dk2 .newb .c{position:relative;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7c2,#f5dd1e 55%,#f0b400);color:#0f0f0f;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px -8px rgba(245,180,30,.9),0 0 0 5px rgba(18,18,20,.9);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.pg-Main .dk2 .newb .c::before{content:"";position:absolute;inset:-9px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 60%,rgba(245,221,30,.9) 75%,rgba(255,154,61,.9) 85%,transparent 100%);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));animation:spin--Main 3.2s linear infinite}
@keyframes spin--Main{to{transform:rotate(360deg)}}
.pg-Main .dk2 .newb:hover .c{transform:translateY(-3px) scale(1.06)}
.pg-Main .dk2 .newb svg{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.pg-Main .dk2 .newb:hover svg{transform:rotate(90deg)}
.pg-Main .dk2 .newb.on .c{box-shadow:0 12px 30px -6px rgba(245,180,30,1),0 0 0 5px rgba(18,18,20,.9),0 0 0 7px #f5dd1e}
@media (prefers-reduced-motion:reduce){.pg-Main .dk2,.pg-Main .dk2 .bd,.pg-Main .dk2 .newb .c::before{animation:none!important}
.pg-Main .dk2 a svg,.pg-Main .dk2 .newb svg,.pg-Main .dk2 .newb .c{transition:none}}
.pg-Main .p-sw{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.pg-Main .p-sw button{display:inline-flex;align-items:center;gap:7px;padding:3px 8px 3px 3px;border-radius:9px;border:0;background:transparent;font:600 13px 'Geist',sans-serif;color:var(--ink);cursor:pointer;white-space:nowrap}
.pg-Main .p-sw button.pr{background:var(--surface);box-shadow:0 1px 2px rgba(15,15,15,.08)}
.pg-Main .p-sw .sl{color:var(--ink-3);font-weight:400}
.pg-Main .p-mini{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:#fff4d6;overflow:hidden}
.pg-Main:where(.dark) .p-mini{background:#3a3220;color:var(--ink)}
.pg-Main .p-stage{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:22px;height:250px;width:100%}
.pg-Main .p-stage::before{content:"";position:absolute;left:50%;bottom:6px;width:420px;height:70px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(15,15,15,.16),transparent);filter:blur(4px)}
.pg-Main .p-it{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.pg-Main .p-it.side{opacity:.55;transform:scale(.72) translateY(26px);filter:saturate(.7)}
.pg-Main .p-it.side:hover{opacity:.9;transform:scale(.78) translateY(20px)}
.pg-Main .p-it .img{position:relative;display:flex;align-items:flex-end;justify-content:center}
.pg-Main .p-it.cur .img{animation:pfloat--Main 4s ease-in-out infinite}
@keyframes pfloat--Main{50%{transform:translateY(-8px)}}
.pg-Main .p-it.cur .img::after{content:"";position:absolute;inset:-30px;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(245,221,30,.55),transparent 70%)}
.pg-Main .p-it .nm{font:600 13px Geist,sans-serif;color:var(--ink);white-space:nowrap}
.pg-Main .p-it.cur .nm{font:700 15px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em}
.pg-Main .p-arrow{position:absolute;top:50%;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 8px 20px -12px rgba(15,15,15,.4)}
.pg-Main .p-add{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.75;transform:translateY(-10px)}
.pg-Main .p-add span.b{width:64px;height:64px;border-radius:20px;border:1.5px dashed var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:var(--ink-3);background:var(--surface)}
.pg-Main .p-add small{font:600 12px Geist,sans-serif;color:var(--ink-3)}
.pg-Main .p-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.pg-Main .p-meta span{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:var(--surface);border:1px solid var(--border);font:500 12.5px Geist,sans-serif;color:var(--ink-2);white-space:nowrap}
.pg-Main .p-meta b{color:var(--ink)}
.pg-Main .p-focus{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:99px;background:#fff8d6;border:1px solid #f3e08a;font:500 12.5px Geist,sans-serif;color:#5e5400;white-space:nowrap}
.pg-Main:where(.dark) .p-focus{background:#36321e;color:#f3e08a}
.pg-Main .p-focus a{padding:4px 10px;border-radius:99px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600}
.pg-Main .ps{position:relative;width:min(740px,100%);border-radius:30px;padding:16px 18px 18px;box-sizing:border-box;background:radial-gradient(55% 80% at 50% 100%,rgba(245,221,30,.20),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.45));border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 60px -38px rgba(15,15,15,.45),inset 0 1px 0 #fff;backdrop-filter:blur(14px)}
.pg-Main:where(.dark) .ps{background:radial-gradient(55% 80% at 50% 100%,rgba(245,221,30,.20),transparent 70%),linear-gradient(180deg,rgba(28,28,31,0.82),rgba(28,28,31,0.45));border:1px solid var(--border-strong)}
.pg-Main .ps-top{display:flex;align-items:center;gap:10px}
.pg-Main .ps-top .lb{font:600 11px Geist,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.pg-Main .ps-top .add{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:99px;border:1px dashed var(--border-strong);background:transparent;font:600 12px Geist,sans-serif;color:var(--ink-2);cursor:pointer}
.pg-Main .ps-row{position:relative;display:grid;grid-template-columns:40px 1fr 1.25fr 1fr 40px;align-items:end;gap:8px;margin-top:4px}
.pg-Main .ps-it{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer}
.pg-Main .ps-it .img{position:relative;height:172px;display:flex;align-items:flex-end;justify-content:center}
.pg-Main .ps-it .img::after{content:"";position:absolute;bottom:-7px;left:50%;width:90px;height:14px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(15,15,15,.22),transparent)}
.pg-Main .ps-it .img svg{position:relative;z-index:1;filter:drop-shadow(0 10px 14px rgba(15,15,15,.14));transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.pg-Main .ps-it.side .img svg{opacity:.72;filter:saturate(.75) drop-shadow(0 8px 10px rgba(15,15,15,.1))}
.pg-Main .ps-it.side:hover .img svg{opacity:1;transform:translateY(-4px)}
.pg-Main .ps-it.cur .img::before{content:"";position:absolute;bottom:-10px;left:50%;width:210px;height:210px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(245,221,30,.28) 60%,transparent 72%)}
.pg-Main:where(.dark) .ps-it.cur .img::before{background:radial-gradient(closest-side,rgba(28,28,31,0.95),rgba(245,221,30,.28) 60%,transparent 72%)}
.pg-Main .ps-it.cur .img::after{width:120px;height:18px}
.pg-Main .ps-it.cur .img svg{animation:psf--Main 4.5s ease-in-out infinite}
@keyframes psf--Main{50%{transform:translateY(-5px)}}
.pg-Main .ps-nm{display:flex;align-items:center;gap:7px;font:500 12.5px Geist,sans-serif;color:var(--ink-3);white-space:nowrap}
.pg-Main .ps-it.cur .ps-nm{font:700 15px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;color:var(--ink)}
.pg-Main .ps-nm .pr{font:600 11px Geist,sans-serif;padding:2px 7px;border-radius:99px;background:var(--solid);color:var(--act);letter-spacing:0}
.pg-Main .ps-ar{align-self:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 8px 18px -12px rgba(15,15,15,.45);margin-bottom:34px}
.pg-Main .ps-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.pg-Main .ps-dots i{width:6px;height:6px;border-radius:99px;background:var(--border-strong)}
.pg-Main .ps-dots i.on{width:20px;background:var(--ink)}
@media (prefers-reduced-motion:reduce){.pg-Main .ps-it.cur .img svg{animation:none}}
