:root{--green:#00a05b;--green-dark:#00834a;--orange:#f08c00;--ink:#1b2430;--muted:#5f6b7a;--line:#e3e7ec;--bg:#fff;--notice-bg:#fff7e0;color:var(--ink);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overscroll-behavior:none}button,input{font:inherit;color:inherit}.app{flex-direction:column;max-width:640px;height:100dvh;margin:0 auto;display:flex}.search-panel{z-index:20;padding:12px 12px 10px;padding-top:max(12px, env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line);gap:8px;display:grid;position:relative}.field-row{gap:8px;display:flex}.field{border:1px solid var(--line);background:#f6f8fa;border-radius:10px;flex:1;align-items:center;min-width:0;display:flex;position:relative}.field:focus-within{border-color:var(--green);background:var(--bg)}.field-marker{color:var(--green-dark);flex:none;padding-left:12px;font-size:13px;font-weight:700}.field input{appearance:none;background:0 0;border:0;outline:0;flex:1;min-width:0;height:44px;padding:0 12px 0 8px;font-size:16px}.field input[readonly]{color:var(--green-dark);font-weight:600}.me-button{border:1px solid var(--line);background:var(--bg);width:44px;height:46px;color:var(--green-dark);border-radius:10px;flex:none;font-size:20px;line-height:1}.results{border:1px solid var(--line);background:var(--bg);border-radius:10px;max-height:46dvh;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000024}.results button{text-align:left;background:0 0;border:0;gap:2px;width:100%;padding:10px 14px;display:grid}.results button:active{background:#f0f3f6}.results strong{font-size:15px;font-weight:600}.results small,.results-empty{color:var(--muted);font-size:13px}.results-empty{padding:12px 14px}.notice{background:var(--notice-bg);border-radius:8px;margin:0;padding:8px 10px;font-size:13px;line-height:1.4}.map-area{flex:1;min-height:0;position:relative}.map{background:#eef1f4;width:100%;height:100%}.map-message{text-align:center;color:var(--muted);place-items:center;margin:0;padding:24px;display:grid;position:absolute;inset:0}.endpoint-pin{color:#fff;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700;transform:translateY(-6px);box-shadow:0 2px 6px #0000004d}.endpoint-pin:after{content:"";background:inherit;z-index:-1;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.endpoint-origin{background:#2b6fe0}.endpoint-dest{background:#d93a3a}.station-pin{background:var(--green);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:15px;place-items:center;min-width:30px;height:30px;padding:0 6px;font-size:13px;font-weight:700;display:grid;position:relative;box-shadow:0 1px 4px #00000059}.station-empty{background:#9aa4af}.station-rent,.station-return{border-width:3px;border-radius:19px;min-width:38px;height:38px;font-size:15px}.station-rent{background:var(--green-dark);outline:3px solid #00a05b59}.station-return{background:var(--orange);outline:3px solid #f08c0059}.station-role{background:var(--ink);white-space:nowrap;border-radius:8px;padding:1px 6px;font-size:11px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.station-popup{background:var(--bg);white-space:normal;border-radius:10px;gap:6px;min-width:170px;max-width:240px;padding:10px 12px;font-size:13px;display:grid;box-shadow:0 4px 16px #00000040}.station-popup strong{font-size:14px;line-height:1.3}.station-popup-count{color:var(--muted)}.station-popup button{background:var(--green);color:#fff;border:0;border-radius:8px;height:36px;font-weight:700}.status{padding:16px 12px;padding-bottom:max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;gap:12px;margin:0;font-size:14px;display:flex}.status button{border:1px solid var(--line);background:var(--bg);height:34px;color:var(--ink);border-radius:8px;padding:0 12px;font-weight:600}.result-card{padding:14px 14px 12px;padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);gap:8px;display:grid}.result-card p,.result-card dl{margin:0}.total{font-size:20px;font-weight:800}.legs{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:14px;display:flex}.leg-bike{color:var(--green-dark);font-weight:700}.stations{grid-template-columns:auto 1fr;gap:4px 10px;font-size:14px;display:grid}.stations dt{color:var(--muted);font-weight:700}.stations dd{overflow-wrap:anywhere;margin:0}.actions{gap:8px;margin-top:2px;display:flex}.actions .primary,.actions .secondary{border-radius:12px;place-items:center;height:48px;font-size:16px;font-weight:700;text-decoration:none;display:grid}.actions .primary{color:#191919;background:#fee500;flex:1}.actions .secondary{border:1px solid var(--line);background:var(--bg);padding:0 14px;font-size:14px}
