:root{--bg: #f7f7f8;--card: #ffffff;--ink: #111318;--body: #3a4353;--muted: #6b7280;--line: #e7e8ec;--accent: #2946d1;--accent-deep: #1e37b8;--accent-soft: #eef1ff;--pass: #0e7f58;--pass-soft: #e9f5f0;--fail: #b4232a;--fail-soft: #fbeceb;--gold: #a67c2d;--gold-soft: #f7f1e3;--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, sans-serif;--font-data: "Spline Sans Mono", ui-monospace, monospace;--radius: 14px;--shadow: 0 1px 2px rgba(17, 19, 24, .04), 0 8px 24px rgba(17, 19, 24, .05);--shadow-pop: 0 8px 32px rgba(17, 19, 24, .15), 0 2px 6px rgba(17, 19, 24, .08);--ring: 0 0 0 3px rgba(41, 70, 209, .18)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.visually-hidden{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.kicker{font-family:var(--font-data);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.linklike{background:none;border:none;padding:6px 2px;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;transition:color .15s}.linklike:disabled{color:var(--muted);cursor:default}.error{margin:0;padding:10px 14px;background:var(--fail-soft);border:1px solid rgba(180,35,42,.25);border-radius:10px;color:var(--fail);font-size:13.5px}.site-header{position:sticky;top:0;z-index:20;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header-inner{max-width:1680px;margin:0 auto;padding:0 20px;height:58px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-.02em}.wordmark b{color:var(--accent);font-weight:700}.header-actions{position:relative;display:flex;align-items:center;gap:14px;font-size:13.5px}.layout{max-width:1680px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:20px;padding:20px 16px 72px}.rail-left{order:2}.workspace{order:1;min-width:0}.rail-right{order:3}@media (min-width: 1024px){.layout{grid-template-columns:290px minmax(0,1fr) 290px;gap:24px;padding:28px 24px 88px}.rail-left{order:1}.workspace{order:2}.rail-right{order:3}.rail-sticky{position:sticky;top:82px;display:flex;flex-direction:column;gap:16px}}@media (min-width: 1440px){.layout{grid-template-columns:320px minmax(0,1fr) 320px;gap:32px}}@media (max-width: 1023px){.rail-sticky{display:flex;flex-direction:column;gap:16px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.ad-slot{margin:0}.ad-slot-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;text-align:center;min-height:110px;border:1px dashed #d6d8de;border-radius:var(--radius);background:#fcfcfd}.ad-slot-label{font-family:var(--font-data);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#9aa0aa}.unit-sky .ad-slot-placeholder,.unit-box .ad-slot-placeholder{min-height:120px}.unit-native{margin-top:20px}@media (min-width: 1024px){.unit-sky .ad-slot-placeholder{min-height:560px}.unit-box .ad-slot-placeholder{min-height:250px}}.sponsor{display:flex;flex-direction:column;gap:12px;padding:22px;min-height:120px;background:linear-gradient(180deg,#fff,#fafbff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}@media (min-width: 1024px){.sponsor{min-height:560px}}.sponsor .kicker{color:#9aa0aa}.sponsor h3{font-family:var(--font-display);font-size:19px;margin:2px 0 0;letter-spacing:-.01em}.sponsor p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}.sponsor .btn{margin-top:auto}.advertise-link{display:block;text-align:center;padding:4px;font-size:12.5px;color:var(--muted);text-decoration:none;transition:color .15s}.advertise-link:hover{color:var(--ink)}.shop-card{padding:22px;border:1.5px solid rgba(166,124,45,.35);background:linear-gradient(180deg,#fff,#fdfaf2)}.shop-card .kicker{color:var(--gold)}.shop-title{font-family:var(--font-display);font-weight:700;font-size:19px;margin:6px 0 2px;letter-spacing:-.01em}.shop-price{font-family:var(--font-data);font-size:13px;color:var(--muted);margin:0 0 12px}.shop-status{margin:0 0 12px;color:var(--pass);font-weight:600;font-size:14px}.shop-signin{margin:0;font-size:13px;color:var(--muted)}.perks{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.perks li{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--body);line-height:1.4}.perks svg{color:var(--pass);flex-shrink:0;margin-top:2px}.fineprint{margin:10px 0 0;font-size:11.5px;color:var(--muted);text-align:center}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 18px;border:none;border-radius:10px;cursor:pointer;background:var(--accent);color:#fff;font:inherit;font-weight:600;font-size:14px;text-decoration:none;transition:transform .15s,box-shadow .15s,opacity .15s}.btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 16px #2946d140}.btn:disabled{opacity:.55;transform:none;box-shadow:none;cursor:default}.btn--gold{background:var(--gold)}.btn--gold:hover{box-shadow:0 6px 16px #a67c2d4d}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;transition:border-color .15s,background .15s}.btn-ghost:hover{border-color:#c9ccd4;background:#fafafb}.btn-ghost:disabled{opacity:.55;cursor:default}.adfree summary::-webkit-details-marker{display:none}.adfree-line{display:block;text-align:center;cursor:pointer;font-size:12px;color:var(--muted);padding:4px}.adfree-line:hover,.adfree[open] .adfree-line{color:var(--accent)}.premium-panel{margin-top:10px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:12px}.premium-panel.is-premium{border-color:var(--pass);background:var(--pass-soft)}.premium-pitch{margin:0 0 10px;font-weight:600;font-size:13.5px}.premium-status{margin:0 0 10px;color:var(--pass);font-size:13.5px}.premium-actions{display:flex;flex-direction:column;gap:8px}.premium-note{margin:10px 0 0;font-size:12px;color:var(--muted)}.workspace-card{padding:22px;display:flex;flex-direction:column;gap:22px}@media (min-width: 1024px){.workspace-card{padding:30px}}.panel-stack{display:flex;flex-direction:column;gap:22px}.ws-head h1{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.ws-head p{margin:0;color:var(--muted);font-size:14.5px}.tabs{display:flex;gap:6px;padding:5px;background:#f0f1f4;border-radius:11px;width:fit-content;max-width:100%}.tab{display:flex;align-items:center;gap:7px;padding:8px 16px;border:none;border-radius:8px;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:color .15s}.tab.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #11131814}.shop-mini{font-family:var(--font-data);font-size:9.5px;letter-spacing:.06em;color:var(--gold);text-transform:uppercase}.field-label{display:block;margin-bottom:7px}.destination{position:relative}.destination-input,.text-input{width:100%;padding:13px 15px;font:inherit;font-size:15px;font-weight:500;background:#fff;border:1px solid var(--line);border-radius:11px;transition:border-color .15s,box-shadow .15s}.destination-input:hover,.text-input:hover{border-color:#c9ccd4}.destination-input:focus,.text-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.destination-note,.field-note{margin:9px 2px 0;font-size:13px;color:var(--muted);line-height:1.55}.destination-list{position:absolute;z-index:10;left:0;right:0;margin:6px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);max-height:320px;overflow-y:auto}.destination-option{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px}.destination-option.is-active{background:var(--accent-soft)}.destination-category{font-family:var(--font-data);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.destination-empty{padding:12px;font-size:13.5px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-family:var(--font-data);font-size:12px;background:#f0f1f4;color:var(--muted);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}.chip[data-state=pass]{background:var(--pass-soft);color:var(--pass);border-color:#0e7f582e}.chip[data-state=fail]{background:var(--fail-soft);color:var(--fail);border-color:#b4232a33}.constraints{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;border:none;padding:0;margin:0}.constraints .field:last-child{grid-column:1 / -1}@media (min-width: 700px){.constraints{grid-template-columns:repeat(5,1fr)}.constraints .field:last-child{grid-column:auto}}.field{display:flex;flex-direction:column}.field input,.field select{width:100%;padding:12px 13px;min-height:46px;font:inherit;font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:10px;transition:border-color .15s,box-shadow .15s}.field input:hover,.field select:hover{border-color:#c9ccd4}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.dropzone{padding:44px 22px;text-align:center;border:1.5px dashed #d3d6dd;border-radius:16px;background:linear-gradient(180deg,#fff,#fafafb);transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.is-over{border-color:var(--accent);background:linear-gradient(180deg,#fff 0%,var(--accent-soft) 140%)}.dropzone.is-disabled{opacity:.55;pointer-events:none}.dz-icon{width:50px;height:50px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:14px}.dropzone-title{font-size:17px;font-weight:600;margin:0 0 6px}.dropzone-sub{margin:0;font-size:13.5px;color:var(--muted)}.dropzone-cta{max-width:220px;margin:14px auto 0}.dropzone.is-busy .dropzone-title{animation:gentle-pulse 1.2s ease-in-out infinite}@keyframes gentle-pulse{0%,to{opacity:1}50%{opacity:.45}}.result-placeholder{padding:22px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);color:var(--muted);font-size:14px;font-style:italic}.result{display:grid;grid-template-columns:1fr;gap:20px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}@media (min-width: 700px){.result{grid-template-columns:minmax(120px,180px) 1fr}}.result-ready{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:11px;background:var(--pass-soft);border:1px solid rgba(14,127,88,.2);color:var(--pass);font-weight:600;font-size:14px}.result-ready svg{flex-shrink:0}.result-preview img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:10px}.result-body{display:flex;flex-direction:column;gap:16px;min-width:0}.result-meta{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin:0}.result-meta div{display:flex;flex-direction:column;gap:3px}.result-meta dt{font-family:var(--font-data);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.result-meta dd{margin:0;font-family:var(--font-data);font-size:14px;font-weight:500}.result-warning{margin:0;padding:10px 14px;background:var(--fail-soft);border:1px solid rgba(180,35,42,.2);border-radius:10px;color:var(--fail);font-size:13px;line-height:1.5}.result .btn{max-width:280px}.result-log summary{cursor:pointer;font-size:13px;color:var(--muted);padding:4px 0}.result-log ol{margin:10px 0 0;padding-left:20px;font-family:var(--font-data);font-size:12px;color:var(--body);line-height:1.7}.batch,.batch-locked{display:flex;flex-direction:column;gap:20px}.batch-locked{align-items:flex-start;padding:8px 2px}.batch-locked h2{font-family:var(--font-display);font-size:20px;margin:4px 0 0;letter-spacing:-.01em}.batch-locked p{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:46ch}.batch-locked .btn{max-width:340px}.batch-locked .fineprint{text-align:left;margin:0}.onboarding{position:relative;padding:16px 40px 16px 16px;background:var(--gold-soft);border:1px solid rgba(166,124,45,.25);border-radius:12px}.onboarding h4{margin:0 0 8px;font-size:14px;color:var(--gold)}.onboarding ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:#5a4a22}.onboarding-close{position:absolute;top:8px;right:8px;padding:4px 8px;border:none;background:none;color:var(--gold);font-size:15px;cursor:pointer}.batch-progress{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.bar{flex:1;height:8px;border-radius:99px;background:#eceef2;overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .3s}.queue{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.queue li{display:flex;align-items:center;gap:12px;padding:11px 14px;background:#fff;font-size:13.5px;border-top:1px solid var(--line)}.queue li:first-child{border-top:none}.q-thumb{width:32px;height:38px;border-radius:6px;background:#e6e9ef;flex-shrink:0}.q-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-size{font-family:var(--font-data);font-size:12px;color:var(--muted);white-space:nowrap}.q-done{display:flex;align-items:center;gap:5px;color:var(--pass);font-weight:600;font-size:12.5px;white-space:nowrap}.q-failed{color:var(--fail);font-weight:600;font-size:12.5px;white-space:nowrap}.q-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}.spinner{width:13px;height:13px;border-radius:50%;border:2px solid #d6dcff;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.batch-download{max-width:340px}.privacy-line{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.privacy-line svg{color:var(--pass);flex-shrink:0}.batch-help{align-self:flex-start;font-size:12px;text-decoration:none;color:var(--muted)}.batch-help:hover{color:var(--accent)}.aff-card{padding:18px}.aff-card h3,.guidelines h3{font-family:var(--font-display);font-size:15px;margin:4px 0 8px;letter-spacing:-.01em}.aff-links{list-style:none;margin:4px 0 0;padding:0}.aff-links a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid var(--line);font-size:13.5px;color:var(--body);text-decoration:none;transition:color .15s}.aff-links li:first-child a{border-top:none}.aff-links a:hover{color:var(--accent)}.aff-links .arrow{color:var(--muted)}.aff-disclosure{margin:10px 0 0;font-size:11px;color:#9aa0aa;line-height:1.5}.guidelines{padding:18px 18px 12px}.guidelines details{border-top:1px solid var(--line);padding:11px 2px}.guidelines summary{cursor:pointer;font-size:13.5px;font-weight:600;color:#2a3140}.guidelines p{margin:8px 0 4px;font-size:13px;color:var(--muted);line-height:1.55}.guidelines-note{border-top:1px solid var(--line);padding-top:10px;font-size:11.5px!important}.api-card{padding:18px;border:none;background:linear-gradient(180deg,#111318,#1d2230);color:#e8eaf1}.api-card .kicker{color:#8f97ad}.api-card h3{font-family:var(--font-display);font-size:16px;margin:6px 0;color:#fff;letter-spacing:-.01em}.api-card p{margin:0 0 12px;font-size:13px;color:#aab1c4;line-height:1.55}.api-card .price{font-family:var(--font-data);font-size:12.5px;color:#cfd5e4}.btn--ghost-dark{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn--ghost-dark:hover{box-shadow:none;background:#ffffff29;transform:none}.site-footer{background:#fff;border-top:1px solid var(--line);margin-top:8px}.footer-grid{max-width:1680px;margin:0 auto;padding:44px 20px 28px;display:grid;grid-template-columns:1fr;gap:28px}@media (min-width: 820px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;padding:52px 24px 32px}}.f-brand .wordmark{font-size:18px}.f-brand p{margin:8px 0 0;font-size:12.5px;color:var(--muted);line-height:1.6;max-width:280px}.f-col h4{font-family:var(--font-data);font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 12px}.f-link{display:block;width:fit-content;padding:5px 0;background:none;border:none;cursor:pointer;font:inherit;font-size:13.5px;color:var(--body);text-decoration:none;text-align:left;transition:color .15s}.f-link:hover{color:var(--accent)}.footer-bottom{max-width:1680px;margin:0 auto;padding:16px 20px 28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12px;color:var(--muted)}@media (pointer: coarse){.btn,.btn-ghost,.tab{min-height:44px}.field input,.field select,.destination-input,.text-input{min-height:46px}.destination-option{padding:12px}.linklike{padding:6px 2px}}.auth-panel{display:flex;align-items:center;gap:10px;font-size:13px}.auth-email{font-family:var(--font-data);color:var(--muted)}.auth-form{position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:flex;flex-direction:column;gap:8px;width:230px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop)}.auth-form input{padding:9px 11px;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.auth-error{margin:0;padding:8px 10px;font-size:12px}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#11131873;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.welcome-modal{background:#fff;border-radius:16px;padding:32px 28px;max-width:420px;width:100%;text-align:center;box-shadow:var(--shadow-pop)}.welcome-icon{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.welcome-title{font-family:var(--font-display);font-size:22px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}.welcome-message{margin:0 0 24px;color:var(--muted);font-size:15px;line-height:1.5}.welcome-actions{display:flex;flex-direction:column;gap:10px}.btn-primary{padding:12px 20px;border:none;border-radius:10px;cursor:pointer;background:var(--accent);color:#fff;font:inherit;font-size:14.5px;font-weight:600}.btn-primary:hover{background:var(--accent-deep)}.btn-secondary{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;background:none;color:var(--muted);font:inherit;font-size:14px}.btn-secondary:hover{color:var(--ink)}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.tour-mask{position:absolute;background:#1113188c;transition:all .35s cubic-bezier(.4,0,.2,1)}.tour-highlight-ring{position:absolute;border:3px solid var(--accent);border-radius:12px;box-shadow:0 0 0 4px #2946d133;pointer-events:none;transition:all .35s cubic-bezier(.4,0,.2,1)}.tour-tooltip{position:absolute;padding:20px;width:min(320px,calc(100vw - 24px));background:#fff;border-radius:12px;box-shadow:var(--shadow-pop);transition:all .35s cubic-bezier(.4,0,.2,1)}.tour-step-counter{font-family:var(--font-data);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.tour-title{font-family:var(--font-display);font-size:17px;font-weight:700;margin:0 0 6px;letter-spacing:-.01em}.tour-description{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--muted)}.tour-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.tour-skip{padding:6px 0;border:none;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.tour-skip:hover{color:var(--ink)}.tour-next{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;background:var(--accent);color:#fff;font:inherit;font-size:13.5px;font-weight:600}.tour-next:hover{background:var(--accent-deep)}@media (prefers-reduced-motion: reduce){.tour-mask,.tour-highlight-ring,.tour-tooltip,.btn,.bar i{transition:none}.dropzone.is-busy .dropzone-title{animation:none}.spinner{animation-duration:1.6s}}
