.pp-shell{--pp-bg:#0b1020;--pp-card:#121a30;--pp-line:#8cb4ff29;--pp-text:#eaf0ff;--pp-muted:#9fb0d0;--pp-accent:#ffb020;--pp-go:#2ecc71;--pp-danger:#ff6b6b;background:var(--pp-bg);min-height:100vh;color:var(--pp-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:relative}.pp-map-bg{z-index:0;pointer-events:none;opacity:.5;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000 100%)}.pp-map-bg svg{width:100%;height:100%;display:block}.pp-topbar,.pp-page,.pp-footer{z-index:1;position:relative}.pp-topbar{border-bottom:1px solid var(--pp-line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1020e6;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.pp-brand{color:var(--pp-text);align-items:center;gap:8px;font-weight:700;text-decoration:none;display:flex}.pp-brand-mark{font-size:20px}.pp-topbar-login{color:var(--pp-muted);font-size:15px;text-decoration:none}.pp-page{max-width:720px;margin:0 auto;padding:20px 16px 64px}.pp-hero{text-align:left;margin-bottom:20px}.pp-kicker{color:var(--pp-accent);letter-spacing:.08em;margin:0 0 8px;font-size:12px;font-weight:700}.pp-title{margin:0 0 12px;font-size:28px;line-height:1.15}.pp-lede{color:var(--pp-muted);margin:0 0 12px;font-size:16px;line-height:1.5}.pp-lede b{color:var(--pp-text)}.pp-testbadge{color:var(--pp-go);background:#2ecc7124;border-radius:999px;margin:0;padding:6px 12px;font-size:13px;font-weight:600;display:inline-block}.pp-msg-intro{display:none}html.in-messenger .pp-msg-intro{margin-bottom:16px;display:block}html.in-messenger .pp-msg-intro h1{margin:0 0 6px;font-size:20px}html.in-messenger .pp-msg-intro p{color:var(--pp-muted);margin:0;font-size:15px}html.in-messenger .pp-hero,html.in-messenger .pp-explain,html.in-messenger .pp-topbar-login,html.in-messenger .pp-footer{display:none}.pp-planner{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:16px;padding:16px}.pp-endpoints{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.pp-endpoint{flex-direction:column;gap:5px;display:flex}.pp-endpoint>span{color:var(--pp-muted);font-size:13px;font-weight:600}.pp-endpoint-input{box-sizing:border-box;width:100%;color:var(--pp-text);border:1px solid var(--pp-line);background:#0d1428;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:16px}.pp-endpoint-input:focus{border-color:var(--pp-accent);outline:none}.pp-filter{margin-bottom:14px}.pp-filter .pp-endpoint-input{border-color:color-mix(in srgb, var(--pp-accent) 45%, var(--pp-line));background:color-mix(in srgb, var(--pp-accent) 6%, #0d1428)}.pp-label{color:var(--pp-muted);margin-bottom:8px;font-size:14px;display:block}.pp-input-methods{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.pp-mic,.pp-method-btn{cursor:pointer;white-space:nowrap;color:var(--pp-accent);background:#ffb02024;border:1px solid #ffb02066;border-radius:10px;align-items:center;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.pp-mic:hover,.pp-method-btn:hover{background:#ffb02038}.pp-method-btn input:disabled{cursor:default}.pp-mic-on{color:var(--pp-danger);background:#ff6b6b2e;border-color:#ff6b6b80;animation:1.2s ease-in-out infinite pp-pulse}@keyframes pp-pulse{0%,to{opacity:1}50%{opacity:.55}}.pp-textarea{box-sizing:border-box;resize:vertical;width:100%;color:var(--pp-text);border:1px solid var(--pp-line);background:#0d1428;border-radius:12px;padding:12px;font-family:inherit;font-size:16px;line-height:1.5}.pp-textarea:focus{border-color:var(--pp-accent);outline:none}.pp-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.pp-start{color:var(--pp-muted);align-items:center;gap:8px;font-size:15px;display:flex}.pp-start input{color:var(--pp-text);border:1px solid var(--pp-line);background:#0d1428;border-radius:10px;padding:8px 10px;font-family:inherit;font-size:16px}.pp-btn-primary{background:var(--pp-accent);color:#201400;cursor:pointer;border:none;border-radius:12px;margin-left:auto;padding:12px 20px;font-size:16px;font-weight:700}.pp-btn-primary:disabled{opacity:.5;cursor:default}.pp-primary-action{margin-top:12px}.pp-primary-action .pp-btn-primary{width:100%;margin-left:0;padding:14px 20px}.pp-advanced{border:1px solid var(--pp-line);color:var(--pp-muted);background:#ffffff05;border-radius:12px;margin-top:12px;padding:11px 12px}.pp-advanced>summary{cursor:pointer;color:var(--pp-muted);font-size:14px;font-weight:700}.pp-advanced[open]>summary{color:var(--pp-text);margin-bottom:12px}.pp-advanced .pp-input-methods{margin-bottom:12px}.pp-advanced .pp-endpoints,.pp-advanced .pp-filter{margin-bottom:10px}.pp-btn-ghost{color:var(--pp-muted);border:1px solid var(--pp-line);cursor:pointer;background:0 0;border-radius:12px;padding:12px 16px;font-size:15px}.pp-error{color:var(--pp-danger);margin:12px 0 0;font-size:15px}.pp-clarify{background:color-mix(in srgb, var(--pp-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--pp-accent) 40%, var(--pp-line));border-radius:12px;margin:14px 0 0;padding:14px}.pp-clarify-q{margin:0 0 10px;font-size:16px;font-weight:700}.pp-clarify-opts{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.pp-clarify-btn{background:var(--pp-accent);color:#201400;cursor:pointer;border:none;border-radius:10px;padding:10px 14px;font-size:15px;font-weight:700}.pp-clarify-btn:hover{filter:brightness(1.08)}.pp-tip{color:var(--pp-text);background:color-mix(in srgb, var(--pp-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--pp-accent) 35%, var(--pp-line));border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:14px;line-height:1.45}.pp-loading{color:var(--pp-text);background:#ffb0201f;border:1px solid #ffb0204d;border-radius:12px;align-items:center;gap:12px;margin:14px 0 0;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.pp-loading-hourglass{font-size:26px;animation:1.4s ease-in-out infinite pp-flip;display:inline-block}@keyframes pp-flip{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.pp-listening{color:var(--pp-danger);margin:8px 0 0;font-size:14px;font-weight:600;animation:1.2s ease-in-out infinite pp-pulse}.pp-summary-btn{text-align:left;cursor:pointer;border:none;flex-direction:column;gap:10px;width:100%;font-family:inherit;display:flex;background:0 0!important;padding:0!important}.pp-summary-btn>span:first-child{opacity:.75;font-size:13px;font-weight:500;line-height:1.35}.pp-summary-expand{background:var(--pp-accent);color:#201400;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:15px 16px;font-size:17px;font-weight:800;display:flex;box-shadow:0 2px 10px #ffb0204d}.pp-fs{z-index:1000;background:var(--pp-bg);color:var(--pp-text);flex-direction:column;display:flex;position:fixed;inset:0}.pp-fs-top{border-bottom:1px solid var(--pp-line);flex:none;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.pp-fs-title{font-size:16px;font-weight:700}.pp-fs-close{cursor:pointer;width:36px;height:36px;color:var(--pp-text);border:1px solid var(--pp-line);background:#ffffff14;border-radius:50%;font-size:18px;line-height:1}.pp-fs-map{background:#0d1428;flex:45%;min-height:220px}.pp-fs-list{flex:55%;padding:12px 16px;overflow-y:auto}.pp-fs-go{flex:none;margin:0 16px 16px}.pp-map-pin span{background:var(--pp-accent);color:#201400;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid;box-shadow:0 1px 4px #0006}.pp-result{margin-top:16px}.pp-summary{border-radius:12px;margin-bottom:12px;padding:12px 14px;font-size:15px;font-weight:600}.pp-summary.pp-ok{color:var(--pp-go);background:#2ecc7124}.pp-summary.pp-warn{color:var(--pp-danger);background:#ff6b6b24}.pp-hint{color:var(--pp-muted);margin:8px 0;font-size:14px}.pp-stops{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pp-stop{cursor:grab;border:1px solid var(--pp-line);background:#0d1428;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.pp-stop:active{cursor:grabbing}.pp-stop{touch-action:none;-webkit-user-select:none;user-select:none}.pp-stop-dragging{opacity:.6}.pp-stop-over{border-color:var(--pp-accent);box-shadow:inset 0 0 0 2px #ffb02066}.pp-stop-late{border-color:var(--pp-danger)}.pp-stop{transition:transform .18s;position:relative;overflow:hidden}.pp-stop-remove{background:var(--pp-danger);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:64px;height:100%;font-size:22px;font-weight:800;transition:transform .18s;display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.pp-stop-swiped{transform:translate(-64px)}.pp-stop-swiped .pp-stop-remove{transform:translate(0)}@media (hover:hover){.pp-stop-remove{transform:translate(100%)}.pp-stop:hover .pp-stop-remove{transform:translate(0)}.pp-stop:hover{padding-right:64px}}.pp-stop-grip{color:var(--pp-muted);letter-spacing:-2px;font-size:18px}.pp-stop-num{background:var(--pp-accent);color:#201400;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:grid}.pp-stop-body{flex-direction:column;gap:2px;min-width:0;display:flex}.pp-stop-addr{font-size:16px;font-weight:600}.pp-stop-meta{color:var(--pp-muted);font-size:13px}.pp-stop-late .pp-stop-meta{color:var(--pp-danger)}.pp-stop-unresolved{border-color:var(--pp-warn,#e0a83a);background:#e0a83a14}.pp-stop-unresolved .pp-stop-num{color:#201400;background:#e0a83a}.pp-stop-ask{flex-wrap:wrap;align-items:center;gap:8px;display:flex;color:#e0a83a!important}.pp-stop-fix{color:#201400;cursor:pointer;background:#e0a83a;border:none;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:700}.pp-warnings{color:var(--pp-danger);margin:12px 0 0;padding-left:18px;font-size:14px}.pp-btn-go{text-align:center;background:var(--pp-go);color:#04240f;border-radius:14px;margin-top:16px;padding:16px;font-size:18px;font-weight:800;text-decoration:none;display:block}.pp-btn-new{box-sizing:border-box;width:100%;color:var(--pp-muted);border:1px solid var(--pp-line);cursor:pointer;background:0 0;border-radius:12px;margin-top:12px;padding:12px;font-size:15px;font-weight:600;display:block}.pp-btn-new:hover{border-color:var(--pp-accent);color:var(--pp-text)}.pp-explain{margin-top:28px}.pp-h2{margin:0 0 12px;font-size:20px}.pp-steps{color:var(--pp-muted);margin:0 0 16px;padding-left:20px;font-size:15px;line-height:1.6}.pp-fine{color:var(--pp-muted);font-size:13px;line-height:1.5}.pp-fine a,.pp-footer-link{color:var(--pp-accent)}.pp-footer{border-top:1px solid var(--pp-line);padding:20px 16px}.pp-footer-inner{max-width:720px;color:var(--pp-muted);flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 auto;font-size:14px;display:flex}.pp-footer-link{text-decoration:none}@media (min-width:640px){.pp-title{font-size:34px}}.pp-paywall{background:color-mix(in srgb, var(--pp-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--pp-accent) 45%, var(--pp-line));border-radius:14px;margin:14px 0 0;padding:16px}.pp-paywall-title{color:var(--pp-text);margin:0 0 6px;font-size:18px;font-weight:700}.pp-paywall-text{color:var(--pp-text);margin:0 0 8px;font-size:15px;line-height:1.45}.pp-paywall-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.pp-paywall-actions .pp-btn-primary{margin-left:0}.pp-library-list{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.pp-library-item{border:1px solid var(--pp-line);border-radius:12px}.pp-library-link{color:inherit;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.pp-library-link:hover{background:color-mix(in srgb, var(--pp-accent) 8%, transparent)}.pp-library-h{color:var(--pp-text);font-size:17px;font-weight:700}.pp-library-d{color:var(--pp-muted);font-size:14px;line-height:1.4}.pp-article .pp-title{margin-top:6px}.pp-article-bullets{color:var(--pp-text);margin:14px 0 0;padding-left:22px;font-size:16px;line-height:1.5}.pp-article-bullets li{margin:6px 0}.pp-article-cta{flex-direction:column;align-items:flex-start;gap:8px;margin:20px 0 8px;display:flex}.pp-cta-link{margin-left:0;text-decoration:none;display:inline-block}.pp-faq{flex-direction:column;gap:12px;display:flex}.pp-faq-item h3{color:var(--pp-text);margin:0 0 4px;font-size:16px}.pp-faq-item p{color:var(--pp-muted);margin:0;font-size:15px;line-height:1.45}.pp-related{flex-wrap:wrap;gap:8px 14px;margin:22px 0 8px;font-size:14px;display:flex}.pp-related-label{color:var(--pp-muted)}.pp-related a{color:var(--pp-accent);text-decoration:none}.pp-related a:hover{text-decoration:underline}
