.prototype-host>footer,.prototype-host>header{display:none}.prototype-host{width:100%}.paiban-preview{--p-paper:#f8f6f0;--p-surface:#fffefa;--p-ink:#292d29;--p-muted:#64675e;--p-line:#dfdfd3;--p-accent:#b8442c;--p-accent-hover:#9f3824;--p-sage:#edf0e6;--p-peach:#f8ece3;--p-lilac:#eeebf3;color:var(--p-ink);background:var(--p-paper);min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.paiban-preview button,.paiban-preview input,.paiban-preview select{font:inherit}.paiban-preview button{touch-action:manipulation}.paiban-preview button:disabled{cursor:not-allowed}.paiban-preview a,.paiban-preview button{-webkit-tap-highlight-color:transparent}.paiban-preview a:focus-visible,.paiban-preview button:focus-visible,.paiban-preview input:focus-visible,.paiban-preview select:focus-visible,.paiban-preview summary:focus-visible{outline:3px solid #934b24;outline-offset:4px}.paiban-preview h1:focus{outline:none}.paiban-preview button{transition:background-color .14s ease,transform .14s ease,border-color .14s ease}.paiban-preview button:active:not(:disabled){transform:scale(.98)}.design-rail{display:none}.phone-canvas{min-height:100dvh;background:var(--p-paper);position:relative}.p-header{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:14px 20px 10px;gap:12px}.p-brand{display:inline-flex;align-items:center;gap:9px}.p-brand strong{font-size:20px;letter-spacing:1px;line-height:1.15}.p-brand strong>span{display:block;font-size:9px;letter-spacing:2.4px;font-weight:500;margin-top:5px}.p-mark{width:35px;height:35px;border-radius:12px;background:var(--p-accent);position:relative;display:block;transform:rotate(-5deg)}.p-mark i{position:absolute;height:4px;background:#fff9ef;border-radius:2px;transform:rotate(-28deg);left:9px}.p-mark i:first-child{width:12px;top:10px}.p-mark i:nth-child(2){width:18px;top:17px}.p-mark i:nth-child(3){width:12px;top:24px;left:15px}.brand-button,.city-switch,.icon-button{background:none;border:0;padding:0;color:var(--p-ink);display:inline-flex;align-items:center;justify-content:center;min-height:44px}.icon-button{width:44px;border:1px solid var(--p-line);border-radius:50%}.brand-button{margin-left:12px}.city-switch{gap:4px;min-width:56px}.mock-ribbon{padding:8px 16px;font-size:10px;letter-spacing:.3px;color:#6a5948;text-align:center;background:#eeebe1}.status-dot{display:inline-block;width:5px;height:5px;border-radius:100%;background:#8e754f;vertical-align:middle;margin-right:7px}.p-content{padding:30px 24px 18px;animation:p-page-in .24s ease both}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--p-muted);margin:0 0 13px}.page-heading h1{font-size:clamp(25px,7vw,31px);letter-spacing:-.8px;line-height:1.4;font-weight:650;margin:0}.page-heading em{font-style:normal;color:var(--p-accent)}.screen-home .page-heading h1{font-size:40px;line-height:1.35;letter-spacing:-1.5px}.screen-home{padding-top:34px}.intro{color:var(--p-muted);line-height:1.9;margin:14px 0 26px;font-size:14px}.screen-home .intro{margin:16px 0 0}.weekend-art{width:100%;height:auto;display:block;margin:2px auto 8px;max-height:257px}.home-promise{display:flex;gap:12px;align-items:center;justify-content:center;color:#545d50;font-size:11px}.home-promise>span{display:inline-flex;gap:5px;align-items:center}.home-promise>i{width:3px;height:3px;border-radius:50%;background:#abae9e}.home-footnote{text-align:center;color:var(--p-muted);font-size:11px;margin:26px 0 20px}.p-dock{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:412px;z-index:5;padding:16px 0 max(12px,env(safe-area-inset-bottom));background:var(--p-paper);border-top:1px solid var(--p-line);display:grid;gap:10px;margin-top:26px}.p-content:has(.p-dock){padding-bottom:18px}.phone-canvas:has(.p-dock) .prototype-footer{padding-bottom:180px}.screen-home .p-dock{margin-top:16px}.p-button{min-height:54px;width:100%;padding:14px 20px;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;font-weight:600!important;border:1px solid transparent}.primary-action{background:var(--p-accent);color:#fffefa;box-shadow:0 5px 12px #7e30130d}.primary-action:hover:not(:disabled){background:var(--p-accent-hover)}.primary-action:disabled{background:#deded5;color:#696b62;box-shadow:none}.secondary-action{background:var(--p-surface);color:var(--p-ink);border-color:#c9cbbf}.dock-caption{text-align:center;color:var(--p-muted);font-size:11px;line-height:1.7}.prototype-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 20px 16px;color:var(--p-muted);font-size:10px}.prototype-footer button{border:0;background:none;padding:10px 7px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-head>span{color:var(--p-muted);font-size:11px}.section-head .intro{margin:0}.section-label{display:block;font-size:13px;font-weight:650;margin:26px 0 12px}.section-head .section-label{margin:0}.district-list{display:grid;gap:12px}.district-card{border:1px solid var(--p-line);border-radius:21px;background:var(--p-surface);padding:20px 16px;display:flex;gap:13px;align-items:center;text-align:left;width:100%}.district-card:hover{border-color:#a8ae9a}.district-copy{flex:1;min-width:0}.district-copy strong{display:block;font-size:17px;font-weight:600}.district-copy small{display:block;font-size:11px;margin-top:5px;color:var(--p-muted)}.district-score{display:inline-flex;gap:8px;font-size:10px;color:var(--p-muted);margin-top:12px}.district-score b{font-weight:500}.theme-icon{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:15px;flex-shrink:0}.sage{background:var(--p-sage)}.peach{background:var(--p-peach)}.lilac{background:var(--p-lilac)}.district-card .sage{color:#58684d}.district-card .peach{color:#975337}.district-card .lilac{color:#736287}.p-details{border-top:1px solid var(--p-line);margin-top:24px;color:var(--p-muted);font-size:12px}.p-details summary{padding:14px 0;cursor:pointer;min-height:48px}.p-details p{margin:0 0 16px;line-height:1.9}.p-tag{display:inline-block;border:1px solid #d4d5c9;border-radius:7px;padding:4px 8px;font-size:10px;color:var(--p-muted);letter-spacing:.2px}.p-search{display:flex;gap:10px;border:1px solid #858d79;background:var(--p-surface);border-radius:16px;padding:12px 16px;align-items:center}.p-search input{border:0;background:transparent;min-height:28px;width:100%;min-width:0;color:var(--p-ink);font-size:16px}.list-button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 4px;border:0;border-bottom:1px solid var(--p-line);background:none;text-align:left;gap:16px}.list-button strong{display:block;font-size:17px}.list-button small{color:var(--p-muted);display:block;font-size:11px;margin-top:5px}.p-note,.p-notice{padding:14px;border-radius:13px;color:#6c4d2e;background:#f0e9dc;display:flex;align-items:flex-start;gap:9px;font-size:12px;margin:16px 0;overflow-wrap:anywhere}.p-note svg,.p-notice svg{flex-shrink:0;margin-top:2px}.p-note{color:var(--p-muted);background:#eeeee6;line-height:1.8}.p-note p{margin:0}.region-reveal{padding:26px 0;text-align:center}.region-art{position:relative;width:170px;height:170px;border-radius:50%;background:#e8eddf;display:grid;place-items:center;margin:0 auto 34px;color:#607359}.orbit-ring{inset:-13px;border:1px dashed #c2cbbb}.orbit-dot,.orbit-ring{position:absolute;border-radius:50%}.orbit-dot{width:17px;height:17px;background:#d59a79;top:5px;right:1px;z-index:1}.region-reveal h2{font-size:30px;margin:6px 0 10px;letter-spacing:-.5px}.region-reveal>p:not(.eyebrow){color:var(--p-muted);font-size:12px;margin-bottom:24px}.center{text-align:center}.fine{color:var(--p-muted);font-size:11px;line-height:1.85}.area-card{padding:18px;border:1px solid var(--p-line);border-radius:17px;background:var(--p-surface);width:100%;display:flex;text-align:left;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.area-card.chosen{border-color:#89947b;background:#edf0e6}.area-card strong{font-size:14px;display:block}.area-card small{display:block;font-size:11px;color:var(--p-muted);margin-top:6px}.selection-ring{width:19px;height:19px;border:1px solid #78856b;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.chosen .selection-ring{background:#5c6c4e;color:white}.segmented{padding:4px;border-radius:14px;background:#eaeae1;display:flex;gap:4px}.segmented button{flex:1;border:1px solid transparent;border-radius:11px;min-height:46px;background:transparent;color:var(--p-muted);font-size:12px}.segmented button[aria-pressed=true]{background:var(--p-surface);box-shadow:0 2px 5px #292d290a;color:var(--p-ink);border-color:#d9dacd}.plan-list{display:grid;gap:20px}.plan-card{border:1px solid #d6d9ce;border-radius:24px;padding:22px;margin-bottom:16px;overflow-wrap:anywhere}.plan-list .plan-card{margin-bottom:0}.plan-card.peach{border-color:#e4d6c9}.plan-card.lilac{border-color:#dcd6e3}.plan-top{display:flex;align-items:center;gap:10px;margin-bottom:18px}.plan-top .theme-icon{background:#fffefa9e}.plan-top .eyebrow{margin:0;font-size:12px;letter-spacing:1px;color:var(--p-ink)}.plan-number{margin-left:auto;font-size:12px;color:var(--p-muted);font-variant-numeric:tabular-nums}.plan-card h2{font-size:21px;line-height:1.5;letter-spacing:-.5px;margin:0 0 8px;font-weight:600}.card-description{font-size:12px;color:var(--p-muted);margin:0 0 18px}.plan-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;padding-bottom:16px;border-bottom:1px solid #bbc0b64d}.plan-stats span{display:flex;align-items:center;gap:4px}.mini-stops{list-style:none;padding:0;margin:17px 0;display:grid;gap:14px}.mini-stops li{display:flex;gap:10px;align-items:flex-start;font-size:12px}.mini-stops li>span{width:20px;height:20px;border-radius:50%;border:1px solid #a8b29c;display:grid;place-items:center;font-size:10px;flex-shrink:0}.mini-stops small{display:block;font-size:10px;color:var(--p-muted);margin-top:2px}.budget-line{border-top:1px solid #bbc0b64d;display:flex;align-items:center;justify-content:space-between;font-size:11px;padding-top:14px;margin-top:14px}.budget-line strong{font-size:14px;font-weight:500}.card-select{background:#fffefa;border:1px solid #c7cdbe;border-radius:13px;min-height:46px;width:100%;display:flex;justify-content:space-between;padding:10px 14px;color:var(--p-ink);margin-top:16px}.card-select,.text-button{align-items:center;font-size:12px!important}.text-button{display:inline-flex;gap:7px;min-height:44px;color:var(--p-accent);background:none;border:0;padding:7px 0}.acknowledge{display:flex;gap:10px;align-items:flex-start;padding:15px;border:1px solid #d6c9b8;border-radius:14px;font-size:12px;line-height:1.9;margin:18px 0;cursor:pointer;min-height:60px}.acknowledge input{width:20px;height:20px;flex-shrink:0;accent-color:var(--p-accent);margin:2px 0 0}.success-banner{display:flex;gap:8px;align-items:center;color:#4f6243;font-size:12px;margin:22px 0}.success-banner>span{display:grid;place-items:center;width:28px;height:28px;background:#e4eadc;border-radius:50%}.ticket-meta{border:1px dashed #b9bdac;border-radius:16px;padding:20px;display:grid;gap:6px;text-align:center;margin-top:18px}.ticket-meta span{font-size:12px;color:var(--p-muted)}.ticket-meta strong{font-size:17px}.schematic-map{height:310px;position:relative;border-radius:22px;overflow:hidden;margin-top:16px;border:1px solid #d7dacf}.schematic-map>svg{height:100%;width:100%;display:block}.map-label{top:14px;z-index:2;background:#fffefa;padding:5px 9px;border-radius:8px;color:var(--p-muted);font-size:10px}.map-label,.map-watermark{position:absolute;left:14px}.map-watermark{bottom:10px;font-size:9px;color:#5d6559;pointer-events:none}.map-marker{position:absolute;width:44px;height:44px;border-radius:50%;background:var(--p-surface);border:2px solid var(--p-accent);color:var(--p-accent);font-weight:700!important;box-shadow:0 4px 8px #292d2914;transform:translate(-50%,-50%)}.map-marker:active:not(:disabled){transform:translate(-50%,-50%) scale(.96)}.map-marker.active{background:var(--p-accent);color:white}.marker-0{left:21%;top:30%}.marker-1{left:50%;top:45%}.marker-2{left:81%;top:73%}.expand-button{width:100%;background:none;border:0;border-bottom:1px solid var(--p-line);display:flex;align-items:center;justify-content:space-between;min-height:60px;margin-top:10px;font-weight:600!important}.expand-button[aria-expanded=true] svg{transform:rotate(180deg)}.map-stops{display:none}.map-stops.expanded{display:block;animation:p-enter .18s ease}.stop-button{display:flex;width:100%;align-items:center;gap:12px;text-align:left;border:0;background:none;padding:18px 0}.stop-button>b{border:1px solid #b4bfaa;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;font-weight:500}.stop-button.active>b{border-color:var(--p-accent);color:var(--p-accent);background:#f4e7dd}.stop-button>span{flex:1;min-width:0}.stop-button strong{font-size:12px;display:block;overflow-wrap:anywhere}.stop-button small{font-size:10px;display:block;color:var(--p-muted)}.stop-detail{background:#eeeee5;border-radius:14px;padding:14px;margin:0 0 16px 42px;font-size:11px;color:var(--p-muted)}.stop-detail p{margin:0 0 7px}.navigation-disabled{min-height:44px;width:100%;background:#e0e1d7;color:#696c61;border:1px solid #c3c8b9;border-radius:10px;margin-top:8px;font-size:11px!important}.leg-label{gap:4px;margin:0 0 0 14px;padding-left:27px;border-left:1px dashed #adb6a2;font-size:9px;min-height:32px}.leg-label,.map-error{display:flex;align-items:center;color:var(--p-muted)}.map-error{padding:58px 20px 30px;height:100%;flex-direction:column;text-align:center;background:#eeeede;gap:6px;font-size:12px}.map-error p{margin:0 0 6px}.map-error .p-button{font-size:12px;min-height:44px;width:auto}.empty-state{text-align:center;padding:38px 0;color:var(--p-muted)}.empty-state>svg{margin:auto}.empty-state h2{font-size:20px;color:var(--p-ink);margin:18px 0 8px}.empty-state p{font-size:12px;margin-bottom:26px}.empty-icon{width:78px;height:78px;background:#e9eddf;border-radius:27px;display:grid;place-items:center;margin:auto}.recent-card{display:flex;gap:12px;align-items:center;width:100%;background:var(--p-surface);border:1px solid var(--p-line);border-radius:18px;padding:15px;text-align:left;margin-top:24px}.recent-card>span:nth-child(2){flex:1}.recent-card small{display:block;color:var(--p-muted);font-size:10px}.recent-card strong{display:block;font-size:13px}.loading-copy{display:flex;align-items:center;gap:10px;margin:26px 0;color:var(--p-muted);font-size:12px}.loading-dot{width:9px;height:9px;border-radius:50%;background:var(--p-accent);animation:p-pulse .7s ease infinite alternate}.skeleton-card{padding:22px;border:1px solid var(--p-line);background:var(--p-surface);border-radius:20px;margin:14px 0}.skeleton-card i{display:block;width:80%;height:13px;border-radius:5px;margin:12px 0;background:#e7e8df;animation:p-pulse .8s ease infinite alternate}.skeleton-card i:first-child{width:28%;height:30px}.skeleton-card i:last-child{width:55%}.state-select{display:block;width:100%;min-height:52px;background:var(--p-surface);color:var(--p-ink);border:1px solid #b8bead;border-radius:12px;padding:10px;margin-bottom:20px}.draft-banner{padding:12px;display:flex;align-items:center;justify-content:space-between;background:#e9ecdf;color:#536348;border-radius:12px;font-size:11px;gap:6px;margin:16px 0}.draft-banner button{background:none;border:0;text-decoration:underline;min-height:44px;flex-shrink:0}.is-drawing{animation:p-draw .52s ease both;pointer-events:none}@keyframes p-page-in{0%{opacity:0}to{opacity:1}}@keyframes p-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes p-draw{0%{opacity:.5;transform:translateY(5px) rotate(-1deg)}55%{opacity:1;transform:translateY(-3px) rotate(1deg)}to{transform:none}}@keyframes p-pulse{0%{opacity:.45}to{opacity:1}}@media (max-width:350px){.p-content{padding-inline:18px}.p-header{padding-inline:14px}.screen-home .page-heading h1{font-size:36px}.plan-card{padding:18px}.plan-card h2{font-size:19px}.home-promise{gap:7px;font-size:10px}}@media (min-width:600px){.phone-canvas{max-width:460px;margin-inline:auto;border-inline:1px solid var(--p-line);box-shadow:0 12px 48px #35382e05}.paiban-preview{background:#eeeee6}}@media (min-width:960px){.paiban-preview{display:grid;grid-template-columns:380px 460px;justify-content:center;column-gap:72px;padding:44px 36px;align-items:start}.design-rail{display:flex;flex-direction:column;min-height:740px;position:sticky;top:44px;padding:24px 12px 10px}.design-rail>.rail-brand{color:var(--p-ink);text-decoration:none;align-self:flex-start;background:none;border:0;padding:0;min-height:44px}.design-rail .p-mark{width:42px;height:42px}.design-rail .p-mark i{margin:3px 2px}.design-rail .p-brand strong{font-size:24px}.rail-intro{margin-top:78px}.rail-intro .eyebrow{font-size:9px;letter-spacing:2px}.rail-intro h2{font-size:36px;font-weight:550;line-height:1.5;letter-spacing:-1px;margin:16px 0 20px}.rail-intro>p:last-child{color:var(--p-muted);font-size:13px;line-height:2}.rail-steps{display:grid;gap:16px;margin:42px 0 60px;padding:0;list-style:none}.rail-steps li{display:flex;align-items:center;gap:14px;color:var(--p-muted);font-size:12px}.rail-steps li>span{width:25px;height:25px;border:1px solid #c5cab8;border-radius:50%;display:grid;place-items:center;font-size:9px}.rail-steps .active{color:var(--p-accent);font-weight:650}.rail-steps .active>span{border-color:var(--p-accent);background:#f3e2d8}.rail-steps i{width:18px;height:1px;background:var(--p-accent)}.rail-bottom{margin-top:auto}.rail-bottom>p{font-size:11px;color:var(--p-muted);margin-top:22px}.rail-bottom>small{font-size:9px;color:var(--p-muted)}.phone-canvas{width:460px;border:1px solid #dcded0;border-radius:32px;overflow:clip;min-height:840px;box-shadow:0 18px 60px #35382e08}.p-content{padding:32px 30px 18px}.screen-home{padding-top:40px}.screen-home .page-heading h1{font-size:44px}.weekend-art{margin-block:12px 24px;max-height:none}.p-dock{bottom:12px;left:calc(50% + 226px);width:400px}}@media (prefers-reduced-motion:reduce){.paiban-preview *,.paiban-preview :after,.paiban-preview :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}