:root{--paper:#f6f4ef;--ink:#20231f;--muted:#73776e;--line:#deded7;--green:#214f43;--lime:#d6ec65;--orange:#e4854f;--white:#fff;--shadow:0 18px 40px rgba(38,45,35,.08)}
.strategy-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.strategy-pill{min-height:36px;border:1px solid var(--line);background:#fff;color:var(--muted);font:11px inherit;cursor:pointer;padding:7px 6px}.strategy-pill.active{border-color:var(--green);background:#edf3e5;color:var(--green);font-weight:700}.strategy-note{margin:7px 0 0;color:var(--muted);font-size:11px}.candidate-routes{margin-top:9px;border-top:1px solid var(--line)}.route-person{display:grid;grid-template-columns:48px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #ecece6;color:var(--muted);font-size:10px;line-height:1.4}.route-person span:first-child{color:var(--ink);font-weight:700}.plan-row.recommended{font-weight:700}.plan-row.recommended strong{color:var(--orange)}
.sample-notice{margin:0 0 18px;padding:9px 10px;border:1px solid #dfb498;background:#fff6ee;color:#934622;font-size:12px}.candidate-options{display:grid;gap:8px}.candidate-option{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:11px 12px}.candidate-option.selected{border-color:var(--green);background:#f1f5ed}.candidate-option strong{font-size:12px}.candidate-option p{margin:4px 0 0;color:var(--muted);font-size:11px}.candidate-option>span{color:var(--muted);font-size:10px;line-height:1.55;text-align:right;white-space:nowrap}
.resolved-locations{display:grid;gap:8px;margin:0;padding:0;list-style:none}.resolved-locations li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;color:var(--muted);font-size:11px;line-height:1.45}.resolved-locations strong{color:var(--ink)}.amap-link{display:inline-flex;gap:5px;margin-top:10px;color:var(--green);font-size:11px;font-weight:700;text-decoration:none}.amap-link:hover,.amap-link:focus-visible{text-decoration:underline}
.candidate-option{display:block}.candidate-option summary{display:block;cursor:pointer;list-style:none}.candidate-option summary::-webkit-details-marker{display:none}.candidate-option>div,.candidate-option summary>div{min-width:0}.recommend-reason,.backup-label{margin:0 0 6px!important;color:var(--orange)!important;font-size:10px!important;font-weight:800}.backup-label{color:var(--green)!important}.route-summary{display:grid;gap:2px}.route-summary strong{color:var(--green);font-size:11px}.route-summary small{color:var(--muted);font-size:10px;line-height:1.45}.route-separator{display:none}.backup-option[open]{background:#fafbf8}.backup-option .candidate-routes{padding-top:4px}
@media(max-width:800px){.intro{grid-template-columns:1fr}.intro-copy,.intro-preview{min-width:0}.intro h1{word-break:normal;overflow-wrap:normal}}

/* Compact the product introduction and keep its decision criteria together. */
.shell{padding-top:52px}.intro{display:block;margin-bottom:34px}.intro-copy{max-width:710px}.intro h1{font-size:clamp(38px,5vw,62px);line-height:1.06;margin:10px 0 14px}.intro-context{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;color:var(--muted);font-size:12px}.context-label{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.12em}.intro-context strong{padding-left:10px;border-left:1px solid var(--line);color:var(--green);font-size:12px}.intro-context span:last-child{padding-left:10px;border-left:1px solid var(--line)}.intro-stat{display:none}
@media(max-width:800px){.intro{margin-bottom:28px}.intro h1{font-size:44px}.intro-context{margin-top:16px}}
@media(max-width:430px){.intro-context{align-items:flex-start;gap:7px}.intro-context span:last-child{width:100%;padding-left:0;border-left:0}.intro h1{font-size:42px}}

/* Balance the wide desktop introduction with a preview of the decision output. */
.intro{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(42px,8vw,130px);align-items:end}.intro-preview{width:100%;padding:16px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-preview>p{margin:0 0 12px;color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.14em}.candidate-row{display:grid;grid-template-columns:20px 1fr 48px;align-items:center;gap:8px;margin:8px 0;color:var(--muted);font-size:11px}.candidate-row>span{font:700 11px Georgia;color:var(--muted)}.candidate-row i{display:block;height:5px;background:#dfe4dc;position:relative}.candidate-row i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--duration);background:#99a99c}.candidate-row b{text-align:right;color:var(--muted);font-size:11px}.candidate-row.selected>span,.candidate-row.selected b{color:var(--green)}.candidate-row.selected i:after{background:var(--green)}.candidate-result{display:flex;align-items:center;gap:6px;margin-top:13px;color:var(--green);font-size:11px;font-weight:700}.candidate-result span{width:7px;height:7px;border-radius:50%;background:var(--lime)}
@media(max-width:800px){.intro{display:block}.intro-preview{display:none}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.14em;text-decoration:none}.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--green);color:var(--lime);font:700 16px Georgia;border-radius:50%}.github-link{display:grid;place-items:center;width:36px;height:36px;color:var(--green);border:1px solid transparent}.github-link:hover,.github-link:focus-visible{border-color:var(--green);background:#edf3e5;outline:0}.github-link svg{width:19px;height:19px;fill:currentColor}.shell{max-width:1240px;margin:0 auto;padding:64px clamp(22px,5vw,76px) 30px}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px}.eyebrow,.section-kicker{margin:0;color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.16em}.intro h1{font:500 clamp(38px,5vw,68px)/1.03 Georgia,serif;letter-spacing:0;margin:12px 0 18px}.intro h1 em{color:var(--green);font-style:italic}.lede{margin:0;color:var(--muted);font-size:15px}.intro-stat{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;text-align:left}.intro-stat strong{font:500 74px/.8 Georgia;color:var(--green)}.workspace-grid{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);gap:24px;align-items:start}.panel{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.controls{padding:28px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.panel-heading h2{font-size:22px;line-height:1.1;margin:8px 0 0}.step-count{color:var(--muted);font-size:11px}.field-group{margin-bottom:22px}.field-group label,.key-label{display:flex;justify-content:space-between;margin-bottom:9px;font-size:12px;font-weight:700}.field-group label span,.key-label span{font-weight:400;color:#9da097}.participant-list{display:grid;gap:8px}.participant-row{display:grid;grid-template-columns:30px 1fr 1.25fr 26px;gap:7px;align-items:center}.participant-index{display:grid;place-items:center;width:28px;height:35px;background:#eef1e9;color:var(--green);font-weight:700;font-size:11px}.participant-row input,.split-fields input,.advanced-body input{width:100%;height:36px;border:1px solid var(--line);background:#fbfbf8;padding:0 10px;color:var(--ink);font:inherit;outline:0}.participant-row input:focus,.split-fields input:focus,.advanced-body input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(33,79,67,.08)}.remove-button{height:30px;border:0;background:transparent;color:#aaa;font-size:18px;cursor:pointer}.add-button{border:0;background:none;color:var(--green);font-size:12px;padding:10px 0;cursor:pointer}.add-button span{font-size:18px;vertical-align:-1px;margin-right:4px}.location-note{margin:0;color:var(--muted);font-size:11px}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.city-pills{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.city-pill{min-height:36px;border:1px solid var(--line);background:#fff;color:var(--muted);font:12px inherit;cursor:pointer}.city-pill.active{border-color:var(--green);background:#edf3e5;color:var(--green);font-weight:700}.mode-pills{display:flex;gap:7px;flex-wrap:wrap}.mode-pill{min-height:36px;border:1px solid var(--line);background:#fff;padding:8px 10px;color:var(--muted);font:12px inherit;cursor:pointer}.mode-pill.active{border-color:var(--green);background:#edf3e5;color:var(--green);font-weight:700}.advanced{border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.advanced summary{cursor:pointer;list-style:none;font-size:12px;font-weight:700}.advanced summary::-webkit-details-marker{display:none}.advanced summary span{float:right;color:#9da097;font-weight:400}.advanced-body{padding-top:16px}.advanced-body p{color:var(--muted);font-size:11px;margin:7px 0 0}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;height:52px;border:0;background:var(--green);color:#fff;padding:0 17px;margin-top:26px;font-weight:700;cursor:pointer}.primary-button:hover{background:#173e34}.button-arrow{font-size:22px;color:var(--lime)}.primary-button:disabled{background:#789187;cursor:wait}.form-message{margin:12px 0 0;border:1px solid #dfb498;background:#fff6ee;color:#934622;padding:9px 10px;font-size:12px}.quota-note{text-align:center;color:#9da097;font-size:11px;margin:14px 0 0}.quota-note strong{color:var(--green)}.results{min-height:652px;padding:30px}.empty-state{min-height:590px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(15px,5vw,70px)}.empty-state h2{font:500 35px/1.08 Georgia,serif;margin:12px 0}.empty-state>p:last-child{max-width:290px;color:var(--muted);margin:0}.empty-illustration{height:145px;width:230px;position:relative;margin-bottom:34px;background:repeating-linear-gradient(0deg,transparent,transparent 27px,#e8e7df 28px),repeating-linear-gradient(90deg,transparent,transparent 45px,#e8e7df 46px);transform:rotate(-4deg)}.pin{position:absolute;width:13px;height:13px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--orange);z-index:2}.pin:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--white);top:4px;left:4px}.pin-one{left:28px;top:45px}.pin-two{left:112px;top:90px;background:var(--green)}.pin-three{right:20px;top:25px;background:#c5a458}.route{position:absolute;height:1px;background:var(--green);transform-origin:left center;opacity:.55}.route-one{width:112px;left:39px;top:52px;transform:rotate(28deg)}.route-two{width:100px;left:123px;top:96px;transform:rotate(-29deg)}.hidden{display:none}.result-content h2{font:500 31px/1.1 Georgia,serif;margin:8px 0 5px}.result-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.result-meta{color:var(--muted);font-size:12px}.recommend-badge{align-self:flex-start;background:var(--lime);padding:6px 9px;color:var(--green);font-size:11px;font-weight:800}.map-preview{height:180px;background-color:#edf0e8;background-image:linear-gradient(32deg,transparent 48%,rgba(96,126,102,.35) 49%,transparent 51%),linear-gradient(115deg,transparent 47%,rgba(96,126,102,.28) 48%,transparent 50%),repeating-linear-gradient(0deg,transparent,transparent 34px,rgba(153,169,145,.25) 35px);position:relative;overflow:hidden;margin-bottom:20px}.map-preview:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 52%,rgba(214,236,101,.85) 0 8px,transparent 9px),radial-gradient(circle at 25% 25%,var(--orange) 0 5px,transparent 6px),radial-gradient(circle at 70% 74%,var(--green) 0 5px,transparent 6px)}.map-label{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);z-index:2;background:var(--green);color:#fff;padding:5px 8px;font-size:11px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.mini-stat{background:#f5f6f1;padding:12px}.mini-stat small{display:block;color:var(--muted);font-size:10px}.mini-stat strong{display:block;color:var(--green);font:700 20px Georgia;margin-top:4px}.result-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.result-section h3{font-size:13px;margin:0 0 12px}.plan-row{display:grid;grid-template-columns:76px 1fr 70px;align-items:center;gap:12px;margin:10px 0;font-size:12px}.plan-row .bar{height:6px;background:#e8ebe1}.plan-row .bar i{display:block;height:100%;background:var(--green)}.plan-row strong{text-align:right;color:var(--green)}.restaurant-list{display:grid;gap:8px}.restaurant{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:12px}.restaurant h4{margin:0 0 4px;font-size:13px}.restaurant p{margin:0;color:var(--muted);font-size:11px}.restaurant-score{color:var(--orange);font-weight:800;font-size:12px;white-space:nowrap}.footer{display:flex;justify-content:space-between;color:#9da097;font-size:10px;padding:20px clamp(22px,5vw,76px) 32px;max-width:1392px;margin:auto;border-top:1px solid var(--line)}@media(max-width:800px){.topbar{height:62px}.intro{display:block;margin-bottom:34px}.intro-stat{margin-top:26px}.intro-stat strong{font-size:54px}.workspace-grid{grid-template-columns:1fr}.results{min-height:500px;padding:20px}.empty-state{min-height:430px;padding:22px 8px}.footer{display:block}.footer span{display:block;margin-top:5px}.participant-row{grid-template-columns:26px minmax(0,1fr) minmax(0,1.2fr) 24px}.participant-index{width:25px}.intro h1{font-size:44px}}@media(max-width:430px){.shell{padding:40px 16px 24px}.topbar{padding:0 16px}.topbar-meta{font-size:10px}.controls{padding:20px 16px}.split-fields{grid-template-columns:1fr}.city-field{margin-bottom:0}.participant-row input{min-width:0;padding:0 7px;font-size:13px}.result-head{gap:12px}.result-content h2{font-size:27px}.stat-grid{grid-template-columns:1fr 1fr}.mini-stat:last-child{grid-column:1/-1}.plan-row{grid-template-columns:66px minmax(0,1fr) 52px;gap:8px}.footer{padding:18px 16px 28px}.empty-illustration{transform:scale(.86);transform-origin:left center;margin-right:-28px}}
