.app-main{width:100%;max-width:1120px;margin:0 auto;padding:28px var(--space-5) 64px}.app-main-wide{max-width:1600px}.app-main-narrow{max-width:760px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3) var(--space-5);margin-bottom:24px}.page-title{margin:0;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1.15}.page-subline{margin:6px 0 0;font-size:var(--text-md);color:var(--fg-muted);max-width:64ch}.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;padding:0;list-style:none;font-size:var(--text-sm);color:var(--fg-subtle)}.breadcrumbs a{color:var(--fg-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--fg);text-decoration:underline}.breadcrumbs li+li:before{content:"/";margin-right:6px;color:var(--fg-subtle)}.breadcrumbs [aria-current=page]{color:var(--fg)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);padding:18px 20px;min-width:0}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:12px}.card-head h2,.card-head h3{margin:0;font-size:var(--text-md);font-weight:600}.card-head a,.card-link{font-size:var(--text-sm);color:var(--fg-muted);text-decoration:none}.card-head a:hover,.card-link:hover{color:var(--fg);text-decoration:underline}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.card-grid-2{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-4)}a.card-action{display:flex;flex-direction:column;gap:8px;color:var(--fg);text-decoration:none;transition:border-color var(--motion-quick) var(--ease),background var(--motion-quick) var(--ease)}a.card-action:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.card-action-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--fg)}.card-action-title{font-weight:600;font-size:var(--text-md)}.card-action-desc{font-size:var(--text-sm);color:var(--fg-muted);line-height:1.5}.card-action-note{font-size:var(--text-xs);color:var(--fg-subtle)}.row-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.row-list>li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 0;border-top:1px solid var(--border);min-width:0}.row-list>li:first-child{border-top:0}.row-primary{font-weight:600;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{font-size:var(--text-xs);color:var(--fg-subtle);white-space:nowrap}.empty-state{padding:22px 16px;text-align:center;color:var(--fg-muted);font-size:var(--text-sm);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.empty-state p{margin:0 0 10px}.state-loading{color:var(--fg-muted);font-size:var(--text-sm)}.state-error{color:var(--danger);font-size:var(--text-sm)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap}.chip-ok{color:var(--success);border-color:color-mix(in oklab,var(--success) 40%,transparent)}.chip-warn{color:var(--warning);border-color:color-mix(in oklab,var(--warning) 40%,transparent)}.notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:10px 14px;border-radius:var(--radius-md);border:1px solid color-mix(in oklab,var(--warning) 40%,transparent);background:color-mix(in oklab,var(--warning) 10%,var(--bg-elevated));font-size:var(--text-sm)}.notice a{color:var(--fg)}.section-layout{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.section-nav{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);margin-bottom:4px;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;white-space:nowrap;color:var(--fg-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.section-nav a:hover{color:var(--fg)}.section-nav a[aria-current=page]{color:var(--fg);border-bottom-color:var(--fg)}.section-main{min-width:0}@media(min-width:768px){.section-layout{grid-template-columns:200px minmax(0,1fr);align-items:start}.section-nav{position:sticky;top:72px;flex-direction:column;overflow:visible;border-bottom:0;margin-bottom:0}.section-nav a{border-bottom:0;border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:0}.section-nav a[aria-current=page]{border-left-color:var(--fg);background:var(--bg-subtle)}}@media(max-width:767px){.app-main{padding:20px var(--space-4) 48px}.card-grid-2{grid-template-columns:1fr}}.ide-plan-lock .card-action-icon{margin-bottom:var(--space-3)}.modal.suggestion-modal{z-index:70}.suggestion-dialog-body{display:grid;gap:var(--space-3);padding:var(--space-4);font-size:var(--text-sm);line-height:1.55}.suggestion-dialog-body p{margin:0}.suggestion-kinds{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;border:0;min-width:0}.suggestion-kinds legend{padding:0;margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--fg-muted)}.suggestion-kind{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--fg);cursor:pointer}.suggestion-kind:has(input:checked){border-color:var(--border-strong);background:var(--bg-panel);font-weight:600}.suggestion-kind input{accent-color:var(--accent)}.field textarea.suggestion-text{width:100%;min-height:8rem;resize:vertical;font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.5;padding:var(--space-2) var(--space-3)}.suggestion-text-foot{display:flex;justify-content:flex-end;color:var(--fg-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.suggestion-note{color:var(--fg-muted);font-size:var(--text-xs)}.suggestion-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.suggestion-item{display:grid;gap:var(--space-2)}.suggestion-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.suggestion-item-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);color:var(--fg)}.suggestion-item-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);color:var(--fg-muted);font-size:var(--text-xs)}.suggestion-forward-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.suggestion-forward-form .field{flex:1 1 16rem}.suggestion-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);color:var(--fg-muted);font-size:var(--text-xs)}@media(hover:none){.suggestion-kind,.suggestion-actions .btn,.suggestion-item .btn,.suggestion-forward-form .btn,.suggestion-pager .btn{min-height:40px}}.public-layout,.app-layout{height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);overflow-y:auto;-webkit-overflow-scrolling:touch}.app-layout>.app-main{flex:1}.site-nav{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-nav-inner{max-width:1120px;margin:0 auto;padding:10px var(--space-5);display:flex;align-items:center;gap:var(--space-5);min-height:56px}.site-nav-brand{text-decoration:none;color:var(--fg)}.site-nav-links{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}.site-nav-links a{position:relative;display:inline-flex;align-items:center;height:36px;padding:0 12px;white-space:nowrap;border-radius:var(--radius-sm);color:var(--fg-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:color var(--motion-quick) var(--ease),background var(--motion-quick) var(--ease)}.site-nav-links a:hover{color:var(--fg);background:var(--bg-subtle)}.site-nav-links a[aria-current=page]{color:var(--fg)}.site-nav-links a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:-11px;height:2px;background:var(--fg)}.site-nav-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);min-width:0}.site-nav-actions .btn,.site-nav-usage{text-decoration:none}.site-nav-usage:hover{color:var(--fg)}.site-nav-user{position:relative}.site-nav-user-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 4px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--fg);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer}.site-nav-user-btn:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.site-nav-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--primary);color:var(--primary-fg);font-size:var(--text-xs);font-weight:700}.site-nav-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:6px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-md);z-index:40}.site-nav-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px;font-size:var(--text-xs);color:var(--fg-muted)}.site-nav-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--fg)}.site-nav-menu-item{display:flex;width:100%;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--fg);font:inherit;font-size:var(--text-sm);text-align:left;text-decoration:none;cursor:pointer}.site-nav-menu-item:hover,.site-nav-menu-item:focus-visible{background:var(--bg-subtle);outline:none}.site-nav-drawer-account{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.site-nav-drawer{border-top:1px solid var(--border);background:var(--bg-elevated)}.site-nav-drawer[hidden]{display:none}.site-nav-drawer-links{list-style:none;margin:0;padding:8px var(--space-4) 12px;display:flex;flex-direction:column}.site-nav-drawer-links a,.site-nav-drawer-btn{display:flex;width:100%;align-items:center;min-height:44px;padding:0 4px;border:0;background:none;color:var(--fg);font:inherit;font-size:var(--text-md);font-weight:500;text-align:left;text-decoration:none;border-bottom:1px solid var(--border);cursor:pointer}.site-nav-drawer-links li:last-child a,.site-nav-drawer-links li:last-child .site-nav-drawer-btn{border-bottom:0}.site-nav-drawer-links a[aria-current=page]{font-weight:650}.site-footer{border-top:1px solid var(--border);background:var(--bg-panel);color:var(--fg-muted)}.site-footer-inner{max-width:1120px;margin:0 auto;padding:40px var(--space-5) 28px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:var(--space-6)}.site-footer-brand-line{display:flex;align-items:flex-start;gap:8px;margin:0;max-width:40ch;font-size:var(--text-sm);line-height:1.5;color:var(--fg-muted)}.site-footer-brand-line svg{flex-shrink:0;margin-top:2px;color:var(--fg)}.site-footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.site-footer-cols h2{margin:0 0 10px;font-size:var(--text-sm);font-weight:600;color:var(--fg)}.site-footer-cols a{display:block;padding:4px 0;font-size:var(--text-sm);color:var(--fg-muted);text-decoration:none}.site-footer-cols a:hover{color:var(--fg);text-decoration:underline}.site-footer-legal{max-width:1120px;margin:0 auto;padding:14px var(--space-5) 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--fg-subtle)}.site-footer-legal-links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.site-footer-legal-links a{display:inline-flex;align-items:center;color:var(--fg-muted);text-decoration:none}.site-footer-legal-links a:hover{color:var(--fg);text-decoration:underline}@media(hover:none){.site-footer-legal-links a{min-height:40px}}.workspace-with-site-header .workspace-layout{height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h))}.workspace-layout{--workspace-rail: 224px;--workspace-strip-h: 44px;display:flex;height:100vh;height:100dvh;width:100%;overflow:hidden;background:var(--bg)}.workspace-layout[data-collapsed=true]{--workspace-rail: 60px}.workspace-sidebar{flex:0 0 var(--workspace-rail);width:var(--workspace-rail);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--bg-panel);transition:flex-basis var(--motion-fast) var(--ease),width var(--motion-fast) var(--ease)}.workspace-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:var(--header-h);padding:0 10px 0 14px;border-bottom:1px solid var(--border)}.workspace-brand{color:var(--fg);text-decoration:none;min-width:0}.workspace-nav{flex:1;overflow-y:auto;padding:10px 8px}.workspace-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.workspace-nav a,.workspace-sidebar-foot a,.workspace-drawer-theme button{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 10px;border-radius:var(--radius-sm);color:var(--fg-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;white-space:nowrap;overflow:hidden}.workspace-nav a:hover,.workspace-sidebar-foot a:hover,.workspace-drawer-theme button:hover{color:var(--fg);background:var(--bg-subtle)}.workspace-nav a[aria-current=page]{color:var(--fg);background:var(--bg-subtle);box-shadow:inset 2px 0 0 var(--fg)}.workspace-nav a:focus-visible,.workspace-sidebar-foot a:focus-visible,.workspace-drawer-theme button:focus-visible,.site-nav-links a:focus-visible,.site-nav-user-btn:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.workspace-nav svg{flex-shrink:0}.workspace-nav-note{margin-left:auto;font-size:var(--text-xs);color:var(--fg-subtle)}.workspace-sidebar-foot{padding:8px;border-top:1px solid var(--border)}.workspace-layout[data-collapsed=true] .workspace-nav-label,.workspace-layout[data-collapsed=true] .workspace-nav-note{display:none}.workspace-layout[data-collapsed=true] .workspace-sidebar-head{justify-content:center;padding:0 6px}.workspace-layout[data-collapsed=true] .workspace-brand{display:none}.workspace-layout[data-collapsed=true] .workspace-nav a,.workspace-layout[data-collapsed=true] .workspace-sidebar-foot a{justify-content:center;padding:0}.workspace-content{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace-content>.app,.workspace-content>.ide-app,.workspace-content>.viz-app,.workspace-content>.notes-app,.workspace-content>.notes-tool{height:100%!important;min-height:0!important;max-height:100%!important;flex:1 1 auto}.workspace-content>.workspace-overview{overflow-y:auto;height:100%}.workspace-tool-grid{list-style:none;margin:0 0 var(--space-5);padding:0}.workspace-tool-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);transition:border-color var(--motion-quick) var(--ease),background var(--motion-quick) var(--ease)}.workspace-tool-card:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.workspace-tool-open{color:var(--fg);text-decoration:none}.workspace-tool-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.workspace-tool-new{position:relative;z-index:1;margin-top:auto}@media(hover:none){.workspace-tool-new{min-height:40px}}.workspace-tool-plan{margin-top:auto}.workspace-tool-plan a{position:relative;z-index:1;color:var(--fg-muted)}@media(hover:none){.workspace-tool-plan a{display:inline-flex;align-items:center;min-height:40px}}.workspace-recent{margin-bottom:var(--space-5)}.workspace-guest-note{margin:0;font-size:var(--text-sm);color:var(--fg-muted)}.workspace-guest-note a{color:var(--fg)}.workspace-layout[data-compact]{flex-direction:column}.workspace-strip{display:flex;align-items:center;gap:10px;height:var(--workspace-strip-h);padding:0 8px 0 6px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0}.workspace-strip-title{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:var(--text-sm);color:var(--fg-subtle)}.workspace-strip-tool{color:var(--fg);font-weight:600;white-space:nowrap}.workspace-strip .workspace-brand{margin-left:auto}.workspace-strip .workspace-brand .brand-name{font-size:var(--text-sm)}.workspace-drawer{position:fixed;top:var(--workspace-strip-h);left:0;bottom:0;width:min(280px,85vw);z-index:45;border-right:1px solid var(--border-strong);box-shadow:var(--shadow-md)}.workspace-drawer[hidden]{display:none}.workspace-scrim{position:fixed;inset:var(--workspace-strip-h) 0 0 0;z-index:44;border:0;padding:0;background:color-mix(in oklab,#000 45%,transparent);cursor:pointer}.workspace-layout[data-compact] .workspace-content{height:calc(100dvh - var(--workspace-strip-h))}.workspace-drawer-theme{padding:var(--space-2);border-top:1px solid var(--border)}.workspace-drawer-theme button{width:100%;border:0;background:none;font-family:inherit;text-align:left;cursor:pointer}@media(max-width:767px){.workspace-layout[data-bar]{--workspace-strip-h: 48px}.workspace-strip[data-bar]{gap:var(--space-1);padding:0 var(--space-2) 0 var(--space-1)}.workspace-strip[data-bar] .workspace-brand{margin-left:0}.workspace-bar-brand{justify-content:center;flex-shrink:0;min-width:40px;min-height:40px}.workspace-strip[data-bar] .workspace-strip-tool{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-md)}.workspace-bar-busy{display:inline-flex;flex-shrink:0;color:var(--fg-muted)}.workspace-bar-account{display:inline-flex;align-items:center;flex-shrink:0;margin-left:auto}.workspace-bar-account .user-menu,.workspace-bar-account .guest-header-actions{flex-wrap:nowrap}.workspace-bar-account .user-menu-usage-link,.workspace-bar-account .user-menu-btn{min-height:40px}.workspace-drawer .workspace-nav a,.workspace-drawer .workspace-sidebar-foot a,.workspace-drawer-theme button{min-height:44px}}@media(max-width:1100px){.site-nav .user-menu-email{display:none}}@media(max-width:1023px){.site-nav-inner{gap:var(--space-4)}.site-footer-inner{grid-template-columns:1fr;gap:var(--space-5)}}@media(max-width:767px){.site-nav-inner,.site-footer-inner,.site-footer-legal{padding-left:var(--space-4);padding-right:var(--space-4)}.site-nav-inner{gap:var(--space-2)}.site-nav-actions{gap:4px}.site-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.site-footer-cols{grid-template-columns:1fr}}@font-face{font-family:Cascadia Code;src:url(/assets/CascadiaCode-Regular-B4uqZjLm.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.home{--home-max: 1120px;--home-gap: 88px;--trace: var(--success);--trace-next: var(--warning);--code-kw: #9ec1ff;--code-num: #f5c97a}[data-theme=light] .home{--code-kw: #1d4ed8;--code-num: #a16207}.home{overflow-x:clip}.home-main{max-width:var(--home-max);margin:0 auto;padding:0 var(--space-5) 96px;width:100%}.home-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,11fr) minmax(0,10fr);align-items:center;gap:clamp(32px,5vw,72px);padding:clamp(56px,9vw,120px) 0 var(--home-gap)}.home-hero:before{content:"";position:absolute;z-index:-2;top:-40px;right:-25vw;bottom:0;left:-25vw;pointer-events:none;background-image:linear-gradient(color-mix(in oklab,var(--fg) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklab,var(--fg) 7%,transparent) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 55% 20%,#000 20%,transparent 80%);mask-image:radial-gradient(ellipse 70% 80% at 55% 20%,#000 20%,transparent 80%)}.home-hero:after{content:"";position:absolute;z-index:-1;top:10%;right:-8%;width:60%;height:80%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in oklab,var(--trace) 22%,transparent),transparent 70%) 70% 30% / 70% 70% no-repeat,radial-gradient(closest-side,color-mix(in oklab,var(--info) 18%,transparent),transparent 70%) 20% 80% / 70% 70% no-repeat;filter:blur(24px)}[data-theme=light] .home-hero:after{opacity:.7}.home-hero-copy{min-width:0}.home-headline{margin:0 0 22px;max-width:14ch;font-size:clamp(2.5rem,1.3rem + 4.4vw,4.25rem);font-weight:700;line-height:1;letter-spacing:-.035em;text-wrap:balance}.home-lede{margin:0 0 32px;max-width:46ch;font-size:var(--text-lg);line-height:1.55;color:var(--fg-muted)}.home-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.home-hero-actions .btn,.home-cta-actions .btn{text-decoration:none;min-width:156px}.home-hero-actions .btn-lg{height:46px;padding:0 22px}.home-hero-actions .btn:only-child{flex:1 1 auto;max-width:340px;justify-content:center}.home-hero-actions .btn-primary{box-shadow:0 8px 24px color-mix(in oklab,var(--primary) 22%,transparent)}.home-hero-note{margin:18px 0 0;max-width:48ch;font-size:var(--text-sm);line-height:1.5;color:var(--fg-subtle)}.home-langs{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.home-langs li{padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in oklab,var(--bg-elevated) 70%,transparent);font-family:"Cascadia Code",var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted)}@media(prefers-reduced-motion:no-preference){.home-hero-copy,.home-hero .preview{animation:home-rise .7s var(--ease) both}.home-hero .preview{animation-delay:.15s}.home-hero .preview-node.is-active{animation:home-light .9s var(--ease) .7s both}@keyframes home-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes home-light{0%{box-shadow:0 0 color-mix(in oklab,var(--trace) 45%,transparent)}to{box-shadow:0 0 0 3px color-mix(in oklab,var(--trace) 22%,transparent)}}}.home-hero .preview{border-color:color-mix(in oklab,var(--trace) 28%,var(--border-strong));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in oklab,var(--trace) 10%,transparent),0 30px 80px -20px color-mix(in oklab,var(--trace) 30%,transparent)}.preview{min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-md);overflow:hidden;font-family:"Cascadia Code",var(--font-mono);font-size:.76rem}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 12px;border-bottom:1px solid var(--border);font-family:var(--font-sans);font-size:var(--text-xs)}.preview-tabs{display:inline-flex;gap:2px}.preview-tabs span{padding:4px 10px;border-radius:6px;color:var(--fg-subtle)}.preview-tabs span.is-active{background:var(--bg-subtle);color:var(--fg);font-weight:600}.preview-direction{color:var(--fg-muted)}.preview-editors{display:grid;grid-template-columns:1fr 1fr}.preview-pane{min-width:0;border-right:1px solid var(--border)}.preview-pane:last-child{border-right:0}.preview-pane-head{padding:6px 12px;border-bottom:1px solid var(--border);color:var(--fg-muted);font-size:.7rem}.preview-pane pre{margin:0;padding:10px 0;line-height:1.85;color:var(--fg);overflow:hidden}.preview-line{display:flex;gap:10px;padding-right:12px;white-space:pre}.preview-code{min-width:0}.tok-kw{color:var(--code-kw)}.tok-num{color:var(--code-num)}.tok-fn{font-weight:600}.preview-gutter{width:26px;flex-shrink:0;padding-right:6px;text-align:right;color:var(--fg-subtle);border-right:2px solid transparent}.preview-line.is-current{background:color-mix(in oklab,var(--trace) 14%,transparent)}.preview-line.is-current .preview-gutter{border-right-color:var(--trace);color:var(--trace)}.preview-flow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;padding:12px;border-top:1px solid var(--border);background:var(--bg-panel)}.preview-flow-item{display:inline-flex;align-items:center}.preview-node{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-elevated);color:var(--fg-muted);font-size:.66rem;white-space:nowrap}.preview-node.is-start,.preview-node.is-end{border-radius:999px}.preview-node.is-branch{transform:skew(-12deg)}.preview-node.is-active{border-color:var(--trace);background:color-mix(in oklab,var(--trace) 16%,var(--bg-elevated));color:var(--fg);box-shadow:0 0 0 3px color-mix(in oklab,var(--trace) 22%,transparent)}.preview-edge{width:12px;height:1px;background:var(--border-strong)}.preview-terminal{display:flex;gap:10px;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg);color:var(--fg)}.preview-prompt{color:var(--fg-subtle)}.preview-output{margin-left:auto;color:var(--trace)}.home-section{padding-top:var(--home-gap);border-top:1px solid var(--border);scroll-margin-top:72px}.home-section+.home-section{margin-top:var(--home-gap)}.home-section-head{margin-bottom:32px;max-width:60ch}.home-section-head h2,.home-cta h2{margin:0 0 8px;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1.15}.home-section-head p{margin:0;font-size:var(--text-md);color:var(--fg-muted)}.home-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.home-tool.mode-card,.home-tool-row.mode-card{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:none;color:var(--fg);text-decoration:none;transition:border-color var(--motion-quick) var(--ease),background var(--motion-quick) var(--ease)}.home-tool.mode-card:hover,.home-tool-row.mode-card:hover{transform:none;border-color:var(--fg-subtle);background:var(--bg-elevated)}.home-tool.mode-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.home-tool-row.mode-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding:18px 22px}.home-tool-body{display:flex;flex-direction:column;gap:6px;flex:1;padding:18px 22px 0}.home-tool-row .home-tool-body{padding:0}.home-tool-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);color:var(--fg)}.home-tool-title{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-lg);font-weight:600}.home-tool-title svg{color:var(--fg-muted)}.home-tool-desc{font-size:var(--text-sm);line-height:1.5;color:var(--fg-muted)}.home-tool-note{font-size:var(--text-xs);color:var(--fg-subtle)}.home-tool-cta{display:inline-flex;align-items:center;gap:6px;padding:16px 22px 20px;font-size:var(--text-sm);font-weight:600;color:var(--fg)}.home-tool-row .home-tool-cta{padding:0;white-space:nowrap}.home-tool-cta svg{transition:transform var(--motion-quick) var(--ease)}.home-tool.mode-card:hover .home-tool-cta svg,.home-tool-row.mode-card:hover .home-tool-cta svg{transform:translate(3px)}.tool-visual{display:flex;align-items:center;gap:12px;height:108px;padding:0 22px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.tool-visual i,.tool-visual-tree i{display:block;height:6px;border-radius:3px;background:var(--border-strong)}.tool-visual i.is-indent{margin-left:14px}.tool-visual i.is-hot{background:var(--trace)}.tool-visual-pane{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated)}.tool-visual-arrow{flex-shrink:0;color:var(--fg-subtle)}.tool-visual-flow{justify-content:center;gap:0}.tool-visual-node{display:block;width:44px;height:22px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-elevated);flex-shrink:0}.tool-visual-node.is-start,.tool-visual-node.is-end{width:34px;border-radius:999px}.tool-visual-node.is-branch{transform:skew(-14deg)}.tool-visual-node.is-hot{border-color:var(--trace);background:color-mix(in oklab,var(--trace) 16%,var(--bg-elevated));box-shadow:0 0 0 3px color-mix(in oklab,var(--trace) 22%,transparent)}.tool-visual-edge{display:block;width:14px;height:1px;background:var(--border-strong);flex-shrink:0}.tool-visual-ide{gap:10px}.tool-visual-tree{flex:0 0 34%;display:flex;flex-direction:column;gap:9px;padding:12px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated)}.tool-visual-tree i.is-indent{margin-left:8px}.tool-visual-editor{flex:1 1 0;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);overflow:hidden}.tool-visual-editor .tool-visual-pane{border:0;border-radius:0;padding:10px 12px}.tool-visual-term{display:flex;align-items:center;gap:8px;padding:7px 12px;border-top:1px solid var(--border);background:var(--bg)}.tool-visual-term b{font-family:"Cascadia Code",var(--font-mono);font-size:.7rem;font-weight:400;color:var(--trace);line-height:1}.home-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border);overflow:hidden}.home-feature{min-width:0;padding:26px 24px 28px;background:var(--bg-elevated)}.home-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);color:var(--fg)}.home-feature h3{margin:0 0 8px;font-size:var(--text-lg);font-weight:600;line-height:1.3}.home-feature p{margin:0;font-size:var(--text-md);line-height:1.55;color:var(--fg-muted)}.home-feature ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.home-feature li{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-sm);line-height:1.5;color:var(--fg)}.home-feature li svg{flex-shrink:0;margin-top:4px;color:var(--fg-muted)}.home-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);position:relative}.home-steps:before{content:"";position:absolute;left:20px;right:20px;top:20px;height:1px;background:var(--border-strong)}.home-step{position:relative;min-width:0}.home-step-marker{position:relative;display:inline-flex;align-items:center;height:40px;padding-right:12px;margin-bottom:14px;background:var(--bg);color:var(--fg)}.home-step-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elevated);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.home-step h3{margin:0 0 6px;font-size:var(--text-md);font-weight:600;line-height:1.3}.home-step p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--fg-muted)}.home-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--home-gap);padding:36px 40px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-md)}.home-cta-text{flex:1 1 320px;min-width:0}.home-cta-text p{margin:0;max-width:56ch;font-size:var(--text-md);line-height:1.5;color:var(--fg-muted)}.home-cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media(max-width:1023px){.home{--home-gap: 64px}.home-hero{grid-template-columns:1fr;gap:40px}.home-headline{max-width:18ch}.preview{max-width:640px}.home-hero:after{top:auto;bottom:0;right:0;width:100%;height:55%}.home-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.home-tool-body,.home-tool-cta,.tool-visual{padding-left:16px;padding-right:16px}.home-features{grid-template-columns:repeat(2,minmax(0,1fr))}.home-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}.home-steps:before{display:none}}@media(max-width:767px){.home{--home-gap: 48px}.home-main{padding-left:var(--space-4);padding-right:var(--space-4)}.home-main{padding-bottom:56px}.home-hero{padding-top:28px}.home-headline{max-width:none}.home-hero-actions .btn,.home-cta-actions .btn{flex:1 1 auto;min-width:0}.preview-editors{grid-template-columns:1fr}.preview-pane{border-right:0;border-bottom:1px solid var(--border)}.preview-pane:last-child{border-bottom:0}.home-tools,.home-features{grid-template-columns:1fr}.home-feature{padding:20px 18px 22px}.home-tool-row.mode-card{grid-template-columns:auto minmax(0,1fr);padding:16px 18px}.home-tool-row .home-tool-cta{grid-column:2}.home-steps{grid-template-columns:1fr;row-gap:24px}.home-step{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px}.home-step-marker{grid-row:1 / 3;height:auto;align-items:flex-start;padding:0;margin:0}.home-step h3{padding-top:9px}.home-cta{padding:24px 20px}}:root{--bg: #0a0a0b;--bg-elevated: #121214;--bg-subtle: #1a1a1e;--bg-panel: #0f0f11;--fg: #f4f4f5;--fg-muted: #a1a1aa;--fg-subtle: #8b8b95;--border: color-mix(in oklab, var(--fg) 12%, transparent);--border-strong: color-mix(in oklab, var(--fg) 22%, transparent);--accent: #c8ccd4;--accent-fg: #0a0a0b;--primary: #d4d7de;--primary-fg: #0a0a0b;--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--info: #7dd3fc;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--header-h: 52px;--toolbar-h: 40px;--bottom-h: 220px;--shadow: 0 8px 30px color-mix(in oklab, #000 40%, transparent);--shadow-sm: 0 1px 2px color-mix(in oklab, #000 28%, transparent);--shadow-md: 0 14px 44px color-mix(in oklab, #000 48%, transparent);--ring: color-mix(in oklab, var(--fg) 60%, transparent);--text-xs: .75rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.625rem;--text-3xl: 2rem;--control-h: 36px;--motion-quick: .15s;--motion-fast: .25s;--ease: cubic-bezier(.22, 1, .36, 1);--limit-normal: #22c55e;--limit-warning: #f59e0b;--limit-critical: #ea580c;--limit-blocked: #dc2626}[data-theme=light]{--bg: #f6f6f7;--bg-elevated: #ffffff;--bg-subtle: #ececee;--bg-panel: #fafafa;--fg: #18181b;--fg-muted: #52525b;--fg-subtle: #63636b;--border: color-mix(in oklab, var(--fg) 12%, transparent);--border-strong: color-mix(in oklab, var(--fg) 20%, transparent);--accent: #3f3f46;--accent-fg: #fafafa;--primary: #18181b;--primary-fg: #fafafa;--success: #166534;--warning: #92400e;--danger: #b91c1c;--info: #075985;--shadow: 0 8px 30px color-mix(in oklab, #000 10%, transparent);--shadow-sm: 0 1px 2px color-mix(in oklab, #000 8%, transparent);--shadow-md: 0 14px 44px color-mix(in oklab, #000 12%, transparent);--ring: color-mix(in oklab, var(--fg) 70%, transparent);--limit-normal: #16a34a;--limit-warning: #d97706;--limit-critical: #ea580c;--limit-blocked: #dc2626}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:where(a,button,summary,[tabindex],input,select,textarea):not(.inputarea,.xterm-helper-textarea):focus-visible{outline:2px solid var(--ring);outline-offset:2px}:where(input,select,textarea):focus-visible{outline-offset:0}::placeholder{color:var(--fg-subtle);opacity:1}.app{display:grid;grid-template-rows:var(--header-h) var(--toolbar-h) 1fr auto;height:100%;min-height:100vh;min-height:100dvh;overscroll-behavior:none}.app.has-exec-disabled-banner{grid-template-rows:var(--header-h) auto var(--toolbar-h) 1fr auto}.app.has-limit-banner{grid-template-rows:var(--header-h) var(--toolbar-h) auto 1fr auto}.app.has-exec-disabled-banner.has-limit-banner{grid-template-rows:var(--header-h) auto var(--toolbar-h) auto 1fr auto}.exec-disabled-banner{display:flex;align-items:flex-start;gap:10px;padding:8px 14px;background:color-mix(in oklab,var(--warning) 14%,var(--bg-elevated));border-bottom:1px solid color-mix(in oklab,var(--warning) 40%,transparent);color:var(--fg);font-size:.82rem;line-height:1.45;flex-shrink:0}.exec-disabled-banner-icon{flex-shrink:0;margin-top:2px;color:var(--warning)}.exec-disabled-banner-body{display:flex;flex-direction:column;gap:2px;min-width:0}.exec-disabled-banner-body strong{font-weight:600;color:var(--warning)}.exec-disabled-banner-text{color:var(--fg-muted)}.exec-disabled-banner code{font-family:var(--font-mono);font-size:.78em;padding:1px 5px;border-radius:var(--radius-xs);background:color-mix(in oklab,var(--fg) 8%,transparent);color:var(--fg)}.header{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-elevated);z-index:20}.brand{display:flex;align-items:center;gap:var(--space-2);font-weight:600;letter-spacing:-.02em;min-width:0}.brand-name{font-size:.95rem;white-space:nowrap}.privacy-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in oklab,var(--success) 12%,transparent);color:var(--success);font-size:.75rem;font-weight:500;border:1px solid color-mix(in oklab,var(--success) 30%,transparent);white-space:nowrap}.privacy-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in oklab,var(--success) 25%,transparent)}.header-spacer{flex:1}.header-actions{display:flex;align-items:center;gap:var(--space-1)}.header-actions,.toolbar-side,.toolbar-center,.toolbar-group,.ide-header-left,.ide-header-right,.viz-header-left,.viz-header-right,.mode-chooser-header-actions,.user-menu,.user-menu-usage,.guest-header-actions,.brand{min-width:0}img{max-width:100%;height:auto}pre,code{max-width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-width:36px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--fg-muted);font:inherit;font-size:.8125rem;font-weight:500;transition:background var(--motion-quick) var(--ease),color var(--motion-quick) var(--ease),border-color var(--motion-quick) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--bg-subtle);color:var(--fg)}.icon-btn.active{background:var(--bg-subtle);color:var(--fg);border-color:var(--border)}.toolbar{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-panel);overflow-x:auto;scrollbar-width:thin}.toolbar-slim{height:40px;min-height:40px;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-3)}.toolbar-side{display:flex;align-items:center;gap:4px;flex:1 1 0;min-width:0}.toolbar-side-right{justify-content:flex-end}.toolbar-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto}.toolbar-slim .btn{height:30px;padding:0 10px;font-size:.8rem}.toolbar-slim .btn-sm{height:28px;padding:0 8px;font-size:.75rem}.toolbar-group{display:flex;align-items:center;gap:var(--space-1)}.toolbar-divider{width:1px;height:22px;background:var(--border);margin:0 var(--space-1);flex-shrink:0}.btn-sm{height:28px;padding:0 8px;font-size:.75rem;gap:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg);font:inherit;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;transition:background var(--motion-quick) var(--ease),transform var(--motion-quick) var(--ease),border-color var(--motion-quick) var(--ease)}.btn:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:scale(.98)}.btn-secondary{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-lg{height:42px;padding:0 18px;font-size:var(--text-md);border-radius:var(--radius-md)}.btn[aria-busy=true],.btn.is-loading{pointer-events:none;opacity:.7}.btn .spin{flex-shrink:0}.lang-pair{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.lang-select-wrap{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--fg-muted)}.lang-select-label{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;color:var(--fg-subtle)}.lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-panel);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:4px 28px 4px 10px;font-size:.82rem;font-family:inherit;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--fg-muted) 50%),linear-gradient(135deg,var(--fg-muted) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;max-width:140px}.lang-select:hover,.lang-select:focus{border-color:var(--accent);outline:none}.swap-langs{font-size:1rem;min-width:36px;padding:4px 8px}.direction-toggle{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border);margin-right:8px}.direction-toggle .btn{border:none;box-shadow:none;font-size:.75rem;padding:4px 10px;opacity:.75}.direction-toggle .btn.active{background:var(--primary);color:var(--primary-fg);opacity:1}.btn-primary{background:var(--primary);color:var(--primary-fg);border-color:transparent}.btn-primary:hover:not(:disabled){filter:brightness(1.05);background:var(--primary);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--fg-muted)}.btn-ghost:hover:not(:disabled){color:var(--fg);background:var(--bg-subtle)}.btn-danger{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 35%,transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in oklab,var(--danger) 12%,transparent);border-color:color-mix(in oklab,var(--danger) 55%,transparent);color:var(--danger)}.kbd{font-family:var(--font-mono);font-size:.7rem;opacity:.7;margin-left:4px}.workspace{display:grid;grid-template-columns:1fr 6px 1fr;min-height:0;overflow:hidden}.workspace.stacked{grid-template-columns:1fr;grid-template-rows:1fr 6px 1fr}.editor-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.pane-header{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:4px var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;flex-wrap:wrap}.pane-header-actions{min-height:44px;row-gap:4px}.pane-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted)}.pane-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-subtle)}.pane-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-left:auto}.pane-actions .btn-sm{height:28px;padding:0 8px;font-size:.75rem;gap:4px}.pane-actions .btn-sm .btn-label{font-size:.72rem}@media(max-width:1100px){.pane-actions .btn-label{display:none}}.pane-body{flex:1;min-height:0;position:relative}.pane-body .monaco-editor{position:absolute;top:0;right:0;bottom:0;left:0}.helper-fold-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--fg-muted);font-size:var(--text-xs);flex-shrink:0}@media(hover:none){.helper-fold-bar .btn{height:auto;min-height:40px}}.splitter{background:var(--border);cursor:col-resize;transition:background var(--motion-quick) var(--ease)}.workspace.stacked .splitter{cursor:row-resize}.splitter:hover,.splitter.active{background:var(--border-strong)}.bottom{border-top:1px solid var(--border);background:var(--bg-elevated);display:flex;flex-direction:column;height:var(--bottom-h);max-height:70vh;min-height:36px;position:relative;flex-shrink:0}.bottom.collapsed{height:36px!important;max-height:36px;min-height:36px}.bottom.resizing{transition:none}.bottom-resize-handle{position:absolute;top:-4px;left:0;right:0;height:8px;cursor:row-resize;z-index:5}.bottom-resize-handle:hover,.bottom.resizing .bottom-resize-handle{background:color-mix(in oklab,var(--accent) 35%,transparent)}.bottom-tabs{display:flex;align-items:center;gap:2px;padding:0 var(--space-2);height:36px;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.tab{height:28px;padding:0 10px;border:none;background:transparent;color:var(--fg-muted);font:inherit;font-size:.75rem;font-weight:500;border-radius:var(--radius-xs);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.tab:hover,.tab.active{color:var(--fg);background:var(--bg-subtle)}.tab-badge{font-size:.65rem;padding:1px 6px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--fg-muted);font-variant-numeric:tabular-nums}.tab-badge.warn{color:var(--warning);border-color:color-mix(in oklab,var(--warning) 40%,transparent)}.tab-badge.err{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 40%,transparent)}.bottom-body{flex:1;overflow:auto;padding:var(--space-3);font-family:var(--font-mono);font-size:.8rem;line-height:1.55;min-height:0}.bottom.collapsed .bottom-body{display:none}.log-line{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2);padding:4px 6px;border-radius:var(--radius-xs);cursor:pointer}.log-line:hover{background:var(--bg-subtle)}.log-sev{font-weight:600;text-transform:uppercase;font-size:.65rem;letter-spacing:.04em;min-width:56px}.log-sev.error{color:var(--danger)}.log-sev.warning{color:var(--warning)}.log-sev.info{color:var(--info)}.log-msg{color:var(--fg);word-break:break-word}.log-loc{color:var(--fg-subtle);margin-right:8px}.empty-hint{color:var(--fg-subtle);font-family:var(--font-sans);font-size:.875rem;padding:var(--space-4);text-align:center}.libraries-tab{display:flex;flex-direction:column;gap:var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm)}.libraries-intro{margin:0 0 var(--space-2);color:var(--fg-muted);line-height:1.5;max-width:80ch}.libraries-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.libraries-notice{margin-top:var(--space-2);color:var(--fg-muted)}.libraries-files{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.libraries-files li{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 0 0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle)}.libraries-files code,.library-kept code{font-family:var(--font-mono);font-size:var(--text-xs)}.libraries-list{display:grid;gap:var(--space-2)}.library-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);display:grid;gap:var(--space-1)}.library-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.library-name{font-family:var(--font-mono);font-weight:600;color:var(--fg)}.library-meta{color:var(--fg-subtle);font-size:var(--text-xs)}.library-status{margin-left:auto;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.library-status.ok{color:var(--success)}.library-status.warn{color:var(--warning)}.library-status.err{color:var(--danger)}.library-what,.library-numbers,.library-reason,.library-equivalent{color:var(--fg-muted);line-height:1.5}.library-equivalent{color:var(--fg)}.library-kept{display:flex;flex-wrap:wrap;gap:var(--space-1)}.library-kept code{padding:1px 6px;border-radius:var(--radius-xs);background:var(--bg-subtle)}.problems-summary{margin:0 0 var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.5}.problems-summary.problems-error strong{color:var(--danger)}.problems-summary.problems-warning strong{color:var(--warning)}.problems-summary.problems-success strong{color:var(--success)}.problems-stale{color:var(--fg-muted)}button.problem-row{width:100%;min-height:32px;align-items:start;text-align:left;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit}button.problem-row:hover{background:var(--bg-subtle)}.problem-row .log-sev{padding-top:2px}.problem-fix{display:block;color:var(--fg-muted);font-family:var(--font-sans);font-size:var(--text-xs)}.explanation-text{white-space:pre-line}.output-failed-title{color:var(--danger)}.status-problems{max-width:40ch;overflow:hidden;text-overflow:ellipsis}.status-problems.status-error{color:var(--danger)}.status-problems.status-warning{color:var(--warning)}.status-problems.status-success{color:var(--success)}.ai-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border:1px solid color-mix(in oklab,var(--info) 45%,transparent);border-radius:var(--radius-sm);background:color-mix(in oklab,var(--info) 12%,transparent);color:var(--info);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;line-height:1.4;white-space:nowrap}.ai-callout{display:grid;gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-left:3px solid color-mix(in oklab,var(--info) 60%,transparent);border-radius:var(--radius-sm);background:var(--bg-subtle);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.5;text-align:left}.ai-callout-text{margin:0;max-width:80ch}.ai-callout-hint,.ai-callout-reason{color:var(--fg-muted)}.ai-callout-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.ai-callout-reason{font-size:var(--text-xs)}.output-empty{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding-bottom:var(--space-4)}.output-empty .ai-callout{width:min(100% - 2 * var(--space-4),60ch)}.ai-result-toggle{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border)}.ai-result-toggle .btn{height:26px;padding:0 var(--space-2);border:none;background:transparent;color:var(--fg-muted);font-size:var(--text-xs)}.ai-result-toggle .btn.active{background:var(--primary);color:var(--primary-fg)}.ai-result-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid color-mix(in oklab,var(--info) 30%,var(--border));background:color-mix(in oklab,var(--info) 8%,var(--bg-elevated));font-size:var(--text-xs);line-height:1.4;flex-shrink:0}.ai-result-label{min-width:0;overflow-wrap:anywhere}.ai-result-meta,.ai-result-hint,.ai-result-note{color:var(--fg-muted)}.ai-result-note{flex-basis:100%}.ai-result-extra{flex-shrink:0;max-height:35%;overflow:auto;border-bottom:1px solid var(--border);background:var(--bg-elevated);font-size:var(--text-xs)}.ai-result-files{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border)}.ai-result-files .btn{height:26px;font-family:var(--font-mono);font-size:var(--text-xs)}.ai-result-files .btn.active{color:var(--fg);background:var(--bg-subtle);border-color:var(--border-strong)}.ai-result-details>summary{padding:var(--space-1) var(--space-3);color:var(--fg-muted);cursor:pointer}.ai-result-details-body{display:grid;gap:var(--space-1);padding:0 var(--space-3) var(--space-2);max-width:80ch}.ai-result-details-body p,.ai-check-list,.ai-notes{margin:0}.ai-check-list,.ai-notes{padding-left:var(--space-4)}.ai-check-ok{color:var(--success)}.ai-check-problems,.ai-check-list{color:var(--danger)}.ai-outside,.ai-masked{color:var(--fg-muted)}.modal.ai-consent-modal{z-index:70}.ai-dialog-body{display:grid;gap:var(--space-3);padding:var(--space-4);font-size:var(--text-sm);line-height:1.55}.ai-dialog-body p{margin:0}.ai-dialog-why{display:grid;gap:var(--space-2)}.ai-dialog-note{color:var(--fg-muted);font-size:var(--text-xs)}.ai-dialog-problem{color:var(--warning)}.ai-dialog-alert{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0}.ai-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.ai-consent-text ul{margin:var(--space-2) 0 0;padding-left:var(--space-5);display:grid;gap:var(--space-1)}.ai-effort{margin:0;padding:0;border:0;min-width:0}.ai-effort-legend{padding:0;margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--fg-muted)}.ai-effort-options{display:grid;gap:var(--space-2)}.ai-effort-option{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--motion-quick) var(--ease),background var(--motion-quick) var(--ease)}.ai-effort-option:hover{border-color:var(--border-strong)}.ai-effort-option.active{border-color:var(--border-strong);background:var(--bg-subtle)}.ai-effort-option input{margin:3px 0 0;accent-color:var(--fg)}.ai-effort-text{display:grid;gap:2px}.ai-effort-title{font-weight:600}.ai-effort-desc{color:var(--fg-muted);font-size:var(--text-xs)}.ai-estimate{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);min-height:1.5em}.ai-estimate-main{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600}.ai-estimate-hint,.ai-estimate-balance{color:var(--fg-muted);font-size:var(--text-xs)}.ai-progress{display:grid;gap:var(--space-2)}.ai-progress-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-weight:600}.ai-progress-time{color:var(--fg-muted);font-weight:400;font-variant-numeric:tabular-nums}.ai-credits-subtitle{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:600}.ai-jobs-wrap{overflow-x:auto}.ai-jobs-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ai-jobs-table th,.ai-jobs-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.ai-jobs-table th{color:var(--fg-subtle);font-size:var(--text-xs);font-weight:600}.ai-jobs-table .num{text-align:right;font-variant-numeric:tabular-nums}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklab,#000 50%,transparent);z-index:40;animation:fade-in var(--motion-fast) var(--ease)}.sheet{position:fixed;top:0;right:0;height:100%;width:min(400px,100vw);background:var(--bg-elevated);border-left:1px solid var(--border);z-index:50;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:slide-in var(--motion-fast) var(--ease)}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border)}.sheet-title{font-weight:600;font-size:1rem;letter-spacing:-.02em}.sheet-body{flex:1;overflow:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.75rem;font-weight:500;color:var(--fg-muted)}.field input,.field select,.field textarea{height:36px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--fg);font:inherit;font-size:.875rem}.field textarea{height:auto;min-height:80px;padding:10px;resize:vertical;font-family:var(--font-mono);font-size:.8rem}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-strong)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ring);outline-offset:0;border-color:transparent}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:color-mix(in oklab,var(--danger) 60%,transparent)}.check-row{display:flex;align-items:center;gap:10px;font-size:.875rem}.check-row input{width:16px;height:16px;accent-color:var(--fg)}.section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-subtle);margin-top:var(--space-2)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:var(--space-4)}.modal>.modal-card{position:relative;z-index:61}.modal-card{width:min(520px,100%);max-height:min(80vh,640px);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:pop-in var(--motion-fast) var(--ease)}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:var(--space-3);overflow:auto}.examples-modal{width:min(640px,100%);max-height:min(85vh,720px)}.modal-card.modal-card-wide{width:min(560px,100%)}.examples-header-title{display:flex;align-items:center;gap:var(--space-2);min-width:0}.examples-header-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.examples-back{flex-shrink:0}.examples-body{display:flex;flex-direction:column;gap:var(--space-2);max-height:min(70vh,600px);overflow:auto}.examples-hint{margin:0 0 var(--space-1);padding:0 var(--space-1);font-size:.8rem;color:var(--fg-muted);line-height:1.4}.examples-lang-list{display:flex;flex-direction:column;gap:4px}.examples-lang-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);text-align:left;padding:var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--fg);font:inherit;cursor:pointer;transition:background var(--motion-quick) var(--ease),border-color var(--motion-quick) var(--ease)}.examples-lang-item:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.examples-lang-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.examples-lang-item-main{display:flex;align-items:center;gap:var(--space-2);min-width:0}.examples-lang-item-main strong{font-weight:600;font-size:.95rem}.examples-lang-chevron{flex-shrink:0;color:var(--fg-subtle)}.examples-group{display:flex;flex-direction:column;gap:4px}.examples-group-title{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle);position:sticky;top:0;background:var(--bg-elevated);z-index:1;border-bottom:1px solid var(--border)}.examples-group-count{font-weight:500;font-size:.7rem;color:var(--fg-muted);background:var(--bg-subtle);border-radius:999px;padding:1px 7px;letter-spacing:0;text-transform:none}.example-item{width:100%;text-align:left;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--fg);font:inherit;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:background var(--motion-quick) var(--ease),border-color var(--motion-quick) var(--ease)}.example-item:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.example-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.example-item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.example-item strong{font-weight:600;font-size:.9rem}.example-item>span:last-child{font-size:.8rem;color:var(--fg-muted)}.example-lang-badge{flex-shrink:0;font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-subtle);background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.type-row{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-2);align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:.8125rem}.type-row code{font-family:var(--font-mono);font-size:.75rem}.status-bar{display:flex;gap:var(--space-3);align-items:center;font-size:.75rem;color:var(--fg-subtle);padding:0 var(--space-2);margin-left:auto}.toast-stack{position:fixed;bottom:calc(var(--bottom-h) + 16px);right:16px;z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:10px 14px;font-size:.8125rem;box-shadow:var(--shadow);max-width:320px;animation:pop-in var(--motion-fast) var(--ease)}.toast.success{border-color:color-mix(in oklab,var(--success) 40%,transparent)}.toast.error{border-color:color-mix(in oklab,var(--danger) 40%,transparent)}.toast.warning{border-color:color-mix(in oklab,var(--warning) 40%,transparent)}.file-drop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:color-mix(in oklab,var(--bg) 85%,transparent);border:2px dashed var(--border-strong);display:grid;place-items:center;font-weight:500;color:var(--fg-muted);pointer-events:none;opacity:0;transition:opacity var(--motion-quick) var(--ease)}.file-drop.visible{opacity:1;pointer-events:auto}.debug-steps-list{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);font-family:var(--font-mono);font-size:.72rem}.debug-step{display:flex;flex-wrap:wrap;gap:8px;padding:4px 8px;border-bottom:1px solid var(--border);cursor:pointer;align-items:baseline}.debug-step:hover{background:var(--bg-subtle)}.debug-step-ev{font-weight:700;color:var(--info);min-width:4.5rem;text-transform:uppercase;font-size:.65rem}.debug-step-break .debug-step-ev,.debug-step.debug-step-break .debug-step-ev{color:var(--warning)}.debug-step-exception .debug-step-ev{color:var(--danger)}.debug-step-ln{color:var(--accent)}.debug-step-fn{color:var(--fg-muted)}.debug-step-ex{color:var(--danger)}.debug-step-ret{color:var(--success)}.debug-step-loc{color:var(--fg-subtle);flex:1 1 100%}.stdin-box{width:100%;min-height:48px;margin-top:var(--space-2);padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:.8rem;resize:vertical}.compare-tab{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm)}.compare-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.compare-stdin{display:flex;flex-direction:column;flex:1 1 260px;min-width:0}.compare-stdin-label{font-size:var(--text-xs);color:var(--fg-muted)}.compare-stdin .stdin-box{margin-top:var(--space-1);min-height:40px}.compare-intro,.compare-note{margin:0;color:var(--fg-muted)}.compare-stale{color:var(--warning)}.compare-verdict{margin:0;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--fg)}.compare-verdict-same{border-color:color-mix(in oklab,var(--success) 45%,transparent);color:var(--success)}.compare-verdict-differs,.compare-verdict-ending{border-color:color-mix(in oklab,var(--warning) 45%,transparent);color:var(--warning)}.compare-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-3)}.compare-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border)}.compare-title{font-weight:650;color:var(--fg)}.compare-role{font-size:var(--text-xs);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.04em}.compare-status{margin-left:auto;font-size:var(--text-xs);color:var(--fg-muted)}.compare-status-failed{color:var(--danger)}.compare-body{min-width:0;padding-top:var(--space-1)}.compare-body>.compare-note{padding:var(--space-1) 0}.compare-lines{overflow-x:auto;font-family:var(--font-mono);font-size:.8rem;line-height:1.55}.compare-line{display:flex;gap:10px;min-width:max-content;white-space:pre}.compare-ln{flex:none;min-width:3ch;text-align:right;color:var(--fg-subtle);-webkit-user-select:none;user-select:none}.compare-line-diff{border-radius:var(--radius-xs);background:color-mix(in oklab,var(--warning) 22%,transparent);box-shadow:inset 3px 0 0 var(--warning)}.compare-line-missing .compare-text{color:var(--fg-subtle);font-style:italic}.compare-gap{padding:2px 0;color:var(--fg-subtle);font-size:var(--text-xs)}.compare-stderr{max-height:12em;margin:var(--space-2) 0 0;padding:6px var(--space-2);overflow:auto;border-left:3px solid var(--danger);border-radius:var(--radius-xs);background:var(--bg-subtle);color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(8px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pop-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:900px){.privacy-pill span.label{display:none}.btn-collapsible .btn-label,:where(.toolbar,.ide-toolbar,.viz-toolbar,.header,.ide-header,.viz-header,.viz-source-toolbar,.viz-logic-header,.viz-run-header,.ide-flow-actions,.pane-actions,.flow-zoom-controls) .btn .btn-label{display:none}.btn{padding:0 10px}.brand-name{font-size:.85rem}}@media(max-width:640px){.header,.toolbar{padding:0 var(--space-2)}}.mode-chooser{height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-page{overflow-y:auto;-webkit-overflow-scrolling:touch}.mode-chooser-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.mode-chooser-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6, 32px) var(--space-4);gap:var(--space-5, 24px)}.mode-chooser-intro{text-align:center;max-width:520px}.mode-chooser-intro h1{margin:0 0 8px;font-size:clamp(1.6rem,1.2rem + 1.4vw,2rem);font-weight:650;letter-spacing:-.02em;line-height:1.15}.mode-chooser-intro p{margin:0;color:var(--fg-muted);font-size:.95rem}.mode-cards{display:grid;grid-template-columns:repeat(2,minmax(240px,340px));gap:var(--space-4);width:100%;max-width:760px;justify-content:center}.mode-cards.mode-cards-3{grid-template-columns:repeat(3,minmax(220px,300px));max-width:980px}.mode-cards.mode-cards-4{grid-template-columns:repeat(4,minmax(200px,270px));max-width:1180px}.mode-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;text-decoration:none;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--fg);padding:22px 20px;cursor:pointer;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow);transition:border-color .15s ease,transform .15s ease;font-family:inherit}.mode-card:hover{border-color:var(--accent);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.mode-card:hover,.btn:active:not(:disabled){transform:none}}.mode-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft, color-mix(in srgb, var(--accent) 16%, transparent));color:var(--accent)}.mode-card h2{margin:0;font-size:1.2rem}.mode-card p{margin:0;flex:1;color:var(--fg-muted);font-size:.88rem;line-height:1.45}.mode-card-cta{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:.85rem;margin-top:4px}.mode-chooser-footer{padding:var(--space-3) var(--space-4);text-align:center;font-size:.78rem;color:var(--fg-subtle);border-top:1px solid var(--border)}@media(max-width:1240px){.mode-cards.mode-cards-4{grid-template-columns:repeat(2,minmax(220px,320px));max-width:700px}}@media(max-width:960px){.mode-cards.mode-cards-3{grid-template-columns:repeat(2,minmax(220px,320px));max-width:700px}}@media(max-width:700px){.mode-cards,.mode-cards.mode-cards-3,.mode-cards.mode-cards-4{grid-template-columns:1fr;max-width:400px}}.ide-app{height:100vh;height:100dvh;overscroll-behavior:none;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);overflow:hidden}.ide-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-elevated);min-height:var(--header-h);flex-shrink:0}.ide-header-left,.ide-header-right{display:flex;align-items:center;gap:var(--space-2);min-width:0}.ide-status{font-size:.75rem;color:var(--fg-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-body{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden}.ide-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ide-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2) var(--space-3);padding:8px var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0}.ide-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;margin-right:clamp(.5rem,8%,3.5rem)}.ide-lang-select{min-width:160px}.ide-entry{font-size:.75rem;color:var(--fg-subtle);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:6px}.ide-main{flex:1;min-height:0;display:grid;grid-template-areas:"side split editor" "csplit csplit csplit" "console console console"}.ide-sidebar{grid-area:side;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--bg-elevated);border-right:1px solid var(--border)}.ide-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:.75rem;font-weight:600;color:var(--fg-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em}.ide-sidebar-actions{display:flex;gap:2px}.ide-file-list{list-style:none;margin:0;padding:4px;overflow:auto;flex:1;min-height:0}.ide-file-list li{display:flex;align-items:center;gap:2px}.ide-file-item{flex:1;min-width:0;display:flex;align-items:center;gap:6px;text-align:left;border:none;background:transparent;color:var(--fg);font:inherit;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.ide-file-item:hover{background:var(--bg-subtle)}.ide-file-item.active{background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--fg)}.ide-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.ide-file-item.binary .ide-file-name{opacity:.85;font-style:italic}.ide-file-badge{flex-shrink:0;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:4px;background:color-mix(in oklab,var(--fg-subtle) 22%,transparent);color:var(--fg-subtle)}.ide-file-del{opacity:.35;flex-shrink:0}.ide-file-list li:hover .ide-file-del,.ide-file-list li:focus-within .ide-file-del{opacity:1}.ide-sidebar-foot{padding:6px 10px;font-size:.68rem;color:var(--fg-subtle);border-top:1px solid var(--border)}.ide-side-splitter{grid-area:split;background:var(--border);cursor:col-resize}.ide-flow-splitter{flex:0 0 5px;width:5px;align-self:stretch;background:var(--border);cursor:col-resize;z-index:2}.ide-side-splitter:hover,.ide-flow-splitter:hover,body.ide-resizing-x .ide-side-splitter,body.ide-resizing-x .ide-flow-splitter{background:var(--border-strong)}body.ide-resizing-x *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.ide-editor-pane{grid-area:editor;min-height:0;min-width:0;position:relative;display:flex;flex-direction:column;background:var(--bg-panel)}.ide-editor-pane.drop-active{box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--accent) 50%,transparent)}.ide-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:2px;padding:4px 4px 0;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0}.ide-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--fg-muted);font:inherit;font-size:.78rem;padding:6px 8px 6px 10px;cursor:pointer;max-width:180px}.ide-tab:hover{background:var(--bg-subtle);color:var(--fg)}.ide-tab.active{background:var(--bg-panel);color:var(--fg);border-color:var(--border)}.ide-tab span.mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-tab-close{display:inline-flex;opacity:.45;border-radius:3px}.ide-tab-close:hover,.ide-tab:focus-within .ide-tab-close{opacity:1}.ide-tab-close:hover{background:color-mix(in oklab,var(--danger) 20%,transparent)}.ide-editor-body{flex:1;min-height:0;position:relative}.ide-console-splitter{grid-area:csplit;background:var(--border);cursor:row-resize;transition:background var(--motion-quick) var(--ease)}.ide-console-splitter:hover,body.ide-resizing .ide-console-splitter{background:var(--border-strong)}body.ide-resizing *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.ide-console-pane{grid-area:console;min-height:0;display:flex;flex-direction:column;background:var(--bg-elevated);border-top:1px solid var(--border)}.ide-flow-pane{flex:0 0 auto;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--border);position:relative;overflow:hidden}.ide-flow-pane .flow-explorer{flex:1;min-height:0;height:100%;display:flex;flex-direction:column}.ide-flow-pane .flow-explorer-body{flex:1;min-height:0;display:flex}.ide-flow-pane .flow-panel{flex:1;min-height:0;width:100%}.ide-flow-pane .flow-panel-body{display:flex;flex-direction:column;min-height:0;flex:1}.ide-flow-pane .flow-viewport{flex:1;min-height:160px}.ide-flow-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);padding:6px 10px;border-bottom:1px solid var(--border)}.ide-flow-scope{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border);margin-right:auto}.ide-flow-scope .btn{height:24px;padding:0 10px;border:none;background:transparent;color:var(--fg-muted);font-size:.75rem}.ide-flow-scope .btn.active{background:var(--primary);color:var(--primary-fg)}.ide-flow-error{flex-shrink:0;padding:6px 10px;font-size:.72rem;color:var(--danger, #f87171);background:color-mix(in oklab,var(--danger, #f87171) 12%,transparent);border-bottom:1px solid color-mix(in oklab,var(--danger, #f87171) 30%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-console-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:4px var(--space-3);border-bottom:1px solid var(--border);flex-shrink:0}.ide-console-title{display:inline-flex;align-items:center;gap:5px;color:var(--fg);font-size:.78rem;font-weight:600;padding:4px 2px}.ide-console-meta{font-size:.72rem;color:var(--fg-subtle)}.ide-terminal{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;background:#0a0a0c;overflow:hidden}[data-theme=light] .ide-terminal{background:#1a1a1e}.ide-terminal .xterm{flex:1;min-height:0;height:100%;padding:6px 8px}.ide-terminal .xterm .xterm-viewport{width:100%!important}@media(max-width:900px){.ide-body{flex-direction:column}.ide-workspace{flex:1 1 auto;min-height:0}.ide-main{grid-template-columns:1fr!important;grid-template-rows:minmax(200px,1fr) 5px minmax(140px,28%)!important;grid-template-areas:"editor" "csplit" "console"!important}.ide-sidebar,.ide-side-splitter{display:none}.ide-flow-splitter{flex:0 0 5px;width:auto;height:5px;cursor:row-resize}.ide-flow-pane{flex:0 0 32%;width:100%!important;min-height:180px;max-height:40vh;border-left:none;border-top:1px solid var(--border)}.ide-toolbar-actions{margin-right:0}.ide-editor-pane,.ide-console-pane,.ide-flow-pane,.ide-console-splitter,.ide-flow-splitter{grid-column:auto!important;grid-row:auto!important}.ide-flow-splitter{cursor:row-resize;min-height:5px}}.viz-app{height:100vh;height:100dvh;overscroll-behavior:none;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);overflow:hidden}.viz-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.viz-header-left,.viz-header-right{display:flex;align-items:center;gap:8px}.viz-subtitle{color:var(--fg-subtle);font-size:.75rem;font-weight:500}.viz-busy{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--fg-muted)}.viz-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(260px,36%) 1fr;gap:1px;background:var(--border)}.viz-workspace-3{grid-template-columns:28% 5px 30% 5px 1fr}.viz-workspace-run{grid-template-rows:minmax(0,1fr) minmax(150px,26%)}.viz-workspace-run .viz-source-pane{grid-column:1;grid-row:1}.viz-workspace-run>.viz-splitter-v:nth-of-type(1),.viz-workspace-run>.viz-splitter:first-of-type{grid-column:2;grid-row:1}.viz-workspace-run .viz-splitter-v{grid-row:1}.viz-workspace-run .viz-logic-pane{grid-column:3;grid-row:1}.viz-workspace-run .viz-run-pane{grid-column:1 / 4;grid-row:2}.viz-workspace-run .viz-flow-pane{grid-column:5;grid-row:1 / -1}.viz-workspace-run>.viz-splitter-v:nth-child(2){grid-column:2;grid-row:1}.viz-workspace-run>.viz-splitter-v:nth-child(5){grid-column:4;grid-row:1 / -1}.viz-run-pane{display:flex;flex-direction:column;min-height:0;background:var(--bg-panel);border-top:1px solid var(--border);padding:8px 10px;gap:6px}.viz-run-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.viz-run-title{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600}.viz-run-lang{font-size:.72rem;font-weight:500;color:var(--fg-subtle);padding:1px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle)}.viz-run-status{font-size:.72rem;font-weight:500;color:var(--fg-muted)}.viz-run-badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--success, #4ade80);border:1px solid color-mix(in srgb,var(--success, #4ade80) 40%,transparent);background:color-mix(in srgb,var(--success, #4ade80) 12%,transparent);padding:1px 7px;border-radius:999px}.viz-run-warn{font-size:.68rem;color:var(--warning, #fbbf24)}.viz-run-actions{display:inline-flex;align-items:center;gap:6px}.viz-run-stdin-row{flex-shrink:0}.viz-run-stdin-label{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--fg-subtle);font-weight:600}.viz-run-stdin{flex:1;min-width:0;resize:vertical;max-height:72px;min-height:28px;font-family:var(--font-mono);font-size:.75rem;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg)}.viz-run-output{flex:1;min-height:0;margin:0;overflow:auto;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.viz-splitter{cursor:col-resize;background:var(--border);position:relative;z-index:2;transition:background .12s ease}.viz-splitter:hover,.viz-splitter:active{background:var(--accent, #38bdf8)}body.viz-resizing,body.viz-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.viz-source-pane{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg-panel);padding:8px;gap:6px}.viz-source-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.viz-source-toolbar .viz-visualize-btn .btn-label{display:inline}.viz-field{display:flex;flex-direction:column;gap:2px;font-size:.7rem;color:var(--fg-muted)}.viz-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:var(--radius-sm);padding:4px 8px;font-size:.82rem;font-family:inherit;min-width:140px}.viz-filename{font-size:.72rem;color:var(--fg-subtle);padding:0 2px}.viz-editor{flex:1;min-height:160px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;position:relative}.viz-editor.drop-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 40%,transparent)}.viz-error{color:var(--danger);font-size:.78rem;padding:4px 2px}.viz-source-hint{font-size:.72rem;color:var(--fg-subtle);padding:2px}.viz-flow-pane{min-height:0;min-width:0;background:var(--bg-panel);display:flex;flex-direction:column}.viz-flow-pane .flow-explorer{flex:1;min-height:0;height:100%;display:flex;flex-direction:column}.viz-flow-pane .flow-explorer-body{flex:1;min-height:0;display:flex}.viz-flow-pane .flow-panel{flex:1;min-height:0;width:100%}.viz-flow-pane .flow-panel-body{display:flex;flex-direction:column;min-height:0;flex:1}.viz-flow-pane .flow-viewport{flex:1;min-height:200px}.flow-stale-badge{font-size:.65rem;opacity:.75;margin-left:4px}.flow-modal-body>.flow-explorer{min-height:0;min-width:0;height:100%;background:var(--bg-panel)}@media(max-width:900px){.viz-workspace{grid-template-columns:1fr;grid-template-rows:minmax(220px,40%) 1fr}.viz-workspace-3{grid-template-columns:1fr!important;grid-template-rows:minmax(160px,24%) 0 minmax(160px,26%) minmax(140px,22%) 0 minmax(180px,1fr)!important}.viz-workspace-run .viz-source-pane,.viz-workspace-run .viz-logic-pane,.viz-workspace-run .viz-run-pane,.viz-workspace-run .viz-flow-pane{grid-column:1!important;grid-row:auto!important}.viz-splitter{display:none}}.viz-logic-pane{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg-elevated)}.viz-progress-track{height:3px;background:var(--border);flex-shrink:0}.viz-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#86efac);transition:width .2s ease}.viz-tutor-body{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(100px,34%) 1fr;gap:0}.viz-tutor-body:not(:has(.viz-tutor-frames)){grid-template-columns:1fr}.viz-tutor-frames{padding:12px 10px;border-right:1px solid var(--border);background:var(--bg-panel);overflow:auto}.viz-frame-card{margin-top:8px;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);opacity:.72}.viz-frame-card.active{opacity:1;border-color:color-mix(in srgb,#22c55e 50%,var(--border));box-shadow:inset 3px 0 #22c55e;background:color-mix(in srgb,#22c55e 8%,var(--bg))}.viz-frame-name{font-size:.78rem;font-weight:600}.viz-frame-meta{font-size:.7rem;color:var(--fg-subtle);margin-top:2px}.viz-tutor-main{padding:14px 14px 12px;overflow:auto}.viz-tutor-code-wrap{margin-bottom:12px}.viz-logic-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.viz-logic-title{font-weight:700;font-size:.92rem}.viz-logic-sub{font-size:.72rem;color:var(--fg-subtle);margin-top:2px}.viz-status{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;border:1px solid color-mix(in srgb,var(--fg-muted) 45%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--fg-muted) 12%,transparent);color:var(--fg-muted);font-size:var(--text-xs);font-weight:600;line-height:1.4;white-space:nowrap;vertical-align:middle}.viz-status-finished{border-color:color-mix(in srgb,var(--success) 45%,transparent);background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.viz-status-timeout,.viz-status-truncated{border-color:color-mix(in srgb,var(--warning) 45%,transparent);background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.viz-status-error{border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.viz-status-static{border-color:color-mix(in srgb,var(--fg-muted) 45%,transparent);background:color-mix(in srgb,var(--fg-muted) 12%,transparent);color:var(--fg-muted)}.viz-where{white-space:nowrap}@media(max-width:767px){.viz-status{display:flex;width:max-content;margin:4px 0 0}}.viz-step-controls{display:flex;align-items:center;gap:4px}.viz-play-btn{margin:0 6px;height:36px;min-width:5.5rem;padding:0 14px;font-size:.88rem;font-weight:700;letter-spacing:.02em;border-radius:999px;transition:transform .12s ease,box-shadow .15s ease,filter .15s ease}.viz-play-btn.btn-primary{border:none;background:var(--primary);color:var(--primary-fg);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 35%,transparent),0 4px 14px color-mix(in srgb,var(--primary) 45%,transparent)}.viz-play-btn.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 40%,transparent),0 6px 18px color-mix(in srgb,var(--primary) 55%,transparent)}.viz-play-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.98)}.viz-play-btn:disabled{opacity:.45;box-shadow:none}.viz-play-btn.is-playing{background:color-mix(in srgb,#f59e0b 88%,var(--primary));color:#1a1200;box-shadow:0 0 0 2px color-mix(in srgb,#f59e0b 45%,transparent),0 4px 16px color-mix(in srgb,#f59e0b 50%,transparent);animation:viz-play-pulse 1.4s ease-in-out infinite}.viz-play-btn.is-playing:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 50%,transparent),0 6px 18px color-mix(in srgb,#f59e0b 55%,transparent)}@keyframes viz-play-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,#f59e0b 40%,transparent),0 4px 14px color-mix(in srgb,#f59e0b 45%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,#f59e0b 28%,transparent),0 6px 20px color-mix(in srgb,#f59e0b 55%,transparent)}}@media(prefers-reduced-motion:reduce){.viz-play-btn.is-playing{animation:none}.viz-play-btn.btn-primary:hover:not(:disabled){transform:none}}.viz-logic-body{flex:1;min-height:0;overflow:auto;padding:14px 14px 10px}.viz-kind-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);margin-bottom:8px}.viz-kind-decision{background:color-mix(in srgb,#f59e0b 18%,transparent);color:#d97706}.viz-kind-return,.viz-kind-end{background:color-mix(in srgb,#6366f1 18%,transparent);color:#4f46e5}.viz-kind-io{background:color-mix(in srgb,#06b6d4 18%,transparent);color:#0891b2}.viz-kind-loop{background:color-mix(in srgb,#8b5cf6 18%,transparent);color:#7c3aed}.viz-kind-assign{background:color-mix(in srgb,#22c55e 18%,transparent);color:#16a34a}.viz-kind-call{background:color-mix(in srgb,#3b82f6 18%,transparent);color:#2563eb}.viz-track-modes{display:flex;gap:6px;padding:8px 12px 4px;flex-shrink:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated, var(--bg-panel)) 80%,transparent)}.viz-track-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);font:inherit;font-size:.78rem;font-weight:600;padding:7px 10px;border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,box-shadow .12s ease}.viz-track-btn:hover{color:var(--fg);border-color:var(--border-strong, var(--border))}.viz-track-btn.active{color:var(--primary-fg, #fff);background:var(--primary);border-color:transparent;box-shadow:0 2px 10px color-mix(in srgb,var(--primary) 35%,transparent)}.viz-story-details{display:flex;flex-wrap:wrap;gap:5px;padding:6px 12px 8px;flex-shrink:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated, var(--bg-panel)) 55%,transparent)}.viz-story-detail-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg-muted);font:inherit;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.viz-story-detail-btn:hover{color:var(--fg);border-color:var(--border-strong, var(--border))}.viz-story-detail-btn.active{color:var(--fg);background:color-mix(in srgb,var(--primary) 16%,var(--bg));border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.viz-story-panel{width:100%}.viz-story-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--primary)}.viz-story-header-label{font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.viz-story-ai{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-shrink:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated, var(--bg-panel)) 55%,transparent);font-size:var(--text-xs);line-height:1.4}.viz-story-ai-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.viz-story-ai-start{border-color:color-mix(in srgb,var(--info) 45%,var(--border))}.viz-story-ai-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding-left:var(--space-2);border:1px solid color-mix(in srgb,var(--info) 35%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--info) 8%,transparent);color:var(--fg)}.viz-story-ai-chip-text{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600}.viz-story-ai-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;min-height:28px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--fg-muted);font:inherit;font-weight:600;cursor:pointer}.viz-story-ai-switch:hover{color:var(--fg);background:var(--bg-subtle)}.viz-story-ai-switch-track{position:relative;display:inline-block;flex-shrink:0;width:28px;height:16px;border-radius:999px;background:var(--border-strong);transition:background var(--motion-quick) var(--ease)}.viz-story-ai-switch-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--bg);transition:transform var(--motion-quick) var(--ease)}.viz-story-ai-switch.on .viz-story-ai-switch-track{background:var(--info)}.viz-story-ai-switch.on .viz-story-ai-switch-thumb{transform:translate(12px)}.viz-story-ai-switch-state{color:var(--fg-subtle);font-weight:400}.viz-story-ai-cost,.viz-story-ai-hint{margin:0;color:var(--fg-muted)}.data-notice{margin:0;font-size:var(--text-xs);line-height:1.5;color:var(--fg-muted)}.data-notice a{color:var(--fg);text-decoration:underline}.data-notice.libraries-privacy{margin-bottom:var(--space-2)}@media(hover:none){.data-notice a{display:inline-flex;align-items:center;min-height:40px}}.viz-story-ai-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;color:var(--danger)}.viz-story-ai-banner{margin:0 0 var(--space-3)}.viz-story-ai-banner .ai-result-banner{border:1px solid color-mix(in srgb,var(--info) 30%,var(--border));border-radius:var(--radius-sm)}.viz-story-builtin-note{margin:0 0 var(--space-2);color:var(--fg-subtle);font-size:var(--text-xs)}@media(prefers-reduced-motion:reduce){.viz-story-ai-switch-track,.viz-story-ai-switch-thumb{transition:none}}.viz-story-prose{font-size:.92rem;line-height:1.55;color:var(--fg);margin-bottom:14px}.viz-story-prose p{margin:0 0 .85em}.viz-story-prose p:last-child{margin-bottom:0}.viz-story-now{margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--bg))}.viz-story-now-text{margin:4px 0 8px;font-size:.9rem;line-height:1.5}.viz-story-action-expl{font-size:.95rem;line-height:1.55}.viz-value-chain{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--bg))}.viz-value-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.85rem}.viz-value-row code{font-size:.82rem;word-break:break-word}.viz-value-tag{flex-shrink:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-subtle);min-width:5.5rem}.viz-value-eval code{color:var(--accent, var(--primary));font-weight:600}.viz-value-result code{color:#16a34a;font-weight:700;font-size:.95rem}.viz-value-table-wrap{margin:0 0 12px}.viz-value-table{width:100%;border-collapse:collapse;font-size:.8rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.viz-value-table th,.viz-value-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border)}.viz-value-table th{background:var(--bg-elevated, var(--bg-panel));color:var(--fg-subtle);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.viz-value-table tr:last-child td{border-bottom:none}.viz-val-name{color:var(--accent, var(--primary));font-weight:600;width:35%}.viz-val-value{color:var(--fg);word-break:break-word}.viz-step-title{margin:0 0 8px;font-size:1.15rem;line-height:1.3}.viz-step-expl{margin:0 0 12px;color:var(--fg-muted);font-size:.9rem;line-height:1.5}.viz-step-code{margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);font-size:.78rem;overflow-x:auto;white-space:pre-wrap}.viz-facts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.viz-fact-card{border-radius:10px;border:1px solid var(--border);background:var(--bg-panel);padding:10px 12px}.viz-fact-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-subtle);margin-bottom:4px}.viz-fact-text{font-size:.86rem;line-height:1.45;color:var(--fg)}.viz-frames{margin-bottom:12px}.viz-frame-stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.viz-frame-chip{font-size:.72rem;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted)}.viz-upcoming{margin-top:4px}.viz-upcoming-card{margin-top:6px;padding:10px 12px;border-radius:10px;border:1px dashed color-mix(in srgb,#fb923c 55%,var(--border));background:color-mix(in srgb,#fb923c 10%,transparent);font-size:.84rem}.viz-logic-footer{flex-shrink:0;padding:8px 12px;border-top:1px solid var(--border);font-size:.7rem;color:var(--fg-subtle);line-height:1.35}.viz-legend-current{color:#16a34a;font-weight:600}.viz-legend-next{color:#ea580c;font-weight:600}.viz-line-current{background:#22c55e29!important}.viz-line-next{background:#fb923c24!important}.viz-gutter-current{background:#22c55e8c;width:4px!important;margin-left:3px}.viz-gutter-next{background:#fb923c8c;width:4px!important;margin-left:3px}.mode-chooser-header-actions{display:flex;align-items:center;gap:var(--space-2)}.auth-page .auth-card{width:min(420px,100%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow);text-align:left}.auth-card-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--fg);margin-bottom:var(--space-3)}.auth-card h1{margin:0 0 var(--space-2);font-size:1.45rem;font-weight:650;letter-spacing:-.02em;line-height:1.2}.auth-subtitle{color:var(--fg-muted);margin:0 0 var(--space-4);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:var(--space-3)}.field-row{display:flex;gap:var(--space-3)}.field-row>.field{flex:1 1 0;min-width:0}@media(max-width:479px){.field-row{flex-direction:column}}.auth-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;font-size:var(--text-md);border-radius:var(--radius-md);margin-top:var(--space-2)}.auth-links{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-4)}.auth-alert{border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:var(--space-3);font-size:.9rem}.auth-alert-error{background:color-mix(in oklab,var(--danger) 16%,transparent);color:var(--danger);border:1px solid color-mix(in oklab,var(--danger) 35%,transparent)}.auth-alert-ok{background:color-mix(in oklab,var(--success) 14%,transparent);color:var(--success);border:1px solid color-mix(in oklab,var(--success) 35%,transparent)}.user-menu{display:inline-flex;align-items:center;gap:8px}.user-menu-email{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--fg-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-password-wrap{position:relative;display:flex;align-items:center}.auth-password-wrap input{width:100%;padding-right:40px}.auth-password-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);height:32px;width:32px;min-width:32px;padding:0;border:none;background:transparent;color:var(--fg-subtle)}.auth-password-toggle:hover{color:var(--fg)}.auth-password-strength{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--border);margin-top:-4px}.auth-strength-bar{display:flex;gap:4px}.auth-strength-segment{flex:1;height:4px;border-radius:2px;transition:background var(--motion-quick) var(--ease)}.auth-strength-label{font-size:.75rem;font-weight:600}.auth-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--fg-muted)}.auth-checklist li{display:inline-flex;align-items:center;gap:6px}.auth-checklist li.ok{color:var(--success)}.auth-terms{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);line-height:1.45;color:var(--fg-muted);cursor:pointer}.auth-terms input[type=checkbox]{flex-shrink:0;width:16px;height:16px;min-height:0;margin:0;accent-color:var(--primary)}.auth-terms a{color:var(--fg);text-decoration:underline}@media(hover:none){.auth-terms{min-height:40px;align-items:center}.auth-terms input[type=checkbox]{width:20px;height:20px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.limit-meter{--limit-color: var(--limit-normal);display:flex;flex-direction:column;gap:4px;min-width:0}.limit-meter[data-state=warning]{--limit-color: var(--limit-warning)}.limit-meter[data-state=critical]{--limit-color: var(--limit-critical)}.limit-meter[data-state=blocked]{--limit-color: var(--limit-blocked)}.limit-meter-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.8rem}.limit-meter-name{display:inline-flex;align-items:center;gap:6px;color:var(--fg);min-width:0}.limit-meter-icon{color:var(--limit-color);flex-shrink:0}.limit-meter-hint{color:var(--fg-subtle);font-size:.72rem;white-space:nowrap}.limit-meter-fraction{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-muted);white-space:nowrap}.limit-meter[data-state=critical] .limit-meter-fraction,.limit-meter[data-state=blocked] .limit-meter-fraction{font-weight:600;color:var(--fg)}.limit-meter-track{position:relative;height:8px;border-radius:4px;background:var(--bg-subtle);overflow:hidden}.limit-meter-fill{position:absolute;top:0;bottom:0;left:0;border-radius:4px;background:var(--limit-color);transition:width .24s ease-out}.limit-meter-tick{position:absolute;top:0;bottom:0;width:1px;background:var(--border-strong);z-index:1}.limit-meter-lock{position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--bg);z-index:1}.limit-meter-compact{flex-direction:row;align-items:center;gap:6px}.limit-meter-compact .limit-meter-track{height:6px;width:64px;flex-shrink:0}.limit-meter-compact .limit-meter-fraction{font-size:.7rem}.limit-banner{--limit-color: var(--limit-critical);display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 12px;font-size:.8rem;line-height:1.35;color:var(--fg);background:color-mix(in srgb,var(--limit-color) 10%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--limit-color) 35%,transparent);border-radius:var(--radius-sm);flex-shrink:0}.limit-banner[data-state=blocked]{--limit-color: var(--limit-blocked)}.limit-banner-icon{color:var(--limit-color);flex-shrink:0}.limit-banner-message{flex:1;min-width:0}.limit-banner-action{flex-shrink:0;min-height:28px;padding:4px 12px;border:none;border-radius:var(--radius-xs);background:var(--primary);color:var(--primary-fg);font-size:.8rem;font-weight:600}.blocked-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a80}.blocked-dialog{width:100%;max-width:400px;max-height:90vh;max-height:90dvh;overflow:auto;padding:24px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.blocked-dialog-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:12px;border-radius:50%;background:color-mix(in srgb,var(--limit-blocked) 10%,transparent);color:var(--limit-blocked)}.blocked-dialog-title{margin:0 0 8px;font-size:1.05rem;font-weight:600}.blocked-dialog-body{margin:0 0 16px;font-size:.88rem;color:var(--fg-muted)}.blocked-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.blocked-dialog-primary,.blocked-dialog-secondary{padding:7px 14px;border-radius:var(--radius-xs);font-size:.82rem;font-weight:600;text-decoration:none}.blocked-dialog-primary{border:none;background:var(--primary);color:var(--primary-fg)}.blocked-dialog-secondary{border:1px solid var(--border-strong);background:transparent;color:var(--fg)}.user-menu-usage{display:inline-flex;align-items:center;gap:12px;min-width:0}.user-menu-usage-link{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:var(--fg-muted);text-decoration:none;white-space:nowrap}.user-menu-usage-link:hover{color:var(--fg);text-decoration:underline}@media(max-width:900px){.user-menu-usage .limit-meter-compact{display:none}}.usage-page{height:100%;min-height:100vh;min-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);color:var(--fg)}.usage-page-inner{max-width:920px;margin:0 auto;padding:var(--space-6) var(--space-5) 64px}.usage-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--space-5);padding:0;border:none;background:none;font-size:.85rem;color:var(--fg-muted);text-decoration:none}.usage-back:hover{color:var(--fg);text-decoration:underline}.usage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:var(--space-5)}.usage-title{margin:0 0 4px;font-size:1.6rem;font-weight:600}.usage-subline{margin:0;font-size:.88rem;color:var(--fg-muted)}.usage-plan-chip{padding:3px 12px;border:1px solid var(--border-strong);border-radius:999px;font-size:.78rem;color:var(--fg-muted);flex-shrink:0}.usage-blocked-line{margin:0 0 var(--space-4);font-size:.85rem;color:var(--limit-blocked)}.usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.usage-card{--limit-color: var(--limit-normal);display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.usage-card[data-state=warning]{--limit-color: var(--limit-warning);border-color:color-mix(in srgb,var(--limit-warning) 35%,transparent)}.usage-card[data-state=critical]{--limit-color: var(--limit-critical);border-color:color-mix(in srgb,var(--limit-critical) 35%,transparent)}.usage-card[data-state=blocked]{--limit-color: var(--limit-blocked);border-color:color-mix(in srgb,var(--limit-blocked) 35%,transparent)}.usage-card-head{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600}.usage-card-icon{color:var(--fg-muted);flex-shrink:0}.usage-card-name{flex:1;min-width:0}.usage-card-badge{padding:1px 8px;border-radius:999px;font-size:.7rem;font-weight:600;color:var(--fg);background:color-mix(in srgb,var(--limit-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--limit-color) 35%,transparent)}.usage-card-footer{margin:0;font-size:.76rem;color:var(--fg-subtle)}.usage-facts-title{margin:0 0 var(--space-3);font-size:1rem;font-weight:600}.usage-facts-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.usage-facts-table{width:100%;border-collapse:collapse;font-size:.82rem}.usage-facts-table td{padding:6px 12px 6px 0;border-bottom:1px solid var(--border);color:var(--fg-muted)}.usage-facts-table td:first-child{color:var(--fg);white-space:nowrap}@media(max-width:767px){.usage-page-inner{padding:12px 12px 48px}.usage-grid{grid-template-columns:1fr}.usage-header{flex-wrap:wrap}.usage-title{font-size:1.35rem}.usage-facts-table td:first-child{white-space:normal}}@media(prefers-reduced-motion:reduce){.limit-meter-fill{transition:none}}.auth-verify-panel,.auth-check-email{display:flex;flex-direction:column;gap:12px;text-align:center}.auth-verified-line{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;font-weight:600;color:var(--success)}.auth-check-email .auth-subtitle svg,.auth-verify-panel .auth-subtitle svg{vertical-align:-2px;margin-right:4px}.guest-header-actions{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.guest-header-actions .btn{text-decoration:none}.blocked-dialog{position:relative}.blocked-dialog-close{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--fg-muted);cursor:pointer}.blocked-dialog-close:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg)}.blocked-dialog-secondary:is(a){display:inline-flex;align-items:center}.auth-success-panel{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.auth-success-panel .auth-success-icon{color:var(--success)}.auth-success-panel .auth-submit{width:100%}.auth-mfa-hint{margin:0;color:var(--fg-muted);font-size:var(--text-sm)}.auth-code-input{font-family:var(--font-mono);letter-spacing:.08em}.auth-mfa-done{display:flex;flex-direction:column;gap:var(--space-3)}@media(max-width:767px){:root{--toolbar-h: 48px}.btn,.btn-sm,.icon-btn,.toolbar-slim .btn,.toolbar-slim .btn-sm,.pane-actions .btn-sm{height:auto;min-height:40px}.icon-btn{min-width:40px}.toolbar-slim{height:var(--toolbar-h);min-height:var(--toolbar-h)}.tab,.ide-tab,.viz-track-btn,.viz-story-detail-btn,.limit-banner-action,.blocked-dialog-primary,.blocked-dialog-secondary,.usage-back{min-height:40px}.bottom-tabs{height:44px}.blocked-dialog-primary,.blocked-dialog-secondary{display:inline-flex;align-items:center;justify-content:center}.viz-select,.lang-select,.field input,.field select,.field textarea,.auth-form input,.auth-form select,.stdin-box,.viz-run-stdin{min-height:40px;font-size:16px}.lang-select{max-width:100%}.header,.ide-header,.viz-header,.mode-chooser-header{flex-wrap:wrap;row-gap:4px;height:auto;min-height:var(--header-h);padding-left:var(--space-2);padding-right:var(--space-2)}.header-actions,.ide-header-left,.ide-header-right,.viz-header-left,.viz-header-right,.mode-chooser-header-actions,.user-menu,.guest-header-actions{flex-wrap:wrap;min-width:0;white-space:normal}.viz-subtitle,.privacy-pill,.user-menu-email{display:none}.brand-name{font-size:.8rem}.toast-stack{left:8px;right:8px;bottom:72px;max-width:none;align-items:stretch}.toast{max-width:none}.sheet{width:100vw;height:100%;height:100dvh;border-left:none}.sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch}.modal{padding:8px}.modal-card,.modal-card.modal-card-wide,.examples-modal{width:min(100% - 16px,520px);max-width:100%;max-height:90vh;max-height:90dvh;overflow:auto}.modal-body{-webkit-overflow-scrolling:touch}.blocked-dialog-backdrop{padding:12px}.blocked-dialog{padding:20px 16px}.blocked-dialog-actions{flex-wrap:wrap}.blocked-dialog-primary,.blocked-dialog-secondary{flex:1 1 auto}.limit-banner{flex-wrap:wrap;padding:8px 12px}.limit-banner-message{flex:1 1 0;min-width:0;overflow-wrap:anywhere}.limit-banner-action{flex:1 1 100%;width:100%}.mode-chooser-main{padding:var(--space-4) var(--space-3);gap:var(--space-4);justify-content:flex-start}.mode-chooser-intro h1{font-size:1.4rem}.mode-cards,.mode-cards.mode-cards-4,.mode-cards.mode-cards-3{grid-template-columns:1fr;max-width:100%}.mode-card{width:100%;min-height:44px;padding:18px 16px}.mode-card-cta{min-height:44px}.mode-chooser-footer{padding:var(--space-2) var(--space-3)}.auth-page .auth-card{width:min(420px,100% - 24px);padding:var(--space-4)}.auth-page .mode-chooser-main{align-items:center}}@media(hover:none){.ide-file-del,.ide-tab-close{opacity:1}button.problem-row{min-height:40px}.ai-callout .btn,.ai-result-toggle .btn,.ai-result-files .btn,.ai-dialog-actions .btn,.ai-dialog-alert .btn,.viz-story-ai .btn,.viz-story-ai-switch{height:auto;min-height:40px}.ai-effort-option,.ai-result-details>summary{min-height:44px}.mode-card:hover{transform:none}.viz-play-btn.btn-primary:hover:not(:disabled){transform:none}}.auth-guest{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);position:relative}.auth-guest-rule{position:absolute;top:0;left:0;right:0;height:1px;background:var(--border)}.auth-guest-btn{height:42px;font-size:var(--text-md);border-radius:var(--radius-md);border-color:var(--border-strong)}.auth-guest-note{margin:0;text-align:center;font-size:var(--text-xs);line-height:1.5;color:var(--fg-subtle)}.brand-link{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:600;letter-spacing:-.02em;text-decoration:none;cursor:pointer;border-radius:var(--radius-sm)}.brand-link:hover:not(:disabled){opacity:.85}.brand-link:disabled{cursor:default}.brand-link:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.auth-home-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:var(--space-4);padding:8px 0 0;border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--fg-muted);text-decoration:none}.auth-home-link:hover{color:var(--fg);text-decoration:underline}.ide-project-chip{display:inline-flex;align-items:center;gap:6px;max-width:320px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-subtle);font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap}.ide-project-name{overflow:hidden;text-overflow:ellipsis;color:var(--fg);font-weight:600}.ide-project-state:before{content:"·";margin-right:6px}.ide-project-chip[data-state=error] .ide-project-state{color:var(--danger)}.ide-project-chip[data-state=saving] .ide-project-state{color:var(--fg-subtle)}.auth-social{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.auth-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:42px;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:500;text-decoration:none;color:var(--fg);background:var(--bg-elevated);border:1px solid var(--border-strong, var(--border))}.auth-social-btn:hover{background:var(--bg-subtle);text-decoration:none}.auth-social-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);color:var(--fg-muted);font-size:var(--text-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1 1 0;height:1px;background:var(--border)}.import-zone{position:relative;min-height:0;min-width:0;display:flex;flex-direction:column;flex:1}.import-zone.drop-active{outline:2px dashed var(--border-strong);outline-offset:-2px}.file-drop-inner{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-strong);font-size:.85rem}.import-progress{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:11;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:0 6px 24px #00000040;font-size:.76rem;color:var(--fg-muted);white-space:nowrap}.import-buttons{display:inline-flex;gap:4px}.ftree{overflow:auto;min-height:0}.ftree-list{list-style:none;margin:0;padding:0}.ftree-row,.ftree-file-item{display:flex;align-items:center;gap:2px}.ftree-dir-btn,.ftree-file{flex:1;min-width:0;display:flex;align-items:center;gap:6px;text-align:left;border:none;background:transparent;color:var(--fg);font:inherit;padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer}.ftree-dir-btn{color:var(--fg-muted)}.ftree-dir-btn:hover,.ftree-file:hover{background:var(--bg-subtle)}.ftree-file.active{background:color-mix(in oklab,var(--accent) 14%,transparent)}.ftree-file.is-source .ftree-name{color:var(--fg)}.ftree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.ftree-dir-btn:focus-visible,.ftree-file:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.import-panel{display:flex;flex-direction:column;gap:6px;min-height:0;max-height:46%;padding:8px 10px;border-top:1px solid var(--border);background:var(--bg-panel);font-size:.8rem}.import-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.import-panel-title{display:flex;flex-direction:column;min-width:0}.import-panel-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.import-panel-meta,.import-panel-note{color:var(--fg-muted);font-size:.74rem;margin:0}.import-panel-warn{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:6px 8px;border-radius:var(--radius-sm);font-size:.74rem;color:var(--warning);background:color-mix(in oklab,var(--warning) 12%,transparent)}.import-panel-warn-list{color:var(--fg-muted)}.import-panel-tree{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.import-panel-skipped{font-size:.72rem;color:var(--fg-subtle)}.import-panel-skipped ul{margin:4px 0 0;padding-left:16px;max-height:96px;overflow:auto}.import-skip-reason{color:var(--fg-subtle)}.import-conflict-list{max-height:180px;overflow:auto;margin:8px 0;padding-left:18px;font-size:.78rem}.import-conflict-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}@media(max-width:767px){.import-progress{bottom:8px;max-width:calc(100% - 16px)}.import-panel{max-height:55%}}.ide-editor-drop{flex:1;min-height:0}.ide-file-list .ftree-file-item:hover .ide-file-del,.ide-file-list .ftree-file-item:focus-within .ide-file-del{opacity:1}.ide-file-list .ftree-dir-btn{padding:4px 8px}.ide-file-list .ftree-dir-item{display:block}.ide-file-list .ftree-file-item,.ide-file-list .ftree-row{display:flex;align-items:center;gap:2px}.import-panel-filter{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.72rem;color:var(--fg-subtle)}.viz-value-table tr.viz-val-changed td{background:color-mix(in oklab,var(--success) 12%,transparent)}.viz-val-was{color:var(--fg-subtle);font-size:.72rem}.viz-file-tabs{display:flex;align-items:stretch;gap:6px;min-width:0;border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:color-mix(in oklab,var(--bg-panel) 70%,var(--bg))}.viz-file-tabs+.viz-editor{border-top-left-radius:0;border-top-right-radius:0}.viz-file-tab-strip{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.viz-file-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;max-width:220px;padding:5px 10px;border:none;border-right:1px solid var(--border);border-bottom:2px solid transparent;background:transparent;color:var(--fg-muted);font:inherit;font-size:.74rem;cursor:pointer;white-space:nowrap}.viz-file-tab:hover{color:var(--fg);background:color-mix(in oklab,var(--fg) 5%,transparent)}.viz-file-tab.active{color:var(--fg);border-bottom-color:var(--accent);background:var(--bg)}.viz-file-tab-text{font-style:italic}.viz-file-tab-label{overflow:hidden;text-overflow:ellipsis}.viz-file-tab-entry{color:var(--accent);fill:currentColor}.viz-file-tab-dirty{color:var(--accent);font-weight:700;line-height:1}.viz-file-tabs-end{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:0 4px}.viz-entry-field{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;color:var(--fg-muted)}.viz-entry-select{min-width:0;max-width:180px;padding:2px 6px;font-size:.72rem}.viz-file-menu-wrap{position:relative}.viz-file-menu-btn{font-size:.7rem;padding:2px 6px;min-height:24px}.viz-file-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.viz-file-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:31;min-width:220px;max-width:min(420px,90vw);max-height:min(60vh,420px);overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding:6px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated, var(--bg-panel));box-shadow:0 10px 30px #00000040}.viz-file-menu-group{padding:4px 8px 2px;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-subtle, var(--fg-muted))}.viz-file-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--fg);font:inherit;font-size:.74rem;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viz-file-menu-item:hover,.viz-file-menu-item.active{background:color-mix(in oklab,var(--fg) 8%,transparent)}.viz-file-menu-item-text{color:var(--fg-muted)}.viz-file-tabs-compact{flex-wrap:wrap;align-items:flex-end;padding:6px;gap:8px}.viz-file-select-field{flex:1 1 160px;min-width:0}.viz-file-select{width:100%;min-width:0}.viz-project-note{font-size:.7rem;color:var(--fg-muted);padding:2px 2px 0}.viz-project-note .mono{color:var(--fg)}.ide-console-right{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.ide-console-status{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--fg-subtle);white-space:nowrap}.ide-console-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent, #58a6ff);animation:ide-console-status-pulse 1.2s ease-in-out infinite}.ide-console-status[data-kind=ended]:before,.ide-console-status[data-kind=disconnected]:before{background:var(--fg-subtle);animation:none}@keyframes ide-console-status-pulse{0%,to{opacity:.35}50%{opacity:1}}.site-nav-drawer-auth{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2)}.btn-block{display:flex;width:100%;justify-content:center}.site-nav-drawer-auth-note{margin:0;font-size:.85rem;color:var(--fg-subtle);text-align:center}.site-nav-drawer-auth-note a{font-weight:600}.converter-app .toolbar-side-right .project-controls{flex:0 0 auto;flex-wrap:nowrap}.converter-app .toolbar-side-right>span{white-space:nowrap;flex:0 0 auto}@media(min-width:1024px){.converter-app{--toolbar-h: auto}.converter-app .toolbar-slim{container-type:inline-size;height:auto;flex-wrap:wrap;row-gap:var(--space-1)}.converter-app .toolbar-slim .toolbar-side{min-width:max-content}@container (max-width: 1550px){.converter-app .toolbar-side-right>span{display:none}}@container (max-width: 1450px){.converter-app .toolbar-side-right .project-controls .btn-label{display:none}.converter-app .toolbar-side-right .project-chip{max-width:160px}}@container (max-width: 1350px){.converter-app .toolbar-side-left .btn-label{display:none}}@container (max-width: 1250px){.converter-app .toolbar-center .btn-primary .btn-label-target{display:none}}@container (max-width: 1150px){.converter-app .toolbar-center .toolbar-compare .btn-label-long{display:none}.converter-app .toolbar-center .toolbar-compare .btn-label-short{display:inline}}@container (max-width: 1100px){.converter-app .toolbar-center .lang-select-label,.converter-app .toolbar-center .btn-primary .kbd{display:none}}@container (max-width: 1050px){.converter-app .toolbar-center .toolbar-compare .btn-label-short{display:none}}@container (max-width: 1000px){.converter-app .toolbar-center .toolbar-flowchart .btn-label{display:none}}}.converter-app .toolbar-compare .btn-label-short{display:none}.user-menu-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-subtle);color:var(--fg);font:inherit;font-size:.8rem;cursor:pointer}.user-menu-btn:hover,.user-menu-btn[aria-expanded=true]{border-color:var(--border-strong, var(--border));background:var(--bg-elevated)}.user-menu-btn .user-menu-email{max-width:160px;color:inherit}.user-menu-pop{z-index:200;min-width:220px;padding:6px;border:1px solid var(--border-strong, var(--border));border-radius:var(--radius-md, 8px);background:var(--bg-elevated);box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:2px}.user-menu-pop-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:.75rem;color:var(--fg-muted)}.user-menu-pop-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg)}.user-menu-pop-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:6px;background:none;color:var(--fg);font:inherit;font-size:.85rem;text-align:left;text-decoration:none;cursor:pointer}.user-menu-pop-item:hover,.user-menu-pop-item:focus-visible{background:var(--bg-subtle);outline:none}:root{--cf-bg: var(--bg, #09090b);--cf-bg-elevated: var(--bg-elevated, #18181b);--cf-bg-panel: var(--bg-panel, #0c0c0e);--cf-fg: var(--fg, #fafafa);--cf-fg-muted: var(--fg-muted, #a1a1aa);--cf-fg-subtle: var(--fg-subtle, #71717a);--cf-border: var(--border, #27272a);--cf-border-strong: var(--border-strong, #3f3f46);--cf-accent: var(--accent, #38bdf8);--cf-accent-soft: var(--accent-soft, color-mix(in srgb, var(--cf-accent) 18%, transparent));--cf-danger: var(--danger, #f87171);--cf-warning: var(--warning, #fbbf24);--cf-radius-sm: var(--radius-sm, 6px);--cf-radius-lg: var(--radius-lg, 14px);--cf-space-2: var(--space-2, 8px);--cf-space-3: var(--space-3, 12px);--cf-space-4: var(--space-4, 16px);--cf-font-mono: var(--font-mono, ui-monospace, SF Mono, Menlo, Consolas, monospace);--cf-font-sans: var(--font-sans, ui-sans-serif, system-ui, sans-serif);--cf-shadow: var(--shadow, 0 16px 48px rgba(0, 0, 0, .45));--cf-motion: var(--motion-fast, .12s);--cf-ease: var(--ease, ease);--cf-info: var(--info, #60a5fa)}@keyframes pop-in{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}.flow-modal .btn,.flow-ctx-menu .btn,.flow-code-peek .btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--cf-border-strong);background:var(--cf-bg-panel);color:var(--cf-fg);border-radius:var(--cf-radius-sm);padding:4px 10px;font-size:.8rem;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.flow-modal .btn:hover:not(:disabled),.flow-code-peek .btn:hover:not(:disabled){border-color:var(--cf-accent)}.flow-modal .btn:disabled{opacity:.5;cursor:not-allowed}.flow-modal .btn-sm{padding:2px 8px;font-size:.75rem}.flow-modal .icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--cf-fg-muted);border-radius:var(--cf-radius-sm);padding:4px 6px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:.75rem;font-family:inherit}.flow-modal .icon-btn:hover:not(:disabled){color:var(--cf-fg);background:color-mix(in srgb,var(--cf-fg) 6%,transparent)}.flow-modal .icon-btn:disabled{opacity:.4;cursor:not-allowed}.flow-modal .btn-label{font-size:.72rem}.flow-modal .mono{font-family:var(--cf-font-mono)}.flow-modal .empty-hint{color:var(--cf-fg-muted);font-size:.85rem;padding:12px 0}.flow-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#0000008c}.flow-modal{position:fixed;top:4vh;right:4vw;bottom:4vh;left:4vw;z-index:60;display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;animation:pop-in var(--motion-fast) var(--ease);isolation:isolate}.flow-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.flow-modal-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}.flow-tabs{display:flex;gap:4px;padding:6px var(--cf-space-3) 0;border-bottom:1px solid var(--cf-border);overflow-x:auto;flex-shrink:0;min-width:0}.flow-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--cf-fg-muted);font:inherit;font-size:.85rem;font-weight:600;padding:8px 12px;min-height:40px;cursor:pointer;white-space:nowrap;border-radius:var(--cf-radius-sm) var(--cf-radius-sm) 0 0}.flow-tab:hover{color:var(--cf-fg)}.flow-tab.is-active{color:var(--cf-fg);border-bottom-color:var(--cf-accent)}.flow-tab:focus-visible{outline:2px solid var(--cf-accent);outline-offset:-2px}.flow-modal-body.is-tabs{display:flex;flex-direction:column;gap:0;overflow:hidden}.flow-tabpanel{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.flow-tabpanel>.flow-panel{flex:1;min-width:0}.flow-notice{flex-shrink:0;padding:6px var(--cf-space-4);font-size:.8rem;color:var(--cf-fg);background:color-mix(in srgb,var(--cf-warning) 16%,transparent);border-bottom:1px solid var(--cf-border)}.flow-panel{display:flex;flex-direction:column;min-height:0;background:var(--bg-panel)}.flow-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-elevated)}.flow-panel-title{font-size:.85rem;font-weight:600}.flow-panel-level{display:block;font-size:.7rem;font-weight:500;color:var(--fg-subtle);margin-top:2px}.flow-panel-actions{display:flex;gap:4px}.flow-panel-nav{padding:6px var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-elevated)}.flow-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.78rem}.flow-crumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--fg-muted);display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;cursor:pointer;font-size:inherit;font-family:inherit}.flow-crumb:hover{color:var(--fg);background:var(--bg-panel)}.flow-crumb.active{color:var(--accent);font-weight:600;background:var(--accent-soft, color-mix(in srgb, var(--accent) 14%, transparent));cursor:default}.flow-crumb.mono{font-family:var(--font-mono);font-size:.75rem}.flow-crumb-sep{color:var(--fg-subtle);flex-shrink:0}.flow-hint{color:var(--fg-muted);font-size:.78rem;margin-bottom:var(--space-2);line-height:1.4}.flow-hint-inline{color:var(--fg-subtle);font-size:.75rem}.flow-guide{flex-shrink:0;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:color-mix(in srgb,var(--bg-elevated, var(--bg-panel)) 92%,transparent);overflow:hidden}.flow-guide-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;background:transparent;color:var(--fg-muted);font:inherit;font-size:.78rem;cursor:pointer;text-align:left}.flow-guide-toggle:hover{color:var(--fg);background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-guide-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex-shrink:0}.flow-guide-toggle-label{font-weight:600;color:var(--fg);flex-shrink:0}.flow-guide-toggle-summary{color:var(--fg-subtle);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.flow-guide-toggle-count{margin-left:auto;flex-shrink:0;min-width:1.4rem;height:1.4rem;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;font-family:var(--font-mono, ui-monospace, monospace);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.flow-guide.is-open .flow-guide-toggle{border-bottom:1px solid var(--border)}.flow-guide-body{padding:10px 10px 8px;max-height:min(28vh,220px);overflow:auto}.flow-guide-body .flow-hint{margin-bottom:8px}.flow-guide-body .flow-drill-bar{margin-bottom:4px}.flow-fn-chip-bar{max-height:min(18vh,140px);overflow:auto;align-content:flex-start}.flow-viewport{display:flex;flex-direction:column;min-height:0;flex:1;gap:6px}.flow-svg-interactive{position:relative;cursor:grab;pointer-events:auto;overflow:hidden;flex:1;min-height:180px;max-height:none;user-select:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent;touch-action:none;-ms-touch-action:none;-webkit-touch-callout:none;overscroll-behavior:contain}@media(pointer:coarse){.flow-zoom-controls .icon-btn,.flow-zoom-controls .btn{min-width:40px;min-height:40px}}.flow-svg-interactive *,.flow-svg-interactive svg,.flow-svg-interactive text,.flow-svg-interactive tspan{user-select:none!important;-webkit-user-select:none!important}.flow-zoom-stage{display:inline-block;min-width:100%;will-change:transform;user-select:none!important;-webkit-user-select:none!important}.flow-svg-interactive .flow-zoom-stage svg{max-width:none;width:auto;height:auto}.flow-truncated-note{display:flex;align-items:flex-start;gap:var(--cf-space-2);flex-shrink:0;margin:0 0 2px;padding:6px var(--cf-space-2) 6px var(--cf-space-3);border-radius:var(--cf-radius-sm);border:1px solid color-mix(in srgb,var(--cf-warning) 45%,var(--cf-border));background:color-mix(in srgb,var(--cf-warning) 14%,var(--cf-bg-elevated));color:var(--cf-fg);font-family:var(--cf-font-sans);font-size:.78rem;line-height:1.4}.flow-truncated-note-text{flex:1;min-width:0}.flow-truncated-note-close{flex-shrink:0;margin:-2px -2px -2px auto}.flow-zoom-controls{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:8px}.flow-zoom-bar{margin:0;flex-shrink:0;padding:2px 0;justify-content:flex-start}.flow-recenter-btn{margin-left:4px}.flow-zoom-label{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--fg-muted);min-width:3rem;text-align:center}.flow-export{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.flow-tooltip{position:absolute;z-index:5;max-width:min(360px,90%);padding:8px 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-elevated, #18181b);color:var(--fg, #fafafa);font-size:.75rem;font-family:var(--font-mono, ui-monospace, SF Mono, Menlo, Consolas, monospace);line-height:1.45;white-space:pre-wrap;box-shadow:var(--shadow, 0 8px 24px rgba(0, 0, 0, .35));pointer-events:none}.flow-svg-interactive .flow-has-tip{cursor:help}.flow-svg-interactive svg{pointer-events:auto}.flow-svg-interactive .flow-clickable,.flow-svg-interactive .flow-node-link,.flow-svg-interactive a[data-ref],.flow-svg-interactive g[data-ref],.flow-svg-interactive .flow-hit,.flow-svg-interactive g.flow-node{cursor:pointer!important;pointer-events:all!important;outline:none!important;-webkit-tap-highlight-color:transparent}.flow-svg-interactive g.flow-node:focus,.flow-svg-interactive g.flow-node:focus-visible,.flow-svg-interactive g.flow-clickable:focus,.flow-svg-interactive g.flow-clickable:focus-visible,.flow-svg-interactive .flow-hit:focus,.flow-svg-interactive svg:focus{outline:none!important;box-shadow:none!important}.flow-svg-interactive .flow-clickable:hover rect:not(.flow-hit),.flow-svg-interactive .flow-clickable:hover polygon,.flow-svg-interactive a[data-ref]:hover rect:not(.flow-hit),.flow-svg-interactive a[data-ref]:hover polygon{filter:brightness(1.1)}.flow-svg-interactive g.flow-node-press{filter:brightness(1.15) drop-shadow(0 0 6px color-mix(in srgb,var(--accent, #7dd3fc) 70%,transparent));transform:scale(1.04);transform-box:fill-box;transform-origin:center;transition:transform .08s ease,filter .08s ease}.flow-ctx-menu{min-width:168px;padding:4px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg-elevated, #18181b);box-shadow:var(--shadow, 0 12px 32px rgba(0, 0, 0, .45));animation:pop-in var(--motion-fast, .12s) var(--ease, ease)}.flow-ctx-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:7px;background:transparent;color:var(--fg, #fafafa);font-size:.82rem;font-family:inherit;text-align:left;cursor:pointer}.flow-ctx-item:hover,.flow-ctx-item:focus-visible{background:var(--accent-soft, color-mix(in srgb, var(--accent) 18%, transparent));color:var(--accent, #7dd3fc);outline:none}.flow-ctx-hint{padding:2px 10px 6px;font-size:.7rem;color:var(--fg-subtle);font-variant-numeric:tabular-nums}.flow-code-peek{position:absolute;left:50%;bottom:16px;transform:translate(-50%);z-index:12;width:min(720px,calc(100% - 32px));max-height:min(52vh,480px);display:flex;flex-direction:column;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-elevated, #121214);box-shadow:var(--shadow, 0 16px 48px rgba(0, 0, 0, .5));overflow:hidden;animation:pop-in var(--motion-fast, .12s) var(--ease, ease)}.flow-code-peek-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg-panel, #0c0c0e);flex-shrink:0}.flow-code-peek-title{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;min-width:0}.flow-code-peek-meta{font-weight:500;font-size:.72rem;color:var(--fg-subtle);white-space:nowrap}.flow-code-peek-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.flow-code-peek-label{padding:6px 12px;font-size:.75rem;color:var(--fg-muted);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.flow-code-peek-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;-ms-touch-action:pan-y;background:var(--bg, #09090b)}.flow-code-peek-pre{margin:0;padding:6px 0;font-family:var(--font-mono, ui-monospace, SF Mono, Menlo, Consolas, monospace);font-size:.78rem;line-height:1.55}.flow-code-line{display:flex;gap:0;padding:0 12px 0 0;min-height:1.55em}.flow-code-line:hover{background:color-mix(in srgb,var(--fg) 4%,transparent)}.flow-code-line-focus{background:color-mix(in srgb,var(--accent, #38bdf8) 22%,transparent)!important;box-shadow:inset 3px 0 0 var(--accent, #38bdf8)}.flow-code-line-focus+.flow-code-line-focus{box-shadow:inset 3px 0 0 var(--accent, #38bdf8)}.flow-code-ln{flex:0 0 3.25rem;text-align:right;padding:0 10px 0 8px;color:var(--fg-subtle);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;opacity:.75}.flow-code-line-focus .flow-code-ln{color:var(--accent, #7dd3fc);opacity:1;font-weight:600}.flow-code-text{flex:1;white-space:pre;color:var(--fg, #fafafa);overflow-x:auto}.flow-drill-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--space-2)}.flow-guide-body .flow-drill-bar:last-child{margin-bottom:0}.flow-drill-label{font-size:.75rem;color:var(--fg-muted)}.flow-drill-btn{font-size:.8rem}.flow-fn-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-panel);color:var(--fg-muted);font-family:var(--font-mono);font-size:.72rem;padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer}.flow-fn-chip:hover{color:var(--fg);border-color:var(--border-strong)}.flow-fn-chip.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft, color-mix(in srgb, var(--accent) 14%, transparent))}.flow-mini-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.flow-mini-layer{font-weight:500;color:var(--fg-subtle);text-transform:none;letter-spacing:0}.flow-panel-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:var(--space-3)}.flow-svg{overflow:auto;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent}.flow-svg svg{display:block;max-width:100%;height:auto}.flow-mermaid{margin:0;font-family:var(--font-mono);font-size:.75rem;white-space:pre-wrap;color:var(--fg-muted)}.flow-error{color:var(--danger);font-size:.85rem;margin-bottom:var(--space-2)}.flow-note{color:var(--warning);font-size:.8rem;margin-bottom:var(--space-2)}.flow-meta{margin-top:var(--space-2);font-size:.75rem;color:var(--fg-subtle)}.flow-bottom{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;height:100%}.flow-bottom-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.flow-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);min-height:0;flex:1}.flow-mini{min-height:0;overflow:auto}.section-label{font-size:.75rem;font-weight:600;color:var(--fg-muted);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.04em}@media(max-width:900px){.flow-modal-body,.flow-bottom-grid{grid-template-columns:1fr}.flow-modal{top:2vh;right:2vw;bottom:2vh;left:2vw;max-width:96vw}.flow-modal-header{flex-wrap:wrap;min-width:0}.flow-modal-header .flow-hint-inline{display:none}.flow-tabs{padding:4px 6px 0}.flow-tab{flex:1 1 0;min-height:44px;min-width:0;overflow:hidden;text-overflow:ellipsis}.flow-panel-header{flex-wrap:wrap;gap:6px;padding:8px}.flow-panel-actions{flex-wrap:wrap;justify-content:flex-end}.flow-panel-nav{padding:6px 8px}.flow-breadcrumb{font-size:.74rem}.flow-crumb{min-height:32px;padding:4px 10px}.flow-viewport,.flow-svg-interactive,.flow-zoom-stage{touch-action:none;-ms-touch-action:none}.flow-zoom-bar .icon-btn{width:40px;height:40px}.flow-fixed-title{max-width:min(70%,240px);font-size:.68rem;top:6px;right:6px}.flow-fixed-guide{max-width:min(85%,280px);font-size:.68rem;left:6px;bottom:6px}.flow-code-peek{max-height:min(55dvh,420px)}.flow-ctx-menu{max-width:min(90vw,280px)}}.flow-explorer{display:flex;flex-direction:column;min-height:0;height:100%}.flow-explorer-body{flex:1;min-height:0}.flow-explorer .flow-panel{flex:1;width:100%;min-height:0}.flow-explorer .flow-panel-body{flex:1;min-height:0;display:flex;flex-direction:column}.flow-explorer .flow-viewport{flex:1;min-height:180px}.flow-svg-interactive{position:relative}.flow-fixed-title{position:absolute;top:8px;right:10px;z-index:4;max-width:min(55%,360px);padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--bg-elevated, #18181b) 82%,transparent);border:1px solid var(--border, #27272a);font-size:.72rem;font-weight:600;font-family:var(--font-mono, ui-monospace, SF Mono, Menlo, Consolas, monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 2px 8px #0000001f}.flow-fixed-guide{position:absolute;left:10px;bottom:8px;z-index:4;max-width:min(70%,420px);padding:5px 10px;border-radius:8px;background:color-mix(in srgb,var(--bg-elevated, #18181b) 82%,transparent);border:1px solid var(--border, #27272a);font-size:.7rem;line-height:1.35;pointer-events:none;box-shadow:0 2px 8px #0000001f}.flow-svg-interactive.flow-panning,.flow-svg-interactive.flow-panning *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.flow-bg-picker-wrap{position:relative;margin-left:4px}.flow-bg-btn{display:inline-flex;align-items:center;gap:6px}.flow-bg-swatch{width:14px;height:14px;border-radius:4px;border:1px solid #71717a;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000000f}.flow-bg-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:160px;max-height:280px;overflow:auto;padding:4px;border-radius:10px;border:1px solid var(--border-strong, #3f3f46);background:var(--bg-elevated, #18181b);box-shadow:var(--shadow, 0 12px 32px rgba(0, 0, 0, .45))}.flow-bg-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--fg, #fafafa);font-size:.8rem;font-family:inherit;text-align:left;cursor:pointer}.flow-bg-option:hover,.flow-bg-option.active{background:var(--accent-soft, color-mix(in srgb, var(--accent, #38bdf8) 18%, transparent))}.flow-zoom-bar{flex-wrap:wrap;gap:4px}.flow-svg-interactive g.flow-node-active{transform:scale(1.08);transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent, #7dd3fc) 85%,transparent)) drop-shadow(0 2px 10px color-mix(in srgb,var(--accent, #7dd3fc) 45%,transparent));transition:transform .18s ease,filter .18s ease}.flow-svg-interactive g.flow-node-next{transform:scale(1.03);transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--fg-muted, #94a3b8) 45%,transparent));transition:transform .18s ease,filter .18s ease}@media(prefers-reduced-motion:reduce){.flow-svg-interactive g.flow-node-active,.flow-svg-interactive g.flow-node-next,.flow-svg-interactive g.flow-node-press{transition:none}}.flow-info-panel{position:absolute;left:10px;right:10px;bottom:36px;z-index:6;max-height:min(38%,220px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;-ms-touch-action:pan-y;padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong, #3f3f46);background:color-mix(in srgb,var(--bg-elevated, #18181b) 94%,transparent);box-shadow:0 8px 28px #00000047;color:var(--fg, #fafafa);pointer-events:auto}.flow-info-panel,.flow-info-panel *{user-select:text!important;-webkit-user-select:text!important;touch-action:pan-y;-ms-touch-action:pan-y}.flow-info-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.flow-info-kind{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent, #38bdf8)}.flow-info-line{font-size:.72rem;color:var(--fg-subtle, #a1a1aa);font-variant-numeric:tabular-nums}.flow-info-head .icon-btn{margin-left:auto}.flow-info-label{font-size:.8rem;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-info-body{margin:0;font-size:.75rem;line-height:1.45;white-space:pre-wrap;color:var(--fg-muted, #d4d4d8);font-family:var(--font-mono, ui-monospace, monospace)}.flow-info-hint{margin-top:8px;font-size:.68rem;color:var(--fg-subtle, #a1a1aa)}.flow-bg-custom{border-top:1px solid var(--border, #27272a);margin-top:4px;padding:8px 10px 6px}.flow-bg-custom-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--fg, #fafafa)}.flow-bg-custom-label input[type=color]{width:40px;height:28px;padding:0;border:1px solid var(--border, #3f3f46);border-radius:6px;background:transparent;cursor:pointer}.flow-svg-interactive g.flow-node[data-kind=file]>rect:not(.flow-hit),.flow-svg-interactive g.flow-node[data-kind=file]>polygon{fill:var(--cf-accent-soft);stroke:var(--cf-accent)}.flow-svg-interactive g.flow-node[data-kind=data]>rect:not(.flow-hit),.flow-svg-interactive g.flow-node[data-kind=data]>polygon{fill:color-mix(in srgb,var(--cf-warning) 12%,transparent);stroke:var(--cf-warning)}.flow-svg-interactive g.flow-node[data-kind=data]>text:last-of-type{display:none}.flow-svg-interactive svg path[data-edge-kind],.flow-svg-interactive svg line[data-edge-kind]{stroke:var(--cf-accent)}.flow-svg-interactive svg path[data-edge-kind=data],.flow-svg-interactive svg line[data-edge-kind=data]{stroke:var(--cf-warning);stroke-dasharray:6 4}.flow-svg-interactive svg path[data-edge-kind=reference],.flow-svg-interactive svg line[data-edge-kind=reference]{stroke-dasharray:2 3}.flow-empty-action{margin-top:10px}.flow-retry-btn{display:inline-flex;align-items:center;gap:6px}.flow-panel-nav.has-ai{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px var(--cf-space-2)}.flow-ai-bar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;min-width:0}.flow-ai-btn,.flow-ai-toggle .btn,.flow-ai-cancel{display:inline-flex;align-items:center;gap:4px;font-family:var(--cf-font-sans);font-size:.75rem}.flow-ai-btn{color:var(--cf-fg);border-color:color-mix(in srgb,var(--cf-info) 45%,var(--cf-border))}.flow-ai-btn:disabled{cursor:not-allowed;opacity:.6}.flow-ai-toggle{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--cf-border);border-radius:var(--cf-radius-sm);background:var(--cf-bg-panel)}.flow-ai-toggle .btn{height:26px;padding:0 var(--cf-space-2);border:none;background:transparent;color:var(--cf-fg-muted)}.flow-ai-toggle .btn.active{background:var(--primary, var(--cf-fg));color:var(--primary-fg, var(--cf-bg))}.flow-ai-progress{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;color:var(--cf-fg-muted)}.flow-ai-progress-text{display:inline-flex;align-items:center;gap:4px}.flow-ai-spin{animation:flow-ai-spin .8s linear infinite}@keyframes flow-ai-spin{to{transform:rotate(360deg)}}.flow-ai-error{flex-basis:100%;margin:0;color:var(--cf-danger);font-size:.75rem;line-height:1.4}.flow-ai-summary{display:flex;align-items:flex-start;gap:var(--cf-space-2);flex-shrink:0;max-height:9em;overflow:auto;margin:0 0 6px;padding:6px var(--cf-space-3);border:1px solid color-mix(in srgb,var(--cf-info) 35%,var(--cf-border));border-radius:var(--cf-radius-sm);background:color-mix(in srgb,var(--cf-info) 8%,var(--cf-bg-elevated));color:var(--cf-fg);font-family:var(--cf-font-sans);font-size:.8rem;line-height:1.45}.flow-ai-badge{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;padding:1px 7px;border:1px solid color-mix(in srgb,var(--cf-info) 45%,transparent);border-radius:var(--cf-radius-sm);background:color-mix(in srgb,var(--cf-info) 12%,transparent);color:var(--cf-info);font-size:.7rem;font-weight:700;letter-spacing:.04em;line-height:1.4;white-space:nowrap}.flow-ai-summary-body{display:grid;gap:2px;min-width:0;max-width:80ch}.flow-ai-summary-text,.flow-ai-summary-label{margin:0;overflow-wrap:anywhere}.flow-ai-summary-label{color:var(--cf-fg-muted);font-size:.72rem}@media(pointer:coarse){.flow-ai-btn,.flow-ai-toggle .btn,.flow-ai-cancel{min-height:40px}}@media(prefers-reduced-motion:reduce){.flow-ai-spin{animation:none}}
