.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}html:has(.landing){scroll-behavior:smooth;scroll-padding-top:88px}.landing{--lp-max:1180px;--lp-gutter:clamp(20px, 5vw, 40px);min-height:100dvh;color:var(--text);background:radial-gradient(70% 48% at 50% -6%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 70%), radial-gradient(40% 30% at 92% 34%, color-mix(in srgb, var(--sky) 6%, transparent), transparent 70%), var(--bg);position:relative;overflow-x:clip}.landing:before{content:"";pointer-events:none;background-image:linear-gradient(to right, color-mix(in srgb, var(--text) 4%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--text) 4%, transparent) 1px, transparent 1px);background-size:64px 64px;height:1100px;position:absolute;inset:0 0 auto;-webkit-mask-image:radial-gradient(60% 55% at 50% 0,#000 0%,#0000 100%);mask-image:radial-gradient(60% 55% at 50% 0,#000 0%,#0000 100%)}.lp-wrap{width:100%;max-width:calc(var(--lp-max) + var(--lp-gutter) * 2);padding:0 var(--lp-gutter);margin:0 auto;position:relative}.landing h1,.landing h2,.landing h3{font-family:var(--display-font);color:var(--text);margin:0}.landing p{margin:0}.lp-nav{z-index:20;padding-top:var(--safe-t);transition:background var(--t-med), border-color var(--t-med), backdrop-filter var(--t-med);border-bottom:1px solid #0000;position:sticky;top:0}.lp-nav.is-scrolled{background:color-mix(in srgb, var(--bg) 72%, transparent);border-bottom-color:var(--border);-webkit-backdrop-filter:blur(18px)saturate(1.4)}.lp-nav-in{align-items:center;gap:24px;height:68px;display:flex}.lp-brand{border-radius:10px;text-decoration:none;display:inline-flex}.lp-mark{color:inherit;padding:2px 4px;font-size:30px;display:inline-block}.lp-links{gap:4px;margin:0 auto;display:flex}.lp-links a{color:var(--text-muted);transition:color var(--t-fast), background var(--t-fast);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none}.lp-links a:hover{color:var(--text);background:var(--hi)}.lp-nav-cta{gap:8px;display:flex}.lp-hero{padding:clamp(56px,10vh,112px) 0 0;position:relative}.lp-hero-text{text-align:center;flex-direction:column;align-items:center;display:flex}.lp-pill{border:1px solid var(--border-strong);background:var(--glass);-webkit-backdrop-filter:blur(12px);color:var(--text-muted);border-radius:999px;align-items:center;gap:10px;padding:7px 14px 7px 12px;font-size:13px;font-weight:500;display:inline-flex}.lp-live{background:var(--success);border-radius:50%;width:8px;height:8px;position:relative}.lp-live:after{content:"";border:1.5px solid var(--success);opacity:0;animation:lp-ping 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:-4px}@keyframes lp-ping{0%{opacity:.8;transform:scale(.5)}80%,to{opacity:0;transform:scale(1.6)}}.lp-hero h1{letter-spacing:-.045em;text-wrap:balance;margin-top:28px;font-size:clamp(44px,7.4vw,92px);font-weight:600;line-height:.98}.lp-grad{background:linear-gradient(100deg, var(--primary) 10%, color-mix(in srgb, var(--primary) 45%, var(--text)) 55%, var(--sky) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em}.lp-lede{max-width:600px;color:var(--text-muted);text-wrap:pretty;font-size:clamp(16px,1.6vw,19px);line-height:1.55;margin-top:24px!important}.lp-prompt{border:1px solid var(--border-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(20px)saturate(1.3);width:min(600px,100%);box-shadow:inset 0 1px 0 var(--hi), var(--elev-2), 0 0 0 6px color-mix(in srgb, var(--primary) 6%, transparent);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform var(--t-med) var(--ease), box-shadow var(--t-med);border-radius:18px;align-items:center;gap:12px;margin-top:36px;padding:8px 8px 8px 18px;display:flex}.lp-prompt:hover{box-shadow:inset 0 1px 0 var(--hi), var(--elev-3), 0 0 0 6px color-mix(in srgb, var(--primary) 12%, transparent);transform:translateY(-2px)}.lp-prompt>.ic{width:20px;height:20px;color:var(--primary);flex:none}.lp-prompt-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;overflow:hidden}.lp-prompt-pre{color:var(--text-muted)}.lp-caret{vertical-align:-.18em;background:var(--primary);border-radius:2px;width:2px;height:1.1em;margin-left:2px;animation:1s step-end infinite lp-blink;display:inline-block}@keyframes lp-blink{50%{opacity:0}}.lp-prompt-go{background:var(--primary);height:44px;color:var(--primary-text);border-radius:12px;flex:none;align-items:center;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff2e}.lp-fine{color:var(--muted);font-size:13px;margin-top:16px!important}.lp-fine .link-btn{font-size:13px}.lp-hero-shot{perspective:2000px;margin-top:clamp(48px,8vh,80px)}.lp-frame{border:1px solid var(--border-strong);background:linear-gradient(180deg, color-mix(in srgb, var(--text) 6%, transparent), transparent 60%);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3), 0 -40px 160px -60px color-mix(in srgb, var(--primary) 45%, transparent);border-radius:30px;padding:10px;position:relative}.lp-frame:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg) 92%);pointer-events:none;border-radius:0 0 30px 30px;height:42%;position:absolute;inset:auto -2px -2px}.lp-frame .lp-shot{border-radius:21px}.lp-shot{background:var(--surface);border-radius:18px;width:100%;height:auto;display:block}.lp-section{padding:clamp(72px,12vh,140px) 0 0}.lp-eyebrow{color:var(--primary);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:500;display:inline-block}.landing h2{letter-spacing:-.04em;text-wrap:balance;margin-top:14px;font-size:clamp(32px,4.4vw,54px);font-weight:600;line-height:1.04}.lp-head{text-align:center;flex-direction:column;align-items:center;max-width:720px;margin:0 auto 48px;display:flex}.lp-head p,.lp-split-text>p{color:var(--text-muted);text-wrap:pretty;font-size:17px;line-height:1.6;margin-top:18px!important}.lp-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid}.lp-split.is-flipped{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.lp-split.is-flipped .lp-split-text{order:2}.lp-split-art{position:relative}.lp-float{border:1px solid var(--border-strong);box-shadow:var(--elev-3), 0 30px 120px -50px color-mix(in srgb, var(--primary) 40%, transparent)}.lp-build{max-width:1000px;margin:0 auto}.lp-build .lp-shot{border-radius:24px}.lp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px;margin:40px auto 0;padding:0;list-style:none;display:grid}.lp-steps li{flex-direction:column;gap:8px;padding:4px 8px;display:flex}.lp-step-n{border:1px solid var(--border-strong);background:var(--surface-2);width:32px;height:32px;color:var(--primary);font-family:var(--mono);border-radius:10px;flex:none;place-items:center;margin-bottom:6px;font-size:13px;font-weight:600;display:grid}.lp-steps h3{letter-spacing:-.02em;font-size:18px;font-weight:600}.lp-steps p{color:var(--text-muted);font-size:15px;line-height:1.55}.lp-bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.lp-card{border-radius:var(--r-panel);border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 88%, transparent), color-mix(in srgb, var(--surface) 80%, transparent));min-height:240px;box-shadow:inset 0 1px 0 var(--hi), var(--elev-1);transition:border-color var(--t-med), transform var(--t-med) var(--ease);flex-direction:column;gap:22px;padding:26px;display:flex;position:relative;overflow:hidden}.lp-card:hover{border-color:var(--border-strong)}.lp-span-2{grid-column:span 2}.lp-tall{grid-row:span 2}.lp-card-text{flex-direction:column;gap:10px;display:flex}.lp-ic{background:color-mix(in srgb, var(--primary) 14%, transparent);width:38px;height:38px;color:var(--primary);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.lp-ic .ic{width:19px;height:19px}.lp-card h3{letter-spacing:-.025em;font-size:19px;font-weight:600}.lp-card-body{color:var(--text-muted);max-width:560px;font-size:15px;line-height:1.55}.lp-sandbox{flex-direction:row;align-items:stretch;gap:32px;padding-bottom:0}.lp-sandbox .lp-card-text{flex:1;padding-bottom:26px}.lp-card-ticks{color:var(--text);flex-direction:column;gap:12px;margin-top:24px;display:flex}.lp-card-ticks>span{align-items:center;gap:12px;display:flex}.lp-card-ticks .ic{background:color-mix(in srgb, var(--primary) 16%, transparent);width:18px;height:18px;color:var(--primary);stroke-width:2.6px;border-radius:50%;flex:none;padding:3px}.lp-card-shot{border:1px solid var(--border-strong);object-fit:cover;object-position:top;aspect-ratio:760/900;width:min(300px,44%);box-shadow:var(--elev-2);border-bottom:0;border-radius:18px 18px 0 0;flex:none;align-self:flex-end;margin-top:24px}.lp-swatches{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.lp-swatches span{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:13px;display:inline-flex}.lp-swatches i{background:linear-gradient(135deg, var(--sw) 50%, var(--ac) 50%);width:22px;height:22px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 18%, transparent);border-radius:50%}.lp-mini-grid{grid-template-rows:34px 34px;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:auto;display:grid}.lp-mini-grid i{border:1px solid var(--border);background:var(--surface);border-radius:10px;position:relative}.lp-mini-grid i:first-child{grid-row:span 2}.lp-mini-grid i:nth-child(2){border-color:color-mix(in srgb, var(--primary) 60%, transparent);background:color-mix(in srgb, var(--primary) 12%, var(--surface));animation:lp-nudge 4s var(--ease) infinite;grid-column:span 2}.lp-mini-grid i:nth-child(2):after{content:"";border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);border-radius:0 0 3px;width:8px;height:8px;position:absolute;bottom:5px;right:5px}@keyframes lp-nudge{0%,to{transform:translate(0)}40%,60%{box-shadow:var(--elev-2);transform:translate(4px,-3px)}}.lp-spaces{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex-wrap:wrap;gap:6px;width:fit-content;margin-top:auto;padding:5px;display:flex}.lp-spaces span{color:var(--text-muted);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}.lp-spaces span.is-on{background:var(--surface-3);color:var(--text)}.lp-compare{--pos:50%;border:1px solid var(--border-strong);box-shadow:var(--elev-3);-webkit-user-select:none;user-select:none;border-radius:28px;position:relative;overflow:hidden}.lp-compare .lp-shot{border-radius:0}.lp-compare-top{clip-path:inset(0 calc(100% - var(--pos)) 0 0);position:absolute;inset:0}.lp-compare-line{top:0;bottom:0;left:var(--pos);pointer-events:none;background:#ffffffd9;width:2px;margin-left:-1px;position:absolute;box-shadow:0 0 24px #0006}.lp-compare-line span{color:#1a1d1a;width:44px;height:44px;transition:transform var(--t-fast) var(--ease);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 24px #00000059}.lp-compare:hover .lp-compare-line span{transform:translate(-50%,-50%)scale(1.08)}.lp-compare-line svg{width:20px;height:20px}.lp-compare-range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.lp-compare-range:focus-visible+.lp-compare-tag{outline:2px solid var(--primary);outline-offset:3px}.lp-compare:has(.lp-compare-range:focus-visible) .lp-compare-line span{outline:2px solid var(--primary);outline-offset:3px}.lp-compare-tag{color:#fff;letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);pointer-events:none;background:#0000008c;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;position:absolute;top:18px}.lp-compare-tag.left{left:18px}.lp-compare-tag.right{right:18px}.lp-ticks{flex-direction:column;gap:12px;margin:28px 0 0;padding:0;list-style:none;display:flex}.lp-ticks li,.lp-plan li{color:var(--text);align-items:center;gap:12px;font-size:15px;display:flex}.lp-ticks .ic,.lp-plan li .ic{background:color-mix(in srgb, var(--primary) 16%, transparent);width:18px;height:18px;color:var(--primary);stroke-width:2.6px;border-radius:50%;flex:none;padding:3px}.lp-phone-wrap{justify-content:center;display:flex}.lp-phone{border:1px solid var(--border-strong);background:linear-gradient(160deg, color-mix(in srgb, var(--text) 12%, var(--surface-2)), var(--surface));width:min(320px,78vw);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3), 0 40px 140px -50px color-mix(in srgb, var(--primary) 50%, transparent);transition:transform var(--t-slow) var(--ease);border-radius:52px;padding:10px;position:relative;transform:rotate(-3deg)}.lp-phone:hover{transform:rotate(0)translateY(-4px)}.lp-phone .lp-shot{border-radius:42px}.lp-pricing{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.lp-plan{border-radius:var(--r-panel);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 70%, transparent);box-shadow:inset 0 1px 0 var(--hi), var(--elev-1);flex-direction:column;gap:24px;padding:28px;display:flex}.lp-plan.is-featured{border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 70%), color-mix(in srgb, var(--surface-2) 85%, transparent);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3), 0 30px 90px -50px var(--primary)}.lp-plan h3{color:var(--text-muted);letter-spacing:-.01em;font-size:15px;font-weight:600}.lp-price{align-items:baseline;gap:8px;margin-top:10px;display:flex}.lp-amount{font-family:var(--display-font);letter-spacing:-.05em;font-size:48px;font-weight:600;line-height:1}.lp-per{color:var(--muted);font-size:14px}.lp-plan ul{flex-direction:column;flex:1;gap:12px;margin:0;padding:0;list-style:none;display:flex}.lp-plan li{align-items:flex-start;font-size:14px;line-height:1.4}.lp-plan .btn{width:100%;min-height:46px}.lp-final{padding-bottom:clamp(80px,14vh,160px)}.lp-final .lp-wrap{text-align:center;flex-direction:column;align-items:center;display:flex}.lp-final .lp-wrap:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--primary) 18%, transparent), transparent);filter:blur(20px);position:absolute;inset:-60% 10% -20%}.lp-final p{color:var(--text-muted);margin-top:16px;font-size:18px}.lp-big{border-radius:16px;min-height:54px;margin-top:32px;padding:0 28px;font-size:16px}.lp-footer{border-top:1px solid var(--border);padding:28px 0 calc(28px + var(--safe-b));color:var(--muted);font-size:13px}.lp-footer-in{align-items:center;gap:16px;display:flex}.lp-footer .lp-mark{padding:0;font-size:22px}.lp-footer .link-btn{margin-left:auto;font-size:13px}.lp-rise{animation:lp-rise .9s var(--ease) both;animation-delay:var(--d,0s)}@keyframes lp-rise{0%{opacity:0;filter:blur(6px);transform:translateY(16px)}}.lp-hero-shot.lp-rise{animation-name:lp-rise-shot;animation-duration:1.3s}@keyframes lp-rise-shot{0%{opacity:0;transform:translateY(48px)rotateX(10deg)scale(.97)}}[data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:var(--d,0s);transform:translateY(24px)}[data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html:has(.landing){scroll-behavior:auto}.landing *,.landing :before,.landing :after{transition:none!important;animation:none!important}[data-reveal]{opacity:1;transform:none}}@media (width<=960px){.lp-links{display:none}.lp-nav-cta{margin-left:auto}.lp-split,.lp-split.is-flipped{grid-template-columns:1fr}.lp-split.is-flipped .lp-split-text{order:0}.lp-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-tall{grid-row:auto}.lp-steps{grid-template-columns:1fr;max-width:520px}.lp-pricing{grid-template-columns:1fr;max-width:480px;margin:0 auto}}@media (width<=640px){.lp-nav-cta .btn-ghost{display:none}.lp-bento{grid-template-columns:1fr}.lp-span-2{grid-column:auto}.lp-sandbox{flex-direction:column}.lp-sandbox .lp-card-text{padding-bottom:0}.lp-card-shot{align-self:center;width:min(300px,100%)}.lp-prompt-pre{display:none}.lp-prompt-go{padding:0 14px}.lp-frame{border-radius:34px;max-width:360px;max-height:520px;margin:0 auto;padding:6px;overflow:hidden}.lp-frame .lp-shot{border-radius:28px}.lp-compare{border-radius:18px}.lp-compare-line span{width:36px;height:36px}}@font-face{font-family:Geist;src:url(/fonts/geist.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--surface-3:color-mix(in srgb, var(--text) 9%, var(--surface-2));--border-strong:var(--line-strong);--text-faint:var(--muted);--accent:var(--sky);--hover:color-mix(in srgb, var(--text) 6%, transparent);--field:color-mix(in srgb, var(--surface-2) 70%, transparent);--primary-soft:color-mix(in srgb, var(--primary) 16%, transparent);--control-h:36px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (pointer:coarse){:root{--control-h:44px}}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--surface);color:var(--text);font-family:var(--font);font-size:var(--text-md);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;line-height:1.5}#root{gap:var(--space-3);min-height:100%;padding:var(--space-1) 16px 16px;flex-direction:column;display:flex}:where(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0}:where(ul,ol){padding:0;list-style:none}:where(a){color:var(--primary);text-decoration:none}:where(a):hover{text-underline-offset:2px;text-decoration:underline}:where(hr),.divider{background:var(--border);border:0;flex:none;height:1px;margin:0}:where(svg){flex:none}[hidden]{display:none!important}.stack{gap:var(--space-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.row.between,.between{justify-content:space-between}.wrap{flex-wrap:wrap}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.fill{flex:1;min-height:0}.scroll{overscroll-behavior:contain;margin-right:calc(var(--space-2) * -1);padding-right:var(--space-2);overflow-y:auto}.gap-0{gap:0}.gap-sm{gap:var(--space-1)}.gap-md{gap:var(--space-3)}.gap-lg{gap:var(--space-4)}.grid-2,.grid-3,.grid-4{gap:var(--space-2);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.end{margin-top:auto}.title{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600;line-height:1.3}.eyebrow{font-size:var(--text-sm);letter-spacing:0;color:var(--text-muted);font-weight:550}.label{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.muted{color:var(--text-muted);font-size:var(--text-sm);line-height:1.45}.faint{color:var(--text-faint)}.display,.big-number{font-family:var(--font);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1.05}.big-number{font-size:32px}.display.sm{letter-spacing:-.025em;font-size:24px}.display.xl{font-size:52px}.unit{letter-spacing:0;color:var(--text-muted);margin-left:3px;font-size:13px;font-weight:500}.num,.mono{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:.92em}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-primary{color:var(--primary)}.text-accent{color:var(--accent)}.card{background:color-mix(in srgb, var(--text) 3.5%, transparent);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3)}.card.flat{border-color:#0000}.empty{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-3);text-align:center;color:var(--text-muted);font-size:var(--text-sm);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);flex-direction:column;display:flex}.empty-title{color:var(--text);font-size:var(--text-md);font-weight:600}.empty svg{width:22px;height:22px;margin-bottom:var(--space-1);color:var(--text-faint)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--hover), color-mix(in srgb, var(--text) 11%, transparent), var(--hover));background-size:200% 100%;min-height:12px;animation:1.4s linear infinite kit-shimmer}:where(button){font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}:where(button:not([class])),.btn{appearance:none;min-height:var(--control-h);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-2) 80%, transparent);color:var(--text);font:inherit;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .15s, border-color .15s, color .15s, transform .1s var(--ease), box-shadow .15s;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:550;line-height:1;display:inline-flex}:where(button:not([class])):hover,.btn:hover{background:var(--surface-3)}:where(button:not([class])):active,.btn:active{transform:scale(.97)}:where(button:not([class])):disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn svg{width:16px;height:16px}.btn-danger{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border-color:#0000}.btn-sm{min-height:28px;font-size:var(--text-sm);border-radius:999px;padding:0 10px}.btn-lg{min-height:40px;padding:0 18px;font-size:14px}.btn-block{width:100%}.icon-btn{width:var(--control-h);padding:0;font-size:16px}.icon-btn.btn-sm{width:28px}.reveal{opacity:0;transition:opacity .15s}:hover>.reveal,:focus-within>.reveal,.reveal:focus-visible{opacity:1}@media (pointer:coarse){.reveal{opacity:1}}.seg{background:var(--field);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg>button{appearance:none;min-height:calc(var(--control-h) - 8px);color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;padding:0 12px;font-weight:550;transition:background .15s,color .15s}.seg>button:hover{color:var(--text)}.seg>button[aria-pressed=true],.seg>button.is-on{background:var(--surface-3);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb, var(--bg) 40%, transparent)}.seg.block{display:flex}.chip{appearance:none;border:1px solid var(--border);min-height:28px;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:550;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--border-strong)}.chip[aria-pressed=true],.chip.is-on{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 40%, transparent);color:var(--text)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),textarea,select),.input,.textarea,.select{width:100%;min-width:0;min-height:var(--control-h);font:inherit;color:var(--text);background:var(--field);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}:where(input,textarea)::placeholder,.input::placeholder,.textarea::placeholder{color:var(--text-faint)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),textarea,select):hover,.input:hover,.textarea:hover,.select:hover{border-color:var(--border-strong)}:where(input,textarea,select):focus,.input:focus,.textarea:focus,.select:focus{border-color:color-mix(in srgb, var(--primary) 65%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);outline:none}:where(textarea),.textarea{resize:none;min-height:80px;padding:10px 12px;line-height:1.55;display:block}.textarea.bare{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:15px}:where(select),.select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(-45deg, transparent 50%, var(--text-muted) 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}input[type=number]{-moz-appearance:textfield;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:where(input[type=date],input[type=time])::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.field{flex-direction:column;gap:6px;display:flex}input[type=checkbox],input[type=radio]{appearance:none;border:1.5px solid var(--border-strong);cursor:pointer;width:20px;height:20px;transition:background .15s, border-color .15s, transform .1s var(--ease);background:0 0;border-radius:6px;flex:none;place-content:center;margin:0;display:inline-grid}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--primary)}input[type=checkbox]:active,input[type=radio]:active{transform:scale(.9)}input[type=checkbox]:after{content:"";border:2px solid var(--primary-text);width:9px;height:5px;transition:transform .18s var(--ease);border-top:0;border-right:0;transform:rotate(-45deg)translate(1px,-1px)scale(0)}input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}input[type=radio]:after{content:"";background:var(--primary);width:8px;height:8px;transition:transform .18s var(--ease);border-radius:50%;transform:scale(0)}input[type=radio]:checked{border-color:var(--primary)}input[type=radio]:checked:after{transform:scale(1)}input[type=checkbox].toggle{background:var(--surface-3);border:0;border-radius:999px;place-content:center start;width:36px;height:22px;padding:3px}input[type=checkbox].toggle:after{background:var(--text);width:16px;height:16px;transition:transform .2s var(--ease), background .2s;border:0;border-radius:50%;transform:none}input[type=checkbox].toggle:checked{background:var(--primary)}input[type=checkbox].toggle:checked:after{background:var(--primary-text);transform:translate(14px)}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--surface-3);border-radius:999px;height:4px}input[type=range]::-moz-range-track{background:var(--surface-3);border-radius:999px;height:4px}input[type=range]::-moz-range-progress{background:var(--primary);border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary);width:16px;height:16px;box-shadow:0 0 0 4px var(--primary-soft);border:0;border-radius:50%;margin-top:-6px}input[type=range]::-moz-range-thumb{background:var(--primary);width:16px;height:16px;box-shadow:0 0 0 4px var(--primary-soft);border:0;border-radius:50%}:where(*):focus{outline:none}:where(button,a,input[type=checkbox],input[type=radio],input[type=range],[tabindex]:not([tabindex="-1"]),summary):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.list-item{align-items:center;gap:var(--space-3);min-height:var(--control-h);border-radius:var(--radius-sm);margin:0 -8px;padding:4px 6px 4px 8px;transition:background .15s,color .15s;display:flex}.list-item:hover{background:var(--hover)}.list-item.done{color:var(--text-faint)}.list-item.done .grow,.list-item.done .item-text{text-decoration:line-through;-webkit-text-decoration-color:var(--text-faint);text-decoration-color:var(--text-faint)}.list.divided{gap:0}.list.divided>.list-item{border-bottom:1px solid var(--border);border-radius:0;margin:0;padding-left:0;padding-right:0}.list.divided>.list-item:last-child{border-bottom:0}.list.divided>.list-item:hover{background:0 0}.badge{letter-spacing:.01em;white-space:nowrap;height:22px;color:var(--text-muted);background:var(--hover);border:0;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.primary{color:var(--primary);background:var(--primary-soft)}.badge.success{color:var(--success);background:color-mix(in srgb, var(--success) 14%, transparent)}.badge.warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, transparent)}.badge.danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.badge.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.progress{background:var(--surface-3);border-radius:999px;flex:none;width:100%;height:6px;overflow:hidden}.progress.lg{height:10px}.progress>.bar{border-radius:inherit;background:var(--primary);height:100%;transition:width .5s var(--ease)}.progress.success>.bar{background:var(--success)}.ring-wrap{--p:0;aspect-ratio:1;flex:none;width:clamp(84px,min(56vh,66vw),140px);position:relative}.ring{width:100%;height:100%;display:block;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:5px}.ring-track{stroke:var(--surface-3)}.ring-bar{stroke:var(--primary);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p) * 100);opacity:min(1, calc(var(--p) * 1000));transition:stroke-dashoffset .6s var(--ease)}.ring-label{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.stat{flex-direction:column;gap:4px;min-width:0;display:flex}.stat-value{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.1}.stat-label{font-size:var(--text-sm);color:var(--text-muted)}.dots{grid-template-columns:repeat(auto-fit,minmax(22px,1fr));gap:6px;display:grid}.dot{appearance:none;aspect-ratio:1;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;min-height:22px;transition:background .18s, border-color .18s, transform .12s var(--ease), box-shadow .18s;border-radius:8px;padding:0}.dot:hover{border-color:var(--border-strong)}.dot:active{transform:scale(.88)}.dot.is-on,.dot[aria-pressed=true]{background:var(--primary);border-color:#0000}.dot.is-today{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--text-muted) 55%, transparent)}.dot.is-on.is-today{box-shadow:none}.bars{align-items:flex-end;gap:4px;height:56px;display:flex}.bars>i{height:calc(max(var(--v,0), .04) * 100%);background:color-mix(in srgb, var(--primary) 35%, transparent);transition:height .5s var(--ease);border-radius:4px 4px 2px 2px;flex:1}.bars>i.is-on{background:var(--primary)}.kbd{border:1px solid var(--border-strong);font-family:var(--font-mono);color:var(--text-muted);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px;display:inline-block}.pop{animation:kit-pop .22s var(--ease)}.fade-in{animation:kit-in .3s var(--ease)}@keyframes kit-pop{40%{transform:scale(1.07)}}@keyframes kit-in{0%{opacity:0;transform:translateY(4px)}}@keyframes kit-shimmer{to{background-position:-200% 0}}@media (width<=300px),(height<=220px){#root{gap:var(--space-2);padding:var(--space-1) 14px 14px}.display{font-size:28px}.display.xl{font-size:40px}.big-number{font-size:28px}.hide-sm{display:none!important}.empty{padding:var(--space-2) var(--space-3);gap:2px}.empty svg{display:none}}@media (width>=520px) and (height>=320px){.display.xl{font-size:64px}}.sheet{z-index:20;gap:var(--space-3);padding:var(--space-1) 16px 16px;background:var(--surface);animation:kit-sheet .22s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.setting{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);min-height:40px;display:flex}.setting:last-child{border-bottom:0}.setting>:is(select,.select,input:not([type=checkbox])){width:auto;min-width:0;max-width:60%}.tools{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.tools .btn{color:var(--text-faint)}.tools .btn:hover,.tools .btn[aria-expanded=true]{color:var(--text)}@keyframes kit-sheet{0%{opacity:0;transform:translateY(8px)}}.show-lg{display:none}@media (width>=520px) and (height>=320px){.show-lg{display:revert}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--ui-font:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--display-font:var(--ui-font);--logo-font:"Text Me One", var(--ui-font);--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--t-fast:.16s;--t-med:.22s;--t-slow:.26s;--r-card:22px;--r-panel:28px;--r-ctl:12px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--pad-l:calc(40px + var(--safe-l));--pad-r:calc(40px + var(--safe-r));--pad-b:104px;--top-h:76px;--shadow-a:#00000038;--shadow-b:#0009;--fv-w:min(1140px, calc(100vw - 80px));--fv-h:min(720px, calc(100dvh - 64px));--fv-aside:344px;--fv-gap:20px;--fv-l:calc((100vw - var(--fv-w)) / 2);--fv-t:calc((100dvh - var(--fv-h)) / 2);--fv-tile-w:calc(var(--fv-w) - var(--fv-aside) - var(--fv-gap))}:root,.theme-prev{--surface-3:color-mix(in srgb, var(--surface-2), var(--text) 7%);--border-strong:var(--line-strong);--text-faint:var(--muted);--accent:var(--sky);--glow:color-mix(in srgb, var(--primary) 22%, transparent);--hi:color-mix(in srgb, var(--text) 5%, transparent);--glass:color-mix(in srgb, var(--surface) 80%, transparent);--glass-strong:color-mix(in srgb, var(--surface) 90%, transparent);--tile-bg:color-mix(in srgb, var(--surface) 82%, transparent);--elev-1:0 1px 2px var(--shadow-a);--elev-2:0 10px 30px -14px var(--shadow-b), 0 1px 3px var(--shadow-a);--elev-3:0 30px 80px -24px var(--shadow-b), 0 2px 10px -2px var(--shadow-a)}:root[data-scheme=light]{--shadow-a:#3c2d140f;--shadow-b:#3c2d143d;--hi:#ffffffb3;--glass:color-mix(in srgb, var(--surface) 80%, transparent);--glass-strong:color-mix(in srgb, var(--surface) 92%, transparent);--tile-bg:color-mix(in srgb, var(--surface) 88%, transparent);--glow:color-mix(in srgb, var(--primary) 14%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:not([data-scheme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scrollbar-gutter:stable;background:var(--bg);overscroll-behavior-x:none}body{background:var(--bg);color:var(--text);font-family:var(--ui-font);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}::selection{background:color-mix(in srgb, var(--primary) 32%, transparent)}h1,h2,h3,p{margin:0}:where(button,a,[tabindex]:not([tabindex="-1"]),summary):focus-visible{outline:2px solid var(--primary);outline-offset:3px;box-shadow:none}.ic{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}code{font-family:var(--mono);font-size:.92em}.backdrop{z-index:-1;pointer-events:none;background:radial-gradient(1100px 520px at 50% -260px, color-mix(in srgb, var(--primary) 9%, transparent), transparent 72%), var(--bg);transition:background var(--t-slow);position:fixed;inset:0}.btn{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 80%, transparent);min-height:40px;color:var(--text);white-space:nowrap;cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), transform .14s var(--ease), box-shadow var(--t-fast);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:550;line-height:1;display:inline-flex}.btn .ic{width:18px;height:18px}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:var(--primary-text);border-color:#0000;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #0003}.btn-primary:hover{background:color-mix(in srgb, var(--primary) 88%, var(--text));border-color:#0000}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text);border-color:#0000}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 32%, transparent);background:0 0}.btn-danger:hover{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.btn.sm{border-radius:999px;min-height:34px;padding:0 12px;font-size:13px}.btn.sm .ic{width:16px;height:16px}.btn.wide{width:100%}.text-danger,.btn-ghost.text-danger,.btn-ghost.text-danger:hover{color:var(--danger)}.icon-btn{appearance:none;width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), opacity var(--t-fast);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;font-size:15px;display:grid}.icon-btn:hover{background:color-mix(in srgb, var(--surface-3) 80%, transparent);color:var(--text)}.icon-btn.round{border-radius:999px}.link-btn{appearance:none;color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;font-weight:600;text-decoration:none}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}.input,.select,.textarea,.host-textarea{border-radius:var(--r-ctl);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-2) 70%, transparent);width:100%;min-height:42px;color:var(--text);padding:0 12px;font-size:15px}.textarea,.host-textarea{resize:vertical;padding:12px 14px;line-height:1.5}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px;padding-right:38px}.input::placeholder,.host-textarea::placeholder,.textarea::placeholder{color:var(--text-muted);opacity:.8}input:focus,textarea:focus,select:focus{border-color:color-mix(in srgb, var(--primary) 70%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent)}.eyebrow,.label{letter-spacing:0;text-transform:none;color:var(--text-muted);font-size:12px;font-weight:550}.label{margin:0 0 12px;display:block}.meta-mono{font-family:var(--ui-font);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px}.meta-note{color:var(--text-muted);align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.meta-note .ic{width:16px;height:16px}.muted-text{color:var(--text-muted);margin:0;font-size:13px}.tag,.pill{background:color-mix(in srgb, var(--text) 8%, transparent);height:24px;color:var(--text-muted);white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-flex}.tag.strong,.pill{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--text)}.pill.subtle{color:var(--text-muted);border:1px solid var(--border);background:0 0;margin-left:4px}.chip{appearance:none;border:1px solid var(--border-strong);min-height:36px;color:var(--text-muted);text-align:left;cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:500;line-height:1.3;display:inline-flex}.chip:hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent);border-color:var(--border-strong)}.chip.selected,.chip[aria-pressed=true]{color:var(--text);background:color-mix(in srgb, var(--primary) 16%, transparent);border-color:color-mix(in srgb, var(--primary) 55%, transparent)}.chip:disabled{opacity:.55;cursor:default}.chip-rec{color:var(--text-muted);border:1px solid var(--border-strong);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:550}.tabs{background:color-mix(in srgb, var(--text) 5%, transparent);border:1px solid var(--border);border-radius:14px;align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.tab{appearance:none;min-height:34px;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:13.5px;font-weight:550}.tab:hover{color:var(--text)}.tab.active,.tab[aria-selected=true]{background:var(--surface-3);color:var(--text);box-shadow:inset 0 1px 0 var(--hi), var(--elev-1)}.tab-badge{background:var(--danger);color:var(--primary-text);border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.notice{border:1px solid var(--border);background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:14px;padding:12px 14px;font-size:13.5px}.notice.warn{border-color:color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 8%, transparent)}.notice.error{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent);color:var(--danger)}.notice.ok{border-color:color-mix(in srgb, var(--success) 45%, transparent);background:color-mix(in srgb, var(--success) 8%, transparent)}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.field{color:var(--text-muted);flex-direction:column;gap:8px;font-size:13px;font-weight:550;display:flex}.field-hint{color:var(--warning);font-size:12.5px}.section-title{font-family:var(--display-font);letter-spacing:-.02em;color:var(--text);margin:0;font-size:16px;font-weight:600}.app{min-height:100dvh}.topbar{z-index:30;height:calc(var(--top-h) + var(--safe-t));padding:calc(var(--safe-t) + 14px) var(--pad-r) 0 var(--pad-l);pointer-events:none;transition:opacity var(--t-med), transform var(--t-slow) var(--ease);position:fixed;top:0;left:0;right:0}.topbar.is-hidden{opacity:0;transform:translateY(calc(-100% - 8px))}.topbar.is-hidden .bar{pointer-events:none}.topbar:before{content:"";z-index:-1;background:linear-gradient(to bottom, var(--bg) 30%, color-mix(in srgb, var(--bg) 0%, transparent));opacity:.85;pointer-events:none;position:absolute;inset:0 0 -24px}.bar{pointer-events:auto;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;max-width:1240px;height:56px;margin:0 auto;padding:0 10px 0 8px;display:flex}.bar-side{align-items:center;gap:6px;min-width:0;display:flex}.bar-end{gap:4px}.bar-brand{border-radius:var(--r-ctl);height:36px;color:var(--text);cursor:pointer;transition:background var(--t-fast);background:0 0;border:0;align-items:center;gap:10px;padding:0 8px 0 6px;display:inline-flex}.bar-brand:hover{background:color-mix(in srgb, var(--surface-3) 80%, transparent)}.logo{font-family:var(--logo-font);letter-spacing:0;font-weight:400;line-height:1}.bar-wordmark{font-size:24px;transform:translateY(-1px)}.bar-div{background:var(--border-strong);width:1px;height:22px;margin:0 4px}.bar .spaces-nav .menu{transform-origin:0 0;animation-name:bar-menu-in;left:0;transform:none}@keyframes bar-menu-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.search-pill{border:1px solid var(--border);border-radius:var(--r-ctl);background:color-mix(in srgb, var(--surface-2) 60%, transparent);width:260px;height:36px;color:var(--text-muted);cursor:pointer;transition:border-color var(--t-fast), color var(--t-fast);align-items:center;gap:10px;margin-right:6px;padding:0 6px 0 12px;font-size:13px;display:inline-flex}.search-pill:hover{border-color:var(--border-strong);color:var(--text)}.search-pill .ic{width:16px;height:16px}.search-text{text-align:left;white-space:nowrap;flex:1}.bar-icon{width:36px;height:36px;position:relative}.bar-icon .ic{width:18px;height:18px}.bar-icon[aria-current=page]{color:var(--text);background:color-mix(in srgb, var(--surface-3) 80%, transparent)}.bar-new{margin:0 6px 0 4px;padding:0 16px 0 14px}.bar-new .ic{width:17px;height:17px}.bar-avatar{border:1px solid color-mix(in srgb, var(--primary) 40%, var(--border));background:color-mix(in srgb, var(--primary) 20%, var(--surface-2));width:34px;height:34px;color:var(--text);cursor:pointer;transition:box-shadow var(--t-fast);border-radius:50%;place-items:center;margin-left:2px;padding:0;font-size:14px;font-weight:600;display:grid;position:relative}.bar-avatar:hover,.bar-avatar[aria-current=page]{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 14%, transparent)}.bar-icon:after,.bar-avatar:after{content:attr(data-tip);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--elev-1);font-family:var(--ui-font);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s, transform .22s var(--ease);border-radius:9px;padding:6px 10px;font-size:12.5px;font-weight:550;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px)}.bar-avatar:after{left:auto;right:0;transform:translateY(-4px)}.bar-icon:hover:after,.bar-icon:focus-visible:after{opacity:1;transition-delay:.12s;transform:translate(-50%)}.bar-avatar:hover:after,.bar-avatar:focus-visible:after{opacity:1;transition-delay:.12s;transform:translate(0)}.bar,.glass-btn,.rail{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(1.5);border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--hi), var(--elev-2)}.spaces-nav{align-items:center;min-width:0;display:flex;position:relative}.space-pill{border-radius:var(--r-ctl);cursor:pointer;min-width:0;max-width:240px;height:36px;transition:background var(--t-fast);background:0 0;border:0;align-items:center;gap:8px;padding:0 8px 0 6px;font-size:14px;font-weight:550;display:flex}.space-pill:hover,.space-pill[aria-expanded=true]{background:color-mix(in srgb, var(--surface-3) 80%, transparent)}.space-glyph{background:color-mix(in srgb, var(--primary) 16%, var(--surface-2));width:24px;height:24px;color:var(--primary);border-radius:7px;flex:none;place-items:center;font-size:12px;font-weight:600;line-height:1;display:grid}.space-pill-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.space-pill-chev{width:16px;height:16px;color:var(--text-muted);transition:transform var(--t-med) var(--ease);flex:none}[aria-expanded=true]>.space-pill-chev{transform:rotate(180deg)}.spaces-nav.is-title{display:none}.title-switch{max-width:100%;color:var(--text);font-family:var(--display-font);letter-spacing:-.035em;text-align:left;cursor:pointer;transition:background var(--t-fast);background:0 0;border:0;border-radius:12px;align-items:center;gap:6px;margin-left:-8px;padding:2px 8px;font-size:40px;font-weight:620;line-height:1.05;display:inline-flex}.title-switch:active,.title-switch[aria-expanded=true]{background:var(--surface-2)}.title-switch .space-pill-name{white-space:normal;overflow-wrap:anywhere;overflow:visible}.title-switch .space-pill-chev{width:22px;height:22px;margin-top:4px}.is-title .menu{top:calc(100% + 8px)}.glass-btn{cursor:pointer;height:44px;transition:background var(--t-fast), color var(--t-fast);border-radius:999px;align-items:center;gap:8px;padding:0 16px 0 14px;font-size:14px;font-weight:550;display:inline-flex}.glass-btn .ic{width:18px;height:18px}.glass-btn:hover{background:var(--glass-strong)}.glass-btn[aria-pressed=true]{background:var(--primary);color:var(--primary-text);border-color:#0000}.menu{z-index:5;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(28px)saturate(1.4);border:1px solid var(--border-strong);width:320px;max-height:min(72dvh,620px);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);transform-origin:top;animation:menu-in var(--t-med) var(--ease);scrollbar-width:thin;border-radius:16px;padding:6px;position:absolute;top:calc(100% + 10px);left:50%;overflow-y:auto;transform:translate(-50%)}@keyframes menu-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)scale(.98)}}.hub{display:flex;position:relative}.menu.hub-menu{width:min(300px,100vw - 24px);animation:hub-in var(--t-med) var(--ease);left:auto;right:0;transform:none}.menu.hub-menu.is-below{transform-origin:100% 0}.menu.hub-menu.is-above{transform-origin:100% 100%;top:auto;bottom:calc(100% + 14px);right:-6px}.hub-menu .menu-item[aria-current=page]{background:color-mix(in srgb, var(--primary) 14%, transparent)}@keyframes hub-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.menu.hub-menu.is-above{animation-name:hub-up}.rail:has(.hub-menu){z-index:60}@keyframes hub-up{0%{opacity:0;transform:translateY(6px)scale(.98)}}.history{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.history-title{margin:0 0 2px;font-size:16px}.history-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.history-row{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 60%, transparent);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.history-text{flex-direction:column;flex:1;gap:2px;min-width:200px;display:flex}.history-prompt{overflow-wrap:anywhere}.history-status{color:var(--text);font-weight:600}.history-row[data-status=failed] .history-status,.history-row[data-status=cancelled] .history-status{color:var(--danger)}.history-row[data-status=done] .history-status{color:var(--success,var(--primary))}.menu-head{justify-content:space-between;align-items:baseline;padding:10px 12px 6px;display:flex}.menu-scroll{max-height:260px;overflow-y:auto}.menu-item{border-radius:var(--r-ctl);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;font-size:14px;font-weight:500;transition:background .12s;display:flex}.menu-item:hover,.menu-item:focus-visible{background:color-mix(in srgb, var(--surface-3) 85%, transparent)}.menu-item:focus-visible{outline-offset:-2px}.menu-icon{background:color-mix(in srgb, var(--text) 6%, transparent);width:32px;height:32px;color:var(--primary);font-family:var(--display-font);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.menu-icon .ic{width:17px;height:17px}.menu-text{flex-direction:column;flex:1;min-width:0;display:flex}.menu-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.menu-text span{color:var(--text-muted);font-size:12px}.menu-check{width:18px;height:18px;color:var(--primary);visibility:hidden}.menu-item[aria-checked=true] .menu-check{visibility:visible}.menu-item.is-danger,.menu-item.is-danger .menu-icon{color:var(--danger)}.menu-sep{background:var(--border);height:1px;margin:6px 8px}.menu-form{gap:8px;padding:6px;display:flex}.menu-form.stack{flex-direction:column}.menu-form .input{flex:1;min-width:0}.menu-note{color:var(--text-muted);padding:8px 10px;font-size:13px}.space{padding:calc(var(--safe-t) + var(--top-h) + 28px) var(--pad-r) var(--pad-b) var(--pad-l);touch-action:pan-y;transform-origin:50% 0;transition:transform var(--t-slow) var(--ease), opacity var(--t-slow);display:block}.space[data-slide="1"],.space[data-slide="-1"]{animation:space-in .48s var(--ease) backwards}@keyframes space-in{0%{opacity:0;transform:translateY(12px)scale(.99)}}.app.is-receded .space,.app.is-receded .topbar{opacity:.55;transform:scale(.97)}.space-inner{max-width:1240px;margin:0 auto}.hero{justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 24px;padding:0 4px;display:flex}.hero-text{flex:1;min-width:0}.dateline{color:var(--text-muted);align-items:center;gap:10px;margin:0 0 8px;font-size:15px;font-weight:500;display:flex}.dateline-date{color:var(--text)}.dot-sep{background:var(--text-muted);opacity:.6;border-radius:50%;flex:none;width:3px;height:3px}.hero-title{font-family:var(--display-font);letter-spacing:-.03em;overflow-wrap:anywhere;font-size:40px;font-weight:700;line-height:1.05}.hero-count{font-variant-numeric:tabular-nums;color:var(--text-muted);flex:none;padding-bottom:6px;font-size:14px;font-weight:500}.grid{position:relative}.grid:before{content:"";inset:0 0 calc(var(--pitch-y) * -2);pointer-events:none;opacity:0;background:color-mix(in srgb, var(--text) 1.5%, transparent);-webkit-mask-image:var(--cell), linear-gradient(to bottom, #000 calc(100% - var(--pitch-y) * 2), transparent);-webkit-mask-image:var(--cell), linear-gradient(to bottom, #000 calc(100% - var(--pitch-y) * 2), transparent);mask-image:var(--cell), linear-gradient(to bottom, #000 calc(100% - var(--pitch-y) * 2), transparent);-webkit-mask-size:var(--pitch-x) var(--pitch-y), 100% 100%;-webkit-mask-size:var(--pitch-x) var(--pitch-y), 100% 100%;mask-size:var(--pitch-x) var(--pitch-y), 100% 100%;-webkit-mask-composite:source-in;transition:opacity var(--t-fast);position:absolute;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}.grid.interacting:before{opacity:1}.grid.is-stacked:before{display:none}.grid .react-grid-layout{transition:height .2s}.stack-list{flex-direction:column;gap:14px;display:flex}.tile{border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:inset 0 1px 0 var(--hi), var(--elev-1);transform-origin:0 0;transition:box-shadow var(--t-med) var(--ease), border-color var(--t-med) var(--ease);flex-direction:column;display:flex}.tile:hover{border-color:color-mix(in srgb, var(--border-strong) 70%, var(--border))}.tile:focus{outline:none}.tile.is-jumped{z-index:5;border-color:color-mix(in srgb, var(--primary) 70%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent), 0 0 40px 2px var(--glow), var(--elev-2)}.tile-header{-webkit-user-select:none;user-select:none;align-items:center;gap:4px;min-height:44px;padding:4px 6px 0 16px;display:flex;position:relative}.tile-title{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;align-items:baseline;gap:10px;min-width:0;padding:8px 0;display:flex}span.tile-title{cursor:inherit}.tile-name{letter-spacing:-.01em;min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;transition:color var(--t-fast);font-size:14px;font-weight:600;overflow:hidden}.tile:hover .tile-name,.tile.is-focused .tile-name{color:var(--text)}@media (hover:hover){.tile-expand,.tile-handle{opacity:0}}.tile:hover .tile-expand,.tile.is-focused .tile-expand{opacity:1}.tile-expand .ic{width:18px;height:18px}.update-btn{border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);background:color-mix(in srgb, var(--primary) 12%, transparent);height:28px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:0 10px;font-size:12px;font-weight:600}.update-btn:hover{background:color-mix(in srgb, var(--primary) 22%, transparent)}.tile-body{border-radius:0 0 calc(var(--r-card) - 1px) calc(var(--r-card) - 1px);flex:1;min-height:0;position:relative;overflow:hidden}.frame-wrap{position:absolute;inset:0}.module-iframe{background:var(--surface);border:0;width:100%;height:100%;display:block}.module-iframe[data-status=loading]{visibility:hidden}.frame-loading{color:var(--text-muted);place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.runtime-errors{background:color-mix(in srgb, var(--surface-2) 94%, transparent);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.runtime-errors span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.crash-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;inset:0;overflow:auto}.crash-title{font-family:var(--display-font);letter-spacing:-.015em;color:var(--danger);font-weight:600}.approval-card .crash-title{color:var(--text)}.crash-reason{font-size:14px}.crash-note{color:var(--text-muted);max-width:340px;font-size:12.5px}.crash-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.perm-list{text-align:left;margin:0;padding-left:18px;font-size:13px}.perm-list li::marker{color:var(--primary)}.grid.interacting iframe{pointer-events:none}.tile-handle{width:14px;height:32px;color:var(--text-muted);cursor:grab;touch-action:none;transition:opacity var(--t-fast), color var(--t-fast);place-items:center;display:grid;position:absolute;top:8px;left:1px}.tile-handle .ic{width:14px;height:14px}.tile:hover .tile-handle{opacity:.8}.tile .tile-handle:hover{opacity:1;color:var(--text)}.react-grid-item.react-draggable-dragging{z-index:20;box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);cursor:grabbing}.react-grid-item.react-draggable-dragging .tile-handle{opacity:1;cursor:grabbing}.react-grid-item.react-grid-placeholder{background:color-mix(in srgb, var(--primary) 16%, transparent);border:1px dashed color-mix(in srgb, var(--primary) 60%, transparent);border-radius:var(--r-card);opacity:1}.tile.react-grid-item>.react-resizable-handle{z-index:3;background-image:none;width:28px;height:28px;padding:0}.tile.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:2px;right:2px}.tile.react-grid-item>.react-resizable-handle:after{content:"";border-right:2.5px solid var(--primary);border-bottom:2.5px solid var(--primary);opacity:0;width:12px;height:12px;transition:opacity var(--t-fast), transform var(--t-fast);border-bottom-right-radius:6px;position:absolute;bottom:8px;right:8px;transform:translate(-2px,-2px)}.tile.react-grid-item>.react-resizable-handle:hover:after,.tile.react-grid-item.resizing>.react-resizable-handle:after{opacity:.9;transform:none}@media (hover:none){.tile.react-grid-item>.react-resizable-handle:after{opacity:.5;transform:none}}.tile.is-focused,.tile.is-leaving{z-index:60;transition:none!important}.tile.is-focused{border-radius:var(--r-panel);border-color:var(--border-strong);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);left:var(--fv-l)!important;top:var(--fv-t)!important;width:var(--fv-tile-w)!important;height:var(--fv-h)!important;position:fixed!important}.tile.is-focused .tile-header{min-height:62px;padding:12px 12px 4px 24px}.tile.is-focused .tile-name{font-family:var(--display-font);letter-spacing:-.025em;font-size:20px}.tile.is-focused .tile-body{border-radius:0 0 calc(var(--r-panel) - 1px) calc(var(--r-panel) - 1px)}.scrim{z-index:55;background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.1);animation:fade-in var(--t-slow) var(--ease);position:fixed;inset:0}html.fv-open .topbar,html.fv-open .rail{opacity:0;pointer-events:none}.fv-aside{z-index:61;left:calc(var(--fv-l) + var(--fv-w) - var(--fv-aside));top:var(--fv-t);width:var(--fv-aside);max-height:var(--fv-h);overscroll-behavior:contain;border-radius:var(--r-panel);background:var(--glass-strong);-webkit-backdrop-filter:blur(30px)saturate(1.4);border:1px solid var(--border-strong);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);animation:aside-in .48s var(--ease) 80ms backwards;scrollbar-width:thin;flex-direction:column;gap:18px;padding:20px;display:flex;position:fixed;overflow-y:auto}@keyframes aside-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.fv-aside>*{flex-shrink:0}.fv-aside-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.fv-title{font-family:var(--display-font);letter-spacing:-.025em;overflow-wrap:anywhere;font-size:22px;font-weight:700;line-height:1.15}.fv-desc{color:var(--text-muted);font-size:14px}.fv-actions{flex-direction:column;gap:8px;display:flex}.fv-actions-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fv-section .label{margin-bottom:10px}.facts{border:1px solid var(--border);background:var(--border);border-radius:14px;grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid;overflow:hidden}.facts>div{background:color-mix(in srgb, var(--surface-2) 92%, var(--bg));min-width:0;padding:11px 14px}.facts>.wide{grid-column:1/-1}.fact-progress{margin-top:8px}.fact-progress.is-near-limit>.bar{background:var(--danger);box-shadow:0 0 12px color-mix(in srgb, var(--danger) 45%, transparent)}:root[data-scheme=light] .facts>div{background:var(--surface)}.facts dt{color:var(--text-muted);font-size:12px;font-weight:550}.facts dd{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-weight:600;overflow:hidden}.versions{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ver{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.ver:first-child{border-top:0;padding-top:0}.ver-text{flex-direction:column;min-width:0;display:flex}.ver-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:550;overflow:hidden}.ver-text span{color:var(--text-muted);font-size:12px}.perm{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:16px;gap:12px;padding:12px 14px;display:flex}.perm+.perm{margin-top:8px}.perm .ic{color:var(--warning);margin-top:1px}.perm.none .ic{color:var(--success)}.perm div{flex-direction:column;gap:2px;min-width:0;display:flex}.perm strong{overflow-wrap:anywhere;font-size:14px;font-weight:600}.perm span{color:var(--text-muted);font-size:13px}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:46vh;padding:32px 16px 24px;display:flex}.orbit-art{width:176px;height:176px;margin-bottom:28px;position:relative}.orbit-art:before{content:"";background:radial-gradient(circle, var(--glow), transparent 65%);border-radius:50%;position:absolute;inset:-30px}.orbit-art .ring{border:1px solid var(--border-strong);border-radius:50%;position:absolute;inset:0}.orbit-art .r1{border-color:var(--border)}.orbit-art .r2{inset:28px}.orbit-art .r3{border-color:color-mix(in srgb, var(--primary) 40%, transparent);animation:14s linear infinite orbit;inset:56px}.orbit-art .r3 i{background:var(--primary);width:10px;height:10px;box-shadow:0 0 18px var(--glow);border-radius:50%;position:absolute;top:-5px;left:calc(50% - 5px)}.orbit-art .core{background:color-mix(in srgb, var(--text) 14%, transparent);border-radius:50%;position:absolute;inset:78px}@keyframes orbit{to{transform:rotate(360deg)}}.empty-title{font-family:var(--display-font);letter-spacing:-.025em;font-size:24px;font-weight:600}.empty-text{max-width:380px;color:var(--text-muted);margin-top:8px}.empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}@media (width>=1024px){.rail{display:none!important}}.rail{z-index:52;left:calc(16px + var(--safe-l));box-shadow:inset 0 1px 0 var(--hi), var(--elev-2);transition:opacity var(--t-med);border-radius:24px;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.rail-brand{border-bottom:1px solid var(--border);text-align:center;width:100%;margin-bottom:2px;padding:8px 0 10px;font-size:20px}.nav-btn{width:48px;height:48px;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), transform .14s var(--ease);background:0 0;border:0;border-radius:16px;place-items:center;display:grid;position:relative}.nav-btn .ic{width:22px;height:22px}.nav-btn:hover{color:var(--text);background:color-mix(in srgb, var(--text) 7%, transparent)}.nav-btn:active{transform:scale(.94)}.nav-btn[aria-current=page]{color:var(--text);background:color-mix(in srgb, var(--text) 11%, transparent)}.nav-btn.nav-new{background:var(--primary);color:var(--primary-text);box-shadow:0 8px 20px -10px color-mix(in srgb, var(--primary) 80%, transparent)}.nav-btn.nav-new:hover{background:color-mix(in srgb, var(--primary) 88%, var(--text))}.nav-btn.nav-new[aria-current=page]{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent)}.nav-avatar{background:color-mix(in srgb, var(--accent) 24%, var(--surface-3));width:28px;height:28px;color:var(--text);font-family:var(--display-font);box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.nav-btn:after{content:attr(data-tip);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--elev-1);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s, transform .22s var(--ease);border-radius:9px;padding:6px 10px;font-size:12.5px;font-weight:550;position:absolute;top:50%;left:calc(100% + 14px);transform:translate(-4px,-50%)}.nav-btn:hover:after,.nav-btn:focus-visible:after{opacity:1;transition-delay:.12s;transform:translateY(-50%)}:is(html:has(.sheet-wrap) .react-grid-layout,html:has(.sheet-wrap) .react-grid-item){transition:none}.sheet-wrap{z-index:50;padding:calc(24px + var(--safe-t)) var(--pad-r) calc(24px + var(--safe-b)) var(--pad-l);background:color-mix(in srgb, var(--bg) 62%, transparent);-webkit-backdrop-filter:blur(6px);animation:fade-in var(--t-med) var(--ease);place-items:center;display:grid;position:fixed;inset:0}.sheet{border-radius:var(--r-panel);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(28px)saturate(1.4);border:1px solid var(--border-strong);width:min(720px,100%);max-height:100%;box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);transform-origin:top;animation:sheet-in var(--t-slow) var(--ease);transition:transform var(--t-slow) var(--ease);outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet.wide{width:min(1060px,100%);height:min(860px,100%)}.sheet.is-grabbing{transition:none}@keyframes sheet-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.sheet-grab{display:none}.sheet-head{align-items:flex-start;gap:12px;padding:20px 16px 14px 22px;display:flex}.sheet-titles{flex:1;min-width:0;padding-top:5px}.sheet-titles .eyebrow{margin-bottom:4px}.sheet-title{font-family:var(--display-font);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:18px;font-weight:620;line-height:1.25}.sheet-sub{color:var(--text-muted);margin-top:4px;font-size:14px;line-height:1.45}.sheet-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;flex:1;gap:20px;min-height:0;padding:4px 22px 22px;display:flex;overflow-y:auto}.card-list{flex-direction:column;gap:10px;display:flex}.panel-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 45%, transparent);transition:border-color var(--t-fast), background var(--t-fast), transform var(--t-med) var(--ease);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}:root[data-scheme=light] .panel-card{background:var(--surface)}.panel-card:hover{border-color:var(--border-strong);background:color-mix(in srgb, var(--surface-2) 80%, transparent);transform:translateY(-1px)}.panel-card-head{flex-direction:column;gap:2px;display:flex}.panel-card-head strong{font-family:var(--display-font);letter-spacing:-.01em;font-size:15px;font-weight:600}.panel-card .row-actions{margin-top:auto}.market-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.panel-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:20px;display:flex}.history>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.history>summary::-webkit-details-marker{display:none}.history>summary:after{content:"";border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);width:7px;height:7px;transition:transform var(--t-med) var(--ease);margin-top:-3px;transform:rotate(45deg)}.history[open]>summary:after{margin-top:3px;transform:rotate(-135deg)}.panel-foot{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px;padding-top:16px;display:flex}.back-link{color:var(--text-muted);align-self:flex-start}.back-link:hover{color:var(--text)}.detail-desc{font-size:16px;line-height:1.5}.detail-stats{font-family:var(--ui-font);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.detail-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:12px;padding-top:16px;display:flex}.meta-grid{grid-template-columns:max-content 1fr;gap:6px 14px;font-size:14px;display:grid}.meta-grid>span:nth-child(odd){color:var(--text-muted)}.version-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.version{border:1px solid var(--border);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.version.active{border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:color-mix(in srgb, var(--primary) 7%, transparent)}.version-note{color:var(--text-muted);word-break:break-word;font-size:13px}.rename-form{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding-bottom:20px;display:flex}.report-form{flex:100%;gap:8px;display:flex}.stars{gap:1px;display:inline-flex}.star{color:var(--border-strong);cursor:default;background:0 0;border:0;padding:0;font-size:16px}button.star{cursor:pointer;font-size:22px}.star.on{color:var(--warning)}.consent,.draft-perms{border:1px solid color-mix(in srgb, var(--primary) 40%, transparent);background:color-mix(in srgb, var(--primary) 8%, transparent);animation:rise var(--t-slow) var(--ease);border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.draft-perms{border-color:var(--border);background:color-mix(in srgb, var(--text) 3%, transparent)}.builder{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;min-height:0;display:grid}.builder-left,.builder-right{flex-direction:column;gap:14px;min-width:0;display:flex}.builder-left>.host-textarea{letter-spacing:-.01em;min-height:120px;box-shadow:inset 0 1px 0 var(--hi);border-radius:14px;padding:16px 18px;font-size:17px}.model-pick{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.model-pick .select{width:auto;min-width:12rem;min-height:38px}.build-log{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 40%, var(--surface-2));font-family:var(--ui-font);font-variant-numeric:tabular-nums;border-radius:16px;flex-direction:column;gap:2px;margin:0;padding:12px 14px;font-size:12px;line-height:1.6;list-style:none;display:flex}.build-log .is-live{color:var(--text);animation:1.2s ease-in-out infinite gen-fade}.log-ok{color:var(--success)}.log-warn{color:var(--warning)}.log-error{color:var(--danger)}.preview-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.preview-head strong{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;font-weight:550;display:inline-flex}.preview-head strong:before{content:"";background:var(--success);border-radius:50%;width:6px;height:6px}.preview-frame{border-radius:var(--r-card);border:1px solid var(--border-strong);background:var(--surface);height:380px;box-shadow:inset 0 1px 0 var(--hi), var(--elev-2);position:relative;overflow:hidden}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite gen-spin;display:inline-block}@keyframes gen-spin{to{transform:rotate(360deg)}}@keyframes gen-fade{50%{opacity:.45}}.builds-nav{z-index:40;left:50%;bottom:calc(24px + var(--safe-b));animation:builds-dock-in var(--t-slow) var(--ease);transition:opacity var(--t-med);position:fixed;transform:translate(-50%)}@keyframes builds-dock-in{0%{opacity:0;transform:translate(-50%,16px)}}html.fv-open .builds-nav:not(.is-busy){opacity:0;pointer-events:none}html.fv-open .builds-nav.is-busy{z-index:80}.builds-nav .glass-btn{box-shadow:inset 0 1px 0 var(--hi), var(--elev-2);position:relative}html:has(.builds-nav) .toast{bottom:calc(88px + var(--safe-b))}.builds-badge{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);border-radius:50%;flex:none}.builds-nav .builds-menu{transform-origin:bottom;width:min(360px,100vw - 32px);animation-name:builds-menu-up;inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}@keyframes builds-menu-up{0%{opacity:0;transform:translate(-50%,6px)scale(.98)}}.builds-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.build-row{border-radius:14px;align-items:flex-start;gap:4px;display:flex}.build-row:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.build-row-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;min-width:0;padding:10px 4px 10px 12px;display:flex}.build-row-top{align-items:center;gap:8px;display:flex}.build-row-top strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.build-row-status{color:var(--text-muted);font-size:13px}.tone-live .build-row-status{color:var(--text)}.tone-attention .build-row-status{color:var(--warning)}.tone-ok .build-row-status{color:var(--success)}.tone-error .build-row-status{color:var(--danger)}.builds-menu .menu-head{align-items:center;padding:4px 4px 2px 12px}.builds-min{width:30px;height:30px}.builds-min .ic{width:16px;height:16px}.build-row-x{width:30px;height:30px;margin:6px 6px 0 0}.build-row-x .ic{width:16px;height:16px}.progress-rail{background:var(--surface-3);border-radius:999px;width:100%;height:4px;position:relative;overflow:hidden}.progress-rail>span{border-radius:inherit;background:var(--primary);transition:width .6s var(--ease);position:absolute;inset:0 auto 0 0}.progress-rail.is-live>span{background:linear-gradient(90deg, var(--primary) 0%, color-mix(in srgb, var(--primary) 55%, var(--text)) 50%, var(--primary) 100%);background-size:200% 100%;animation:1.3s linear infinite draft-sweep}.build-row .progress-rail{margin-top:6px}.tile.draft{border-color:color-mix(in srgb, var(--primary) 38%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 5%, var(--surface)), var(--surface) 40%);animation:draft-in var(--t-slow) var(--ease) both}.tile.draft:hover{border-color:color-mix(in srgb, var(--primary) 50%, var(--border))}.draft .tile-header{gap:10px;padding-left:18px}.draft-dot{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 4px var(--glow);border-radius:50%;flex:none;animation:1.6s ease-in-out infinite draft-breathe}.draft[data-phase=compose] .draft-dot,.draft[data-phase=ask] .draft-dot{animation:none}.draft[data-phase=done] .draft-dot{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 18%, transparent);animation:none}.draft[data-phase=failed] .draft-dot{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger) 18%, transparent);animation:none}.draft-body{padding:6px 18px 16px}.draft-left{flex-direction:column;min-width:0;display:flex}.draft-left>.progress-rail{margin:4px 0 20px}.draft-stream{min-height:1.35em;font:600 20px/1.35 var(--display-font);letter-spacing:-.02em;text-wrap:pretty;margin:0 0 8px}.caret{vertical-align:-.16em;background:var(--primary);border-radius:1px;width:2px;height:1.05em;margin-left:2px;animation:1s step-end infinite draft-blink;display:inline-block}.draft-panel{animation:draft-fade var(--t-med) var(--ease);flex-direction:column;gap:14px;margin-top:6px;display:flex}.draft-input{letter-spacing:-.01em;resize:none;border-radius:14px;min-height:96px;padding:14px 16px;font-size:16px}.draft-note{color:var(--text-muted);margin:0;font-size:13px}.q-text{color:var(--text-muted);margin:0 0 8px;font-size:13.5px;font-weight:500}.q-choices{flex-wrap:wrap;gap:6px;display:flex}.answer{border:1px solid var(--border-strong);background:var(--surface-2);min-height:34px;color:var(--text);font:500 13.5px/1 var(--ui-font);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.answer:hover{background:var(--surface-3)}.answer .rec{font:550 11px/1 var(--ui-font);color:var(--text-muted)}.answer[aria-pressed=true]{background:var(--primary);color:var(--primary-text);border-color:#0000}.answer[aria-pressed=true] .rec{color:inherit;opacity:.75}@media (pointer:coarse){.answer{min-height:44px}}.draft-problems{border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));background:color-mix(in srgb, var(--danger) 6%, transparent);border-radius:14px;flex-direction:column;gap:6px;margin:0;padding:12px 14px;font-size:13px;line-height:1.45;list-style:none;display:flex}.fix-summary{color:var(--text-muted);text-wrap:pretty;margin:-4px 0 0;font-size:14.5px;line-height:1.5}.fix-details>summary{width:fit-content;font:500 12.5px/1.4 var(--ui-font);color:var(--text-muted);cursor:pointer}.fix-details>summary:hover{color:var(--text)}.fix-details[open]>summary{margin-bottom:8px}.fix-loading{color:var(--text-muted);align-items:center;gap:10px;margin:0;font-size:13.5px;display:flex}.fix-loading .skeleton{border-radius:50%;width:14px;height:14px}.draft[data-phase=failed]:has(.fix-summary) .draft-dot{background:var(--primary);box-shadow:0 0 0 4px var(--glow)}.draft-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:0 18px 16px;display:flex}.draft-actions .grow{min-width:0;font:500 13px/1.4 var(--ui-font);color:var(--text-muted);flex:1}.build-modal{z-index:28;padding:calc(var(--top-h) + 8px) 24px calc(24px + var(--safe-b));background:color-mix(in srgb, var(--bg) 45%, transparent);animation:fade-in var(--t-med) var(--ease);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.build-modal-card{width:min(560px,100%)}.picks{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:18px;padding-top:18px;display:flex}.picks-head{justify-content:space-between;align-items:center;display:flex}.picks .label,.pick-perms .label{margin:0}.picks-more{align-items:center;font-size:12.5px;display:inline-flex}.picks-more .ic{width:15px;height:15px}.picks-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.pick{appearance:none;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.pick-thumb{aspect-ratio:4/3;border:1px solid var(--border);background:var(--surface-2);transition:transform var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);border-radius:14px;display:block;position:relative;overflow:hidden}.pick:hover .pick-thumb{border-color:var(--border-strong);box-shadow:var(--elev-2);transform:translateY(-2px)}.pick:active .pick-thumb{transform:scale(.97)}.pick-thumb-inner{transform-origin:0 0;pointer-events:none;width:300%;height:300%;position:absolute;inset:0 auto auto 0;transform:scale(.3334)}.pick-name{white-space:nowrap;text-overflow:ellipsis;padding:0 2px;font-size:12.5px;font-weight:550;overflow:hidden}.pick.is-loading{cursor:default}.pick.is-loading .pick-thumb{animation:1.2s ease-in-out infinite picks-pulse}@keyframes picks-pulse{50%{opacity:.5}}.pick-preview{animation:draft-fade var(--t-med) var(--ease);flex-direction:column;display:flex}.pick-title{font:600 20px/1.35 var(--display-font);letter-spacing:-.02em;margin:0}.pick-sub{color:var(--text-muted);margin:2px 0 14px;font-size:13px}.pick-live{border:1px solid var(--border);background:var(--surface);border-radius:16px;height:300px;position:relative;overflow:hidden}.pick-perms{flex-direction:column;gap:8px;margin-top:14px;display:flex}.build-modal .tile.draft{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 5%, var(--surface)), var(--surface) 40%), var(--surface);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);animation:build-modal-in var(--t-slow) var(--ease) both}.draft-min{margin-left:auto}.draft-min .ic{width:18px;height:18px}@keyframes build-modal-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@media (width<=760px){.build-modal{padding:calc(var(--top-h) + 4px) 12px calc(12px + var(--safe-b));place-items:start center}.draft-stream{font-size:18px}.draft-actions .btn{flex:1}.draft-actions .grow{flex-basis:100%}}@keyframes draft-in{0%{opacity:0;transform:translateY(-10px)scale(.985)}}@keyframes draft-breathe{50%{box-shadow:0 0 0 7px #0000}}@keyframes draft-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes draft-blink{50%{opacity:0}}@keyframes draft-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tile.draft,.draft-dot,.progress-rail.is-live>span,.caret{animation:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.code-editor{flex-direction:column;gap:10px;display:flex}.code-editor .field{gap:6px;font-size:12px}.code-area{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--bg) 50%, var(--surface));width:100%;min-height:320px;color:var(--text);font-family:var(--ui-font);font-variant-numeric:tabular-nums;tab-size:2;white-space:pre;resize:vertical;border-radius:16px;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow:auto}.acct-id{align-items:center;gap:14px;display:flex}.avatar{background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--accent) 45%, var(--surface-3)), var(--surface-3));width:56px;height:56px;font-family:var(--display-font);box-shadow:inset 0 0 0 1px var(--border-strong), var(--elev-1);border-radius:50%;flex:none;place-items:center;font-size:22px;font-weight:600;display:grid}.acct-who{flex-direction:column;flex:1;min-width:0;display:flex}.acct-who strong{font-family:var(--display-font);letter-spacing:-.02em;font-size:18px;font-weight:600}.acct-who span{text-overflow:ellipsis;color:var(--text-muted);font-size:14px;overflow:hidden}.acct-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:20px;display:flex}.meters{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.meter{border:1px solid var(--border);background:color-mix(in srgb, var(--text) 3%, transparent);border-radius:14px;padding:14px 16px}.meter-label{justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px;font-weight:550;display:flex}.meter-label>span:last-child{font-family:var(--ui-font);font-variant-numeric:tabular-nums;font-size:12.5px}.progress{background:color-mix(in srgb, var(--text) 9%, transparent);border-radius:999px;height:6px;overflow:hidden}.progress>.bar{border-radius:inherit;background:var(--primary);height:100%;box-shadow:0 0 12px var(--glow);transition:width var(--t-slow) var(--ease)}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.plan{border:1px solid var(--border);background:color-mix(in srgb, var(--text) 2.5%, transparent);border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.plan.current{border-color:color-mix(in srgb, var(--primary) 60%, transparent);background:color-mix(in srgb, var(--primary) 8%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.plan-head{justify-content:space-between;align-items:baseline;gap:8px;width:100%;display:flex}.plan-head strong{font-family:var(--display-font);font-size:16px;font-weight:600}.plan-head span{font-family:var(--ui-font);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12.5px}.plan-features{color:var(--text-muted);flex:1;gap:4px;margin:0;padding-left:18px;font-size:13px;display:grid}.plan-features li::marker{color:var(--primary)}.plan.is-soon{opacity:.5;filter:grayscale();-webkit-user-select:none;user-select:none}.onboard-scrim{z-index:90;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.1)}.onboard{border-radius:var(--r-panel);background:var(--glass-strong);-webkit-backdrop-filter:blur(30px)saturate(1.4);border:1px solid var(--border-strong);width:min(620px,100%);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);animation:build-modal-in var(--t-slow) var(--ease) both;flex-direction:column;gap:16px;padding:24px;display:flex}.onboard-head{flex-direction:column;gap:6px;display:flex}.onboard-head h2{font-family:var(--display-font);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.onboard-head p{margin:0}.onboard-mark{width:36px;height:36px;color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:10px;place-items:center;margin-bottom:4px;display:inline-grid}.onboard-mark .ic{width:18px;height:18px}.onboard-free{align-items:stretch}.onboard-free .plan-features{flex:none}.onboard-paid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.onboard-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=560px){.onboard{padding:18px}.onboard-paid{grid-template-columns:minmax(0,1fr)}.onboard-foot{text-align:center;flex-direction:column-reverse;align-items:stretch}}.ai-key-form{flex-direction:column;gap:12px;display:flex}.ai-key-form a{color:var(--primary)}.theme-chips{background:color-mix(in srgb, var(--text) 5%, transparent);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.theme-chip{appearance:none;min-height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:13.5px;font-weight:550}.theme-chip:hover{color:var(--text)}.theme-chip.is-active{background:var(--surface-3);color:var(--text);box-shadow:inset 0 1px 0 var(--hi), var(--elev-1)}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 10px}.admin-table th{color:var(--text-muted);font-size:12px;font-weight:550}.themes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.theme{border:1px solid var(--border);background:color-mix(in srgb, var(--text) 3%, transparent);text-align:left;cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-med) var(--ease);border-radius:16px;flex-direction:column;gap:12px;padding:10px 10px 14px;display:flex;position:relative}.theme:hover{border-color:var(--border-strong);transform:translateY(-2px)}.theme[aria-checked=true]{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent)}.theme-prev{aspect-ratio:16/10;background:radial-gradient(90% 70% at 50% -20%, var(--glow), transparent 70%), var(--bg);border:1px solid var(--border);border-radius:14px;grid-template-rows:auto 1fr 1fr;grid-template-columns:1fr 1fr;gap:6px;padding:10px;display:grid;overflow:hidden}.tp-pill{background:var(--surface-3);border-radius:999px;grid-column:1/-1;justify-self:center;width:44%;height:9px}.tp-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:6px;display:flex}.tp-card.c{grid-column:1/-1}.tp-card i{background:var(--text);opacity:.85;border-radius:2px;width:50%;height:4px;display:block}.tp-card b{background:var(--text-muted);opacity:.6;border-radius:2px;width:72%;height:4px;display:block}.tp-card.a b{background:var(--primary);opacity:1;border-radius:4px;width:36%;height:8px;margin-top:auto}.tp-card.b b{background:var(--accent);opacity:1}.theme-meta{padding:0 4px}.theme-meta>span{flex-direction:column;gap:2px;display:flex}.theme-meta strong{font-weight:600}.theme-meta>span>span{color:var(--text-muted);font-size:12.5px}.theme-check{background:var(--primary);width:26px;height:26px;color:var(--primary-text);opacity:0;transition:opacity var(--t-fast), transform var(--t-med) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px;transform:scale(.6)}.theme-check .ic{stroke-width:2.6px;width:15px;height:15px}.theme[aria-checked=true] .theme-check{opacity:1;transform:none}.jump-backdrop{z-index:80;background:color-mix(in srgb, var(--bg) 45%, transparent);-webkit-backdrop-filter:blur(10px);animation:fade-in var(--t-med) ease;justify-content:center;align-items:flex-start;padding:14vh 16px 16px;display:flex;position:fixed;inset:0}.jump{border:1px solid var(--border-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(30px)saturate(1.4);width:min(520px,100%);max-height:min(460px,70vh);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);animation:rise var(--t-slow) var(--ease);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.jump-input,.jump-input:focus{border:0;border-bottom:1px solid var(--border);min-height:56px;box-shadow:none;background:0 0;border-radius:0;padding:0 20px;font-size:17px}.jump-list{flex-direction:column;gap:2px;padding:6px;display:flex;overflow:auto}.jump-item{appearance:none;width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;padding:0 14px;font-size:14.5px;display:flex}.jump-item.is-active,.jump-item:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.jump-empty{margin:0;padding:12px 14px}.toast{z-index:100;left:50%;bottom:calc(28px + var(--safe-b));background:color-mix(in srgb, var(--surface-3) 86%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.5);border:1px solid var(--border-strong);width:max-content;max-width:min(100vw - 32px,480px);min-height:48px;box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);color:var(--text);cursor:pointer;animation:toast-in var(--t-slow) var(--ease);border-radius:999px;align-items:center;gap:10px;padding:8px 18px 8px 16px;font-size:14px;font-weight:550;display:flex;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,18px)scale(.96)}}.toast:before{content:"";background:var(--text-muted);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--text-muted) 18%, transparent);border-radius:50%;flex:none}.toast.ok:before{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 18%, transparent)}.toast.error:before{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger) 18%, transparent)}.toast-text{overflow-wrap:anywhere;min-width:0}.toast:has(.toast-action){padding-right:6px}.toast-action{background:var(--primary);min-height:36px;color:var(--primary-text);cursor:pointer;border:0;border-radius:999px;flex:none;margin-left:6px;padding:0 14px;font-size:13.5px;font-weight:600}.splash,.auth-screen{min-height:100dvh;color:var(--text-muted);background:radial-gradient(90% 60% at 50% -18%, var(--glow), transparent 68%), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.auth-back{top:calc(16px + var(--safe-t));left:calc(16px + var(--safe-l));position:absolute}.splash{font-family:var(--ui-font);font-variant-numeric:tabular-nums;font-size:13px}.auth-card{border-radius:var(--r-panel);border:1px solid var(--border-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(30px)saturate(1.4);width:min(400px,100%);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);color:var(--text);animation:rise var(--t-slow) var(--ease);flex-direction:column;gap:14px;padding:28px;display:flex}.auth-card h1{font-family:var(--display-font);letter-spacing:-.035em;font-size:28px;font-weight:600}.auth-forgot{align-self:flex-end;margin-top:-6px;font-size:13px}.auth-card .btn-primary{margin-top:4px}.brand{color:var(--primary);font-size:28px}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@media (width<=1023px){:root{--pad-l:calc(28px + var(--safe-l));--pad-r:calc(28px + var(--safe-r));--pad-b:calc(120px + var(--safe-b));--fv-l:calc(20px + var(--safe-l));--fv-t:calc(20px + var(--safe-t));--fv-tile-w:calc(100vw - 40px - var(--safe-l) - var(--safe-r));--fv-h:min(56dvh, 600px)}.rail{top:auto;left:50%;bottom:calc(14px + var(--safe-b));border-radius:999px;flex-direction:row;gap:4px;padding:6px;transform:translate(-50%)}.rail-brand{display:none}.nav-btn{border-radius:999px;width:52px;height:52px}.nav-btn.nav-new{width:62px}.nav-btn:after{display:none}.toast{bottom:calc(96px + var(--safe-b))}html:has(.builds-nav) .toast{bottom:calc(156px + var(--safe-b))}.builds-nav{bottom:calc(96px + var(--safe-b))}.bar-desk,.bar .hub{display:none}.search-pill{width:auto;margin-right:0}.search-text,.search-pill kbd{display:none}.sheet-wrap{padding:calc(24px + var(--safe-t)) 24px calc(96px + var(--safe-b));place-items:end center}.sheet{transform-origin:bottom;animation-name:sheet-up}@keyframes sheet-up{0%{opacity:0;transform:translateY(48px)scale(.96)}}.fv-aside{left:var(--fv-l);right:calc(20px + var(--safe-r));width:auto;top:calc(var(--fv-t) + var(--fv-h) + 12px);bottom:calc(20px + var(--safe-b));max-height:none;animation-name:aside-up}@keyframes aside-up{0%{opacity:0;transform:translateY(24px)scale(.98)}}}@media (width<=639px){:root{--pad-l:calc(16px + var(--safe-l));--pad-r:calc(16px + var(--safe-r));--top-h:68px;--fv-l:calc(10px + var(--safe-l));--fv-t:calc(10px + var(--safe-t));--fv-tile-w:calc(100vw - 20px - var(--safe-l) - var(--safe-r));--fv-h:min(58dvh, 560px)}.topbar{display:none}.spaces-nav.is-title{display:flex}.hero-title.has-switch{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.builds-nav{bottom:calc(84px + var(--safe-b))}html:has(.builds-nav) .toast{bottom:calc(144px + var(--safe-b))}.glass-btn{padding:0 13px}.glass-btn[aria-pressed=false] .glass-btn-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.menu{transform-origin:0 0;width:min(320px,100vw - 32px);animation-name:menu-in-left;left:0;transform:none}@keyframes menu-in-left{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.space{padding-top:calc(var(--safe-t) + 28px)}.hero{margin-bottom:16px;padding:0 2px}.title-switch{font-size:30px}.hero-count{display:none}.tile-header{padding-left:16px}.rail{z-index:45}.nav-btn{width:48px;height:48px}.nav-btn.nav-new{width:58px}.sheet-wrap{padding:calc(10px + var(--safe-t)) 0 0}.sheet,.sheet.wide{border-radius:var(--r-panel) var(--r-panel) 0 0;border-bottom:0;width:100%;height:100%;max-height:none;animation-name:sheet-rise}@keyframes sheet-rise{0%{transform:translateY(100%)}}.sheet-grab{touch-action:none;justify-content:center;padding:10px 0 0;display:flex}.sheet-grab span{background:var(--border-strong);border-radius:999px;width:40px;height:5px}.sheet-head{touch-action:none;padding:10px 12px 12px 20px}.sheet-title{font-size:24px}.sheet-body{padding:4px 20px calc(28px + var(--safe-b))}.builder{grid-template-columns:1fr;gap:20px}.preview-frame{height:340px}.market-grid,.plan-grid,.meters{grid-template-columns:1fr}.themes{grid-template-columns:1fr 1fr;gap:10px}.detail-foot{flex-direction:column;align-items:stretch}.fv-aside{left:var(--fv-l);right:calc(10px + var(--safe-r));bottom:calc(10px + var(--safe-b));top:calc(var(--fv-t) + var(--fv-h) + 10px);padding:16px}.fv-title{font-size:20px}}@media (width>=640px) and (width<=900px){.builder{grid-template-columns:1fr}}@media (pointer:coarse){.btn,.chip,.input,.select{min-height:44px}.btn.sm{min-height:40px}.icon-btn,.space-add{width:44px;height:44px}.dot{width:24px;height:44px}.dot[aria-current=true]{width:34px}.spaces-nav{height:52px}.space-pill{height:44px}.glass-btn{justify-content:center;min-width:52px;height:52px}.tile-title{min-height:40px}.menu-item{min-height:52px}.tile-expand{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.app.is-receded .space,.app.is-receded .topbar,.theme:hover{transform:none}}.fab{z-index:45;right:calc(24px + var(--safe-r));bottom:calc(24px + var(--safe-b));background:var(--primary);width:56px;height:56px;color:var(--primary-text);box-shadow:inset 0 1px 0 #ffffff4d, var(--elev-3);cursor:pointer;animation:fab-in var(--t-slow) var(--ease);transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), opacity var(--t-med);border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.fab:hover{transform:scale(1.05)}.fab:active{transform:scale(.95)}.fab .ic{width:24px;height:24px}.fab.is-open{background:color-mix(in srgb, var(--surface-3) 90%, transparent);color:var(--text);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3)}@keyframes fab-in{0%{opacity:0;transform:scale(.6)}}html.fv-open .fab,html.fv-open .chat{opacity:0;pointer-events:none}.chat{z-index:46;right:calc(24px + var(--safe-r));bottom:calc(96px + var(--safe-b));width:min(400px,100vw - 48px);height:min(620px, calc(100dvh - var(--top-h) - 120px - var(--safe-b)));border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(28px)saturate(1.5);box-shadow:inset 0 1px 0 var(--hi), var(--elev-3);transform-origin:100% 100%;animation:chat-in var(--t-med) var(--ease);border-radius:28px;flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes chat-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 12px 12px 16px;display:flex}.chat-mark{background:color-mix(in srgb, var(--primary) 18%, transparent);width:34px;height:34px;color:var(--primary);border-radius:50%;flex:none;place-items:center;display:grid}.chat-mark .ic{width:18px;height:18px}.chat-title{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.chat-title strong{font-size:15px;font-weight:650}.chat-title span{color:var(--text-muted);font-size:12px}.chat-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-muted);margin:auto 0 0;font-size:14px}.chat-empty p{margin:0 0 4px}.chat-hello{font:600 22px/1.3 var(--display-font);letter-spacing:-.02em;color:var(--text)}.chat-suggest{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.msg{max-width:86%;animation:draft-fade var(--t-med) var(--ease);flex-direction:column;gap:6px;display:flex}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px;margin:0;padding:10px 14px;font-size:14.5px;line-height:1.45}.msg.is-user{align-self:flex-end}.msg.is-user .msg-text{background:var(--primary);color:var(--primary-text);border-bottom-right-radius:6px}.msg.is-assistant{align-self:flex-start}.msg.is-assistant .msg-text{background:var(--surface-2);border-bottom-left-radius:6px}.msg.is-failed .msg-text{background:color-mix(in srgb, var(--danger) 10%, var(--surface-2))}.msg-acts{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:0 6px;font-size:12.5px;display:flex}.msg-act{align-items:center;gap:4px;display:inline-flex}.msg-act .ic{width:14px;height:14px;color:var(--success)}.msg-undo{font-size:12.5px}.typing{background:var(--surface-2);border-radius:20px 20px 20px 6px;gap:4px;padding:14px 16px;display:inline-flex}.typing i{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}.chat-compose{border:1px solid var(--border-strong);background:var(--surface-2);transition:border-color var(--t-fast);border-radius:24px;align-items:flex-end;gap:8px;margin:0 12px 12px;padding:6px 6px 6px 16px;display:flex}.chat-compose:focus-within{border-color:color-mix(in srgb, var(--primary) 55%, var(--border-strong))}.chat-input{resize:none;field-sizing:content;min-width:0;min-height:36px;max-height:120px;color:var(--text);font:15px/1.35 var(--ui-font);background:0 0;border:0;outline:none;flex:1;padding:8px 0}.chat-input:focus{box-shadow:none}.chat-input::placeholder{color:var(--text-muted)}.chat-send{background:var(--primary);width:36px;height:36px;color:var(--primary-text);cursor:pointer;transition:opacity var(--t-fast);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.chat-send:disabled{opacity:.35;cursor:default}.chat-send .ic{width:18px;height:18px}@media (width<=1023px){.fab{right:calc(16px + var(--safe-r));bottom:calc(100px + var(--safe-b));width:52px;height:52px}.chat{right:calc(16px + var(--safe-r));bottom:calc(166px + var(--safe-b));height:min(600px, calc(100dvh - 166px - 24px - var(--safe-b) - var(--safe-t)))}}@media (width<=639px){.chat{left:calc(10px + var(--safe-l));right:calc(10px + var(--safe-r));width:auto}}@media (prefers-reduced-motion:reduce){.fab,.chat,.msg,.typing i{animation:none}}
