:root{--bg: #f4f5f7;--surface: #ffffff;--border: #e5e7eb;--text: #111827;--text-muted: #6b7280;--accent: #2563eb;--accent-hover: #1d4ed8;--header-h: 56px;--font: "Inter", system-ui, -apple-system, sans-serif;--mono: "Fira Code", "Cascadia Code", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;height:100%;min-height:100vh}.tool-page{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.app-header{display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border)}.app-brand-text,.app-brand-sub{display:none}.app-header-inner{display:flex;align-items:center;gap:1rem;height:var(--header-h);max-width:1400px;margin:0 auto;padding:0 1rem}.app-actions{display:flex;align-items:center;gap:.5rem}.app-header-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.app-brand{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.app-brand img{height:28px;width:auto}.app-brand-title{font-size:.9375rem;font-weight:600;letter-spacing:-.01em}.app-nav{display:none;align-items:center;gap:.25rem}@media(min-width:1100px){.app-nav{display:flex}.nav-mobile-toggle{display:none!important}}@media(min-width:900px)and (max-width:1099px){.app-nav{display:flex;gap:.125rem}.nav-link,.nav-trigger{padding:.375rem .5rem;font-size:.8125rem}.nav-mobile-toggle{display:none!important}}.nav-link,.nav-trigger{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:none;border-radius:8px;background:transparent;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;text-decoration:none}.nav-link:hover,.nav-trigger:hover{background:#f3f4f6}.nav-link.is-active{color:var(--accent)}.nav-caret{width:14px;height:14px;opacity:.55}.nav-dropdown{position:relative}.nav-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}.nav-menu{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:220px;padding:.375rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000014;z-index:50}.nav-menu:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;background:transparent}.nav-dropdown.is-open .nav-menu,.nav-dropdown:hover .nav-menu{display:block}.nav-menu-label{padding:.375rem .625rem;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.nav-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .625rem;border-radius:8px;font-size:.875rem;color:var(--text);text-decoration:none}.nav-menu-item:hover:not(.is-disabled){background:#f3f4f6}.nav-menu-item.is-active{background:#eff6ff;color:var(--accent)}.nav-menu-item.is-disabled{color:var(--text-muted);cursor:default}.nav-soon{font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:999px;background:#f3f4f6;color:var(--text-muted)}.nav-mobile{border-top:1px solid var(--border);padding:.75rem 1rem 1rem;background:var(--surface)}.nav-mobile-group{margin-bottom:.75rem}.nav-mobile-label{padding:.25rem .5rem;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.nav-mobile-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;font-size:.875rem;color:var(--text);text-decoration:none}.nav-mobile-item.is-disabled{color:var(--text-muted)}.page-main{flex:1;overflow:auto;background:var(--bg)}.page-container{max-width:1400px;margin:0 auto;padding:2.5rem 1rem 3rem}.page-container--narrow{max-width:720px}.page-title{margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;letter-spacing:-.02em}.page-lead{margin:0 0 2rem;max-width:42rem;font-size:1rem;line-height:1.6;color:var(--text-muted)}.tool-grid-title{margin:0 0 1rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.tool-grid-cards{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tool-card{display:flex;flex-direction:column;gap:.375rem;padding:1rem 1.125rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.tool-card:hover{border-color:#bfdbfe;box-shadow:0 4px 12px #2563eb14}.tool-card span:last-child{font-size:.8125rem;color:var(--accent)}.tool-card.is-disabled{opacity:.65}.page-main.home{background:#fff}.home-wrap{max-width:1400px;margin:0 auto;padding:4rem 1.25rem 3rem}@media(min-width:1024px){.home-wrap{padding:6rem 2.5rem 4rem}}.home-hero{max-width:48rem;margin:0 auto;text-align:center}.home-headline{margin:0 0 1.5rem;font-size:clamp(2.25rem,5vw,3.75rem);font-weight:700;line-height:1.08;letter-spacing:-.03em;color:#0f172a}.home-headline-mark{position:relative;display:inline-flex;white-space:nowrap}.home-headline-mark-bg{position:absolute;inset:auto 0 .15em;height:.45em;border-radius:999px;background:linear-gradient(90deg,#bae6fd,#c7d2fe,#a7f3d0)}.home-headline-mark-text{position:relative;z-index:1}.home-subhead{margin:0 auto 2rem;max-width:36rem;font-size:1.0625rem;line-height:1.65;color:#475569}.home-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.home-features{display:grid;gap:1.25rem;margin-top:4rem}@media(min-width:640px){.home-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.home-features{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:5rem}}.home-feature{padding:1.5rem 1.75rem;background:#fff;border:1px solid var(--border);border-radius:16px;transition:box-shadow .15s}.home-feature:hover{box-shadow:0 8px 24px #0f172a0f}.home-feature-label{margin:0 0 .5rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.home-feature-text{margin:0;font-size:.875rem;line-height:1.6;color:#334155}.home-footnote{margin:2.5rem 0 0;text-align:center;font-size:.8125rem;color:#64748b}.tool-error{height:100%;padding:1rem 1.125rem;overflow:auto;font-family:var(--mono);font-size:.875rem;line-height:1.6;color:#b91c1c;background:#fef2f2}.tool-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600}.tool-badge--ok{background:#ecfdf5;color:#047857}.tool-badge--error{background:#fef2f2;color:#b91c1c}.tool-select{padding:.4375rem .625rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-family:inherit;font-size:.8125rem;color:var(--text)}.btn-lg{padding:.625rem 1.125rem;font-size:.9375rem}.btn-ghost.is-active{background:#eff6ff;color:var(--accent);border-color:#bfdbfe}.docs-block+.docs-block{margin-top:1rem}.docs-block a{color:var(--accent);text-decoration:none}.docs-block a:hover{text-decoration:underline}.docs-block{padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.docs-block h2{margin:0 0 .75rem;font-size:1rem}.docs-block ul{margin:0;padding-left:1.25rem;line-height:1.7;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border:1px solid transparent;border-radius:8px;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;padding:.5rem .875rem}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:#fff;color:#0f172a;border-color:var(--border);padding:.5rem .875rem;box-shadow:0 1px #0000000f}.btn-secondary:hover:not(:disabled){background:#f8fafc}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border);padding:.5rem}.btn-ghost:hover:not(:disabled){background:#f9fafb;color:var(--text)}.btn-icon{width:36px;height:36px;padding:0;border-radius:999px;background:transparent;color:#0f172a;border-color:#cbd5e1}.btn-icon:hover:not(:disabled){background:#e5edf7;border-color:#94a3b8;color:#0f172a}.btn-pill{height:36px;padding:0 1rem;border-radius:999px;background:transparent;color:#0f172a;border-color:#cbd5e1;font-size:.8125rem;font-weight:600}.btn-pill:hover:not(:disabled){background:#e5edf7;border-color:#94a3b8}.workspace{display:flex;flex:1;min-height:0;overflow:hidden}.workspace-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid rgba(71,85,105,.12);flex-shrink:0;background:var(--surface)}.tool-title{margin:0;font-size:.875rem;font-weight:600;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-actions-right{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0;margin-left:auto}.pane-header{display:flex;align-items:center;flex-shrink:0;padding:.375rem .75rem;border-bottom:1px solid rgba(71,85,105,.1);background:#f8fafc}.pane-title{font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.pane{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}.pane+.pane{border-left:1px solid rgba(71,85,105,.12)}.pane-body{flex:1;min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column}.monaco-pane{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.monaco-pane .monaco-editor,.monaco-pane .monaco-editor .overflow-guard{border-radius:0}.monaco-loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:.8125rem;color:var(--text-muted)}.pane-body--preview{overflow:auto;padding:1rem 1.25rem 1rem 1.5rem}.resize-handle{width:1px;flex-shrink:0;cursor:col-resize;background:#4755692e;transition:background .15s,width .15s}.resize-handle:hover,.resize-handle.active{background:#3b82f68c;width:3px}.preview-body{max-width:760px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.5;color:#1f2937;word-wrap:break-word}.preview-body h1,.preview-body h2,.preview-body h3,.preview-body h4{margin:1.25rem 0 .625rem;font-weight:600;line-height:1.3;color:#111827}.preview-body h1:first-child,.preview-body h2:first-child,.preview-body h3:first-child{margin-top:0}.preview-body h1{font-size:1.75rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.preview-body h2{font-size:1.35rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.preview-body h3{font-size:1.125rem}.preview-body p,.preview-body ul,.preview-body ol,.preview-body blockquote,.preview-body pre{margin:0 0 .875rem}.preview-body ul,.preview-body ol{padding-left:1.5rem}.preview-body blockquote{padding-left:.875rem;border-left:3px solid #d1d5db;color:#4b5563}.preview-body code{padding:.125rem .35rem;border-radius:4px;background:#f3f4f6;font-family:var(--mono);font-size:.875em}.preview-body pre{padding:.875rem 1rem;border-radius:8px;background:#f8fafc;border:1px solid var(--border);overflow:auto}.preview-body pre code{padding:0;background:transparent}.preview-body table{width:100%;border-collapse:collapse;margin-bottom:.875rem}.preview-body th,.preview-body td{padding:.5rem .75rem;border:1px solid var(--border);text-align:left}.preview-body th{background:#f9fafb;font-weight:600}.preview-body a{color:var(--accent);text-decoration:underline}.preview-body .mermaid-container{display:flex;justify-content:center;margin:1.25rem 0;padding:1rem;background:#f9fafb;border:1px solid var(--border);border-radius:8px;overflow-x:auto}.preview-body .mermaid{display:inline-block;text-align:center}.preview-body .mermaid svg{max-width:100%;height:auto;display:block}.preview-empty{color:var(--text-muted);font-style:italic}.preview-body.mdpdf-pdf-export{padding:0}.mdpdf-pdf-export .mermaid-container{page-break-inside:avoid;break-inside:avoid;display:flex!important;justify-content:center!important;margin:20px 0!important;padding:10px!important;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:0!important}.mdpdf-pdf-export .mermaid{display:inline-block!important;text-align:center!important}.mdpdf-pdf-export .mermaid svg,.mdpdf-pdf-export .mermaid img{max-width:100%!important;height:auto!important;display:block!important}@media(max-width:768px){.app-brand-sub{display:none}.workspace{flex-direction:column}.workspace-actions{justify-content:flex-start;flex-wrap:wrap}.pane+.pane{border-left:none;border-top:1px solid var(--border)}.resize-handle{display:none}.pane{min-height:40vh}}
