:root{--ink: #10161d;--ink-2: #5b6672;--line: #e3e7ec;--card: #ffffff;--bg: #f7f8fa;--accent: #2563eb;--accent-ink: #ffffff;--green: #0f7b4f;--danger: #b42318;--radius: 12px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.wrap{width:min(920px,calc(100% - 32px));margin:0 auto}.wrap-wide{width:min(1120px,calc(100% - 32px))}.site-header{border-bottom:1px solid var(--line);background:var(--card)}.site-header .wrap{display:flex;align-items:center;gap:12px;padding:14px 0;flex-wrap:wrap}.brand{font-weight:700;letter-spacing:-.02em;color:inherit;text-decoration:none}.brand:hover{color:var(--accent)}.related{display:flex;flex-wrap:wrap;gap:8px 18px;padding-left:18px;margin:12px 0 0}.related a{color:var(--accent)}.site-nav{display:flex;gap:16px;margin-left:auto;font-size:14px}.site-nav a{color:var(--ink-2);text-decoration:none;font-weight:600}.site-nav a:hover{color:var(--accent)}.badge{font-size:12px;color:var(--green);background:#e9f7f0;border:1px solid #cdeadd;border-radius:999px;padding:3px 10px}.hero{padding:48px 0 24px}h1{font-size:clamp(28px,5vw,40px);line-height:1.15;letter-spacing:-.03em;margin:0 0 12px}.lede{color:var(--ink-2);max-width:62ch;margin:0}.tool{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 1px 2px #10161d0a}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:40px 20px;border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone:focus-within,.dropzone.is-over{border-color:var(--accent);background:#f5f8ff}.dropzone span{color:var(--ink-2);font-size:14px}.privacy{margin-top:6px;font-size:12px;color:var(--green)}.controls{display:flex;flex-wrap:wrap;gap:18px;padding:18px 0 6px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2)}.field label{font-weight:600;color:var(--ink)}select,input[type=number]{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}input[type=range]{width:160px;accent-color:var(--accent)}.hint{font-size:12px;color:var(--ink-2)}.queue{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}.queue:empty{display:none}.row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px}.row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .meta{color:var(--ink-2);font-size:12px;white-space:nowrap}.row .state{font-size:12px;padding:2px 8px;border-radius:999px;background:#eef1f5;color:var(--ink-2);white-space:nowrap}.row.is-working .state{background:#eaf1ff;color:var(--accent)}.row.is-done .state{background:#e9f7f0;color:var(--green)}.row.is-error .state{background:#fdecea;color:var(--danger)}.row a.download{font-size:13px;color:var(--accent);text-decoration:none;font-weight:600}.row a.download:hover{text-decoration:underline}.actions{display:flex;align-items:center;gap:10px;padding-top:16px;flex-wrap:wrap}button{font:inherit;font-weight:600;padding:9px 16px;border-radius:9px;border:1px solid transparent;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);color:var(--accent-ink)}.ghost{background:var(--card);border-color:var(--line);color:var(--ink)}.summary{color:var(--ink-2);font-size:13px}.upgrade-hint{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:#fff8e6;border:1px solid #f2e2b5;font-size:13px}.seo{padding:48px 0 24px}.seo h2{font-size:20px;letter-spacing:-.02em;margin:32px 0 10px}.seo p,.seo li{color:var(--ink-2);max-width:68ch}.steps{padding-left:20px;display:grid;gap:6px}.pairs{width:100%;border-collapse:collapse;font-size:14px}.pairs th,.pairs td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.pairs th{color:var(--ink-2);font-weight:600}details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:600}details p{margin:8px 0 0}.site-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:28px 0 48px;color:var(--ink-2);font-size:13px;border-top:1px solid var(--line);margin-top:40px}@media(max-width:560px){.controls{flex-direction:column;gap:12px}.row .meta{display:none}}.notice{margin:14px 0 0;padding:10px 12px;border-radius:9px;background:#fdecea;border:1px solid #f6d3cf;color:var(--danger);font-size:13px}.upgrade-hint a{color:var(--accent)}.modal{position:fixed;inset:0;background:#10161d8c;display:grid;place-items:center;padding:20px;z-index:50}.modal[hidden]{display:none}.modal-card{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;background:var(--card);border-radius:16px;padding:26px;box-shadow:0 20px 60px #10161d40}.modal-close{position:absolute;top:12px;right:12px;background:none;border:0;font-size:22px;line-height:1;color:var(--ink-2);padding:4px 8px}.modal-title{margin:0 0 8px;font-size:20px;letter-spacing:-.02em}.modal-lede{color:var(--ink-2);font-size:14px;margin:0 0 16px}.tier-mini{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tier-mini-card{display:grid;gap:2px;padding:14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}.tier-mini-card:hover{border-color:var(--accent)}.tier-mini-card strong{font-size:15px}.tier-mini-card span{color:var(--accent);font-weight:700;font-size:14px}.tier-mini-card small{color:var(--ink-2);font-size:12px;line-height:1.4}.modal-foot{margin:16px 0 0;font-size:14px}.pricing{padding-bottom:8px}.pricing-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.tier{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}.tier-featured{border-color:var(--accent);box-shadow:0 8px 24px #2563eb1f}.tier-flag{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-weight:700}.tier h2{margin:0;font-size:20px}.tier-tagline{margin:0;color:var(--ink-2);font-size:13px}.tier-price{margin:6px 0 0;font-size:28px;font-weight:700;letter-spacing:-.03em}.tier-price span{font-size:13px;font-weight:500;color:var(--ink-2)}.tier-year{margin:0;font-size:12px;color:var(--ink-2)}.tier-list{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--ink-2);display:grid;gap:4px}.tier-cta{margin-top:auto;display:block;text-align:center;padding:10px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none}.pricing-note{margin:14px 0 0;font-size:13px;color:var(--ink-2)}.matrix td.soon{color:#8a6d1f;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tier-billing{margin:6px 0 0;font-size:11px;color:var(--ink-2);text-align:center}.tier-alt{margin:2px 0 0;font-size:12px;text-align:center}.tier-alt a{color:var(--accent)}.early-bird{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:#fff8e6;border:1px solid #f2e2b5;font-size:13px}.table-scroll{overflow-x:auto}.matrix{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}.matrix th,.matrix td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.matrix thead th{color:var(--ink-2);font-weight:700}.matrix th[scope=row]{font-weight:500;color:var(--ink)}.matrix .matrix-group th{background:var(--bg);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.matrix td.yes{color:var(--green);font-weight:600}.matrix td.no{color:var(--ink-2)}.which-plan{display:grid;gap:8px;padding-left:18px}.unlock-link{background:none;border:0;padding:0;font-size:13px;font-weight:600;color:var(--accent);cursor:pointer}.unlock-form{display:grid;gap:12px;margin-top:8px}.unlock-form .field span{font-size:13px;font-weight:600}.unlock-form input{font:inherit;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.unlock-status{margin:12px 0 0;font-size:13px}.unlock-status.is-error{color:var(--danger)}.unlock-status.is-ok{color:var(--green)}
