:root{color-scheme:light;--ink:#102c28;--muted:#586b68;--line:#d8e1de;--green:#087454;--paper:#f3f6f5;--accent:#dcf78b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.6}header{max-width:780px;margin:auto;padding:24px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:750;line-height:1.25}.brand small{display:block;font-size:12px;letter-spacing:2px;margin-top:5px}.logo{display:grid;place-items:center;background:var(--ink);color:var(--accent);width:40px;height:40px;border-radius:12px;font-size:29px}.badge{font-size:12px;border:1px solid var(--line);padding:5px 10px;border-radius:30px;white-space:nowrap}main{max-width:732px;margin:auto;padding:0 24px 24px}.intro{padding:20px 0 10px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--green);margin:0 0 8px}h1{font-size:38px;line-height:1.2;letter-spacing:-1px;margin:0 0 16px}h1 br{display:none}.intro>p:last-child{color:var(--muted);max-width:510px;margin:0 0 16px}.environment{font-size:13px;background:#e6efeb;padding:9px 13px;border-radius:8px;margin-bottom:22px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading h2{font-size:18px;margin:0;font-weight:750}.section-heading>span{font-size:12px;color:var(--muted);text-align:right}.journey{padding:0 0 18px}.stops{list-style:none;display:flex;justify-content:space-between;margin:0;padding:0;gap:6px}.stops li{flex:1;font-weight:650;position:relative;padding-top:20px}.stops li:before{content:"";width:8px;height:8px;border:2px solid var(--green);border-radius:50%;position:absolute;left:0;top:2px;background:var(--paper);z-index:1}.stops li:not(:last-child):after{content:"";height:2px;background:#b7cec2;position:absolute;left:10px;right:0;top:7px}.subtle{font-size:13px;color:var(--muted);margin:9px 0 0}.workbench{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;margin-top:3px}.segment-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:22px}.segment-buttons button{border:1px solid var(--line);background:white;border-radius:10px;min-height:46px;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}.segment-buttons button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--accent);font-weight:700}.route-label{font-size:12px;color:var(--muted)}h3{font-size:27px;line-height:1.35;margin:4px 0 22px}.locations{margin-bottom:22px}.location{display:flex;align-items:flex-start;gap:12px;position:relative;padding-bottom:21px}.location:last-child{padding-bottom:0}.location>span{width:25px;height:25px;border-radius:50%;background:#e6efeb;font-size:12px;display:grid;place-items:center;flex-shrink:0;margin-top:3px}.location.end>span{background:var(--accent)}.location strong{font-size:15px;font-weight:600;display:block}.location small{font-size:12px;color:var(--muted);display:block;margin-top:3px}.primary{display:flex;align-items:center;justify-content:space-between;background:var(--green);padding:14px 18px;min-height:54px;border-radius:11px;color:white;text-decoration:none;font-weight:650}.primary>span{font-size:22px}.secondary-actions{display:flex;gap:8px;margin-top:10px}.secondary-actions>*{width:50%;background:#f3f6f5;border:1px solid var(--line);border-radius:9px;padding:12px 5px;font:inherit;font-size:14px;text-align:center;color:var(--ink);text-decoration:none;cursor:pointer}.map-note{font-size:13px;line-height:1.7;color:var(--muted);margin:15px 0 0}.feedback{border-top:1px solid var(--line);padding-top:18px;margin-top:21px}label{display:block;font-size:14px;font-weight:600;margin:0 0 8px}select,input,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);border:1px solid #becdc7;border-radius:9px;background:white;padding:12px;line-height:1.5}select{min-height:50px}textarea{resize:vertical}.help{margin:18px 0;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#eef3f0}.help summary{font-size:14px;font-weight:650;cursor:pointer}.help p{font-size:14px;color:var(--muted)}.report{padding:16px 0}.report label:not(:first-child){margin-top:15px}.report-button{width:100%;background:var(--ink);color:white;border:0;border-radius:10px;min-height:50px;padding:12px;font:inherit;font-weight:600;margin-top:16px;cursor:pointer}footer{text-align:center;font-size:12px;color:var(--muted);padding:24px 0 8px;border-top:1px solid var(--line);margin-top:16px}footer span{font-size:12px}#toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;max-width:90%;width:max-content;opacity:0;pointer-events:none;transition:opacity .15s}#toast.show{opacity:1}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #75a52b;outline-offset:3px}button:active,.primary:active{transform:translateY(1px)}[hidden]{display:none!important}@media(max-width:440px){header{padding:20px 18px 10px}main{padding:0 18px 24px}.intro{padding-top:17px}h1{font-size:35px}h1 br{display:block}.workbench{padding:18px 15px}.section-heading{gap:7px}.section-heading h2{font-size:17px}h3{font-size:25px}.secondary-actions>*{font-size:14px}.report .section-heading{display:block}.report .section-heading span{display:block;text-align:left;margin-top:3px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:760px){main{max-width:900px;display:grid;grid-template-columns:1fr 1.15fr;column-gap:40px}header{max-width:900px}.intro,.environment,.journey{grid-column:1}.intro{grid-row:1}.environment{grid-row:2;align-self:start}.journey{grid-row:3}.workbench{grid-column:2;grid-row:1 / span 4}.help{grid-column:1;grid-row:4;align-self:start}.report{grid-column:1 / -1;max-width:550px;width:100%;margin:24px auto 0}footer{grid-column:1 / -1}.intro h1 br{display:block}h1{font-size:45px}}

.app-test{margin-top:20px;padding-top:18px;border-top:1px solid #d6dfd9}.app-test label{display:block;margin-bottom:8px;font-weight:600}.app-test input{box-sizing:border-box;width:100%;font-size:16px;padding:12px;border:1px solid #b7c9be;border-radius:10px;background:#fff;color:#102c28}.app-test .primary{width:100%;border:0;font:inherit;cursor:pointer}
