:root{--bg:#0f1115;--panel:#171a21;--panel-2:#1e222b;--border:#2a2f3a;--text:#e7eaf0;--muted:#9aa3b2;--accent:#5eead4;--accent-2:#38bdf8;--danger:#f87171;--radius:14px;--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--sans);background:radial-gradient(1200px 600px at 50% -10%,#1a2030 0,var(--bg) 55%);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.wrap{max-width:860px;margin:0 auto;padding:56px 20px 80px}header.hero{text-align:center;margin-bottom:36px}.logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--muted);margin-bottom:22px}.logo .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 16px rgba(56,189,248,.6)}h1{font-size:clamp(28px,5vw,42px);line-height:1.1;margin:0 0 14px;letter-spacing:-.02em}h1 .grad{background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.sub{color:var(--muted);font-size:17px;max-width:560px;margin:0 auto;line-height:1.5}.dropzone{margin-top:34px;border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--panel);padding:48px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,transform .05s}.dropzone:hover{border-color:var(--accent-2);background:var(--panel-2)}.dropzone.drag{border-color:var(--accent);background:var(--panel-2);transform:scale(1.005)}.dropzone .icon{font-size:34px;margin-bottom:12px}.dropzone .big{font-size:18px;font-weight:600;margin-bottom:6px}.dropzone .hint{color:var(--muted);font-size:13.5px;line-height:1.5}.options{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:14px}.options label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.card{margin-top:26px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card .bar{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.fname{font-weight:600;font-size:15px;margin-right:auto;word-break:break-all}.badge{font-family:var(--mono);font-size:12px;padding:4px 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.badge.win{color:var(--accent);border-color:rgba(94,234,212,.35)}.actions{display:flex;gap:8px}button.btn{font-family:var(--sans);font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:9px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;transition:background .12s,border-color .12s}button.btn:hover{border-color:var(--accent-2)}button.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0a0f1a;border:none}button.btn.primary:hover{filter:brightness(1.05)}pre.preview{margin:0;padding:18px;max-height:460px;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.55;color:#cdd4e0;white-space:pre-wrap;word-break:break-word;background:#12151b}.status{margin-top:26px;text-align:center;color:var(--muted);font-size:15px}.status.err{color:var(--danger)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes spin{to{transform:rotate(1turn)}}.reset{display:block;margin:20px auto 0}footer.foot{text-align:center;color:var(--muted);font-size:12.5px;margin-top:46px;line-height:1.6}.progress{margin-top:30px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px 22px 20px}.steps{display:flex;gap:8px;justify-content:space-between;margin-bottom:16px}.step{gap:8px;font-size:13.5px;flex:1 1}.step,.step b{display:inline-flex;align-items:center;color:var(--muted)}.step b{justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--border);font-size:12px;font-weight:700;background:var(--panel-2)}.step.active{color:var(--text)}.step.active b{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0a0f1a}.step.done,.step.done b{color:var(--accent)}.step.done b{border-color:rgba(94,234,212,.5)}.track{height:8px;background:var(--panel-2);overflow:hidden}.fill,.track{border-radius:999px}.fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .2s ease}.fill.indet{width:40%;animation:indet 1.1s ease-in-out infinite}@keyframes indet{0%{margin-left:-40%}to{margin-left:100%}}.plabel{margin-top:12px;text-align:center;font-size:13.5px;color:var(--muted)}.content{margin-top:70px;border-top:1px solid var(--border);padding-top:44px}.content h2{font-size:21px;letter-spacing:-.01em;margin:38px 0 12px}.content h2:first-child{margin-top:0}.content .lead{color:var(--text);font-size:17px;line-height:1.7;margin:0 0 30px}.content .lead b{color:var(--accent)}.content p{margin:0}.content p,.feats,.how{color:var(--muted);line-height:1.7;font-size:15.5px}.feats,.how{padding-left:22px;margin:4px 0 0}.feats li,.how li{margin:8px 0}.feats b{color:var(--text)}.how{counter-reset:how;list-style:none;padding-left:0}.how li{position:relative;padding-left:38px}.how li:before{counter-increment:how;content:counter(how);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border);color:var(--accent);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.faq{margin-top:6px;display:flex;flex-direction:column;gap:8px}.faq details{background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:0 16px}.faq summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:20px;line-height:1}.faq details[open] summary:after{content:"-"}.faq details p{padding:0 0 15px;font-size:14.5px}.ecosystem{margin-top:46px}.eco-intro{color:var(--muted);font-size:15px;margin:0 0 18px}.eco-intro a{color:var(--accent);text-decoration:none}.eco-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.eco-card{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--panel);text-decoration:none;transition:border-color .14s,background .14s}.eco-card:hover{border-color:var(--accent-2);background:var(--panel-2)}.eco-name{color:var(--text);font-weight:600;font-size:15.5px;display:flex;align-items:center;gap:7px}.eco-arrow{color:var(--accent);font-size:13px}.eco-desc{color:var(--muted);font-size:13.5px;line-height:1.5}@media (max-width:560px){.eco-grid{grid-template-columns:1fr}}.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:16px}.foot-links a{color:var(--muted);text-decoration:none;font-size:13px;transition:color .14s}.foot-links a:hover{color:var(--accent)}