*{box-sizing:border-box;margin:0}body{font-family:system-ui,-apple-system,sans-serif;background:#0f1115;color:#e8eaed;line-height:1.5}.wrap{max-width:640px;margin:0 auto;padding:32px 20px 64px}a{color:#7fb0ff}h1{font-size:1.9rem;line-height:1.25;margin-bottom:12px}.sub{color:#a8adb8;margin-bottom:32px}.site-header{border-bottom:1px solid #1f232c}.site-header nav{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.brand{font-weight:700;color:#e8eaed;text-decoration:none}.nav-links{display:flex;gap:16px;font-size:.9rem}.nav-links a{color:#a8adb8;text-decoration:none}.presets{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.preset{flex:1 1 140px;background:#1a1d24;border:1px solid #2a2e38;border-radius:10px;color:inherit;padding:10px 14px;font-size:.95rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}.preset span{color:#8b919e;font-size:.8rem}.preset.on{border-color:#4f8cff;background:#17233a}.preset.custom input{width:64px;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;color:inherit;padding:2px 6px;font-size:.85rem}.drop{border:2px dashed #3a3f4b;border-radius:14px;padding:48px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.drop.over{border-color:#4f8cff;background:#151a26}.drop progress{width:100%;margin-top:14px;accent-color:#4f8cff}.hint{color:#8b919e;font-size:.85rem;margin-top:10px}.result{margin-top:24px;padding:18px;background:#14201a;border:1px solid #234432;border-radius:12px}.download{display:inline-block;margin-top:10px;background:#2f9e5f;color:#fff;text-decoration:none;padding:10px 18px;border-radius:8px;font-weight:600}.error{margin-top:20px;color:#ff7b72}.tools-grid{margin-top:48px}.tools-grid h2{font-size:1.1rem;margin-bottom:12px}.tools-grid ul{list-style:none;padding:0;display:grid;grid-gap:10px;gap:10px}.tools-grid a{display:flex;flex-direction:column;gap:2px;background:#1a1d24;border:1px solid #2a2e38;border-radius:10px;padding:12px 16px;text-decoration:none;color:inherit}.tools-grid a span{color:#8b919e;font-size:.85rem}.prose{margin-top:40px}.prose h2{font-size:1.2rem;margin:28px 0 10px}.prose li,.prose p{color:#c6cad2;margin-bottom:10px}.prose ol{padding-left:20px}.prose details{border:1px solid #2a2e38;border-radius:8px;padding:10px 14px;margin-bottom:8px}.prose summary{cursor:pointer;font-weight:600}.prose details p{margin-top:8px}.site-footer{border-top:1px solid #1f232c;margin-top:40px}.site-footer .wrap{padding-top:20px;padding-bottom:28px;color:#6f7580;font-size:.8rem}