.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0c0c0e;--bg-raised: #141418;--bg-surface: #1a1a20;--bg-hover: #22222a;--border: #2a2a35;--border-focus: #4a4a5a;--text: #e0e0e6;--text-dim: #7a7a8e;--text-muted: #505068;--accent: #c8a0ff;--accent-dim: #a070d0;--green: #7adf90;--red: #f07070;--orange: #e0a050;--radius: 8px}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);min-height:100vh;min-height:100dvh;overflow-x:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.page-layout{display:grid;grid-template-columns:260px 1fr;grid-template-rows:auto 1fr;height:100vh;height:100dvh}.page-layout>.header{grid-column:1 / -1}.page-layout>.tools-column{grid-column:1;grid-row:2;width:auto}.page-layout>.page-layout-main{grid-column:2;grid-row:2;overflow-y:auto;min-height:0}.page-layout-main .app{height:auto;max-height:none;min-height:100%}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh}.shell-body{display:flex;flex:1;min-height:0}.shell-main{flex:1;display:flex;flex-direction:column;min-width:0}.header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.header-logo{font-size:15px;font-weight:700;letter-spacing:-.5px;color:var(--accent);white-space:nowrap;text-decoration:none}.header-logo span{color:var(--text-dim);font-weight:400}.header-actions{display:flex;gap:8px;margin-left:auto}.btn{font-family:var(--font-mono);font-size:12px;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);cursor:pointer;transition:all .15s;white-space:nowrap}.btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-focus)}.btn-accent{border-color:var(--accent-dim);color:var(--accent)}.btn-accent:hover{background:#c8a0ff14}.mobile-tools-toggle{display:none}.tools-column{width:260px;flex-shrink:0;margin:12px 0 12px 12px;border-radius:12px;background:#141418d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 24px #0000004d;display:flex;flex-direction:column;overflow:hidden}.tools-column-header{padding:12px;flex-shrink:0}.tools-column-search{width:100%;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-mono);font-size:12px;outline:none}.tools-column-search:focus{border-color:var(--border-focus)}.tools-column-search::placeholder{color:var(--text-muted)}.tools-column-list{flex:1;overflow-y:auto;padding:0 0 12px}.tools-column-group{margin-bottom:4px}.tools-column-group-label{display:flex;align-items:center;gap:6px;padding:8px 16px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.tools-column-group-icon{font-size:11px;color:var(--accent-dim);width:18px;text-align:center}.tools-column-item{display:flex;justify-content:space-between;align-items:center;padding:4px 12px 4px 40px;color:var(--accent);text-decoration:none;font-size:12px;font-weight:400;transition:background .1s;cursor:pointer}.tools-column-item:hover{background:var(--bg-hover);color:var(--text)}.tools-column-item-active{background:var(--bg-hover);border-left:2px solid var(--accent);color:var(--text)}.tools-column-item-add{opacity:0;border:none;background:#c8a0ff1a;color:var(--accent);font-family:var(--font-mono);font-size:13px;font-weight:600;width:22px;height:22px;border-radius:4px;cursor:pointer;transition:opacity .1s,background .1s;flex-shrink:0;line-height:1}.tools-column-item:hover .tools-column-item-add{opacity:1}.tools-column-item-add:hover{background:#c8a0ff33}.tools-column-backdrop{display:none}.tools-template-card{display:flex;flex-direction:column;gap:2px;padding:8px 12px 8px 40px;cursor:pointer;transition:background .1s;border:none;background:none;text-align:left;text-decoration:none;color:inherit;width:100%;font-family:var(--font-mono)}.tools-template-card:hover{background:var(--bg-hover)}.tools-template-name{font-size:12px;font-weight:500;color:var(--accent)}.tools-template-desc{font-size:11px;color:var(--text-dim);line-height:1.3}.tools-template-toggle{padding:6px 12px 6px 40px;cursor:pointer;border:none;background:none;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);text-align:left;width:100%}.tools-template-toggle:hover{color:var(--accent)}.pipeline-bar{display:flex;align-items:center;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.04);background:var(--bg-raised);flex-shrink:0;gap:0}.pipeline-prompt{color:var(--text-muted);font-size:12px;font-weight:600;padding:10px 12px 10px 0;user-select:none;flex-shrink:0}.pipeline-prompt-search{color:var(--orange)}.pipeline-input{width:100%;background:none;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:12px;padding:10px 0;caret-color:var(--accent)}.pipeline-input::placeholder{color:var(--text-muted)}.autocomplete-wrap{flex:1;position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0006;max-height:320px;overflow-y:auto;margin-top:4px}.autocomplete-item{display:flex;align-items:baseline;gap:12px;padding:8px 14px;cursor:pointer;transition:background .1s}.autocomplete-item:first-child{border-radius:8px 8px 0 0}.autocomplete-item:last-child{border-radius:0 0 8px 8px}.autocomplete-item:hover,.autocomplete-item-active{background:var(--bg-hover)}.autocomplete-item-name{color:var(--accent);font-size:13px;font-weight:500;white-space:nowrap}.autocomplete-item-desc{color:var(--text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-flags{display:flex;align-items:center;gap:12px;padding:8px 24px;background:var(--bg-raised);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.inline-flags-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.inline-flags-opt{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.inline-flags-opt-name{color:var(--accent);font-weight:500}.interactive-log{flex-shrink:0;background:var(--bg-raised);border-bottom:1px solid var(--border)}.log-steps{display:flex;align-items:center;gap:6px;padding:8px 24px;flex-wrap:wrap}.log-entry{font-size:12px;padding:4px 10px;border-radius:6px;font-weight:500;cursor:pointer;border:1px solid transparent;background:none;font-family:var(--font-mono);transition:all .15s}.log-entry.ok{color:var(--green);background:#7adf9014}.log-entry.error{color:var(--red);background:#f0707014}.log-entry.active{border-color:var(--accent);padding-right:4px}.log-entry:hover{border-color:var(--border-focus)}.log-entry-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;border-radius:50%;font-size:13px;line-height:1;color:var(--text-muted);cursor:pointer}.log-entry-remove:hover{color:var(--red);background:#f0707026}.log-arrow{color:var(--text-muted);font-size:10px}.log-intermediate{padding:0 24px 12px}.log-intermediate-header{font-size:11px;color:var(--text-dim);margin-bottom:6px}.log-intermediate-len{color:var(--text-muted);margin-left:8px}.log-intermediate-output{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px;font-size:12px;line-height:1.5;color:var(--green);max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin:0}.log-step-description{font-size:12px;color:var(--text-dim);margin-bottom:8px;line-height:1.4}.log-category-link{color:var(--accent);font-size:11px;text-decoration:none;margin-left:8px}.log-category-link:hover{text-decoration:underline}.log-add-step-wrap{position:relative}.log-add-step-wrap .autocomplete-wrap{flex:none;width:200px}.log-add-step-wrap .pipeline-input{font-size:12px;padding:4px 10px;height:auto;border-radius:6px}.log-add-step-wrap .autocomplete-dropdown{width:280px}.log-add-step{font-size:12px;padding:4px 10px;border-radius:6px;font-weight:500;cursor:pointer;border:1px dashed var(--border);background:none;font-family:var(--font-mono);color:var(--text-muted);transition:all .15s}.log-add-step:hover{border-color:var(--accent-dim);color:var(--accent);background:#c8a0ff0f}.log-step-diff{border:1px solid var(--border);border-radius:6px;overflow:hidden;max-height:200px;overflow-y:auto}.log-step-diff-header{font-size:11px;color:var(--text-dim);margin-bottom:6px}.panels{display:flex;flex:1;min-height:0;position:relative}.panel{flex:1;display:flex;flex-direction:column;min-width:0}.panel+.panel{border-left:1px solid var(--border)}.panel-header{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:4px 16px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.panel-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.panel-meta{font-size:11px;color:var(--text-muted);font-weight:400}.panel textarea{flex:1;background:var(--bg);border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.6;padding:16px;resize:none;tab-size:2}.panel textarea::placeholder{color:var(--text-muted)}.panel textarea:focus{background:var(--bg-raised)}.panel-output textarea{color:var(--green);cursor:default}.drag-overlay{position:absolute;inset:0;background:#c8a0ff0f;border:2px dashed var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:14px;font-weight:500;z-index:10;pointer-events:none}.widget{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.widget-options{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;background:var(--bg-raised);border-bottom:1px solid var(--border)}.widget-opt{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.widget-opt-name{color:var(--accent);font-weight:500}.widget-select,.widget-text-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--font-mono);font-size:12px;padding:4px 8px;outline:none}.widget-select:focus,.widget-text-input:focus{border-color:var(--border-focus)}.widget-panels{display:flex;min-height:200px}.widget-panel{flex:1;display:flex;flex-direction:column}.widget-panel+.widget-panel{border-left:1px solid var(--border)}.widget-panel-header{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:4px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg)}.widget-meta{font-weight:400}.widget-textarea{flex:1;background:var(--bg);border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.6;padding:12px;resize:none;min-height:160px}.widget-textarea:focus{background:var(--bg-raised)}.widget-output{color:var(--green)}.widget-add-pipeline{padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.tool-page-header{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border)}.tool-page-body{display:flex;min-height:0}.tool-page-body .tools-column{position:sticky;top:0;height:100vh;height:100dvh}.tool-page-content{flex:1;min-width:0;max-width:1400px;padding:0 24px 48px}.tool-page-nav{font-size:15px;font-weight:700;letter-spacing:-.5px;color:var(--accent);text-decoration:none}.tool-page-nav span{color:var(--text-dim);font-weight:400}.tool-page-title{margin:32px 0 8px}.tool-page-title h1{font-size:28px;font-weight:700;color:var(--text);font-family:var(--font-mono)}.tool-page-subtitle{display:block;font-size:14px;font-weight:400;color:var(--text-dim);margin-top:4px}.tool-page-category{display:inline-block;font-size:11px;color:var(--accent);background:#c8a0ff14;padding:2px 10px;border-radius:10px;margin-top:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.tool-section{margin-top:32px}.tool-section h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px}.tool-section-hero{margin-top:48px;margin-bottom:56px;padding:0}.tool-section-quiet{margin-top:24px}.tool-section-quiet h2{font-size:12px;color:var(--text-dim);margin-bottom:8px}.tool-flags{display:flex;flex-direction:column;gap:8px}.tool-flag{display:flex;align-items:baseline;gap:12px;font-size:13px;padding:8px 12px;background:var(--bg-raised);border-radius:6px;border:1px solid var(--border)}a.tool-flag-link{text-decoration:none;color:inherit;transition:border-color .15s}a.tool-flag-link:hover{border-color:var(--accent-dim)}.tool-flag-name{color:var(--accent);font-weight:500;white-space:nowrap}.tool-flag-type{color:var(--text-muted);font-size:11px}.tool-flag-default{color:var(--text-dim);font-size:11px;margin-left:auto}.tool-example{background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;overflow:hidden}.tool-example-label{font-size:11px;color:var(--text-muted);padding:8px 12px;border-bottom:1px solid var(--border);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tool-example pre{padding:12px;font-size:13px;line-height:1.6;color:var(--green);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.tool-example-try{display:block;margin:0 12px 10px auto;width:fit-content}.tool-source summary{font-size:13px;color:var(--accent);cursor:pointer;font-weight:500;list-style:none}.tool-source summary:before{content:"▸ ";display:inline;transition:transform .15s}.tool-source[open] summary:before{content:"▾ "}.tool-source summary:hover{color:var(--text)}.tool-deps{display:flex;flex-direction:column;gap:8px}.tool-dep{display:flex;align-items:baseline;gap:12px;font-size:13px;padding:8px 12px;background:var(--bg-raised);border-radius:4px;text-decoration:none;color:inherit}.tool-dep:hover{background:var(--bg-hover)}.tool-dep-name{color:var(--accent);font-weight:500}.tool-dep-url{color:var(--text-dim);font-size:11px;margin-left:auto}.tool-source pre{margin-top:12px;padding:12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;font-size:13px;line-height:1.6;color:var(--green);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.tool-pipelines{display:flex;flex-direction:column;gap:6px}.tool-pipeline-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;font-size:13px;text-decoration:none;color:var(--text);transition:border-color .15s}.tool-pipeline-item:hover{border-color:var(--border-focus)}.tool-pipeline-item code{color:var(--accent);font-weight:500}.tool-related{display:flex;flex-wrap:wrap;gap:8px}.tool-related-link{font-size:13px;padding:6px 14px;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;color:var(--text);text-decoration:none;transition:all .15s}.tool-related-link:hover{border-color:var(--accent-dim);color:var(--accent)}.tool-page-footer{margin-top:48px;padding:24px 0;border-top:1px solid var(--border);text-align:center;margin-bottom:48px}.tool-page-footer a{color:var(--accent);text-decoration:none;font-size:13px}.tool-page-footer a:hover{text-decoration:underline}.btn-render-toggle{font-size:11px;padding:3px 8px;margin-left:8px;border-radius:4px}.svg-preview{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;padding:24px;overflow:auto;min-height:0}.svg-preview svg{max-width:100%;max-height:100%;width:auto;height:auto}.widget-svg-preview{min-height:160px}.html-preview{flex:1;background:var(--bg);padding:16px;overflow:auto;min-height:0;font-family:var(--font-mono);font-size:13px;line-height:1.6}.html-preview pre{margin:0;background:transparent}.html-preview code.hljs{background:transparent;padding:0}.widget-html-preview{min-height:160px}.html-preview .hljs{color:#c9d1d9}.html-preview .hljs-keyword,.html-preview .hljs-selector-tag,.html-preview .hljs-literal,.html-preview .hljs-type{color:#ff7b72}.html-preview .hljs-string,.html-preview .hljs-addition{color:#a5d6ff}.html-preview .hljs-number{color:#79c0ff}.html-preview .hljs-comment,.html-preview .hljs-quote{color:#8b949e;font-style:italic}.html-preview .hljs-title,.html-preview .hljs-section{color:#d2a8ff;font-weight:600}.html-preview .hljs-built_in,.html-preview .hljs-name{color:#ffa657}.html-preview .hljs-attr,.html-preview .hljs-attribute{color:#79c0ff}.html-preview .hljs-variable,.html-preview .hljs-template-variable{color:#ffa657}.html-preview .hljs-regexp{color:#a5d6ff}.html-preview .hljs-deletion{color:#ffa198;background:#f851491a}.html-preview .hljs-addition{background:#3fb9501a}.html-preview .hljs-params{color:#c9d1d9}.html-preview .hljs-meta,.html-preview .hljs-punctuation{color:#8b949e}.pipeline-bar-slot--reserved{min-height:50.5px;background:var(--bg-raised);border-bottom:1px solid var(--border)}.tool-pipeline-bar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 24px;background:var(--bg-raised);border-bottom:1px solid var(--border)}.tool-pipeline-bar-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tool-pipeline-bar-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1}.tool-pipeline-bar-chip{font-size:12px;padding:4px 10px;border-radius:6px;background:#c8a0ff14;color:var(--accent);font-weight:500;display:inline-flex;align-items:center;gap:6px}.tool-pipeline-bar-chip-remove{border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0}.tool-pipeline-bar-chip-remove:hover{color:var(--red)}.tool-pipeline-bar-add-step{position:relative}.tool-pipeline-bar-add-step .autocomplete-wrap{flex:none;width:200px}.tool-pipeline-bar-add-step .pipeline-input{font-size:12px;padding:4px 10px;height:auto;border-radius:6px}.tool-pipeline-bar-add-step .autocomplete-dropdown{width:280px}.tool-pipeline-bar-add-btn{cursor:pointer;opacity:.5;border:1px dashed var(--border);background:none}.tool-pipeline-bar-add-btn:hover{opacity:1;background:#c8a0ff14}.tool-pipeline-bar-actions{display:flex;gap:8px;margin-left:auto}@media(max-width:768px){.page-layout{display:flex;flex-direction:column;height:100vh;height:100dvh}.page-layout-main{flex:1;min-height:0}.tools-column{position:fixed;inset:auto 0 0;width:auto;height:60vh;height:60dvh;max-height:80vh;max-height:80dvh;margin:0;border-radius:16px 16px 0 0;z-index:100;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);padding-bottom:env(safe-area-inset-bottom)}.tools-column.tools-column-open{transform:translateY(0)}.mobile-tools-toggle{display:inline-flex}.tools-column-backdrop{display:block;position:fixed;inset:0;background:#00000080;z-index:99}.panels{flex-direction:column}.panel+.panel{border-left:none;border-top:1px solid var(--border)}.header{padding:12px 16px}.pipeline-bar{padding:0 16px}.panel textarea{font-size:12px;padding:12px}.inline-flags,.log-steps{padding:8px 16px}.log-intermediate{padding:0 16px 12px}.widget-panels{flex-direction:column}.widget-panel+.widget-panel{border-left:none;border-top:1px solid var(--border)}.tools-column-item{padding:8px 12px 8px 40px;min-height:44px}.tools-column-item-add{opacity:1;width:36px;height:36px;font-size:16px}.tool-page-body{display:block}.tool-page-body .tools-column{position:fixed;top:auto;bottom:0;height:60vh;height:60dvh}.tool-page-header .mobile-tools-toggle{margin-left:auto}.tool-page-content{max-width:none;padding:0 16px}}@media(max-width:768px)and (orientation:landscape){.tools-column,.tool-page-body .tools-column{height:50vh;height:50dvh}}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-focus)}.hero-overlay{position:absolute;inset:0;z-index:50;background:#0c0c0ed9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}.hero-content{max-width:520px;width:100%;text-align:center}.hero-headline{font-family:var(--font-sans);font-size:28px;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.2}.hero-subtext{font-family:var(--font-sans);font-size:15px;color:var(--text-dim);line-height:1.5;margin-bottom:24px}.hero-ctas{display:flex;gap:12px;justify-content:center;margin-bottom:32px}.hero-cta{font-family:var(--font-mono);font-size:13px;font-weight:500;padding:10px 20px;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .15s}.hero-cta-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.hero-cta-primary:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.hero-cta-secondary{background:var(--bg-raised);color:var(--text-dim)}.hero-cta-secondary:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-focus)}.hero-templates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;text-align:left;font-family:var(--font-mono)}.hero-template-card:hover{border-color:var(--accent-dim);background:var(--bg-hover)}.hero-template-name{font-size:13px;font-weight:600;color:var(--text)}.hero-template-desc{font-size:11px;color:var(--text-dim);line-height:1.4}.hero-template-category{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-weight:500}@media(max-width:768px){.hero-headline{font-size:22px}.hero-subtext{font-size:13px}.hero-ctas{flex-direction:column}.hero-templates{grid-template-columns:1fr}}
