:root{--ink:#12161c;--mut:#566170;--bg:#f3f5f8;--card:#fff;--line:#dde2ea;--ac:#4338ca;--acs:#e8e7fb;--on:#fff;--r:8px;--f:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
@media(prefers-color-scheme:dark){:root{--ink:#eceff4;--mut:#9aa6b6;--bg:#0e1116;--card:#161b22;--line:#28303b;--ac:#9a9cff;--acs:#1f2240;--on:#0e1116}}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.65 var(--f)}
h1,h2,h3{line-height:1.2;letter-spacing:-.02em;margin:0 0 .6em}
h1{font-size:clamp(2rem,5.5vw,3.4rem);font-weight:800}h2{font-size:clamp(1.35rem,3vw,1.75rem)}h3{font-size:1.1rem}
p{margin:0 0 1em}a{color:var(--ac)}code{font:.85em ui-monospace,Menlo,Consolas,monospace;background:var(--acs);padding:.1em .4em;border-radius:4px}
.wrap{width:min(1080px,100% - 2rem);margin-inline:auto}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;background:var(--ac);color:var(--on);padding:.6rem 1rem;z-index:99}.skip:focus{left:.5rem;top:.5rem}
:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
.hd{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;justify-content:space-between;min-height:62px}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.mark{color:var(--ac)}
.nav{display:flex;gap:.25rem}.nav a{padding:.5rem .9rem;border-radius:var(--r);color:var(--ink);text-decoration:none;font-weight:600;font-size:.97rem}
.nav a:hover{background:var(--acs)}.nav a[aria-current]{background:var(--acs);color:var(--ac)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);width:44px;height:44px;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn span{width:20px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:720px){.menu-btn{display:flex}.nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem 1rem 1rem}.nav.open{display:flex}.nav a{padding:.8rem 1rem}}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:2.5rem;align-items:center;padding:3.5rem 0 2rem}
.lead{font-size:1.2rem;color:var(--mut);max-width:60ch}
.hero-v{text-align:center}.hero-v p{color:var(--mut);font-size:.9rem;margin-top:1rem}
.ghost-box{display:flex;gap:.5rem;justify-content:center;padding:1.5rem;border:2px dashed var(--ac);border-radius:14px;background:var(--card)}
.ghost-box i{width:clamp(28px,6vw,44px);height:clamp(44px,9vw,64px);border:2px dashed var(--line);border-radius:6px;animation:p 2.4s ease-in-out infinite}
.ghost-box i:nth-child(2){animation-delay:.2s}.ghost-box i:nth-child(3){animation-delay:.4s}.ghost-box i:nth-child(4){animation-delay:.6s}.ghost-box i:nth-child(5){animation-delay:.8s}
@keyframes p{50%{border-color:var(--ac)}}
@media(max-width:820px){.hero{grid-template-columns:1fr;padding-top:2rem}}
.btn{font:inherit;font-weight:700;background:var(--ac);color:var(--on);border:2px solid var(--ac);border-radius:var(--r);padding:.75rem 1.3rem;cursor:pointer;text-decoration:none;display:inline-block;min-height:48px;transition:transform .1s,opacity .15s}
.btn:hover{opacity:.9}.btn:active{transform:scale(.97)}.btn.ghost{background:transparent;color:var(--ac)}
.acts{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1.2rem 0}.lnk{font-weight:600}
#status,.qs{font-weight:600;color:var(--ac);min-height:1.6em;margin:0}
.sec{padding:2.25rem 0}.sub,.note,.meta{color:var(--mut)}.note{font-size:.95rem}
.steps{padding-left:1.3rem;display:grid;gap:.8rem;max-width:70ch}.list{padding-left:1.2rem;display:grid;gap:.6rem;max-width:70ch}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}@media(max-width:820px){.cols3{grid-template-columns:1fr}}
.pane{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem}.pane p{margin:0;color:var(--mut)}
.faq details{border-bottom:1px solid var(--line);padding:.9rem 0;max-width:75ch}.faq summary{cursor:pointer;font-weight:700}.faq p{margin:.6rem 0 0;color:var(--mut)}
.cta{text-align:center;border-top:1px solid var(--line)}
.tool{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:clamp(1rem,3vw,1.75rem);margin-top:1.5rem}
fieldset{border:0;padding:0;margin:0 0 1.2rem;min-width:0}legend,.lab,.fld label{font-weight:700;display:block;margin-bottom:.5rem;padding:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}
.opt{display:block;position:relative;cursor:pointer}.ob{display:flex;flex-direction:column;gap:.15rem;height:100%;border:1.5px solid var(--line);border-radius:var(--r);padding:.7rem .85rem;transition:border-color .15s,background .15s}
.ob code{align-self:flex-start;font-size:.78rem}.ob small{color:var(--mut);line-height:1.35}.opt:hover .ob{border-color:var(--ac)}
.opt input:checked+.ob{border-color:var(--ac);background:var(--acs);box-shadow:inset 3px 0 0 var(--ac)}.opt input:focus-visible+.ob{outline:3px solid var(--ac);outline-offset:2px}
.row{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem}@media(max-width:620px){.row{grid-template-columns:1fr}}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r);padding:.65rem .8rem;width:100%;min-height:48px}
textarea{resize:vertical}.amt{display:flex;gap:.75rem;align-items:center}.amt input[type=number]{width:96px;flex:none}.amt input[type=range]{padding:0;border:0;background:none;accent-color:var(--ac)}
.viz{display:flex;flex-wrap:wrap;gap:3px;margin:1rem 0 .5rem;min-height:26px}.viz i{width:12px;height:22px;border:1.5px dashed var(--ac);border-radius:3px}
.info{color:var(--mut);font-size:.92rem;margin:.5rem 0 0}.err{color:#b42318;font-weight:600}@media(prefers-color-scheme:dark){.err{color:#ff8a80}}.ok{color:var(--ac);font-weight:600}
.test{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}
.doc{max-width:760px;padding:2rem 0 3rem}.doc h2{margin-top:1.8em}.doc ul{padding-left:1.2rem}.doc li{margin-bottom:.4em}.doc form{display:grid;gap:1rem;margin:1.5rem 0}.doc .btn{justify-self:start}
.crumbs{width:min(1080px,100% - 2rem);margin:1rem auto 0;font-size:.9rem;color:var(--mut)}.crumbs a{color:var(--mut)}
.ft{border-top:1px solid var(--line);margin-top:2rem;background:var(--card)}.ft-in{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;padding:2.5rem 0}
.ft h2{font-size:1rem;margin-bottom:.6rem}.ft-in a:not(.brand){display:block;color:var(--mut);text-decoration:none;padding:.2rem 0}.ft-in a:hover{color:var(--ac)}.ft p{color:var(--mut);font-size:.95rem;margin-top:.7rem;max-width:42ch}
.copy{color:var(--mut);font-size:.88rem;padding:0 0 1.5rem}@media(max-width:720px){.ft-in{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.tbl{overflow-x:auto;margin:1rem 0;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.96rem}th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--acs);font-weight:700}tbody tr:last-child>*{border-bottom:0}tbody th{font-weight:600}
.wm u{text-decoration:underline dashed var(--ac) 2px;text-underline-offset:5px}.ft .tag{color:var(--ink);font-weight:700;margin:.8rem 0 .2rem}
