:root{font-family:'DM Sans','Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#202b3a;background:#f7f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;font-weight:400;--ink:#202b3a;--muted:#8390a2;--blue:#2869e8;--line:#e8edf4;--teal:#12a28c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 76% 7%,rgba(222,233,255,.55),transparent 28rem),#f7f8fb}.app-shell{width:min(100% - 42px,1160px);margin:0 auto}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(211,219,231,.6)}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#eaf0ff;color:#2869e8}.brand-mark svg{width:25px;fill:currentColor}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:15px;font-weight:700;letter-spacing:.04em}.brand-copy small{color:#8996a7;font-size:10px;letter-spacing:.1em}.topbar-right{font-size:12px;color:#718096;display:flex;gap:8px;align-items:center}.secure-dot{width:7px;height:7px;border-radius:50%;background:#39c49e;box-shadow:0 0 0 4px #ddf6ee}.intro{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:250px;padding:31px 62px 22px 44px;overflow:hidden}.intro-copy{position:relative;z-index:1}.eyebrow{margin:0 0 11px;color:#7290c8;font-size:10px;letter-spacing:.2em;font-weight:700}.intro h1{margin:0;font-size:36px;line-height:1.34;letter-spacing:-.035em;font-weight:700}.intro h1 span{color:var(--blue)}.intro-text{max-width:490px;margin:10px 0 0;color:#7c899b;font-size:13px;line-height:1.8}.hero-art{position:relative;width:235px;height:190px;margin-right:30px;display:grid;place-items:center}.hero-orbit{position:absolute;border:1px solid #dbe6fa;border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:228px;height:112px}.orbit-two{width:190px;height:152px;transform:rotate(35deg);border-color:#e5eafa}.hero-pin{position:absolute;left:42px;top:38px;width:39px;height:47px;background:#f1864f;border-radius:22px 22px 22px 4px;transform:rotate(-45deg);box-shadow:0 7px 17px #f1864f44;display:grid;place-items:center}.hero-pin svg{width:21px;fill:#fff;transform:rotate(45deg)}.hero-car{width:102px;height:68px;border-radius:22px;background:linear-gradient(145deg,#fff,#edf3ff);box-shadow:0 13px 30px #4b6eac20;display:grid;place-items:center;transform:rotate(-9deg);z-index:1}.hero-car svg{width:60px;fill:#3678e9}.hero-label{position:absolute;right:-11px;bottom:28px;padding:8px 12px;border:1px solid #e8edf6;background:#fff;border-radius:9px;font-size:10px;color:#74839a;box-shadow:0 4px 14px #435a8010}.finder-card{position:relative;max-width:780px;margin:0 auto;padding:27px 34px 23px;background:#fff;border:1px solid #ecf0f5;border-radius:17px;box-shadow:0 12px 44px rgba(39,58,91,.055)}.card-heading,.query-heading{display:flex;gap:13px;align-items:flex-start}.step-number{margin-top:1px;color:#adc0df;font-size:11px;font-weight:700;letter-spacing:.12em}.card-heading h2,.query-heading h2{margin:0;font-size:15px;font-weight:700;letter-spacing:.005em}.card-heading p,.query-heading p{margin:4px 0 0;color:#97a2b2;font-size:11px}.entrance-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 24px}.entrance-option{position:relative;min-height:65px;padding:11px 12px;display:flex;align-items:center;gap:10px;border:1px solid #e9edf3;border-radius:11px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.entrance-option:hover{border-color:#b7cafa}.entrance-option[aria-checked=true]{border-color:#4d82ed;background:#f6f9ff;box-shadow:0 0 0 2px #e6eeff}.entrance-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#f0f4fb;color:#647da8;display:grid;place-items:center}.entrance-option[aria-checked=true] .entrance-icon{background:#e7efff;color:#2869e8}.entrance-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.entrance-name{font-size:11px;font-weight:600;line-height:1.45}.entrance-desc{display:block;margin-top:3px;color:#9aa5b5;font-size:9px;font-weight:400}.radio-dot{position:absolute;right:10px;top:10px;width:13px;height:13px;border:1px solid #d6deea;border-radius:50%}.entrance-option[aria-checked=true] .radio-dot{border:4px solid var(--blue)}.query-heading{margin-bottom:14px}.plate-control{height:54px;display:flex;align-items:center;border:1px solid #dfe5ee;border-radius:10px;transition:border-color .18s,box-shadow .18s}.plate-control:focus-within{border-color:#80a4ef;box-shadow:0 0 0 3px #eaf0ff}.plate-control.invalid{border-color:#ec7777}.plate-prefix{width:63px;text-align:center;color:#7890b5;font-size:11px;border-right:1px solid #e6ebf1}.plate-control input{height:100%;flex:1;min-width:0;border:0;outline:0;padding:0 14px;color:#273449;background:transparent;font:600 15px 'DM Sans','Noto Sans SC',sans-serif;letter-spacing:.04em}.plate-control input::placeholder{font-weight:400;color:#bdc5d0;letter-spacing:0}.clear-button{width:35px;height:35px;margin-right:8px;border:0;border-radius:50%;background:#f0f3f7;color:#8b98aa;font-size:20px;cursor:pointer}.field-meta{height:25px;padding:6px 1px 0;display:flex;justify-content:space-between;color:#a3adbb;font-size:10px}.search-button{height:49px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;background:linear-gradient(100deg,#3478ed,#2862dc);box-shadow:0 7px 16px #3478ed2b;color:#fff;font:600 13px 'Noto Sans SC',sans-serif;cursor:pointer;transition:transform .16s,box-shadow .16s}.search-button:hover{box-shadow:0 9px 20px #3478ed45;transform:translateY(-1px)}.search-button:disabled{opacity:.72;cursor:wait;transform:none}.search-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.privacy-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 0;color:#a0aab8;font-size:10px}.privacy-note svg{width:13px;height:13px;fill:none;stroke:#a0aab8;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.result-card{max-width:780px;margin:16px auto 0;padding:21px 23px;background:#fff;border:1px solid #ecf0f5;border-radius:16px;box-shadow:0 10px 32px rgba(39,58,91,.045);animation:arrive .3s ease both}.result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.result-kicker{margin:0 0 5px;color:#9aa6b6;font-size:10px;letter-spacing:.08em}.result-title{margin:0;font-size:19px;font-weight:700;letter-spacing:.02em}.result-subtitle{margin:6px 0 0;color:#7c899a;font-size:11px;line-height:1.6}.floor-badge{padding:6px 10px;border-radius:7px;background:#eff6f4;color:#139277;font-size:10px;font-weight:700;white-space:nowrap}.result-divider{height:1px;margin:16px 0;border:0;background:#edf0f4}.result-info{display:flex;align-items:center;gap:10px;margin-bottom:14px}.result-info-icon{width:34px;height:34px;border-radius:10px;background:#fff2e9;color:#e17a40;display:grid;place-items:center}.result-info-icon svg{width:19px;height:19px;fill:currentColor}.result-info-label{font-size:10px;color:#929eaf}.result-info-value{font-size:13px;font-weight:700;margin-top:2px}.map-frame{position:relative;width:100%;overflow:hidden;border:1px solid #e7ebf0;border-radius:11px;background:#f1f3f6}.map-frame img{display:block;width:100%;height:auto}.map-caption{display:flex;justify-content:space-between;gap:12px;margin:9px 2px 0;color:#98a3b2;font-size:9px}.map-caption strong{color:#69788d;font-weight:500}.no-route{padding:15px 14px;display:flex;align-items:flex-start;gap:11px;border-radius:10px;background:#f5f8fd;border:1px solid #edf2f9}.no-route-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;color:#6083c3;background:#e8effb;flex:0 0 29px}.no-route-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.no-route strong{font-size:11px}.no-route p{margin:4px 0 0;color:#8491a3;font-size:10px;line-height:1.65}.result-footnote{margin:12px 0 0;color:#a0aab8;font-size:9px;line-height:1.6}.search-again{margin-top:13px;padding:7px 11px;border:1px solid #e4eaf2;border-radius:7px;background:#fff;color:#6980a6;font:500 10px 'Noto Sans SC',sans-serif;cursor:pointer}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,10px);padding:10px 15px;border-radius:9px;background:#26354a;color:#fff;font-size:11px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:0 6px 22px #1e2d4430;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.page-footer{display:flex;justify-content:space-between;max-width:780px;margin:24px auto 26px;color:#adb6c3;font-size:9px;letter-spacing:.035em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:700px){.app-shell{width:min(100% - 30px,520px)}.topbar{height:66px}.brand-mark{width:36px;height:36px}.topbar-right{font-size:10px}.intro{min-height:195px;padding:23px 0 20px}.intro h1{font-size:29px}.intro-text{max-width:320px;font-size:11px}.hero-art{width:133px;height:145px;margin-right:0;transform:scale(.78);transform-origin:center right}.hero-label{right:-9px;bottom:5px;font-size:9px;white-space:nowrap}.hero-pin{left:17px;top:19px}.finder-card{padding:21px 18px 18px;border-radius:14px}.entrance-list{gap:7px;margin:15px 0 21px}.entrance-option{min-height:84px;padding:10px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.entrance-icon{width:29px;height:29px;flex-basis:29px;border-radius:8px}.entrance-icon svg{width:17px}.entrance-name{font-size:10px}.entrance-desc{font-size:8px}.radio-dot{right:7px;top:7px;width:11px;height:11px}.query-heading h2,.card-heading h2{font-size:14px}.card-heading p,.query-heading p{font-size:10px}.plate-control{height:51px}.plate-control input{font-size:14px}.search-button{height:47px}.result-card{padding:18px 16px}.result-title{font-size:17px}.map-caption{font-size:8px}.page-footer{margin-top:20px;font-size:8px}}@media(max-width:390px){.intro h1{font-size:26px}.intro-text{max-width:270px;font-size:10px}.hero-art{width:110px;transform:scale(.68);margin-right:-5px}.entrance-option{padding:8px 6px}.entrance-name{font-size:9px}.entrance-desc{font-size:7px}.card-heading,.query-heading{gap:9px}}

.help-dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(24,35,52,.48);backdrop-filter:blur(3px)}
.help-dialog{position:relative;width:min(100%,390px);padding:28px 24px 23px;border:1px solid #e7edf5;border-radius:17px;background:#fff;box-shadow:0 22px 70px rgba(23,40,68,.22);text-align:center;animation:arrive .2s ease both}
.help-dialog-close{position:absolute;top:12px;right:13px;width:32px;height:32px;border:0;border-radius:50%;background:#f1f4f8;color:#75839a;font-size:22px;line-height:1;cursor:pointer}
.help-dialog-eyebrow{margin:0 0 8px;color:#6688c5;font-size:11px;letter-spacing:.08em;font-weight:700}
.help-dialog h2{margin:0;color:#243248;font-size:18px}
.help-dialog-message{margin:12px 0 18px;color:#78879c;font-size:13px;line-height:1.75}
.help-dialog-call{display:flex;min-height:48px;align-items:center;justify-content:center;border-radius:10px;background:#2869e8;color:#fff;text-decoration:none;font-size:16px;font-weight:700;letter-spacing:.03em}
.help-dialog-note{margin:12px 0 0;color:#9aa5b4;font-size:10px}
