@import"https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;700&family=Inter:wght@400;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media (prefers-color-scheme: dark){.w-tc-editor{--color-fg-default: #c9d1d9;--color-canvas-subtle: #161b22;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-markup-bold: #c9d1d9}}@media (prefers-color-scheme: light){.w-tc-editor{--color-fg-default: #24292f;--color-canvas-subtle: #f6f8fa;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-markup-bold: #24292f}}.w-tc-editor[data-color-mode*=dark],[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default: #c9d1d9;--color-canvas-subtle: #161b22;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-markup-bold: #c9d1d9}.w-tc-editor[data-color-mode*=light],[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default: #24292f;--color-canvas-subtle: #f6f8fa;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-markup-bold: #24292f}.w-tc-editor{font-family:inherit;font-size:12px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default)}.w-tc-editor-text,.w-tc-editor-preview{min-height:16px}.w-tc-editor-preview pre{margin:0;padding:0;white-space:inherit;font-family:inherit;font-size:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.property-access .token.method,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.keyword{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-value,.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-name{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.selector .class,.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.class-name{color:var(--color-prettylights-syntax-entity)}.landing-page{font-family:Inter,Arial,sans-serif;line-height:1.6;color:var(--text-primary);--landing-header-offset: 5rem}.landing-header{position:sticky;top:0;z-index:100;background:var(--bg-primary);border-bottom:1px solid var(--border-primary)}.landing-header-inner{max-width:1200px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;gap:1rem 2rem;flex-wrap:wrap}.landing-logo{font-size:1.25rem;font-weight:800;line-height:1;background:linear-gradient(135deg,#3b82f6,#1e40af);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;border:none;background-color:transparent;padding:0;cursor:pointer;font-family:inherit}.landing-nav{display:flex;gap:1.5rem;flex:1}.landing-nav a{color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap;transition:color .2s ease}.landing-nav a:hover{color:var(--text-accent)}.landing-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex:1 1 auto;flex-wrap:wrap;min-width:0}.landing-admin-btn{padding:.4rem .85rem;border-radius:8px;border:1px solid var(--text-accent);background:transparent;color:var(--text-accent);cursor:pointer;font-size:.85rem;font-weight:700;white-space:nowrap;transition:all .2s ease}.landing-admin-btn:hover{background:var(--text-accent);color:#fff}.security-highlight,.features,.plans{scroll-margin-top:var(--landing-header-offset)}.hero{background:linear-gradient(135deg,#f8fafc,#e2e8f0,#f1f5f9);min-height:calc(100vh - var(--landing-header-offset));min-height:calc(100svh - var(--landing-header-offset));display:flex;align-items:center;align-items:safe center;position:relative;overflow-x:hidden;padding:2rem 0 3rem;box-sizing:border-box}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="0.5" fill="%23cbd5e1" opacity="0.3"/><circle cx="75" cy="75" r="0.5" fill="%23cbd5e1" opacity="0.2"/><circle cx="50" cy="10" r="0.3" fill="%23cbd5e1" opacity="0.4"/><circle cx="10" cy="60" r="0.3" fill="%23cbd5e1" opacity="0.25"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none}.hero-content{max-width:1200px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.hero-text{color:#1e293b}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.gradient-text{background:linear-gradient(135deg,#3b82f6,#1e40af);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;font-weight:900}.hero-description{font-size:1.2rem;margin-bottom:2rem;opacity:.8;color:#64748b;text-shadow:none}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.cta-button{padding:1rem 2rem;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #00000026;color:#fff!important}.cta-button *{color:#fff!important}.cta-button.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff!important;transform:translateY(0)}.cta-button.primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.cta-button.secondary{background:#3b82f61a;color:#1d4ed8!important;border:2px solid rgba(59,130,246,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none}.cta-button.secondary,.cta-button.secondary *{color:#1d4ed8!important}.cta-button.secondary:hover{background:#3b82f62e;transform:translateY(-2px);border-color:#3b82f68c}.cta-button.large{padding:1.25rem 3rem;font-size:1.3rem;color:#fff!important}.cta-section .cta-button,.cta-section .cta-button *{color:#fff!important}.hero-demo{perspective:1000px}.demo-window{background:#fffffff2;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:rotateY(-5deg) rotateX(5deg);transition:transform .3s ease}.demo-window:hover{transform:rotateY(0) rotateX(0)}.demo-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;display:flex;align-items:center;gap:1rem}.demo-dots{display:flex;gap:.5rem}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ff5f57}.dot.yellow{background:#ffbd2e}.dot.green{background:#28ca42}.demo-title{color:#fff;font-weight:600;font-size:1rem}.demo-content{max-height:400px;overflow:hidden}.demo-code{margin:0;padding:1.5rem;font-family:Fira Mono,monospace;font-size:.85rem;line-height:1.5;color:#2d3748;background:linear-gradient(180deg,#f7fafc,#edf2f7)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.features,.use-cases{padding:6rem 0;background:var(--bg-secondary)}.use-cases{background:var(--bg-primary)}.section-title{font-size:2.5rem;font-weight:800;text-align:center;margin-bottom:1rem;color:var(--text-primary)}.section-subtitle{font-size:1.2rem;text-align:center;color:var(--text-secondary);margin-bottom:4rem;max-width:600px;margin-left:auto;margin-right:auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.feature-card{background:var(--bg-primary);padding:2.5rem;border-radius:20px;text-align:center;box-shadow:var(--shadow-md);transition:all .3s ease;border:1px solid var(--border-primary)}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.feature-icon{font-size:3rem;margin-bottom:1.5rem;color:var(--text-accent);display:flex;justify-content:center;align-items:center}.feature-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.feature-description{color:var(--text-secondary);line-height:1.6}.use-cases-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.use-case{background:var(--bg-secondary);padding:2rem;border-radius:16px;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s ease;border:1px solid var(--border-primary)}.use-case:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.use-case-icon{font-size:2.5rem;margin-bottom:1rem;color:var(--text-accent);display:flex;justify-content:center;align-items:center}.use-case h3{font-size:1.3rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.use-case p{color:var(--text-secondary);line-height:1.5}.plans{padding:6rem 0;background:var(--bg-secondary)}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.plan-card{background:var(--bg-primary);padding:2.5rem;border-radius:20px;border:1px solid var(--border-primary);box-shadow:var(--shadow-md);text-align:center;display:flex;flex-direction:column;position:relative;transition:all .3s ease}.plan-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.plan-card--pro{border:2px solid #3b82f6;box-shadow:0 20px 40px #3b82f626}.plan-card--business{border:2px solid #0f766e;box-shadow:0 20px 40px #0f766e26}.plan-card--light{border:2px solid #8b5cf6;box-shadow:0 20px 40px #8b5cf61f}.plan-badge{position:absolute;top:-.875rem;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:.25rem 1rem;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.plan-card--light .plan-badge{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.plan-card--business .plan-badge{background:linear-gradient(135deg,#0d9488,#0f766e)}.plan-name{font-size:1.5rem;font-weight:800;margin-bottom:.5rem;color:var(--text-primary)}.plan-price{font-size:1.75rem;font-weight:800;color:var(--text-accent);margin:0 0 2rem}.plan-features{list-style:none;padding:0;margin:0 0 2rem;text-align:left;flex:1}.plan-features li{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;color:var(--text-secondary);line-height:1.5}.plan-features li svg{color:#3b82f6;flex-shrink:0;margin-top:.25rem}.plan-cta{width:100%}.plan-cta:disabled{opacity:.6;cursor:not-allowed;transform:none}.plan-cta:disabled:hover{transform:none;box-shadow:0 4px 12px #00000026}.plan-note{margin:1rem 0 0;font-size:.85rem;color:var(--text-secondary)}.cta-section{background:linear-gradient(135deg,#1e293b,#334155);padding:6rem 0;text-align:center;position:relative}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:1}.cta-content{position:relative;z-index:2;max-width:800px;margin:0 auto;color:#fff!important}.cta-content *,.cta-content button,.cta-content button *{color:#fff!important}.cta-title{font-size:2.5rem;font-weight:800;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff!important}.cta-description{font-size:1.2rem;margin-bottom:2.5rem;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.3);color:#fff!important}.footer{background:var(--bg-tertiary);padding:4rem 0 2rem;border-top:1px solid var(--border-primary)}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-bottom:2rem}.footer-brand h3{font-size:1.5rem;font-weight:800;margin-bottom:1rem;color:var(--text-primary)}.footer-brand p{color:var(--text-secondary)}.footer-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.footer-section h4{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:.5rem;color:var(--text-secondary);transition:color .2s ease}.footer-section li:hover{color:var(--text-accent);cursor:pointer}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--border-primary)}.footer-bottom p{color:var(--text-secondary);margin:0}.security-highlight{padding:6rem 0;background:#000;position:relative;overflow:hidden}.security-content{position:relative;z-index:1;text-align:center}.security-title{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:2.5rem;font-weight:800;margin-bottom:1.5rem;color:#fff!important}.security-title-icon{color:#3b82f6!important;font-size:3rem;flex-shrink:0}.security-subtitle{font-size:1.2rem;margin-bottom:4rem;color:#cbd5e1!important;max-width:800px;margin-left:auto;margin-right:auto;font-weight:500}.security-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.security-feature{background:#1e293b;padding:2.5rem 2rem;border-radius:20px;border:1px solid rgba(59,130,246,.3);transition:all .3s ease}.security-feature:hover{transform:translateY(-5px);background:#334155;border-color:#3b82f680;box-shadow:0 20px 40px #3b82f633}.security-feature-icon{font-size:2.5rem;color:#3b82f6;margin-bottom:1.5rem;display:flex;justify-content:center}.security-feature h3{font-size:1.3rem;font-weight:700;margin-bottom:1rem;color:#fff!important}.security-feature p{color:#e2e8f0!important;line-height:1.6;font-size:.95rem}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-title{font-size:3rem}.demo-window{transform:none;max-width:500px;margin:0 auto}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.use-cases-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}@media (max-width: 768px){.landing-page{--landing-header-offset: 3.5rem;overflow-x:hidden}.landing-nav{display:none}.landing-header-inner{padding:.55rem .85rem;gap:.5rem;flex-wrap:nowrap}.landing-logo{font-size:1.1rem;flex-shrink:0}.landing-header-actions{flex:1 1 auto;gap:.4rem;flex-wrap:nowrap;min-width:0;justify-content:flex-end}.landing-header-actions .language-toggle{flex-shrink:0;transform:scale(.92);transform-origin:right center}.landing-header-actions .lang-btn{padding:3px 8px;font-size:11px}.landing-header-actions .auth-control{flex-shrink:0}.landing-header-actions .auth-control__btn{padding:.35rem .55rem;font-size:.78rem}.landing-admin-btn{display:none}.hero{padding:1.25rem 0 2rem;align-items:flex-start;min-height:0;overflow-x:hidden}.hero-content{grid-template-columns:1fr;gap:0;padding:1rem 1.15rem 1.5rem;width:100%;max-width:100%;box-sizing:border-box;text-align:center}.hero-text{width:100%;max-width:100%;min-width:0}.hero-demo{display:none}.hero-title{font-size:clamp(1.55rem,7.2vw,2.1rem);line-height:1.25;margin-bottom:.85rem;word-break:keep-all;overflow-wrap:anywhere}.hero-description{font-size:.95rem;line-height:1.65;margin-bottom:1.35rem;padding:0 .15rem;word-break:keep-all;overflow-wrap:anywhere}.hero-buttons{justify-content:stretch;flex-direction:column;align-items:stretch;gap:.65rem;width:100%}.cta-button{padding:.85rem 1.1rem;font-size:.95rem;width:100%;box-sizing:border-box}.features,.use-cases,.plans{padding:3rem 0}.features .container,.use-cases .container,.plans .container,.security-highlight .container{padding-left:1.15rem;padding-right:1.15rem}.section-title{font-size:1.55rem;line-height:1.3;padding:0 .25rem}.features-grid,.plans-grid{grid-template-columns:1fr;gap:1rem}.use-cases-grid,.security-features{grid-template-columns:1fr;gap:.85rem}.security-title{font-size:1.55rem;flex-direction:column;gap:.5rem;line-height:1.3}.security-subtitle{font-size:.95rem}.security-feature{padding:1.35rem 1.15rem}.footer-content{grid-template-columns:1fr;gap:1.5rem;text-align:center;padding:0 1.15rem}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.landing-header-inner{padding:.5rem .7rem}.landing-logo{font-size:1rem}.container{padding:0 1rem}.hero-content{padding:.85rem .9rem 1.25rem}.hero-title{font-size:clamp(1.4rem,7.5vw,1.85rem)}.hero-description{font-size:.9rem}.cta-button{padding:.8rem 1rem;font-size:.92rem}.feature-card,.use-case{padding:1.25rem}.section-title{font-size:1.4rem}.footer-links{grid-template-columns:1fr}}.language-toggle{display:flex;background:#ffffff1a;border-radius:20px;padding:2px;gap:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);flex-shrink:0}.lang-btn{padding:4px 10px;border:none;border-radius:16px;background:transparent;color:#333;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.lang-btn:hover{background:#fff3;color:#000}.lang-btn.active{background:#007bff;color:#fff;box-shadow:0 2px 8px #007bff4d}.dark .lang-btn{color:#e5e5e5}.dark .lang-btn:hover{background:#ffffff26;color:#fff}.dark .lang-btn.active{background:#007bff;color:#fff}.auth-control{display:flex;align-items:center;gap:.35rem;flex-shrink:0;position:relative}.auth-control__btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .55rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.auth-control__btn:hover{background:var(--text-accent);color:#fff;border-color:var(--text-accent)}.auth-control__trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .45rem .25rem .5rem;border:1px solid var(--border-primary);border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);font-family:inherit;font-size:.85rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.auth-control__trigger:hover,.auth-control--menu.is-open .auth-control__trigger{border-color:var(--text-accent);color:var(--text-primary);background:var(--bg-tertiary)}.auth-control__plan{font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:.12rem .4rem;border-radius:999px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);line-height:1.2;pointer-events:none}.auth-control__plan--paid{background:linear-gradient(135deg,#7c3aed22,#2563eb22);color:var(--text-accent);border-color:var(--text-accent)}.auth-control__chevron{font-size:.85rem;transition:transform .15s ease;opacity:.7;pointer-events:none}.auth-control--menu.is-open .auth-control__chevron{transform:rotate(180deg)}.auth-control__dropdown{z-index:10500;box-sizing:border-box;padding:.35rem;border-radius:10px;border:1px solid var(--border-primary, #e2e8f0);background:var(--bg-secondary, #ffffff);color:var(--text-primary, #1e293b);box-shadow:0 10px 15px -3px #0000001f,0 4px 6px -4px #0000001a;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto;overflow-x:hidden}.auth-control__email-row{padding:.45rem .6rem .5rem;margin-bottom:.15rem;border-bottom:1px solid var(--border-primary, #e2e8f0);font-size:.78rem;color:var(--text-secondary, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-control__item{display:flex;align-items:center;gap:.45rem;width:100%;padding:.5rem .6rem;border:none;border-radius:7px;background:transparent;color:inherit;font-family:inherit;font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:background .12s ease}.auth-control__item:hover:not(:disabled){background:var(--bg-tertiary, #f1f5f9)}.auth-control__item:disabled{opacity:.5;cursor:not-allowed}.auth-control__item--accent{color:var(--text-accent, #2563eb)}.auth-control__item--danger{color:#dc2626}.dark .auth-control__item--danger,.dark .auth-control__dropdown .auth-control__item--danger{color:#fca5a5}.security-warning-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.security-warning-modal{background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border-primary)}.security-warning-header{display:flex;align-items:center;gap:1rem;padding:2rem 2rem 1rem;border-bottom:1px solid var(--border-primary)}.security-icon{font-size:2rem;color:#f59e0b}.security-warning-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:700}.security-warning-content{padding:2rem}.warning-section{margin-bottom:2rem;padding:1.5rem;background:#fef3c7;border-radius:12px;border-left:4px solid #f59e0b}.dark .warning-section{background:#451a03;border-left-color:#f59e0b}.warning-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:#92400e;font-size:1.1rem;font-weight:600}.dark .warning-section h3{color:#fbbf24}.warning-icon{color:#f59e0b}.warning-section ul{margin:0;padding-left:1.5rem;color:#92400e}.dark .warning-section ul{color:#fde68a}.warning-section li{margin-bottom:.5rem;line-height:1.5}.security-measures{margin-bottom:2rem;padding:1.5rem;background:#ecfdf5;border-radius:12px;border-left:4px solid #10b981}.dark .security-measures{background:#064e3b}.security-measures h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:#065f46;font-size:1.1rem;font-weight:600}.dark .security-measures h3{color:#34d399}.shield-icon{color:#10b981}.security-measures ul{margin:0;padding:0;list-style:none;color:#065f46}.dark .security-measures ul{color:#a7f3d0}.security-measures li{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;line-height:1.5}.check-icon{color:#10b981;font-size:1rem;flex-shrink:0}.responsibility-notice{margin-bottom:2rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-primary)}.responsibility-notice p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:.9rem}.responsibility-notice strong{color:var(--text-primary)}.checkbox-container{margin-bottom:2rem}.checkbox-container label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;color:var(--text-primary);line-height:1.5;font-weight:500}.checkbox-container input[type=checkbox]{margin-top:.125rem;width:1rem;height:1rem;flex-shrink:0}.security-warning-actions{display:flex;gap:1rem;justify-content:flex-end}.accept-button{padding:.75rem 2rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b98133}.accept-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.accept-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.dismiss-button{padding:.75rem 1.5rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.dismiss-button:hover{background:var(--bg-primary);color:var(--text-primary);transform:translateY(-1px)}@media (max-width: 768px){.security-warning-overlay{padding:.5rem}.security-warning-modal{max-height:95vh}.security-warning-header{padding:1.5rem 1.5rem 1rem}.security-warning-header h2{font-size:1.25rem}.security-warning-content{padding:1.5rem}.warning-section,.security-measures,.responsibility-notice{padding:1rem}.security-warning-actions{flex-direction:column}.accept-button,.dismiss-button{width:100%;justify-content:center}}.ai-edit-panel{border:1.5px solid var(--border-primary);border-radius:10px;background:var(--bg-tertiary);overflow:hidden}.ai-edit-panel--preview{margin:0 0 .85rem;flex-shrink:0;width:100%;max-width:640px}.ai-edit-panel--locked,.ai-edit-panel--unsupported{padding:.55rem .85rem}.ai-edit-panel__locked-row{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem;font-weight:600}.ai-edit-panel__badge{margin-left:auto;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;background:linear-gradient(135deg,#7c3aed33,#2563eb33);color:var(--text-accent);border:1px solid var(--border-secondary)}.ai-edit-panel__login{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border:none;border-radius:999px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.ai-edit-panel__locked-note{margin:0;padding:0 .85rem .6rem;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.ai-edit-panel__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .85rem;border:none;background:transparent;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600}.ai-edit-panel__toggle:hover{background:#2563eb14}.ai-edit-panel__toggle-label{display:inline-flex;align-items:center;gap:.4rem}.ai-edit-panel__body{padding:0 .85rem .75rem;display:flex;flex-direction:column;gap:.4rem}.ai-edit-panel__skill-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.ai-edit-panel__skill-row .ai-edit-panel__label{margin:0}.ai-edit-panel__skill-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:1;min-width:8rem;max-width:14rem;padding:.35rem 1.6rem .35rem .55rem;border-radius:8px;border:1.5px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center}.ai-edit-panel__skill-select:focus{outline:none;border-color:var(--text-accent);box-shadow:0 0 0 3px #2563eb2e}.ai-edit-panel__skill-select:disabled{opacity:.65;cursor:not-allowed}.ai-edit-panel__label{font-size:.8rem;color:var(--text-secondary);font-weight:600}.ai-edit-panel__row{display:flex;gap:.55rem;align-items:stretch}.ai-edit-panel__input{flex:1;min-width:0;box-sizing:border-box;resize:vertical;min-height:2.6rem;max-height:7rem;padding:.55rem .7rem;border-radius:8px;border:1.5px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:.9rem;line-height:1.4}.ai-edit-panel__input:focus{outline:none;border-color:var(--text-accent);box-shadow:0 0 0 3px #2563eb2e}.ai-edit-panel__input:disabled{opacity:.65;cursor:not-allowed}.ai-edit-panel__submit{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0;align-self:stretch;min-width:7.5rem;padding:.45rem .85rem;border:none;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;white-space:nowrap}.ai-edit-panel__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.ai-edit-panel__submit:disabled{opacity:.45;cursor:not-allowed;transform:none}.ai-edit-panel__error{margin:0;font-size:.82rem;color:var(--error-text);background:var(--error-bg);border-radius:6px;padding:.4rem .55rem}.ai-edit-panel__hint{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.35}.ai-edit-panel__quota{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.4;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.ai-edit-panel__quota--out{color:#dc2626;font-weight:600}.ai-edit-panel__quota-note{margin:.35rem 0 0;font-size:.7rem;line-height:1.35;font-weight:500;color:var(--text-secondary)}.ai-edit-panel__upgrade{display:inline-flex;align-items:center;gap:.25rem;margin-left:.25rem;border:none;border-radius:999px;padding:.2rem .55rem;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}.ai-edit-panel__spin{animation:ai-edit-spin .8s linear infinite}@keyframes ai-edit-spin{to{transform:rotate(360deg)}}.ai-edit-panel--loading .ai-edit-panel__input{opacity:.8}@media (max-width: 640px){.ai-edit-panel__row{flex-direction:column}.ai-edit-panel__submit{align-self:stretch;min-height:2.5rem}.ai-edit-panel--preview{margin-bottom:.4rem}.ai-edit-panel__locked-note{display:none}.ai-edit-panel--locked{padding:.35rem .55rem}.ai-edit-panel__locked-row{font-size:.8rem}.ai-edit-panel__login{padding:.25rem .55rem;font-size:.72rem;white-space:nowrap}}.admin-panel{font-family:Inter,Arial,sans-serif;min-height:100vh;background:var(--bg-secondary);color:var(--text-primary)}.admin-header{position:sticky;top:0;z-index:50;background:var(--bg-primary);border-bottom:1px solid var(--border-primary)}.admin-header-inner{max-width:1100px;margin:0 auto;padding:.85rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-title{font-size:1.2rem;font-weight:800;margin:0;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.admin-back{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:8px;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.admin-back:hover{color:var(--text-accent);border-color:var(--text-accent)}.admin-body{max-width:1100px;margin:0 auto;padding:2rem}.admin-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;padding:.75rem 1rem;border-radius:8px;margin:0 0 1.5rem;font-size:.9rem}.admin-section{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.admin-section-title{font-size:1.05rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem}.admin-stat{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem}.admin-stat--full{grid-column:1 / -1}.admin-stat-label{font-size:.75rem;color:var(--text-secondary);font-weight:600}.admin-stat-value{font-size:1.25rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.admin-input{width:120px;padding:.35rem .5rem;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem}.admin-btn{padding:.4rem .85rem;border-radius:6px;border:1px solid var(--text-accent);background:var(--text-accent);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;transition:opacity .2s ease}.admin-btn:hover:not(:disabled){opacity:.85}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn--small{padding:.3rem .6rem;font-size:.78rem;background:var(--bg-primary);color:var(--text-accent)}.admin-refresh{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.admin-refresh:hover:not(:disabled){color:var(--text-accent);border-color:var(--text-accent)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th{text-align:left;padding:.6rem .75rem;font-size:.78rem;font-weight:700;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);white-space:nowrap}.admin-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-email{font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.admin-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.1rem .4rem;border-radius:999px;background:linear-gradient(135deg,#7c3aed33,#2563eb33);color:var(--text-accent);border:1px solid var(--border-secondary)}.admin-muted{color:var(--text-secondary);white-space:nowrap}.admin-select{padding:.3rem .45rem;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;cursor:pointer}.admin-empty{color:var(--text-secondary);font-size:.9rem;margin:0}@media (max-width: 768px){.admin-header-inner,.admin-body{padding-left:1rem;padding-right:1rem}}.find-bar{display:flex;align-items:center;gap:3px;background:#1f2937;border:1px solid #374151;border-radius:8px;padding:5px 6px;box-shadow:0 6px 18px #0006;z-index:30}.find-bar__input{width:190px;border:1px solid #4b5563;border-radius:5px;padding:5px 8px;font-size:13px;background:#111827;color:#f9fafb;outline:none;line-height:1.2}.find-bar__input:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.find-bar__count{font-size:12px;color:#cbd5e1;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.find-bar__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#d1d5db;cursor:pointer;padding:0;border-radius:5px;transition:background .12s,color .12s}.find-bar__btn:hover:not(:disabled){background:#374151;color:#fff}.find-bar__btn:disabled{opacity:.35;cursor:default}.find-bar__btn--close:hover:not(:disabled){background:#b91c1c;color:#fff}:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-accent: #2563eb;--border-primary: #e2e8f0;--border-secondary: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--console-bg: #f8fafc;--console-border: #e2e8f0;--error-bg: #fef2f2;--error-text: #dc2626;--warning-bg: #fefce8;--warning-text: #ca8a04;--success-bg: #f0fdf4;--success-text: #16a34a}.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-accent: #3b82f6;--border-primary: #334155;--border-secondary: #475569;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--console-bg: #1e293b;--console-border: #334155;--error-bg: #7f1d1d;--error-text: #fca5a5;--warning-bg: #78350f;--warning-text: #fcd34d;--success-bg: #14532d;--success-text: #86efac}body{background:var(--bg-primary);font-family:Inter,Arial,sans-serif}.app.preview-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;width:100%;height:100%;min-height:100%;background:#fff;overflow:hidden}.app.preview-fullscreen.dark{background:#0f172a}.app.preview-fullscreen>.container{width:100%;min-width:0;height:100%;min-height:100%;max-height:100%;max-width:100%;margin:0;padding:0;border-radius:0;box-shadow:none;overflow:hidden;background:transparent}.app.preview-fullscreen .header{display:none!important}.app.preview-fullscreen .split-container{flex:1;min-height:0;height:100%;gap:0}.app.preview-fullscreen .preview-pane{flex:1 1 auto!important;width:100%!important;height:100%!important;max-height:none!important}.app.preview-fullscreen .preview-header,.app.preview-fullscreen .ai-edit-panel,.app.preview-fullscreen .console-panel{display:none!important}.app.preview-fullscreen .preview-stage{flex:1 1 auto;min-height:0;height:100%;gap:0;overflow:hidden}.app.preview-fullscreen .preview-frame,.app.preview-fullscreen .preview-frame.preview-frame--fill{flex:1 1 auto;width:100%;height:100%;max-width:none;min-height:0;border:none;border-radius:0;box-shadow:none;background:#fff}.app.preview-fullscreen .preview-scroll-host,.app.preview-fullscreen .preview-iframe{width:100%;height:100%;min-height:0}.preview-fullscreen-exit{position:fixed;top:.75rem;right:.75rem;z-index:9100;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#ffffffeb;color:#0f172a;box-shadow:0 4px 16px #0f172a2e;cursor:pointer;opacity:.35;transition:opacity .15s ease,transform .15s ease,background .15s ease}.preview-fullscreen-exit:hover,.preview-fullscreen-exit:focus-visible{opacity:1;outline:none;transform:scale(1.05);background:#fff}.app.preview-fullscreen.dark .preview-fullscreen-exit{background:#1e293beb;color:#f1f5f9;border-color:#f1f5f91f}.app.preview-fullscreen.dark .preview-fullscreen-exit:hover,.app.preview-fullscreen.dark .preview-fullscreen-exit:focus-visible{background:#1e293b}.app>.container{width:calc(100vw - .75rem);max-width:none;margin:.35rem auto;padding:.55rem .85rem .65rem;background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-lg);box-sizing:border-box;transition:box-shadow .3s ease,background .3s ease;display:flex;flex-direction:column;flex:1;min-height:calc(100vh - .7rem);max-height:calc(100vh - .7rem);overflow:hidden}.app{min-height:100vh;overflow:hidden;flex:1;display:flex;flex-direction:column}.header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:.5rem;flex-wrap:nowrap;gap:.65rem .75rem;width:100%;max-width:100%;min-width:0;flex-shrink:0;position:relative;z-index:20;overflow:visible}.mobile-tools-toggle{display:none;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:1.15rem;line-height:1;transition:all .15s ease}.mobile-tools-toggle:hover,.mobile-tools-toggle.active{background:var(--text-accent);color:#fff;border-color:var(--text-accent)}.layout-btn-icon{display:none;font-size:.95rem;flex-shrink:0}.title{flex-shrink:0;min-width:0}.title-link{display:block;margin:0;padding:0;border:none;background:none;cursor:pointer;text-align:left;font:inherit;border-radius:6px}.title-link:hover h1{color:var(--text-accent)}.title-link:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}.title h1{font-size:1.25rem;font-weight:800;margin:0;line-height:1.2;color:#1e293b;transition:color .15s ease}.dark .title h1{color:#f1f5f9}.title p{display:none}.controls{display:flex;gap:.4rem .55rem;align-items:center;flex-wrap:nowrap;min-width:0;max-width:100%;flex:1 1 auto;overflow-x:auto;scrollbar-width:thin;padding-bottom:1px}.header-end{display:flex;align-items:center;flex-shrink:0;margin-left:auto;overflow:visible}.template-selector{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.template-selector label{font-weight:500;color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.template-selector select{padding:.3rem .5rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.8rem;cursor:pointer}.mode-toggles{display:flex;gap:.3rem;flex-shrink:0}.mode-btn{padding:.3rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.mode-btn:hover,.mode-btn.active{background:var(--text-accent);color:#fff;border-color:var(--text-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.layout-toggle{display:flex;gap:.3rem;flex-shrink:0}.layout-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;padding:.3rem .65rem;font-size:.8rem;font-family:Inter,Arial,sans-serif;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;font-weight:500;white-space:nowrap}.layout-btn.active,.layout-btn:hover{background:var(--text-accent);color:#fff;border-color:var(--text-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.split-container{display:flex;width:100%;max-width:100%;min-width:0;min-height:0;box-sizing:border-box}.split-container.vertical{display:grid;flex:1 1 0%;min-height:0;height:0;grid-template-rows:minmax(120px,var(--split-editor-fr, 45fr)) auto minmax(160px,var(--split-preview-fr, 55fr));grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;overflow:hidden}.split-container.horizontal{flex:1 1 0%;flex-direction:row;min-height:0;height:0;align-items:stretch;gap:0;overflow:hidden}.split-container.editor-hidden{gap:0;display:flex;flex-direction:column;grid-template-rows:none;grid-template-columns:none}.editor-pane{display:flex;flex-direction:column;min-width:0;min-height:0;max-height:100%;overflow:hidden;position:relative;z-index:1}.split-container.horizontal .editor-pane{flex:var(--split-editor, 45) 1 0%;align-self:stretch;max-width:100%;max-height:none}.split-container.vertical .editor-pane{flex:none;min-height:0;max-height:none;height:auto;overflow:hidden}.split-container.editor-hidden .preview-pane{flex:1 1 auto;width:100%;max-width:100%}.split-divider{flex:0 0 10px;position:relative;align-self:stretch;margin:0 .35rem;border-radius:6px;background:transparent;cursor:col-resize;touch-action:none;z-index:3;flex-shrink:0}.split-divider:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background:var(--border-primary);opacity:.35;transition:opacity .15s ease,background .15s ease}.split-divider:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:36px;border-radius:2px;background:var(--text-secondary);opacity:.55;transition:background .15s ease,opacity .15s ease}.split-divider:hover:before,.split-divider:focus-visible:before,body.split-resizing .split-divider:before{opacity:.85;background:var(--text-accent)}.split-divider:hover:after,.split-divider:focus-visible:after,body.split-resizing .split-divider:after{opacity:1;background:#fff}.split-divider:focus-visible{outline:2px solid var(--text-accent);outline-offset:1px}.split-container.vertical .split-divider{flex:none;width:auto;height:10px;margin:.35rem 0;cursor:row-resize;align-self:stretch}.split-container.vertical .split-divider:after{width:36px;height:3px}body.split-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.split-resizing-row,body.split-resizing:has(.split-container.vertical){cursor:row-resize}.code-editor-container{flex:1 1 0%;min-height:0;min-width:0;height:0;overflow:auto;display:block;position:relative}.code-editor-container .w-tc-editor{box-sizing:border-box!important;min-height:100%!important;height:auto!important;max-width:100%;border:1.5px solid var(--border-secondary)!important;border-radius:10px!important}.dark .code-editor-container .w-tc-editor{border-color:#404040!important}.editor-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;flex-shrink:0;gap:.35rem;margin-bottom:.4rem;position:relative;z-index:2;background:var(--bg-secondary);padding:0;max-width:100%}.split-container.horizontal .editor-header{flex-direction:column;align-items:stretch}.editor-header h2{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary);white-space:nowrap;flex-shrink:0}.editor-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;min-width:0;max-width:100%}.split-container.horizontal .editor-actions{justify-content:flex-start}.split-container.vertical .editor-actions{justify-content:flex-end;flex:1 1 auto}.run-btn{padding:.35rem .75rem;font-size:.8rem;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:none;border-radius:6px;font-family:Inter,Arial,sans-serif;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:.3rem;white-space:nowrap}.run-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.clear-btn{padding:.35rem .65rem;font-size:.8rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-family:Inter,Arial,sans-serif;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:.3rem;white-space:nowrap;margin-left:.35rem}.clear-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.undo-btn,.redo-btn{padding:.35rem .5rem;font-size:.8rem;background:var(--bg-tertiary);color:var(--text-primary);border:1.5px solid var(--border-secondary);border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center}.undo-btn:hover:not(:disabled),.redo-btn:hover:not(:disabled){background:var(--text-accent);color:#fff;border-color:var(--text-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.undo-btn:disabled,.redo-btn:disabled{opacity:.35;cursor:not-allowed}.import-btn{padding:.35rem .65rem;font-size:.8rem;background:#0891b2;color:#fff;border:none;border-radius:6px;font-family:Inter,Arial,sans-serif;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:.3rem;white-space:nowrap}.import-btn:hover{background:#0e7490;transform:translateY(-1px);box-shadow:var(--shadow-md)}.sample-btn{padding:.35rem .65rem;font-size:.8rem;background:#7c3aed;color:#fff;border:none;border-radius:6px;font-family:Inter,Arial,sans-serif;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:.3rem;white-space:nowrap}.template-selector .sample-btn{padding:.3rem .5rem;font-size:.8rem;margin-left:.15rem}.sample-btn:hover:not(:disabled){background:#6d28d9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.sample-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.download-btn{padding:.35rem .65rem;font-size:.8rem;background:#059669;color:#fff;border:none;border-radius:6px;font-family:Inter,Arial,sans-serif;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:.3rem;white-space:nowrap}.download-btn:hover{background:#047857;transform:translateY(-1px);box-shadow:var(--shadow-md)}.download-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.preview-pane{flex:var(--split-preview, 55) 1 0%;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;position:relative;z-index:2}.split-container.horizontal .preview-pane{flex:var(--split-preview, 55) 1 0%;min-width:0;max-height:none}.split-container.vertical .preview-pane{flex:none;align-self:stretch;width:100%;min-height:0;max-height:none;overflow:hidden}.preview-stage{flex:1 1 0%;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;gap:.5rem}.preview-stage:has(.preview-frame:not(.preview-frame--fill)){overflow:auto}.preview-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:.4rem;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.preview-header h2{margin:0;font-size:.95rem;font-weight:700;color:var(--text-primary)}.preview-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-start}.device-presets{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px}.paper-presets{display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px}.paper-select{max-width:140px}.device-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-primary);font-size:.8rem;font-weight:500;padding:.3rem 1.6rem .3rem .5rem;cursor:pointer;max-width:160px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center}.device-select:hover,.device-select:focus{border-color:var(--text-accent);outline:none}.preview-size-label{display:inline-flex;align-items:center;gap:.2rem;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.size-input{width:3.2rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;padding:.15rem .3rem;text-align:center}.size-input:hover,.size-input:focus{border-color:var(--text-accent);outline:none}.size-input::-webkit-outer-spin-button,.size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.preview-icon-btn{padding:.4rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:1rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.preview-icon-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-accent)}.preview-icon-btn:disabled{opacity:.3;cursor:not-allowed}.print-caution-wrap{position:relative;display:inline-flex}.print-caution-btn{color:var(--warning-text)}.print-caution-btn:hover:not(:disabled){color:var(--warning-text);background:var(--warning-bg)}.print-caution-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:9300;width:280px;max-width:80vw;padding:.85rem .95rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--warning-text);border-radius:10px;box-shadow:0 8px 28px #00000038}.dark .print-caution-popover{border-color:var(--warning-text)}.print-caution-title{font-size:.85rem;font-weight:700;color:var(--warning-text);margin-bottom:.5rem;line-height:1.4}.print-caution-list{margin:0 0 .75rem;padding-left:1.1rem;font-size:.8rem;line-height:1.5}.print-caution-list li{margin-bottom:.25rem}.print-caution-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-primary,.btn-ghost{padding:.35rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.btn-primary{background:var(--accent, #3b82f6);color:#fff;border-color:var(--accent, #3b82f6)}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border, #cbd5e1)}.btn-ghost:hover{background:var(--bg-tertiary)}.console-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem .75rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;white-space:nowrap;flex-shrink:0;line-height:1}.console-toggle-badge{display:none;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center}.console-toggle:hover,.console-toggle.active{background:var(--text-accent);color:#fff;border-color:var(--text-accent)}.console-toggle.active .console-toggle-badge{background:#fff;color:var(--text-accent)}.preview-frame{border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;background:var(--bg-primary);box-shadow:var(--shadow-md);flex-shrink:0;box-sizing:border-box}.preview-frame.preview-frame--fill{flex:1 1 0%;width:100%;max-width:100%;min-height:160px;height:auto;align-self:stretch;display:flex;flex-direction:column}.preview-frame.preview-frame--fill>*{flex:1 1 0%;min-height:0;width:100%;height:100%}.preview-iframe{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;background:#fff;min-height:0}.preview-scroll-host{position:relative;overflow:hidden;width:100%;height:100%;min-height:0}.console-panel{margin-top:0;border:1px solid var(--console-border);border-radius:12px;background:var(--console-bg);overflow:hidden;max-height:220px;width:100%;flex-shrink:0;display:flex;flex-direction:column}.console-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--console-border);font-weight:600;font-size:.9rem;gap:.5rem}.panel-tabs{display:flex;gap:.25rem;flex-wrap:wrap}.panel-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:transparent;color:var(--text-secondary);border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s ease}.panel-tab:hover{background:var(--bg-primary);color:var(--text-primary)}.panel-tab.active{background:var(--text-accent);color:#fff}.panel-clear-btn{padding:.3rem .75rem;background:var(--text-accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.panel-clear-btn:hover{opacity:.85}.console-empty{padding:1rem;color:var(--text-secondary);font-style:italic;text-align:center;font-size:.85rem}.network-toggle,.settings-toggle{padding:.5rem .75rem}.network-toggle:hover,.settings-toggle:hover{border-color:var(--text-accent)}.console-content{flex:1;overflow-y:auto;max-height:240px}.console-item{display:flex;gap:1rem;padding:.5rem 1rem;border-bottom:1px solid var(--console-border);font-family:Fira Mono,monospace;font-size:.85rem;align-items:flex-start}.console-item:last-child{border-bottom:none}.console-item.error{background:var(--error-bg);color:var(--error-text)}.console-item.log{background:var(--console-bg)}.console-item .timestamp{color:var(--text-secondary);font-size:.75rem;min-width:80px;opacity:.7}.console-item .method{font-weight:600;min-width:60px;text-transform:uppercase;font-size:.75rem}.console-item .message{flex:1;word-break:break-word}@media (max-width: 1024px){.split-container.horizontal{display:grid;flex-direction:unset;flex:1 1 0%;min-height:0;height:0;grid-template-rows:minmax(120px,var(--split-editor-fr, 45fr)) auto minmax(200px,var(--split-preview-fr, 55fr));grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden}.split-container.horizontal .editor-pane{flex:none;width:100%;max-width:100%;min-height:0;overflow:hidden}.split-container.horizontal .split-divider{display:block;flex:none;cursor:row-resize;margin:.35rem 0;width:auto;height:10px}.split-container.horizontal .split-divider:after{width:36px;height:3px}.split-container.horizontal .preview-pane{flex:none;min-height:0;overflow:auto}.split-container.horizontal.editor-hidden{display:flex;flex-direction:column;grid-template-rows:none;grid-template-columns:none}.header{flex-wrap:nowrap;gap:.4rem .75rem}.controls{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}.header-end{margin-left:auto}}@media (max-width: 768px){.app>.container{width:100%;min-width:0;max-width:100%;margin:0;padding:.4rem .55rem .55rem;border-radius:0;min-height:100vh;max-height:100vh}.header{flex-wrap:nowrap;gap:.35rem;margin-bottom:.35rem;min-height:2.25rem}.title h1{font-size:1rem}.mobile-tools-toggle{display:inline-flex;margin-left:auto}.controls{display:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;flex:none;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.5rem;padding:.65rem;border:1px solid var(--border-primary);border-radius:10px;background:var(--bg-secondary);box-shadow:var(--shadow-md);overflow:visible;max-height:min(70vh,28rem);overflow-y:auto;z-index:30}.controls.is-open{display:flex}.controls .language-toggle,.controls .template-selector,.controls .mode-toggles,.controls .layout-toggle{width:100%;justify-content:flex-start;flex-wrap:wrap}.controls .template-selector{flex-direction:column;align-items:stretch;gap:.35rem}.controls .template-selector select{max-width:none;width:100%}.controls .sample-btn{width:100%;justify-content:center}.controls .layout-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.controls .layout-btn{width:100%;justify-content:center;padding:.45rem .5rem}.layout-btn-icon{display:inline-block}.header-end{margin-left:0}.editor-header h2,.preview-header h2{display:none}.editor-header,.preview-header{flex-direction:row;flex-wrap:nowrap;gap:.25rem;align-items:center;margin-bottom:.3rem}.preview-controls{flex-wrap:nowrap;overflow-x:auto;gap:.3rem;width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center}.preview-controls::-webkit-scrollbar{display:none}.device-presets,.paper-presets{padding:.1rem .3rem;gap:.25rem;flex-shrink:0;min-height:2rem}.preview-size-label{display:none}.device-select,.paper-select{font-size:.72rem;max-width:6.5rem;border:none;background:transparent;padding:.15rem 0}.console-toggle{position:relative;padding:.35rem;min-width:2rem;min-height:2rem;border-radius:8px}.console-toggle .btn-label{display:none}.console-toggle-badge{display:inline-block;position:absolute;top:-.2rem;right:-.2rem;min-width:.9rem;height:.9rem;line-height:.9rem;font-size:.58rem;padding:0 .18rem}.preview-icon-btn{width:2rem;height:2rem;padding:0}.ai-edit-panel--preview{margin:0 0 .4rem;max-width:none}.ai-edit-panel--locked{padding:.35rem .55rem}.ai-edit-panel__locked-row{font-size:.8rem;gap:.35rem}.ai-edit-panel__locked-note{display:none}.ai-edit-panel__login{padding:.25rem .55rem;font-size:.72rem}.ai-edit-panel__toggle{padding:.4rem .65rem;font-size:.8rem}.editor-actions{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;width:100%;gap:.25rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.editor-actions::-webkit-scrollbar{display:none}.editor-actions .btn-label{display:none}.controls .sample-btn .btn-label{display:inline}.run-btn,.clear-btn,.import-btn,.download-btn,.sample-btn{padding:.35rem .5rem;margin-left:0;min-width:2rem;justify-content:center}.undo-btn,.redo-btn{padding:.35rem .45rem}.split-container{gap:.35rem}.split-container.vertical{grid-template-rows:minmax(90px,var(--split-editor-fr, 38fr)) auto minmax(160px,var(--split-preview-fr, 62fr))}.empty-preview-content h3{font-size:.95rem;margin:0 0 .35rem}.empty-preview-content p{font-size:.8rem;margin:0}.empty-preview{padding:.75rem}}@media (max-width: 480px){.title h1{font-size:.95rem}.app>.container{padding:.3rem .4rem .45rem}.header{margin-bottom:.25rem}.preview-iframe{min-height:160px}.console-panel{max-height:160px}}.empty-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid #c2d1e7;border-radius:10px}.dark .empty-preview{background:#1e1e1e;border-color:#404040}.empty-preview-content{text-align:center;color:#666;max-width:300px}.dark .empty-preview-content{color:#aaa}.empty-preview-content h3{margin-bottom:10px;font-size:1.2em;font-weight:600}.empty-preview-content p{margin:0;font-size:.9em;line-height:1.4}.nlog-content{display:flex;flex-direction:column}.nlog-empty{padding:1rem;color:var(--text-secondary);font-style:italic;text-align:center;font-size:.85rem}.nlog-row{display:grid;grid-template-columns:72px 44px 64px 1fr auto auto;gap:.5rem;align-items:center;padding:.35rem .75rem;border-bottom:1px solid var(--console-border);font-family:Fira Mono,monospace;font-size:.8rem}.nlog-row:last-child{border-bottom:none}.nlog-ts{color:var(--text-secondary);opacity:.7;font-size:.72rem}.nlog-dir{font-weight:600;text-align:center;font-size:.7rem;letter-spacing:.5px}.nlog-row.nlog-outbound .nlog-dir{color:#b45309}.nlog-row.nlog-inbound .nlog-dir{color:#047857}.nlog-method{font-weight:600;text-transform:uppercase;font-size:.72rem}.nlog-url{word-break:break-all;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:100%}.nlog-status{font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.1rem .5rem;border-radius:4px;text-transform:uppercase}.nlog-status-allowed{background:var(--success-bg);color:var(--success-text)}.nlog-status-blocked{background:var(--error-bg);color:var(--error-text)}.nlog-status-pending{background:var(--warning-bg);color:var(--warning-text)}.nlog-badges{display:inline-flex;gap:.2rem}.nlog-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .25rem;border-radius:4px;font-size:.7rem;font-weight:700;cursor:help}.nlog-badge-sensitive{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.dark .nlog-badge-sensitive{background:#7c2d12;color:#fdba74;border-color:#9a3412}.nlog-badge-entropy{background:#fef9c3;color:#92400e;border:1px solid #fde68a}.dark .nlog-badge-entropy{background:#713f12;color:#fde047;border-color:#a16207}.nlog-badge-csp{background:#f3e8ff;color:#7e22ce;border:1px solid #e9d5ff;font-size:.65rem}.dark .nlog-badge-csp{background:#4a044e;color:#e9d5ff;border-color:#86198f}.nlog-row.nlog-blocked{background:#dc26260f}.dark .nlog-row.nlog-blocked{background:#dc26261f}.nlog-row.nlog-pending{background:#eab30812}.dark .nlog-row.nlog-pending{background:#eab3081f}@media (max-width: 768px){.nlog-row{grid-template-columns:60px 40px 56px 1fr auto;font-size:.72rem}.nlog-badges{grid-column:2 / -1;justify-content:flex-end}}.ncm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.ncm-modal{position:relative;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:14px;box-shadow:var(--shadow-lg);padding:1.5rem 1.75rem 1.25rem;max-width:520px;width:100%;font-family:Inter,Arial,sans-serif}.ncm-close{position:absolute;top:.6rem;right:.6rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;padding:.3rem;border-radius:6px}.ncm-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ncm-title{margin:0 0 .25rem;font-size:1.05rem;color:var(--text-primary)}.ncm-subtitle{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem}.ncm-fields{margin:0 0 1.1rem;display:flex;flex-direction:column;gap:.6rem}.ncm-field{display:flex;flex-direction:column;gap:.2rem}.ncm-field dt{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.ncm-field dd{margin:0;font-family:Fira Mono,monospace;font-size:.85rem;color:var(--text-primary);word-break:break-all}.ncm-method{display:inline-block;padding:.1rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-weight:700;font-size:.75rem}.ncm-url{font-size:.82rem;word-break:break-all}.ncm-body{margin:0;padding:.6rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;font-family:Fira Mono,monospace;font-size:.75rem;max-height:140px;overflow:auto;white-space:pre-wrap;word-break:break-all}.ncm-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.ncm-btn{padding:.5rem 1rem;font-size:.85rem;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-family:Inter,Arial,sans-serif;transition:all .15s ease}.ncm-once{background:#0891b2;color:#fff}.ncm-once:hover{background:#0e7490}.ncm-always{background:#16a34a;color:#fff}.ncm-always:hover{background:#15803d}.ncm-deny{background:var(--error-bg);color:var(--error-text)}.ncm-deny:hover{background:#fecaca;color:#991b1b}.dark .ncm-deny:hover{background:#b91c1c;color:#fee2e2}.wls-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.wls-modal{position:relative;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:14px;box-shadow:var(--shadow-lg);padding:1.5rem 1.75rem 1.25rem;max-width:560px;width:100%;max-height:80vh;overflow:auto}.wls-close{position:absolute;top:.6rem;right:.6rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;padding:.3rem;border-radius:6px}.wls-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wls-title{margin:0 0 .25rem;font-size:1.05rem;color:var(--text-primary)}.wls-subtitle{margin:0 0 1rem;color:var(--text-secondary);font-size:.85rem}.wls-add-row{display:flex;gap:.5rem;margin-bottom:1rem}.wls-add-row input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-family:Fira Mono,monospace;font-size:.85rem}.wls-add-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;background:var(--text-accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem}.wls-add-btn:hover{opacity:.9}.wls-list{display:flex;flex-direction:column;gap:.4rem}.wls-empty{padding:1rem;text-align:center;color:var(--text-secondary);font-style:italic;font-size:.85rem}.wls-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.6rem;padding:.45rem .6rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px}.wls-domain{font-family:Fira Mono,monospace;font-size:.85rem;color:var(--text-primary);word-break:break-all}.wls-check{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary);cursor:pointer}.wls-check input{cursor:pointer}.wls-remove{background:transparent;border:none;color:var(--error-text);cursor:pointer;padding:.3rem;border-radius:6px;display:inline-flex;align-items:center}.wls-remove:hover{background:var(--error-bg)}@media (max-width: 600px){.wls-row{grid-template-columns:1fr 1fr}.ncm-actions{justify-content:stretch}.ncm-btn{flex:1}}.find-bar--code{position:sticky;top:8px;margin-left:auto;width:fit-content;z-index:40}.find-bar--preview{position:absolute;top:10px;right:12px;z-index:40}.code-find-overlay{position:absolute;margin:0;color:transparent;background:transparent;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;overflow:hidden;pointer-events:none;z-index:25}.code-find-overlay mark{background:#ffe066;color:#1a1a1a;border-radius:2px}.code-find-overlay mark.code-find-current{background:#ff8c1a;color:#1a1a1a}.code-find-overlay.linked mark{background:#b9f6ca;color:#0a0a0a}.code-find-overlay.linked mark.code-find-current{background:#69f0ae;color:#0a0a0a}.preview-icon-btn.link-toggle.active,.preview-icon-btn.link-toggle.active:hover{color:#fff;background:#059669}.link-info{margin-left:6px;align-self:center;font-size:12px;font-weight:700;color:#fff;background:#047857;border:1px solid #34d399;border-radius:6px;padding:4px 9px;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}.find-btn{padding:.35rem .5rem;font-size:.8rem;background:var(--bg-tertiary);color:var(--text-primary);border:1.5px solid var(--border-secondary);border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:.3rem;font-family:Inter,Arial,sans-serif;font-weight:600;white-space:nowrap;margin-left:.35rem}.find-btn:hover{background:var(--text-accent);color:#fff;border-color:var(--text-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.find-btn.active,.find-toggle.active{color:#60a5fa;border-color:#60a5fa;background:#60a5fa1f}.auth-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:11000;padding:1rem}.auth-modal__dialog{position:relative;width:100%;max-width:400px;background:var(--bg-secondary);border-radius:14px;box-shadow:var(--shadow-lg);padding:1.5rem}.auth-modal__close{position:absolute;top:.6rem;right:.6rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;padding:.3rem;border-radius:6px}.auth-modal__close:hover{background:var(--bg-tertiary)}.auth-modal__title{margin:0 0 .75rem;font-size:1.2rem;font-weight:700;color:var(--text-primary)}.auth-modal__message{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.auth-modal__form{display:flex;flex-direction:column;gap:.75rem}.auth-modal__input{width:100%;padding:.6rem .75rem;border:1.5px solid var(--border-secondary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:.95rem}.auth-modal__input:focus{outline:none;border-color:var(--text-accent);box-shadow:0 0 0 3px #2563eb2e}.auth-modal__error{margin:0;font-size:.82rem;color:var(--error-text)}.auth-modal__submit{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1rem;border:none;border-radius:8px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.auth-modal__submit:disabled{opacity:.6;cursor:not-allowed}.plan-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1rem}.plan-modal__dialog{position:relative;width:min(1100px,100%);max-height:min(90vh,900px);overflow:auto;background:var(--bg-primary, #fff);color:var(--text-primary, #0f172a);border-radius:16px;box-shadow:0 24px 64px #0f172a47;padding:1.5rem 1.5rem 1.25rem}.plan-modal__close{position:absolute;top:.85rem;right:.85rem;border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;font-size:1.25rem;padding:.25rem}.plan-modal__title{margin:0 2rem .35rem 0;font-size:1.35rem}.plan-modal__subtitle{margin:0 0 1.25rem;color:var(--text-secondary, #64748b);font-size:.95rem;line-height:1.5}.plan-modal__disclaimer{margin:-.75rem 0 1.25rem;color:var(--text-secondary, #64748b);font-size:.8rem;line-height:1.45}.plan-modal__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.plan-modal__card{position:relative;border:1px solid var(--border-primary, #e2e8f0);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.55rem;background:var(--bg-secondary, #f8fafc)}.plan-modal__card--highlight{border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed33}.plan-modal__card--current{background:linear-gradient(180deg,#7c3aed0d,transparent)}.plan-modal__badge{position:absolute;top:.7rem;right:.7rem;font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;background:#7c3aed;color:#fff}.plan-modal__name{margin:0;font-size:1.1rem}.plan-modal__price{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-accent, #2563eb)}.plan-modal__features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;flex:1;font-size:.85rem;color:var(--text-secondary, #475569)}.plan-modal__features li{display:flex;gap:.35rem;align-items:flex-start;line-height:1.4}.plan-modal__features svg{flex-shrink:0;margin-top:.15rem;color:#16a34a}.plan-modal__cta{margin-top:.35rem;width:100%;border:none;border-radius:8px;padding:.65rem .75rem;font:inherit;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.plan-modal__cta:disabled{opacity:.55;cursor:not-allowed}.plan-modal__manage{margin-top:1rem;width:100%;border:1px solid var(--border-primary, #e2e8f0);border-radius:8px;padding:.65rem .75rem;font:inherit;font-weight:600;cursor:pointer;background:var(--bg-primary, #fff);color:var(--text-primary, #0f172a);display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.plan-modal__manage:disabled{opacity:.55;cursor:not-allowed}.plan-modal__error{margin:.85rem 0 0;color:#dc2626;font-size:.9rem}.plan-modal__cta--small{padding:.45rem .9rem;font-size:.85rem}.plan-modal__spin{animation:plan-modal-spin .9s linear infinite}@keyframes plan-modal-spin{to{transform:rotate(360deg)}}@media (max-width: 960px){.plan-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.plan-modal__grid{grid-template-columns:1fr}}.usage-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1rem}.usage-modal__dialog{position:relative;width:min(440px,100%);max-height:min(90vh,720px);overflow:auto;background:var(--bg-primary, #fff);color:var(--text-primary, #0f172a);border-radius:16px;box-shadow:0 24px 64px #0f172a47;padding:1.5rem 1.4rem 1.25rem}.usage-modal__close{position:absolute;top:.85rem;right:.85rem;border:none;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;font-size:1.25rem;padding:.25rem}.usage-modal__title{margin:0 2rem .35rem 0;font-size:1.25rem;display:flex;align-items:center;gap:.45rem}.usage-modal__subtitle{margin:0 0 1.15rem;color:var(--text-secondary, #64748b);font-size:.9rem;line-height:1.45}.usage-modal__plan-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem}.usage-modal__label{font-size:.85rem;color:var(--text-secondary, #64748b)}.usage-modal__plan-badge{font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary, #64748b);border:1px solid var(--border-primary, #e2e8f0)}.usage-modal__plan-badge--paid{background:linear-gradient(135deg,#7c3aed22,#2563eb22);color:var(--text-accent, #2563eb);border-color:var(--text-accent, #2563eb)}.usage-modal__percent-block{text-align:center;margin:0 0 .85rem;padding:1rem .75rem;border-radius:12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-primary, #e2e8f0)}.usage-modal__percent{font-size:2.4rem;font-weight:800;line-height:1.1;letter-spacing:-.02em}.usage-modal__percent--out{color:#b91c1c}.usage-modal__percent-label{margin-top:.35rem;font-size:.85rem;color:var(--text-secondary, #64748b)}.usage-modal__meter{margin-bottom:.85rem}.usage-modal__meter-track{height:8px;border-radius:999px;background:var(--bg-tertiary, #e2e8f0);overflow:hidden}.usage-modal__meter-fill{height:100%;border-radius:999px;background:#2563eb;transition:width .25s ease}.usage-modal__meter-fill--near{background:#d97706}.usage-modal__meter-fill--out{background:#dc2626}.usage-modal__exhausted{margin:0 0 .85rem;padding:.55rem .7rem;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.85rem;font-weight:600}.usage-modal__meta{margin:0 0 .85rem;display:grid;gap:.45rem}.usage-modal__meta>div{display:flex;justify-content:space-between;gap:.75rem;font-size:.85rem}.usage-modal__meta dt{color:var(--text-secondary, #64748b)}.usage-modal__meta dd{margin:0;font-weight:600;text-align:right}.usage-modal__disclaimer{margin:0 0 1.1rem;font-size:.78rem;line-height:1.45;color:var(--text-secondary, #64748b)}.usage-modal__actions{display:flex;gap:.55rem;flex-wrap:wrap}.usage-modal__cta,.usage-modal__secondary{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:1;min-width:120px;padding:.65rem .9rem;border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid transparent}.usage-modal__cta{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}.usage-modal__cta:hover{filter:brightness(1.05)}.usage-modal__secondary{background:var(--bg-primary, #fff);color:var(--text-secondary, #64748b);border-color:var(--border-primary, #e2e8f0)}.usage-modal__secondary:hover:not(:disabled){background:var(--bg-secondary, #f8fafc)}.usage-modal__secondary:disabled{opacity:.65;cursor:not-allowed}.usage-modal__empty{text-align:center;padding:.5rem 0 .25rem}.usage-modal__empty p{margin:0 0 1rem;color:var(--text-secondary, #64748b);font-size:.92rem}.usage-modal__loading{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:1.5rem 0;color:var(--text-secondary, #64748b)}.usage-modal__error{color:#b91c1c!important}.usage-modal__spin{animation:usage-modal-spin .9s linear infinite}@keyframes usage-modal-spin{to{transform:rotate(360deg)}}
