/* Phone-only product layout: desktop browsers show this same narrow phone canvas. */
body{background:#f7f8fb}
.app-shell{width:100%;max-width:480px;margin:0 auto;padding:0 15px}
.topbar{height:62px}
.intro{display:none}
.intro-copy{max-width:none}
.intro h1{font-size:29px;line-height:1.35}
.intro-text{max-width:350px;font-size:11px;line-height:1.7}
.hero-art{display:none}
.finder-card{width:100%;max-width:none;margin:0;padding:20px 16px 18px;border-radius:14px}
.entrance-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 21px}
.entrance-option{min-height:82px;padding:9px 7px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.entrance-icon{width:29px;height:29px;flex-basis:29px;border-radius:8px}
.entrance-name{font-size:10px}
.entrance-desc{font-size:8px}
.radio-dot{right:7px;top:7px;width:11px;height:11px}
.card-heading,.query-heading{gap:9px}
.card-heading h2,.query-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{width:100%;max-width:none;margin:14px auto 0;padding:18px 16px;border-radius:14px}
.candidate-heading h2{margin:0 0 5px;font-size:17px;color:#202b3a}
.candidate-heading p,.candidate-privacy{margin:0;color:#718096;font-size:12px;line-height:1.6}
.candidate-list{display:grid;gap:8px;margin:16px 0 10px}
.candidate-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:0 14px;border:1px solid #e3e9f1;border-radius:10px;background:#fff;color:#27364a;font-size:15px;font-weight:700;text-align:left}
.candidate-option:disabled{opacity:.65}
.candidate-option span:last-child{font-size:24px;color:#7790b5}
.result-title{font-size:17px}
.map-frame{max-height:none;overflow:hidden}
.map-frame img{width:100%;height:auto}
.map-compass{position:absolute;z-index:2;top:8px;left:8px;width:136px;height:106px;box-sizing:border-box;padding:4px;display:grid;grid-template-columns:42px 42px 42px;grid-template-rows:25px 42px 25px;place-items:center;border:1px solid #d8e0ea;border-radius:13px;background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(40,55,80,.12);color:#35445a}
.map-compass span{display:flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap;line-height:1}
.map-compass b{font-size:10px;font-weight:800}
.map-compass small{font-size:7px;color:#738096}
.compass-west{grid-row:1;grid-column:2}
.compass-south{grid-row:2;grid-column:1}
.compass-north{grid-row:2;grid-column:3;flex-direction:column}
.compass-east{grid-row:3;grid-column:2}
.compass-west,.compass-east{flex-direction:row}
.compass-rose{grid-row:2;grid-column:2;width:37px;height:37px;fill:none;stroke:#8795a8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.compass-rose .compass-north-arrow{stroke:#ed6257;stroke-width:2.8}
.map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.map-overlay .route-path{fill:none;stroke:#1677ff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #fff)}
.map-overlay .marker-bg{fill:#f58235;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke}
.map-overlay .entrance-pin.active .marker-bg{fill:#ff741c;stroke:#1677ff;stroke-width:4}
.map-overlay .person-head,.map-overlay .person-body{fill:#fff;stroke:none}
.map-overlay .space-pin .marker-bg{fill:#19a66a;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke}
.map-overlay .car-body{fill:#fff;stroke:none}
.map-overlay .car-window{fill:#83d7ae;stroke:none}
.map-overlay .car-detail{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.map-overlay .car-wheel{fill:#16714b;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.map-overlay text{font:700 60px sans-serif;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:18px;stroke-linejoin:round;fill:#26364b}
.map-overlay .entrance-label,.map-overlay .space-label{font-size:68px}
.map-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:9px 2px 0;color:#748197;font-size:9px}
.map-key span{display:inline-flex;align-items:center;gap:4px}
.map-key-dot{width:9px;height:9px;border-radius:50%;display:inline-block;border:1px solid #fff;box-shadow:0 0 0 1px #d8dee9}
.map-key-dot.entrance{background:#f58235}
.map-key-dot.car{background:#19a66a}
.map-key-line{width:16px;height:3px;border-radius:2px;background:#1677ff;display:inline-block}
.map-caption{font-size:8px}
.page-footer{margin:19px auto 20px;font-size:8px}
