:root{--bg: #f6f8f7;--card: #ffffff;--primary: #0f8f6f;--primary-strong: #0b7a5f;--accent-a: #00c2a8;--accent-b: #16a34a;--text-primary: #0f172a;--text-secondary: #64748b;--shadow-soft: 0 10px 30px rgba(0, 0, 0, .05);--radius-card: 20px;--radius-btn: 16px;--radius-input: 16px;--radius-chip: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--transition-base: .18s cubic-bezier(.2, .8, .2, 1);font-family:Pretendard,Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary);background:var(--bg)}*{box-sizing:border-box}body{margin:0;color:var(--text-primary);background:radial-gradient(1100px 480px at 5% -10%,rgba(0,194,168,.1),transparent 70%),radial-gradient(900px 440px at 100% 0%,rgba(22,163,74,.1),transparent 68%),var(--bg)}button,a,select,input{font-family:inherit}button,a{transition:transform var(--transition-base),filter var(--transition-base),background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}button:hover,a:hover{filter:brightness(1.05)}button:active,a:active{transform:scale(.97)}.page{max-width:1680px;margin:0 auto;padding:var(--sp-7) var(--sp-5) calc(var(--sp-8) + 120px)}.hero-search{margin:0 auto var(--sp-6);text-align:center;max-width:900px}.hero-search h1{margin:0;font-size:clamp(2rem,3.2vw,2.6rem);line-height:1.08;letter-spacing:-.03em}.hero-search p{margin:var(--sp-3) 0 var(--sp-5);color:var(--text-secondary);font-size:16px}.hero-search-form{display:grid;grid-template-columns:1fr auto;gap:var(--sp-3);align-items:center}.hero-search-form input{width:100%;height:64px;border:0;border-radius:var(--radius-input);padding:0 var(--sp-5);background:#fffffff2;box-shadow:var(--shadow-soft);color:var(--text-primary);font-size:18px;outline:none}.hero-search-form input::placeholder{color:#8fa0b5}.hero-search-form button{height:64px;border:0;border-radius:var(--radius-btn);padding:0 var(--sp-6);font-size:16px;font-weight:700;color:#fff;background:linear-gradient(120deg,var(--accent-a),var(--accent-b));box-shadow:var(--shadow-soft);cursor:pointer}.hero-search-form button:disabled{opacity:.6;cursor:not-allowed}.hero-chip-row{margin-top:var(--sp-4);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-2)}.hero-chip{border:0;border-radius:var(--radius-chip);padding:10px 14px;font-size:14px;font-weight:600;color:#18634f;background:#e8f4f0;cursor:pointer}.discovery-shell{display:grid;grid-template-columns:minmax(280px,340px) minmax(520px,1fr) minmax(320px,420px);gap:var(--sp-4);align-items:start}.filter-column,.map-column,.results-column{min-height:600px}.panel-card,.map-column,.results-column{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.filter-column{display:grid;gap:var(--sp-4)}.panel-card{padding:var(--sp-5)}.panel-card h2{margin:0 0 var(--sp-4);font-size:24px;letter-spacing:-.02em}.filter-grid{display:grid;gap:var(--sp-4)}.filter-block{display:grid;gap:var(--sp-2)}.filter-block>span{font-size:13px;color:var(--text-secondary)}.pill-group{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.pill-group.two{display:grid;grid-template-columns:1fr 1fr}.pill-btn{border:0;border-radius:var(--radius-chip);padding:10px 14px;background:#edf2f0;color:#2a3f3a;font-size:13px;font-weight:700;cursor:pointer}.pill-btn.is-active{background:#d8f4eb;color:#0c6a52}.brand-chip-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.brand-chip{border:0;border-radius:var(--radius-btn);padding:11px 12px;background:#eef3f2;color:#44515f;font-size:13px;font-weight:700;cursor:pointer}.brand-chip.is-active{background:linear-gradient(120deg,#00c2a82e,#16a34a33);color:#0f664f}.location-row{margin-top:var(--sp-4);display:grid;grid-template-columns:auto 1fr;gap:var(--sp-3);align-items:center}.location-row div{display:grid;gap:var(--sp-1)}.location-row small{font-size:13px;color:var(--text-secondary)}.location-row strong{font-size:14px;font-weight:700}.secondary-btn{border:0;border-radius:var(--radius-btn);height:42px;padding:0 var(--sp-4);background:#eef3f2;color:#305551;font-size:13px;font-weight:700;cursor:pointer}.recent-query-row{margin-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:var(--sp-2)}.recent-chip{border:0;border-radius:var(--radius-chip);background:#f0f4f8;color:#4d667f;padding:8px 12px;font-size:12px;cursor:pointer}.preview-panel{display:grid;gap:var(--sp-2)}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.preview-panel h3{margin:0;font-size:20px}.preview-panel p{margin:0;font-size:14px;color:var(--text-secondary)}.map-column{padding:var(--sp-4)}.map-head,.results-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-3)}.map-head h2,.results-head h2{margin:0;font-size:24px;letter-spacing:-.02em}.map-head p,.results-head p{margin:0;color:var(--text-secondary);font-size:13px}.results-head{align-items:flex-start}.results-head-actions{display:flex;align-items:center;gap:10px}.results-scope-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:#edf3f1}.ghost{border:0;border-radius:999px;background:#fff;color:#2f4c46;font-size:12px;font-weight:700;height:34px;min-width:72px;padding:0 12px;cursor:pointer;box-shadow:inset 0 0 0 1px #0f8f6f24}.results-scope-toggle .ghost.active{background:linear-gradient(120deg,#00c2a8,#16a34a);color:#fff;box-shadow:0 8px 20px #0f8f6f3d}.results-scope-toggle .ghost:disabled{cursor:not-allowed;opacity:.45;box-shadow:inset 0 0 0 1px #64748b33}.results-scope-note{margin-bottom:var(--sp-3);border-radius:12px;padding:10px 12px;background:#f3faf8;color:#3e5a54;font-size:12px}.kmap-shell{position:relative;min-height:620px;border-radius:18px;overflow:hidden;background:linear-gradient(140deg,#00c2a826,#16a34a1f)}.kmap-canvas{width:100%;height:620px}.kmap-controls{position:absolute;top:12px;right:12px;z-index:8;display:grid;gap:8px}.kmap-controls button{border:0;border-radius:12px;min-width:40px;height:40px;background:#fffffff2;color:#1e293b;font-size:18px;font-weight:800;box-shadow:var(--shadow-soft);cursor:pointer}.kmap-controls .locate{font-size:12px;font-weight:700;min-width:92px;padding:0 10px;color:#0f664f}.kmap-state{position:absolute;left:16px;bottom:16px;z-index:9;border-radius:999px;background:#fffffff5;padding:8px 12px;font-size:12px;color:#475569;box-shadow:var(--shadow-soft)}.kmap-state.error{color:#b91c1c;background:#fef2f2f5}.kmap-route-pin{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0f8f6f;color:#fff;border:2px solid #ffffff;font-size:13px;font-weight:800;box-shadow:0 8px 18px #0f8f6f59}.preview-actions{margin-top:var(--sp-2);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.ghost-link{text-decoration:none;border:0;border-radius:var(--radius-chip);background:#e9f4ef;color:#1d6b56;font-size:12px;font-weight:700;padding:8px 12px;cursor:pointer}.ghost-link.danger{background:#fce9e9;color:#b91c1c}.map-footnote{margin-top:var(--sp-3);display:grid;gap:var(--sp-1)}.map-footnote p{margin:0;font-size:12px;color:var(--text-secondary)}.results-column{display:grid;grid-template-rows:auto 1fr;padding:var(--sp-4);min-height:680px}.results-list{overflow:auto;display:grid;gap:var(--sp-3);padding-right:2px}.result-section{display:grid;gap:10px}.result-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.result-section-head h3{margin:0;font-size:15px;letter-spacing:-.01em}.result-section-head span{font-size:12px;font-weight:700;color:var(--text-secondary)}.result-section-note{margin:-2px 0 2px;color:var(--text-secondary);font-size:12px}.result-card{border-radius:18px;padding:var(--sp-4);background:#fdfefe;box-shadow:inset 0 0 0 1px #0f8f6f14;display:grid;gap:var(--sp-3)}.result-main h3{margin:0;font-size:20px;line-height:1.25;letter-spacing:-.01em}.result-main p{margin:var(--sp-2) 0 0;font-size:24px;font-weight:800}.result-store{display:grid;gap:4px}.result-store strong{font-size:15px;line-height:1.3;color:var(--text-primary)}.result-store span{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-secondary);font-size:13px}.inventory-dot{border-radius:var(--radius-chip);padding:4px 8px;color:#fff}.marker--green{background:#16a34a}.marker--orange{background:#f59e0b}.marker--gray{background:#94a3b8}.result-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.result-badges{display:inline-flex;align-items:center;gap:var(--sp-2)}.promo-badge{display:inline-flex;align-items:center;border-radius:var(--radius-chip);padding:7px 10px;background:#e5f7f3;color:#046d53;font-size:12px;font-weight:800}.dev-source-badge{display:inline-flex;align-items:center;border-radius:var(--radius-chip);padding:6px 8px;background:#f3f4f6;color:#64748b;font-size:11px;font-weight:700}.add-btn{border:0;border-radius:var(--radius-btn);height:40px;min-width:86px;background:#0f8f6f;color:#fff;font-size:14px;font-weight:700;cursor:pointer}.results-empty{border-radius:16px;padding:var(--sp-4);background:#f4f7f8;color:var(--text-secondary);font-size:14px}.floating-cart{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:45;border:0;border-radius:var(--radius-btn);min-height:62px;padding:10px 18px;display:grid;gap:2px;text-align:left;color:#fff;background:linear-gradient(135deg,#0f8f6f,#16a34a);box-shadow:0 16px 30px #0b7a5f59;cursor:pointer}.floating-cart span{font-size:14px}.floating-cart strong{font-size:18px}.cart-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061757;opacity:0;pointer-events:none;transition:opacity var(--transition-base);z-index:60}.cart-backdrop.show{opacity:1;pointer-events:auto}.cart-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,104%);width:min(980px,calc(100% - 24px));height:min(86vh,900px);border-radius:24px 24px 0 0;background:var(--card);box-shadow:0 -18px 44px #0f172a33;transition:transform var(--transition-base);z-index:70;display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;padding:18px 20px 16px;gap:12px}.cart-sheet.show{transform:translate(-50%)}.cart-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.cart-sheet h2{margin:0;font-size:24px;letter-spacing:-.02em}.cart-sheet p{margin:6px 0 0;color:var(--text-secondary);font-size:14px}.close-btn{border:0;border-radius:var(--radius-chip);background:#eef2f3;color:#44525d;font-size:13px;font-weight:700;height:36px;padding:0 12px;cursor:pointer}.membership-config{border-radius:16px;background:#f8fbfa;padding:12px;display:grid;gap:10px}.membership-config-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.membership-config-head strong{font-size:14px}.membership-config-head span{font-size:12px;color:var(--text-secondary)}.membership-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.membership-controls label{display:grid;gap:6px}.membership-controls span{font-size:12px;color:var(--text-secondary)}.membership-controls select{width:100%;height:36px;border:0;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #94a3b84d;padding:0 10px;color:#0f172a}.membership-rate-row{display:flex;flex-wrap:wrap;gap:8px}.membership-rate-row span{font-size:12px;font-weight:700;color:#0f664f;background:#e5f7f2;border-radius:999px;padding:6px 10px}.membership-rate-row.empty{font-size:12px;color:var(--text-secondary)}.cart-list{overflow:auto;display:grid;gap:10px;align-content:start}.cart-item{border-radius:16px;padding:12px;background:#f8fbfa;display:grid;gap:10px}.cart-item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.cart-item-head strong{font-size:16px}.cart-item-body{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-3);align-items:center}.qty-stepper{display:inline-flex;align-items:center;border-radius:var(--radius-chip);background:#eaf0ef;overflow:hidden}.qty-stepper button{border:0;width:30px;height:30px;background:transparent;color:#334155;font-size:16px;cursor:pointer}.qty-stepper span{min-width:32px;text-align:center;font-size:14px;font-weight:700}.price-input-wrap{display:grid;gap:var(--sp-1)}.price-input-wrap span{font-size:12px;color:var(--text-secondary)}.price-input-wrap input{width:100%;height:38px;border:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #94a3b847;padding:0 12px;color:var(--text-primary)}.route-cta{display:grid;gap:10px;align-content:start}.route-btn{border:0;border-radius:var(--radius-btn);height:48px;background:linear-gradient(120deg,var(--accent-a),var(--accent-b));color:#fff;font-size:16px;font-weight:800;cursor:pointer}.route-btn:disabled{cursor:not-allowed;opacity:.6}.route-summary-panel{border-radius:16px;padding:12px;background:#f1faf7;display:grid;gap:10px}.route-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-summary-head strong{font-size:16px}.route-summary-head span{font-size:13px;color:#0f5f4d}.route-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-summary-grid div{display:grid;gap:4px}.route-summary-grid small{font-size:12px;color:#0f5f4d;opacity:.8}.route-summary-grid strong{font-size:16px;color:#0c4f3f}.route-summary-empty-discount{font-size:13px;color:var(--text-secondary)}.route-unresolved-panel{border-radius:16px;padding:12px;background:#fff8f1;display:grid;gap:8px}.route-unresolved-panel strong{font-size:14px;color:#b45309}.route-unresolved-panel ul{margin:0;padding-left:18px;color:#7c2d12;font-size:13px}.route-steps-panel{border-radius:16px;background:#f8fafc;padding:12px;display:grid;gap:8px}.route-steps-head strong{font-size:16px}.route-steps-list{max-height:250px;overflow:auto;display:grid;gap:10px}.route-step-card{border-radius:14px;background:#fff;padding:10px;display:grid;gap:8px;box-shadow:inset 0 0 0 1px #94a3b82e}.route-step-title{border:0;padding:0;background:transparent;text-align:left;display:grid;gap:2px;cursor:pointer}.route-step-title span{font-size:12px;color:#64748b}.route-step-title strong{font-size:16px;color:#0f172a}.route-step-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#64748b}.route-step-items{margin:0;padding:0;list-style:none;display:grid;gap:8px}.route-step-items li{border-radius:12px;background:#f8fbfd;padding:8px;display:grid;gap:6px}.route-item-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-item-title-row strong{font-size:13px}.route-item-title-row span{font-size:12px;color:#64748b}.route-item-meta-row{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#64748b}.route-item-meta-row strong{color:#0f172a}.route-step-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,20px);background:#0f172a;color:#fff;border-radius:var(--radius-chip);padding:10px 16px;font-size:13px;opacity:0;pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-base);z-index:95}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:1360px){.discovery-shell{grid-template-columns:minmax(260px,300px) minmax(460px,1fr) minmax(300px,380px)}}@media(max-width:1080px){.page{padding:var(--sp-6) var(--sp-4) calc(58vh + 120px)}.hero-search-form{grid-template-columns:1fr}.discovery-shell{display:block}.filter-column,.map-column{margin-bottom:var(--sp-4)}.kmap-shell,.kmap-canvas{min-height:470px;height:470px}.results-column{position:fixed;left:0;right:0;bottom:0;z-index:32;min-height:44vh;max-height:52vh;border-radius:24px 24px 0 0;box-shadow:0 -12px 32px #0f172a29;padding:var(--sp-4) var(--sp-4) calc(var(--sp-6) + 34px)}.floating-cart{right:var(--sp-4);bottom:calc(52vh + var(--sp-3));z-index:40}.cart-sheet{width:100%;border-radius:24px 24px 0 0;padding:14px;gap:10px}}@media(max-width:760px){.hero-search h1{font-size:32px}.results-head{gap:8px}.results-head-actions{width:100%;justify-content:space-between}.results-scope-toggle .ghost{min-width:66px;padding:0 10px}.map-head h2,.results-head h2,.panel-card h2,.cart-sheet h2{font-size:20px}.result-main h3{font-size:18px}.result-main p{font-size:21px}.cart-item-body{grid-template-columns:1fr;justify-items:start}.route-summary-grid,.membership-controls{grid-template-columns:1fr}}
