:root{--navy-950: #070f20;--navy-900: #0b1730;--navy-800: #12244a;--navy-700: #1b3363;--navy-600: #2a4a85;--blue: #2f6fe0;--blue-soft: #7fb2ff;--teal: #5eead4;--ink: #0f1b2d;--muted: #4a576c;--line: #d7dde8;--line-soft: #e8ecf3;--surface: #ffffff;--page: #f3f6fb;--ok: #0f6b3f;--ok-bg: #e2f5ea;--warn: #8a5300;--warn-bg: #fff1d6;--bad: #a61b1b;--bad-bg: #fde6e6;--neutral: #4a576c;--neutral-bg: #eceff4;--radius: 8px;--shadow: 0 1px 2px rgba(11, 23, 48, .06), 0 2px 8px rgba(11, 23, 48, .05);--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--focus: 0 0 0 3px rgba(47, 111, 224, .45);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--blue);text-underline-offset:2px}a:hover{color:var(--navy-600)}code,.mono,pre{font-family:var(--mono);font-size:.88em}code{background:var(--line-soft);border-radius:4px;padding:.05em .35em;overflow-wrap:anywhere}h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:1.75rem}h2{font-size:1.2rem}h3{font-size:1rem}h4{font-size:.9rem}p{margin:0 0 .75em}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:4px}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-48px;background:#fff;color:var(--ink);padding:8px 12px;border-radius:6px;z-index:50}.skip-link:focus{top:8px}.muted{color:var(--muted)}.small{font-size:.85rem}.row{display:flex;flex-wrap:wrap;align-items:center}.gap{gap:8px}.site-header{background:var(--navy-950);color:#fff;border-bottom:1px solid var(--navy-800)}.site-header-inner{max-width:1240px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:700;font-size:1.08rem}.brand:hover{color:#fff}.brand-by{font-weight:500;font-size:.78rem;color:#9fb3d6}.site-nav{display:flex;gap:4px;flex-wrap:wrap}.site-nav a{color:#c9d6ee;text-decoration:none;padding:6px 10px;border-radius:6px;font-size:.92rem}.site-nav a:hover{color:#fff;background:var(--navy-800)}.site-footer{border-top:1px solid var(--line);margin-top:40px;padding:24px 20px 32px;color:var(--muted);font-size:.86rem;text-align:center}.site-footer p{max-width:760px;margin:0 auto 8px}.site-footer nav a{margin:0 8px}.hero{background:radial-gradient(1200px 400px at 85% -10%,rgba(47,111,224,.35),transparent 60%),linear-gradient(180deg,var(--navy-900),var(--navy-950));color:#e6edf9;padding:44px 20px 48px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:center}.hero>*{min-width:0}.hero-copy{max-width:600px;justify-self:end}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700;color:var(--teal);margin-bottom:10px}.hero h1{font-size:clamp(1.7rem,3.4vw,2.5rem);color:#fff;margin-bottom:14px}.lead{font-size:1.05rem;color:#c3d1ea}.hero code{background:#7fb2ff24;color:#dce8ff}.hero-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.hero-term{justify-self:start;width:100%;max-width:560px;background:#050b17;border:1px solid var(--navy-700);border-radius:10px;box-shadow:0 12px 40px #00000059;overflow:auto}.hero-term pre{margin:0;padding:18px 20px;color:#d8e3f7;font-size:.8rem;line-height:1.6}.t-dim{color:#7d8fb0}.t-ok{color:#4ade80}.t-warn{color:#fbbf24}.t-bad{color:#f87171}.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:38px;padding:7px 14px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;font-size:.92rem;text-decoration:none;cursor:pointer;line-height:1.2}.btn:hover{border-color:var(--navy-600);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:#255fc6;border-color:#255fc6;color:#fff}.btn-ghost{background:transparent;border-color:#c9d6ee73;color:#e6edf9}.btn-ghost:hover{border-color:#fff;color:#fff}.btn-small{min-height:30px;padding:4px 10px;font-size:.84rem}.btn-quiet{border-color:transparent;color:var(--muted);background:transparent}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn-sub{font-weight:400;font-size:.76rem;color:var(--muted)}.btn-primary .btn-sub{color:#dce8ff}.btn-export{align-items:flex-start;width:100%;text-align:left}.btn-pay{flex:1 1 160px}.btn-square{background:var(--navy-800);border-color:var(--navy-800);color:#fff}.btn-square:hover{background:var(--navy-700);color:#fff}.btn-paypal{background:#ffc439;border-color:#e7b02e;color:#111}.app{max-width:1240px;margin:0 auto;padding:24px 20px 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.panel-head h2{margin:0}.loading{color:var(--muted);padding:24px 0}.banner{background:var(--warn-bg);color:var(--warn);border:1px solid #f3d38f;border-radius:var(--radius);padding:10px 14px;margin:0 0 12px}.banner-error{background:var(--bad-bg);color:var(--bad);border-color:#f4b4b4}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--navy-900);color:#fff;padding:10px 16px;border-radius:8px;max-width:min(640px,calc(100vw - 32px));box-shadow:0 8px 24px #00000040;transition:opacity .2s,transform .2s;z-index:40;font-size:.92rem}.toast.show{opacity:1;transform:translate(-50%)}.toast.is-error{background:#7f1d1d}.workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.workspace-main{padding:20px 22px}.workspace-side{background:var(--navy-900);color:#d7e2f5;padding:20px 22px}.side-title{font-weight:700;color:#fff;margin-bottom:8px}.workspace-side .ticks li:before{color:var(--teal)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:2px dashed #b9c6dc;border-radius:var(--radius);padding:22px 16px;margin:12px 0 14px;cursor:pointer;background:#f8faff}.dropzone:hover,.dropzone:focus-within{border-color:var(--blue);background:#eef4ff}.dropzone-title{font-weight:700;color:var(--navy-700)}.project-list{list-style:none;margin:0;padding:0}.project-list li+li{border-top:1px solid var(--line-soft)}.project-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 6px;text-decoration:none;color:var(--ink);border-radius:6px}.project-link:hover{background:#f5f8fd;color:var(--ink)}.project-name{font-weight:700}.project-link .mono{font-size:.78rem;grid-column:1}.project-meta{grid-column:1 / -1;color:var(--muted);font-size:.85rem;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.ticks,.crosses{list-style:none;padding:0;margin:0 0 .75em}.ticks li,.crosses li{position:relative;padding-left:22px;margin-bottom:6px}.ticks li:before{content:"✓";position:absolute;left:2px;color:var(--ok);font-weight:700}.crosses li:before{content:"✕";position:absolute;left:2px;color:var(--bad);font-weight:700}.badge{display:inline-block;border-radius:999px;padding:1px 9px;font-size:.76rem;font-weight:700;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral)}.badge-lg{font-size:.86rem;padding:3px 12px}.badge-pass,.badge-passed,.badge-succeeded,.badge-paid{background:var(--ok-bg);color:var(--ok)}.badge-mismatch,.badge-changed{background:var(--warn-bg);color:var(--warn)}.badge-fail,.badge-failed,.badge-blocked,.badge-timeout,.badge-restore_failed,.badge-error,.badge-interrupted{background:var(--bad-bg);color:var(--bad)}.badge-sample{background:#e8eefc;color:var(--navy-700)}.project-head{margin-bottom:14px}.crumbs{font-size:.86rem;color:var(--muted);margin-bottom:4px}.project-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.project-title h1{margin:0;font-size:1.5rem;overflow-wrap:anywhere}.project-head>p{margin:4px 0 8px;font-size:.86rem}.project-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.project-side{position:sticky;top:12px}.run-list{list-style:none;margin:0;padding:0}.run-link{display:grid;grid-template-columns:auto 1fr;gap:0 8px;padding:8px;border-radius:6px;text-decoration:none;color:var(--ink);border:1px solid transparent}.run-link .muted{grid-column:2;font-size:.8rem}.run-link:hover{background:#f5f8fd;color:var(--ink)}.run-link.is-current{border-color:var(--blue);background:#eef4ff}.run-when{font-weight:600;font-size:.88rem}.compare{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:10px;font-size:.88rem}.compare label{display:block;font-weight:600;margin-bottom:4px}.compare-restore{padding-left:18px;margin:6px 0}.outcome{border-left:5px solid var(--neutral)}.outcome-passed{border-left-color:var(--ok)}.outcome-changed{border-left-color:#d08a00}.outcome-restore_failed,.outcome-error,.outcome-interrupted{border-left-color:var(--bad)}.outcome-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.outcome-head h2{margin:0;font-size:1.3rem}.outcome-msg{margin:8px 0 12px}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 14px;margin:0;font-size:.88rem}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.facts.small{font-size:.82rem}.warnings{margin:10px 0 0;padding:8px 12px 8px 28px;background:var(--warn-bg);color:var(--warn);border-radius:6px;font-size:.86rem}.restore-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.restore-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);border-top:4px solid var(--neutral)}.restore-succeeded{border-top-color:var(--ok)}.restore-failed,.restore-blocked,.restore-timeout{border-top-color:var(--bad)}.restore-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.restore-head h3{margin:0}.restore-card p{margin-bottom:6px;font-size:.9rem}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 12px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 12px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;color:var(--ink)}.chip:hover{border-color:var(--navy-600)}.chip[aria-pressed=true]{background:var(--navy-800);border-color:var(--navy-800);color:#fff}.chip:disabled{opacity:.45;cursor:default}.chip-count{background:var(--line-soft);color:var(--ink);border-radius:999px;padding:0 7px;font-size:.76rem}.chip[aria-pressed=true] .chip-count{background:#fff3;color:#fff}.search .input{width:240px;max-width:100%}.checks-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);padding:6px 8px}.table td{border-bottom:1px solid var(--line-soft);padding:7px 8px;vertical-align:top}.table.compact td{padding:4px 6px}.check-row.is-selected td{background:#eef4ff}.check-row.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--blue)}.check-btn{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:none;border:0;padding:0;margin:0;font:inherit;color:var(--navy-700);cursor:pointer;text-align:left;font-weight:600}.check-btn:hover .mono{text-decoration:underline}.check-btn .mono{overflow-wrap:anywhere}.check-desc{font-weight:400;color:var(--muted);font-size:.8rem}.check-msg{color:var(--ink);margin:3px 0 0;font-size:.86rem}.dropzone{width:100%}.check-detail{position:sticky;top:12px;background:#f8faff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-height:120px}.detail-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.detail-head h3{margin:0;overflow-wrap:anywhere}.detail-msg{font-weight:600;margin:8px 0 10px}.sides{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.side{background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 10px}.side-error,.side-timeout,.side-too_many_rows{border-color:#f1b0b0}.side h4{margin-bottom:4px}.digest{font-size:.78rem}.empty{padding:16px 0}.scope-cols,.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.scope h3{font-size:.92rem}.exports h2{margin-bottom:8px}.export-group{display:grid;gap:6px;margin-bottom:12px}.export-title{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted);margin:0}.export-group .btn{align-items:flex-start;text-align:left}.purchase{border-top:1px solid var(--line-soft);padding-top:12px}.purchase-ok .purchase-state{color:var(--ok);font-weight:700}.purchase-sample{background:#f1f5fd;border:1px dashed #b9c6dc;border-radius:6px;padding:10px 12px;font-size:.88rem}.price{font-size:1rem;margin-bottom:6px}.price strong{font-size:1.5rem;color:var(--navy-800);margin-right:4px}.pay-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 8px}.info{max-width:1240px;margin:0 auto;padding:28px 20px 8px}.info>h2{font-size:1.4rem}.info-warn{background:#fff;border:1px solid #f3d38f;border-left:5px solid #d08a00;border-radius:var(--radius);margin-top:24px;padding:22px 24px;max-width:1200px}.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:0 0 20px}.steps li{counter-increment:step;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}.steps li h3:before{content:counter(step);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy-800);color:#fff;font-size:.8rem;margin-right:8px}.info pre{background:var(--navy-950);color:#d8e3f7;padding:10px 12px;border-radius:6px;overflow:auto;font-size:.8rem;margin:8px 0 0}.info pre code{background:none;padding:0;color:inherit}.downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.dl{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.dl:hover{border-color:var(--blue);color:var(--ink)}.dl strong{font-family:var(--mono);color:var(--navy-700);font-size:.92rem}.dl span{color:var(--muted);font-size:.85rem}.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.plan-paid{border:2px solid var(--navy-700)}.plan-price{font-size:1.8rem;font-weight:800;color:var(--navy-800);margin:0 0 10px}.plan-price span{font-size:.88rem;font-weight:500;color:var(--muted)}details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;margin-bottom:8px;max-width:900px}summary{cursor:pointer;font-weight:600}details p{margin:8px 0 2px}.noscript{padding:16px;background:var(--warn-bg);border-radius:var(--radius)}.legal{max-width:800px;margin:0 auto;padding:32px 20px}.legal article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow)}.legal h2{margin-top:1.4em}.input{font:inherit;font-size:.92rem;border:1px solid #b9c6dc;border-radius:6px;padding:6px 10px;background:#fff;color:var(--ink);min-height:34px;max-width:100%}.input:focus{border-color:var(--blue);outline:none;box-shadow:var(--focus)}.dialog{border:0;border-radius:10px;padding:0;max-width:min(520px,calc(100vw - 32px));box-shadow:0 20px 60px #0000004d}.dialog::backdrop{background:#070f2099}.dialog-form{padding:20px 22px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.field{display:grid;gap:4px;margin:10px 0}.field label{font-weight:600}.field-error{color:var(--bad);min-height:1em;margin:4px 0 0;font-size:.86rem}.hint{color:var(--muted);font-size:.82rem}.check{display:flex;gap:8px;align-items:flex-start;margin-top:10px}@media(max-width:1080px){.project-grid{grid-template-columns:minmax(0,1fr)}.project-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}.checks-layout{grid-template-columns:minmax(0,1fr)}.check-detail{position:static}}@media(max-width:860px){.hero{grid-template-columns:minmax(0,1fr);padding:32px 20px}.hero-copy,.hero-term{justify-self:stretch;max-width:none}.workspace,.steps,.downloads{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){body{font-size:14.5px}.project-side,.restore-grid,.scope-cols,.cols,.plans,.sides{grid-template-columns:minmax(0,1fr)}.panel{padding:14px}.site-nav a{padding:4px 6px}}@media(prefers-reduced-motion:reduce){.toast{transition:none}}@media print{.site-header,.site-footer,.project-side,.chips,.search,.toast,#marketing,.hero{display:none!important}body{background:#fff}.panel,.restore-card{box-shadow:none}.project-grid,.checks-layout{grid-template-columns:1fr}}.pg-project-view #hero,.pg-project-view #marketing{display:none}.live{min-height:0}.scenarios{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.75rem}.scenario{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow)}.scenario-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.scenario-head h4{margin:0;font-size:1rem}.checklist{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.35rem;font-size:.9rem}.code{background:var(--navy-900);color:#dbe7ff;border-radius:var(--radius);padding:.85rem 1rem;overflow:auto;white-space:pre;line-height:1.5;max-width:100%}.code:focus-visible{outline:none;box-shadow:var(--focus)}.table-wrap{overflow-x:auto}.downloads{display:flex;flex-wrap:wrap;gap:.5rem}#setup,#expect{max-width:70rem;margin:2rem auto;padding:1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}#app-section,.steps,.plans,.hero{max-width:70rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-bottom:2rem}.plans h2{grid-column:1 / -1}.visually-hidden:focus+label,input.visually-hidden:focus-visible+*{outline:2px solid var(--blue)}@media(max-width:40rem){.workspace{display:block}.workspace-side{margin-bottom:1rem}.project-head{flex-direction:column}}.hero{max-width:none;padding-left:0;padding-right:0}.hero-copy{max-width:46rem;margin:0 auto;padding:2rem 1rem}.steps ol{list-style:decimal;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;padding-left:1.2rem}.steps li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem}
