:root{
  --accent:#5b53d6; --accent-dark:#4740b8; --accent-light:#eeedfc;
  --ink:#1b1b2b; --ink-2:#4b4b63; --muted:#71718c;
  --line:#e4e4ee; --bg:#f0f0f6; --white:#fff;
  --green:#1fa463;
  --shadow:0 1px 3px rgba(0,0,0,.06);
  --shadow-lg:0 14px 36px rgba(0,0,0,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Outfit',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.65}
a{color:inherit}

.nav{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 1.5rem;gap:1.5rem;position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);z-index:20}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.1rem;text-decoration:none}
.brand-mark{width:30px;height:30px;background:var(--accent);border-radius:8px;display:grid;place-items:center;color:#fff;font-size:.62rem;font-weight:800}
.nav-right{margin-left:auto;display:flex;gap:.6rem;align-items:center}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--line);background:var(--white);border-radius:10px;padding:.6rem 1.1rem;font-family:inherit;font-weight:700;font-size:.88rem;cursor:pointer;text-decoration:none;color:var(--ink-2)}
.btn:hover{background:var(--bg)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(91,83,214,.3)}
.btn-primary:hover:not(:disabled){background:var(--accent-dark)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-lg{padding:.95rem 1.9rem;font-size:1rem;border-radius:12px}

.wrap{max-width:720px;margin:0 auto;padding:3rem 1.5rem 2rem}
.wrap h1{font-size:2.2rem;letter-spacing:-.03em;text-align:center;margin-bottom:.5rem;line-height:1.15}
.wrap .sub{text-align:center;color:var(--ink-2);font-size:1.02rem;margin-bottom:2rem}

.dz{border:2px dashed var(--line);border-radius:16px;padding:2.75rem 1.5rem;text-align:center;transition:.15s;background:var(--white)}
.dz.over{border-color:var(--accent);background:var(--accent-light)}
.dz p{color:var(--muted);font-size:.9rem;margin:.9rem 0}

.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:1.4rem;margin-top:1.2rem;box-shadow:var(--shadow)}
.panel h3{font-size:.95rem;margin-bottom:.9rem}

.frow{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:10px;margin-bottom:.5rem;background:var(--white)}
.frow.dragging{opacity:.4}
.frow.dropline{border-color:var(--accent);border-style:dashed}
.grip{color:var(--muted);cursor:grab;font-size:.8rem;letter-spacing:-2px}
.fic{width:30px;height:30px;border-radius:7px;background:var(--accent-light);color:var(--accent);display:grid;place-items:center;flex-shrink:0}
.fic svg{width:15px;height:15px}
.fname{font-weight:600;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.fmeta{font-size:.76rem;color:var(--muted);white-space:nowrap}
.fdel{border:none;background:none;color:var(--muted);font-size:1.2rem;cursor:pointer;line-height:1;padding:0 .2rem}
.fdel:hover{color:var(--accent)}

.opt{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;margin-bottom:.5rem;cursor:pointer}
.opt:has(input:checked){border-color:var(--accent);background:var(--accent-light)}
.opt input{accent-color:var(--accent);margin-top:4px;width:16px;height:16px;cursor:pointer;flex-shrink:0}
.opt b{display:block;font-size:.89rem;margin-bottom:.1rem}
.opt span{font-size:.8rem;color:var(--muted);line-height:1.5}
.opt-sub{margin:.6rem 0 0 2.2rem}
.opt-sub input[type=text]{width:100%;padding:.6rem .8rem;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:.88rem}
.opt-sub input:focus{outline:none;border-color:var(--accent)}
.hint{font-size:.76rem;color:var(--muted);margin-top:.35rem}

.run-row{margin-top:1.2rem;text-align:center}
#prog{font-size:.82rem;color:var(--muted);margin-top:.6rem;min-height:1.2em}
#result{display:none;margin-top:1rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;text-align:center;font-size:.92rem;color:#14532d}
#result .pct{background:var(--green);color:#fff;padding:1px 9px;border-radius:9px;font-size:.78rem;font-weight:700;margin-left:.4rem}
#result .note{font-size:.78rem;color:var(--muted)}

.privacy{font-size:.8rem;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.5rem}

.content{max-width:720px;margin:0 auto;padding:1rem 1.5rem 3rem}
.content h2{font-size:1.3rem;margin:2.2rem 0 .7rem;letter-spacing:-.02em}
.content h3{font-size:1rem;margin:1.4rem 0 .4rem;color:var(--accent)}
.content p{color:var(--ink-2);margin-bottom:.9rem;font-size:.95rem}
.content ol,.content ul{color:var(--ink-2);padding-left:1.3rem;margin-bottom:1rem;font-size:.95rem}
.content li{margin-bottom:.4rem}
.faq-q{border-bottom:1px solid var(--line);padding:.9rem 0}
.faq-q h3{margin:0 0 .3rem;color:var(--ink);font-size:.95rem;font-weight:700}
.faq-q p{margin:0;font-size:.9rem}

.other-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}
.ot{border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;text-decoration:none;font-weight:600;font-size:.85rem;display:flex;align-items:center;justify-content:space-between}
.ot:hover{border-color:var(--accent)}

footer{border-top:1px solid var(--line);padding:2rem 1.5rem;text-align:center;color:var(--muted);font-size:.84rem}
footer a{margin:0 .5rem}

.toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.7rem 1.2rem;border-radius:10px;font-size:.85rem;font-weight:600;z-index:60;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw;text-align:center}
.toast.show{opacity:1}

@media(max-width:700px){
  .wrap{padding:2rem 1.1rem 1.5rem}
  .wrap h1{font-size:1.7rem}
  .other-tools{grid-template-columns:1fr}
  .nav{padding:0 1rem}
}
