:root{--brand:#55a603;--brand-dark:#1d5902;--brand-darkest:#022601;--sky:#61bcd6;--green-900:#022601;--green-700:#1d5902;--green-600:#55a603;--green-500:#55a603;--lime:#98d936;--accent:#ea5b0c;--sand:#f6f3ea;--mint:#e8f5d3;--pale:#e8f5d3;--ink:#12210a;--muted:#5b6b52;--line:#dfe6d5;--ok:#2f9e56;--bad:#c0392b;--warn:#c9760f;--glass:rgba(255,255,255,.62);--r:18px;--shadow:0 10px 34px rgba(20,50,31,.12);--fd:var(--font-display),"Space Grotesk",system-ui,sans-serif;--fb:var(--font-body),"Inter",system-ui,-apple-system,sans-serif;--maxw:1080px}*{box-sizing:border-box}body,html{padding:0;margin:0}@media (min-width:1024px){html{font-size:130%}}body{font-family:var(--fb);color:var(--ink);line-height:1.6;background:radial-gradient(1100px 560px at 100% -5%,#d9efdd,transparent 55%),radial-gradient(820px 460px at -10% 8%,#f7e9cf,transparent 50%),linear-gradient(180deg,var(--sand),#fbf8f1 60%);min-height:100vh}h1,h2,h3{font-family:var(--fd);letter-spacing:-.02em;line-height:1.14;margin:0}p{margin:0}a{color:var(--green-700);text-decoration:none}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1rem,4vw,1.5rem)}.pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--green-700);background:var(--mint);padding:.25rem .6rem;border-radius:999px}.mark{background:linear-gradient(120deg,transparent 6%,#dff2b8 0,#dff2b8 92%,transparent 0);padding:0 .12em}.muted{color:var(--muted)}.card{background:var(--glass);border:1px solid rgba(255,255,255,.7);border-radius:var(--r);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:clamp(1rem,2.5vw,1.4rem)}@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.card{background:rgba(255,255,255,.94)}}.grid{display:grid;grid-gap:1rem;gap:1rem}.blocks{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.section{padding:clamp(2rem,6vw,3.4rem) 0}.btn{border:0;border-radius:12px;padding:.6rem .9rem;font-weight:600;font-size:.86rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;min-height:42px;transition:transform .12s;font-family:inherit;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 6px 18px rgba(85,166,3,.32)}.btn-accent{background:linear-gradient(135deg,var(--accent),#ff9a5c);color:#fff}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-sm{padding:.4rem .6rem;font-size:.78rem;min-height:34px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.top{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,255,255,.72);border-bottom:1px solid var(--line)}.top .row{gap:.6rem;max-width:var(--maxw);margin:0 auto;padding:.55rem clamp(1rem,4vw,1.5rem)}.brand,.top .row{display:flex;align-items:center}.brand{gap:.5rem;font-family:var(--fd);font-weight:700;color:var(--green-700)}.leaf{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green-600),var(--lime));color:#fff}.tag{font-size:.62rem;font-weight:600;color:var(--muted);border:1px solid var(--line);padding:.15rem .45rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.nav-links{display:flex;gap:1.1rem;align-items:center;font-size:.86rem;font-weight:600}.nav-links a{color:var(--ink)}.nav-links a:hover{color:var(--green-700)}@media (max-width:760px){.nav-links{display:none}}.sp{flex:1 1}.langswitch{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600}.langswitch .langopt{color:var(--muted);padding:.1rem .25rem;border-radius:6px;line-height:1}.langswitch .langopt:hover{color:var(--green-700)}.langswitch .langopt.on{color:var(--green-700);background:var(--mint)}.langswitch .langsep{color:var(--line)}.prose p{margin:.7rem 0;line-height:1.7;max-width:72ch}.lead{font-size:clamp(1.05rem,2.2vw,1.28rem);color:var(--muted);max-width:60ch}.tablecard{overflow-x:auto}.note-warn{background:#fdf5e8;border:1px solid #f0dcbf;border-radius:var(--r);padding:1rem 1.1rem}.ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:1.15rem;background:var(--mint)}.sim{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:840px){.sim{grid-template-columns:1fr}}.controls{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.route{list-style:none;margin:.8rem 0 0;padding:0}.node{display:flex;gap:.8rem;align-items:flex-start;opacity:.4;transition:opacity .4s}.node.on{opacity:1}.rail{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}.dot{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;font-size:.95rem}.node.on .dot{border-color:var(--green-500);background:var(--mint)}.node.done .dot{background:var(--green-600);border-color:var(--green-600);color:#fff}.edge{width:2px;flex:1 1;min-height:34px;background:var(--line);position:relative}.node.done .edge{background:var(--green-500)}.edgechip{position:absolute;left:8px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.68rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.15rem .5rem;color:var(--muted)}.ninfo{padding-bottom:1.1rem}.ninfo .who{font-weight:600}.ninfo .meta{font-size:.76rem;color:var(--muted)}.method{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700;border-radius:999px;padding:.12rem .5rem;border:1px solid var(--line);background:#fff}.method.qr{color:#1c5334;background:#eafaf0;border-color:#bfe6cd}.method.nfc{color:#2b6cb0;background:#eaf2fb;border-color:#c3dbf5}.method.gnss{color:#8a5a1c;background:#fdf5e8;border-color:#f0dcbf}.method.manual{color:#5b3fa0;background:#f0ecfb;border-color:#d8ccf2}.scores{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.score{flex:1 1 90px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.7rem;text-align:center}.score b{font-family:var(--fd);font-size:1.5rem;display:block;color:var(--green-700)}.score span{font-size:.68rem;color:var(--muted)}.ledger{font-family:ui-monospace,monospace;font-size:.72rem}.lrow{border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem;margin-bottom:.4rem;background:#fff}.lrow.broken{border-color:var(--bad);background:#fdecea}.lrow .h{color:var(--muted);word-break:break-all}.lrow .lnk{color:var(--green-600)}.verdict{font-weight:600;padding:.5rem .7rem;border-radius:10px;font-size:.82rem}.verdict.ok{color:var(--ok);background:#eefaf1;border:1px solid #bfe6cd}.verdict.bad{color:var(--bad);background:#fdecea;border:1px solid #f3c0ba}.empty{color:var(--muted);font-size:.85rem;text-align:center;padding:1.4rem}.stepnote{font-size:.86rem;color:var(--green-700);background:var(--mint);border-radius:10px;padding:.55rem .7rem;margin-bottom:1rem;min-height:1.2rem}.pp{max-width:520px;margin:0 auto;color:#fff;border-radius:24px;padding:clamp(1.1rem,4vw,1.6rem);background:linear-gradient(140deg,var(--green-700),var(--green-500) 60%,var(--lime));box-shadow:0 12px 40px rgba(28,83,52,.3)}.pp .pill{background:rgba(255,255,255,.22);color:#fff}.pp h2{font-size:1.7rem;margin:.4rem 0 .1rem}.ppm{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.ppm .chip{font-size:.74rem;font-weight:600;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.3rem .6rem}.ppscore{display:flex;gap:.5rem;margin-top:.4rem}.ppscore>div{flex:1 1;background:rgba(255,255,255,.14);border-radius:14px;padding:.6rem;text-align:center}.ppscore b{font-family:var(--fd);font-size:1.4rem;display:block}.ppscore span{font-size:.64rem;opacity:.9}.appnav{display:flex;gap:.25rem;background:var(--mint);padding:.25rem;border-radius:999px;overflow:auto}.appnav a{border:0;background:transparent;color:var(--green-700);font-weight:600;font-size:.82rem;padding:.4rem .7rem;border-radius:999px;white-space:nowrap}.appnav a.active{background:#fff;color:var(--green-900);box-shadow:0 2px 8px rgba(20,50,31,.12)}.rowcard{display:flex;gap:.8rem;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem}.chip,.rowcard{align-items:center;background:#fff}.chip{display:inline-flex;gap:.3rem;font-size:.74rem;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:.28rem .55rem}.chip.ok{color:var(--ok);border-color:#bfe6cd;background:#eefaf1}.chip.warn{color:var(--warn);border-color:#f0dcbf;background:#fdf5e8}table{width:100%;border-collapse:collapse;font-size:.86rem}td,th{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line)}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.foot,th{color:var(--muted)}.foot{padding:2rem 0 3rem;font-size:.8rem;text-align:center}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-body:"Inter","Inter Fallback"}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_6b9622{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_6b9622{--font-display:"Space Grotesk","Space Grotesk Fallback"}