:root{--bg:#f5f5f7;--card:#fff;--ink:#1d1d1f;--ink2:#424245;--mute:#6e6e73;--line:#d2d2d7;--red:#AE1F24;--blue:#0058b8;--green:#1f7a3a;--greenbg:#e6f4ea;--warn:#fff4d6;--warnink:#5a4300;--font:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:19px/1.6 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--blue);font-weight:700}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{max-width:900px;margin:0 auto;padding:32px 20px 80px}
.mark{display:inline-flex;flex-direction:column;line-height:1;text-decoration:none}
.mark b{color:var(--red);font-size:22px;font-weight:800;letter-spacing:.06em}.mark span{color:var(--red);font-size:10px;font-weight:700;letter-spacing:.42em;margin-top:3px}
.logo{display:inline-block;line-height:0}.logo img{height:110px;width:auto;display:block}
.crumb .logo img{height:72px}
.crumb{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.back{font-size:17px;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;color:var(--ink)}
h1{font-size:clamp(32px,5vw,46px);line-height:1.1;margin:8px 0 10px;text-wrap:balance}
h2{font-size:26px;line-height:1.2;margin:0}
h3{font-size:21px;margin:0}
.lede{font-size:21px;color:var(--ink2);margin:0 0 22px;max-width:46ch}
.box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;margin:18px 0}
.box.tip{background:var(--warn);border-color:#e6c65c;color:var(--warnink)}
.box.good{background:var(--greenbg);border-color:#9fd3ae}
.prog{position:sticky;top:0;z-index:5;background:rgba(245,245,247,.95);backdrop-filter:blur(6px);padding:12px 0;margin:0 0 6px}
.prog .bar{height:14px;border-radius:999px;background:#e3e3e8;overflow:hidden}.prog .bar i{display:block;height:100%;background:var(--green);width:0;transition:width .3s}
.prog p{margin:6px 0 0;font-size:16px;font-weight:700;color:var(--ink2)}
.step{background:var(--card);border:2px solid var(--line);border-radius:20px;padding:24px;margin:20px 0;scroll-margin-top:80px}
.step.done{border-color:var(--green);background:#fbfefb}
.step-h{display:flex;gap:16px;align-items:flex-start}
.num{flex:none;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;font-size:24px;font-weight:800;display:grid;place-items:center}
.step.done .num{background:var(--green)}
.why{margin:4px 0 0;color:var(--ink2)}
ol.do{margin:16px 0 0;padding-left:28px}ol.do li{margin:10px 0;padding-left:4px}
ol.do li::marker{font-weight:800}
.btnname{display:inline-block;background:#eef1f6;border:1px solid #c9d1de;border-radius:6px;padding:0 8px;font-weight:700;white-space:nowrap}
.check{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--bg);font-weight:800;font-size:19px;cursor:pointer;min-height:60px;user-select:none}
.check input{width:28px;height:28px;accent-color:var(--green);flex:none}
.step.done .check{background:var(--greenbg);color:var(--green)}
.worked{margin-top:14px;padding:12px 16px;border-left:5px solid var(--green);background:var(--greenbg);border-radius:0 12px 12px 0}
.stop{margin-top:14px;padding:12px 16px;border-left:5px solid var(--red);background:#fdecea;border-radius:0 12px 12px 0}
.mono{font-family:Menlo,Consolas,monospace;font-size:.92em;background:#f0f0f3;border-radius:6px;padding:1px 6px}
.write{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
.write label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:17px}
.write input{font:inherit;font-family:Menlo,Consolas,monospace;padding:12px 14px;border:2px solid var(--line);border-radius:12px;min-height:54px}
table.cost{width:100%;border-collapse:collapse;font-size:18px}table.cost td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.cost td:last-child{text-align:right;font-weight:800;white-space:nowrap}
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;text-align:center;margin-top:14px}
.flow div{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 10px;font-weight:700;font-size:16px;line-height:1.35}
.flow div small{display:block;font-weight:600;color:var(--mute);font-size:14px}
.flow span{font-size:26px;color:var(--mute)}
.help{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.help b{font-size:21px}
.copybox{position:relative;background:#fbfbfd;border:2px dashed var(--line);border-radius:14px;padding:16px;margin-top:12px;white-space:pre-wrap;font-size:17px;line-height:1.55}
.copy{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font:inherit;font-weight:800;font-size:17px;border:0;background:var(--ink);color:#fff;border-radius:12px;padding:12px 18px;min-height:52px;cursor:pointer}
.copy.ok{background:var(--green)}
.print{font:inherit;font-weight:700;font-size:16px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;cursor:pointer}
.mock{border:1px solid var(--line);border-radius:16px;background:#fff;max-width:380px;margin:12px auto 0;padding:24px;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.mock .lg{font-weight:900;font-size:22px;letter-spacing:.02em}.mock input,.mock .fake{display:block;width:100%;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:17px;text-align:left;color:var(--mute)}
.mock .b{background:#151515;color:#fff;border-radius:10px;padding:12px;font-weight:800}
.mocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.foot{margin-top:40px;color:var(--mute);font-size:15px}
@media (max-width:620px){body{font-size:18px}.flow{grid-template-columns:1fr}.flow span{transform:rotate(90deg)}.num{width:44px;height:44px;font-size:20px}.step{padding:18px}}
@media print{.prog,.check,.copy,.back,.print{display:none}.step{break-inside:avoid;border-width:1px}body{background:#fff;font-size:14px}}
.getpdf{background:#151515;color:#fff;border-radius:20px;padding:22px 24px;margin:18px 0}
.getpdf h2{color:#fff;font-size:23px}.getpdf p{margin:6px 0 0;color:#d6d6d6;font-size:17px}
.getpdf form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.getpdf input,.getpdf select{font:inherit;font-size:18px;padding:12px 14px;border-radius:12px;border:0;min-height:54px;width:100%}
.getpdf .full{grid-column:1/-1}
.getpdf button{font:inherit;font-weight:800;font-size:19px;border:0;border-radius:12px;background:#2ca97f;color:#0d0d0d;min-height:56px;cursor:pointer}
.getpdf button[disabled]{opacity:.6;cursor:wait}
.getpdf .msg{grid-column:1/-1;font-weight:700;font-size:17px;min-height:1.2em}
.getpdf .msg.ok{color:#8ee0bd}.getpdf .msg.bad{color:#ffb3ad}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
@media (max-width:620px){.getpdf form{grid-template-columns:1fr}}
@media print{.getpdf{display:none}}
