:root{font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;color:#e8eaed;background:#0f1117}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{--layout-max-width: 1200px;max-width:var(--layout-max-width);margin:0 auto;padding:2rem 1.5rem}h1{font-weight:600;letter-spacing:-.02em;margin:0 0 .25rem}.site-header{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.site-logo{display:block;width:calc(409px * .7);height:auto;max-width:100%}.site-header-text{width:100%;text-align:left}.site-header-text h1{text-align:center}.site-header-text .subtitle-secondary{margin-bottom:0}.subtitle{color:#9aa0a6;margin:0 0 .75rem}.subtitle-secondary{margin-bottom:2rem}.subtitle strong{color:#e8eaed;font-weight:600}.panel{background:#1a1d26;border:1px solid #2a2f3a;border-radius:12px;padding:1.25rem;margin-bottom:1rem}.controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin-bottom:1rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#9aa0a6}select,button{font:inherit}select{background:#0f1117;color:inherit;border:1px solid #3c4454;border-radius:8px;padding:.5rem .75rem;max-width:100%}button{background:#4f8cff;color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.dropzone{border:2px dashed #3c4454;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .15s}.dropzone:hover,.dropzone.active{border-color:#4f8cff}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.preview-box,.preview-box-upload{background:transparent;border-radius:8px;min-height:280px;height:min(360px,50vw);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:.5rem}.preview-dims{margin:0 0 .5rem;font-size:.8rem;color:#9aa0a6}.preview-frame{display:flex;align-items:center;justify-content:center;flex-shrink:0}.preview-media{width:100%;height:100%;max-width:100%;max-height:340px;object-fit:contain;display:block}.preview-iframe{width:100%;height:100%;min-height:260px;max-height:340px;border:none;background:transparent;display:block}.preview-placeholder{color:#666}.metrics{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9rem;color:#9aa0a6}.metrics strong{color:#e8eaed}.decision-banner{margin:.85rem 0 0;padding:.55rem .85rem;background:#4f8cff1a;border-left:3px solid #4f8cff;border-radius:4px;color:#cdd5e3;font-size:.88rem}.candidate-breakdown{margin-top:.85rem;font-size:.85rem}.candidate-breakdown summary{cursor:pointer;color:#9aa0a6;-webkit-user-select:none;user-select:none;padding:.25rem 0}.candidate-breakdown summary:hover{color:#cdd5e3}.candidate-table-scroll{margin-top:.6rem;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:6px}.candidate-table{width:100%;min-width:420px;border-collapse:collapse;color:#9aa0a6}.candidate-table th,.candidate-table td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid #2a2f3a}.candidate-table th{color:#cdd5e3;font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.candidate-table .candidate-row-winner{color:#e8eaed;background:#4f8cff14}.candidate-table .candidate-row-winner td:first-child:before{content:"★ ";color:#4f8cff}.download-row{margin-top:1.25rem;display:flex;justify-content:flex-start}.download-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;background:linear-gradient(180deg,#3fb95a,#2ea84a);color:#f0fff5;font-weight:600;font-size:.95rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);text-decoration:none;box-shadow:0 1px #ffffff1f inset,0 4px 12px #34c75940;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.download-btn:hover{background:linear-gradient(180deg,#46c563,#34b455);box-shadow:0 1px #ffffff2e inset,0 6px 16px #34c75959;transform:translateY(-1px)}.download-btn:active{transform:translateY(0);box-shadow:0 1px #ffffff14 inset,0 2px 6px #34c75933}.download-btn:focus-visible{outline:2px solid #7fd998;outline-offset:2px}.download-btn-icon{display:block;flex-shrink:0}.download-btn-meta{margin-left:.35rem;padding:.1rem .5rem;font-size:.78rem;font-weight:500;background:#0000002e;border-radius:999px;color:#f0fff5d9}.error{color:#ff6b6b;margin-top:.5rem;padding:.75rem 1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.35);border-radius:8px}.progress{color:#4f8cff;font-size:.9rem}.source-panel{padding:.75rem 1.25rem 1.25rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid #2a2f3a;margin:0 -.5rem 1rem;padding:0 .5rem}.tab{background:transparent;color:#9aa0a6;border:none;border-bottom:2px solid transparent;border-radius:0;padding:.6rem .9rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s}.tab:hover{color:#cdd2d8}.tab.active{color:#e8eaed;border-bottom-color:#4f8cff}.url-input-wrap{display:flex;flex-direction:column;gap:.4rem}.url-input{background:#0f1117;color:inherit;border:1px solid #3c4454;border-radius:8px;padding:.65rem .85rem;font:inherit;width:100%;transition:border-color .15s,box-shadow .15s}.url-input:focus{outline:none;border-color:#4f8cff;box-shadow:0 0 0 3px #4f8cff2e}.url-hint{margin:0;font-size:.8rem;color:#6c727b}.engine-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.engine-field select{width:100%;min-width:0;text-overflow:ellipsis}.progress-panel{padding:1rem 1.25rem;background:linear-gradient(180deg,rgba(79,140,255,.06),transparent 60%),#1a1d26;border-color:#4f8cff40}.progress-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem}.progress-headline{font-size:.95rem;font-weight:500}.progress-pulse{width:10px;height:10px;border-radius:50%;background:#4f8cff;box-shadow:0 0 #4f8cff99;animation:pulse 1.6s ease-out infinite}.progress-pulse.done{background:#34c759;animation:none;box-shadow:0 0 8px #34c75980}.progress-pulse.failed{background:#ff6b6b;animation:none;box-shadow:0 0 8px #ff6b6b80}@keyframes pulse{0%{box-shadow:0 0 #4f8cff8c}70%{box-shadow:0 0 0 9px #4f8cff00}to{box-shadow:0 0 #4f8cff00}}.progress-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.progress-step{display:flex;align-items:flex-start;gap:.6rem;padding:.35rem .5rem;border-radius:6px;font-size:.9rem;color:#6c727b;transition:color .2s,background-color .2s}.progress-step-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #3c4454;font-size:.75rem;font-weight:700;flex-shrink:0;background:#0f1117}.progress-step-done{color:#cdd2d8}.progress-step-done .progress-step-icon{background:#34c759;border-color:#34c759;color:#06210e}.progress-step-active{color:#e8eaed;background:#4f8cff14}.progress-step-active .progress-step-icon{border-color:#4f8cff;background:transparent}.progress-step-active .progress-step-label{font-weight:600}.progress-step-text{display:flex;flex-direction:column;gap:.15rem;min-width:0;line-height:1.3}.progress-step-icon{flex-shrink:0;margin-top:1px}.progress-step-detail{font-size:.78rem;color:#8b94a3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-word}.progress-step-active .progress-step-detail{color:#b0bbcb}.progress-step-failed{color:#ff9b9b}.progress-step-failed .progress-step-icon{background:#ff6b6b;border-color:#ff6b6b;color:#2a0808}.spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(79,140,255,.25);border-top-color:#4f8cff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.info-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #2a2f3a}.info-section h2{margin:0 0 .75rem;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.info-lead{margin:0 0 1.5rem;color:#9aa0a6}.info-phases{display:flex;flex-direction:column;gap:1rem}.info-phase{background:#1a1d26;border:1px solid #2a2f3a;border-radius:12px;padding:1.25rem}.info-phase h3{margin:0 0 .65rem;font-size:1rem;font-weight:600;color:#e8eaed}.info-phase p{margin:0 0 .75rem;color:#9aa0a6;font-size:.92rem}.info-phase p:last-child{margin-bottom:0}.info-phase ul,.info-phase ol{margin:0 0 .75rem;padding-left:1.25rem;color:#9aa0a6;font-size:.92rem}.info-phase li+li{margin-top:.35rem}.info-engine-list{margin:0 0 .75rem;display:flex;flex-direction:column;gap:.75rem}.info-engine-item{margin:0}.info-engine-item dt{margin:0 0 .25rem;font-size:.92rem;font-weight:600;color:#e8eaed}.info-engine-item dd{margin:0;color:#9aa0a6;font-size:.92rem;line-height:1.45}.info-engine-best-for{display:block;margin-bottom:.2rem;font-size:.82rem;font-weight:500;color:#4f8cff}.info-engine-auto-heading{margin-top:.25rem!important}.info-engine-auto-list{margin-bottom:.75rem!important}.info-phase strong{color:#cdd2d8}.info-phase code{font-size:.85em;background:#0f1117;border:1px solid #2a2f3a;border-radius:4px;padding:.1em .35em}.info-subheading{margin:1.5rem 0 .65rem;font-size:1rem;font-weight:600;color:#e8eaed}.info-pricing-card{background:linear-gradient(135deg,#4f8cff1a,#4f8cff08);border:1px solid rgba(79,140,255,.25);border-radius:12px;padding:1.25rem;margin-bottom:.5rem}.info-price{margin:0 0 .35rem;font-size:1.1rem;color:#e8eaed}.info-price strong{font-size:1.5rem;color:#4f8cff}.info-price-note{margin:0;color:#9aa0a6;font-size:.92rem}.info-endpoints,.info-workflow{margin:0;padding-left:1.25rem;color:#9aa0a6;font-size:.92rem}.info-endpoints li+li,.info-workflow li+li{margin-top:.5rem}.info-endpoints a,.info-workflow a,.info-lead a{color:#4f8cff;text-decoration:none}.info-endpoints a:hover,.info-workflow a:hover,.info-lead a:hover{text-decoration:underline}.info-endpoints code,.info-workflow code,.info-price-note code,.info-footnote code{font-size:.85em;background:#0f1117;border:1px solid #2a2f3a;border-radius:4px;padding:.1em .35em}.info-footnote{margin:1.25rem 0 0;font-size:.85rem;color:#6c727b}.site-footer{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:2.5rem}.site-footer-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.site-footer-nav a{font-size:.85rem;color:#9aa0a6;text-decoration:none}.site-footer-nav a:hover{color:#4f8cff;text-decoration:underline}.legal-page{margin-bottom:1rem}.legal-header{text-align:center;margin-bottom:1.5rem}.legal-home-link{display:inline-block;margin-bottom:1rem}.legal-logo{width:184.05px}.legal-header h1{margin:0 0 .35rem;font-size:1.75rem}.legal-updated{margin:0;font-size:.85rem;color:#6c727b}.legal-content h2{margin:1.75rem 0 .65rem;font-size:1.05rem;font-weight:600;color:#e8eaed}.legal-content h2:first-of-type{margin-top:.5rem}.legal-content p,.legal-content li{color:#9aa0a6;font-size:.92rem;line-height:1.55}.legal-content p{margin:0 0 .85rem}.legal-content ul{margin:0 0 .85rem;padding-left:1.25rem}.legal-content li+li{margin-top:.35rem}.legal-content a{color:#4f8cff;text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content code{font-size:.85em;background:#0f1117;border:1px solid #2a2f3a;border-radius:4px;padding:.1em .35em}@media (max-width: 640px){#root{padding:1rem .85rem}.panel{padding:1rem}.controls{gap:.75rem}.controls .engine-field{flex:1 1 100%}.controls button{width:100%}.metrics{gap:.75rem 1.25rem;font-size:.85rem}.candidate-table{font-size:.8rem}.candidate-table th,.candidate-table td{padding:.35rem .5rem;white-space:nowrap}.progress-step-detail{font-size:.75rem}.download-btn{width:100%;justify-content:center}}.edit-btn{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1.1rem;border-radius:10px;border:1px solid rgba(79,140,255,.45);background:#4f8cff14;color:#cdd5e3;font-weight:600;font-size:.95rem;text-decoration:none;transition:background .12s ease,transform .12s ease,color .12s ease}.edit-btn:hover{background:#4f8cff2e;color:#e8eaed;transform:translateY(-1px)}.download-row{gap:.75rem}.editor-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#0b0d14;color:#e8eaed;z-index:10}.editor-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem .85rem;background:#161922;border-bottom:1px solid #2a2f3a}.editor-back-btn{background:transparent;border:1px solid #2a2f3a;color:#9aa0a6;padding:.4rem .75rem;border-radius:8px;cursor:pointer;font-size:.85rem}.editor-back-btn:hover{color:#e8eaed;border-color:#4f8cff}.editor-tool-group{display:flex;align-items:center;gap:.4rem;padding:0 .55rem;border-left:1px solid #2a2f3a}.editor-tool-group:first-of-type{border-left:none;padding-left:0}.editor-toolbar-end{margin-left:auto;border-left:none}.editor-tool{background:transparent;border:1px solid #2a2f3a;color:#cdd5e3;padding:.4rem .65rem;border-radius:8px;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;min-height:30px}.editor-tool:hover{color:#e8eaed;border-color:#4f8cff}.editor-tool.active{background:#4f8cff26;border-color:#4f8cff;color:#e8eaed}.editor-tool:disabled{opacity:.4;cursor:not-allowed}.editor-color-field{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:#9aa0a6}.editor-color-field input[type=color]{border:1px solid #2a2f3a;border-radius:6px;background:#0f1117;width:32px;height:28px;cursor:pointer;padding:0}.editor-overlay-field{display:inline-flex;flex-direction:row;align-items:center;gap:.55rem;font-size:.78rem;color:#9aa0a6;white-space:nowrap}.editor-overlay-field input[type=range]{width:110px;cursor:pointer}.editor-selection-count{font-size:.78rem;color:#9aa0a6;padding:0 .25rem}.editor-download-btn{background:linear-gradient(180deg,#3fb95a,#2ea84a);color:#f0fff5;border:1px solid rgba(255,255,255,.08);padding:.5rem .95rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer}.editor-download-btn:hover{background:linear-gradient(180deg,#46c563,#34b455)}.editor-stage-wrap{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.editor-canvas-host{position:absolute;top:0;right:0;bottom:0;left:0}.editor-canvas{position:relative;width:100%;height:100%;background:#0b0d14;cursor:default;-webkit-user-select:none;user-select:none;touch-action:none}.editor-canvas[data-grid=on]{background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:16px 16px;background-position:-1px -1px}.editor-canvas[data-tool=pan],.editor-canvas[data-pan-override=on]{cursor:grab}.editor-canvas[data-tool=pan]:active,.editor-canvas[data-pan-override=on]:active{cursor:grabbing}.editor-canvas[data-tool=marquee]{cursor:crosshair}.editor-stage{width:100%;height:100%;display:block}.editor-content{pointer-events:auto}.editor-overlay-image{pointer-events:none}.editor-selection-rect{fill:none;stroke:#4f8cff;stroke-width:.75;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.editor-marquee{fill:#4f8cff1f;stroke:#4f8cff;stroke-width:1;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.editor-region{fill:#4f8cff0d;stroke:#4f8cff;stroke-width:1.25;stroke-dasharray:6 3;vector-effect:non-scaling-stroke}.editor-region-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .55rem;border-radius:999px;background:#4f8cff1f;border:1px solid rgba(79,140,255,.5);color:#cdd5e3;font-size:.74rem;cursor:pointer}.editor-region-chip:hover{background:#4f8cff33;color:#e8eaed}.editor-region-dot{width:6px;height:6px;border-radius:50%;background:#4f8cff}.editor-region-x{margin-left:.15rem;opacity:.7;font-weight:600}.editor-ruler{position:absolute;background:#161922;border-color:#2a2f3a;pointer-events:none;overflow:hidden;z-index:2}.editor-ruler-h{top:0;right:0;border-bottom:1px solid #2a2f3a}.editor-ruler-v{left:0;bottom:0;border-right:1px solid #2a2f3a}.editor-ruler-corner{position:absolute;top:0;left:0;background:#161922;border-right:1px solid #2a2f3a;border-bottom:1px solid #2a2f3a;z-index:3}.editor-ruler-tick-h{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent 60%,#6c727b 60%)}.editor-ruler-tick-h .editor-ruler-label{position:absolute;bottom:9px;left:3px;font-size:10px;line-height:1;color:#9aa0a6;white-space:nowrap}.editor-ruler-tick-v{position:absolute;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 60%,#6c727b 60%)}.editor-ruler-tick-v .editor-ruler-label{position:absolute;top:3px;left:3px;font-size:10px;line-height:1;color:#9aa0a6;white-space:nowrap}.editor-source-link{position:absolute;bottom:8px;left:12px;font-size:.72rem;color:#6c727b;margin:0;z-index:4}.editor-source-link a{color:#6c727b;text-decoration:underline}.editor-chat-launcher{position:fixed;bottom:16px;right:16px;background:#4f8cff;color:#fff;border:none;border-radius:999px;padding:.7rem 1.1rem;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 6px 16px #4f8cff59;z-index:20}.editor-chat-launcher:hover{background:#5d99ff}.editor-chat-dock{position:fixed;bottom:16px;right:16px;width:360px;max-width:calc(100vw - 32px);max-height:70vh;background:#161922;border:1px solid #2a2f3a;border-radius:14px;box-shadow:0 16px 32px #0006;display:flex;flex-direction:column;z-index:20}.editor-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #2a2f3a}.editor-chat-header strong{font-size:.95rem}.editor-chat-meta{margin:.15rem 0 0;color:#9aa0a6;font-size:.75rem}.editor-chat-close{background:transparent;border:1px solid #2a2f3a;color:#9aa0a6;border-radius:6px;width:28px;height:28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.editor-chat-close:hover{color:#e8eaed;border-color:#4f8cff}.editor-chat-messages{flex:1 1 auto;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.65rem}.editor-chat-hint{margin:0;font-size:.82rem;color:#9aa0a6}.editor-chat-message{background:#0f1117;border:1px solid #2a2f3a;border-radius:10px;padding:.55rem .75rem;font-size:.86rem;color:#cdd5e3}.editor-chat-message p{margin:0;white-space:pre-wrap}.editor-chat-user{background:#4f8cff1a;border-color:#4f8cff73;color:#e8eaed;align-self:flex-end;max-width:90%}.editor-chat-assistant{align-self:flex-start;max-width:90%}.editor-chat-error{background:#ffbb5014;border-color:#ffbb5073;color:#ffd28a}.editor-chat-actions{display:flex;gap:.5rem;margin-top:.55rem}.editor-chat-apply{background:#2ea84a;color:#fff;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:600;cursor:pointer}.editor-chat-discard{background:transparent;border:1px solid #2a2f3a;color:#9aa0a6;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;cursor:pointer}.editor-chat-applied-tag{margin:.45rem 0 0;font-size:.72rem;color:#6cd28a}.editor-chat-typing{display:inline-flex;gap:4px}.editor-chat-typing span{width:6px;height:6px;background:#4f8cff;border-radius:50%;animation:editor-chat-bounce 1.2s infinite}.editor-chat-typing span:nth-child(2){animation-delay:.15s}.editor-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes editor-chat-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-3px);opacity:1}}.editor-chat-input{padding:.6rem .85rem .85rem;border-top:1px solid #2a2f3a;display:flex;flex-direction:column;gap:.5rem}.editor-chat-checkbox{display:inline-flex;align-items:center;flex-direction:row;gap:.45rem;font-size:.78rem;color:#9aa0a6;-webkit-user-select:none;user-select:none;white-space:nowrap}.editor-chat-checkbox input[type=checkbox]{margin:0;cursor:pointer}.editor-chat-checkbox span{white-space:nowrap}.editor-chat-row{display:flex;gap:.5rem}.editor-chat-row input[type=text]{flex:1 1 auto;background:#0f1117;border:1px solid #2a2f3a;border-radius:8px;color:inherit;padding:.5rem .75rem;font:inherit}.editor-chat-row input[type=text]:focus{outline:none;border-color:#4f8cff;box-shadow:0 0 0 3px #4f8cff2e}.editor-chat-send{background:#4f8cff;color:#fff;border:none;border-radius:8px;padding:.45rem 1rem;font-weight:600;cursor:pointer}.editor-chat-send:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 640px){.editor-chat-dock{width:calc(100vw - 24px);bottom:12px;right:12px}}
