:root{--primary:#1268dd;--primary-dark:#0d54b8;--primary-soft:#e8f1fd;--teal:#0e9488;--green:#0f9d58;--green-soft:#e6f6ee;--red:#d93025;--amber:#f5a623;--ink:#101828;--gray500:#667085;--gray300:#d0d5dd;--gray100:#eef2f6;--gray50:#f7fafd;--white:#fff;--radius:10px;--pill:999px;--shadow-card:0 1px 4px #10182814;--shadow-float:0 6px 20px #10182829;--font:"Helvetica Neue", Helvetica, "Hiragino Sans", "PingFang SC", "Apple SD Gothic Neo", Thonburi, Arial, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--white)}button{font-family:var(--font);cursor:pointer}a{color:inherit}.stage{height:100dvh;overflow:hidden}.screen{background:var(--white);width:100%;height:100%;position:relative;overflow:hidden}.mapbox{z-index:1;position:absolute;inset:0}.top-overlay{z-index:500;pointer-events:none;padding:14px 14px 0;position:absolute;top:0;left:0;right:0}.top-overlay>*{pointer-events:auto}.top-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.brand-pill{background:var(--white);border-radius:var(--pill);box-shadow:var(--shadow-card);letter-spacing:-.3px;align-items:center;gap:7px;padding:9px 14px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.brand-cross{background:var(--primary);border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.brand-cross:before{content:"＋";color:#fff;font-size:13px;font-weight:800}.brand-pill span{color:var(--primary)}.lang-btn{background:var(--white);border-radius:var(--pill);box-shadow:var(--shadow-card);border:none;align-items:center;gap:6px;padding:9px 14px;font-size:13.5px;font-weight:600;display:flex}.search-pill{background:var(--white);box-shadow:var(--shadow-float);border:2px solid #0000;border-radius:14px;align-items:center;gap:10px;margin-top:10px;padding:13px 14px;display:flex}.search-pill:focus-within{border-color:var(--primary)}.search-pill input{font-family:var(--font);width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-size:15px}.search-pill input::placeholder{color:var(--gray500)}.search-suggest{background:var(--white);box-shadow:var(--shadow-float);border-radius:14px;margin-top:6px;overflow:hidden}.sug-row{width:100%;font-family:var(--font);color:var(--ink);text-align:left;cursor:pointer;border:none;border-top:1px solid var(--gray100);background:0 0;align-items:center;gap:9px;padding:12px 14px;font-size:14px;display:flex}.sug-row:first-child{border-top:none}.sug-row:hover{background:var(--gray50)}.sug-ic{flex:none}.sug-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sug-sub{color:var(--gray500);flex:none;margin-left:auto;font-size:12px}.sug-area .sug-name{color:var(--primary);font-weight:600}.chips-row{scrollbar-width:none;gap:8px;margin-top:10px;padding-bottom:4px;display:flex;overflow-x:auto}.chips-row::-webkit-scrollbar{display:none}.chip{background:var(--white);border-radius:var(--pill);color:var(--ink);box-shadow:var(--shadow-card);border:none;flex:none;align-items:center;gap:6px;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.chip.active{background:var(--primary);color:var(--white)}.lang-menu{z-index:800;background:var(--white);box-shadow:var(--shadow-float);border-radius:14px;min-width:160px;position:absolute;top:56px;right:14px;overflow:hidden}.lang-opt{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.lang-opt:hover{background:var(--gray50)}.lang-opt .check{color:var(--primary);font-weight:700}.locate-btn{z-index:600;background:var(--white);width:46px;height:46px;box-shadow:var(--shadow-float);border:none;border-radius:50%;justify-content:center;align-items:center;transition:bottom .25s;display:flex;position:absolute;right:14px}.locate-btn.on svg circle{fill:var(--primary)}.sheet{background:var(--white);z-index:700;will-change:transform;border-radius:20px 20px 0 0;flex-direction:column;height:100%;transition:transform .28s cubic-bezier(.2,.8,.25,1);display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 -6px 24px #1018282e}.sheet.dragging{transition:none}.sheet-head{touch-action:none;cursor:grab;padding:8px 18px 0}.grab{background:var(--gray300);border-radius:2px;width:40px;height:4px;margin:4px auto 10px}.sheet-title-row{justify-content:space-between;align-items:center;display:flex}.sheet-title{letter-spacing:-.3px;font-size:16.5px;font-weight:700}.sheet-sub{color:var(--gray500);margin-top:2px;font-size:12.5px}.sort-tag{color:var(--primary);background:var(--primary-soft);border-radius:var(--pill);border:none;padding:6px 12px;font-size:12.5px;font-weight:600}.quick-row{gap:9px;margin-top:12px;display:flex}.quick-tile{color:var(--white);text-align:left;box-shadow:var(--shadow-card);border:none;border-radius:14px;flex:1;align-items:center;gap:10px;padding:12px 13px;transition:opacity .12s,transform .1s;display:flex}.quick-tile:active{opacity:.85;transform:scale(.98)}.quick-tile .qi{flex:none;font-size:24px}.quick-tile .qt{letter-spacing:-.2px;font-size:14px;font-weight:800;line-height:1.2}.quick-tile .qs{opacity:.88;margin-top:2px;font-size:10.5px;font-weight:500;line-height:1.3}.tile-visit{background:linear-gradient(135deg,#1268dd,#0d54b8)}.tile-online{background:linear-gradient(135deg,#0e9488,#0b7a70)}.filter-row{scrollbar-width:none;border-bottom:1px solid var(--gray100);gap:8px;margin-top:12px;padding-bottom:12px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.fchip{background:var(--white);border:1.5px solid var(--gray300);border-radius:var(--pill);color:var(--ink);flex:none;align-items:center;gap:5px;padding:7px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.fchip.active{background:var(--primary);border-color:var(--primary);color:var(--white)}.fchip select{font-family:var(--font);cursor:pointer;color:inherit;background:0 0;border:none;outline:none;max-width:110px;font-size:12.5px;font-weight:600}.fchip.active option{color:var(--ink)}.sheet-list{overscroll-behavior:contain;flex:1;padding:12px 16px 90px;overflow-y:auto}.card{border:1px solid var(--gray100);background:var(--white);box-shadow:var(--shadow-card);cursor:pointer;border-radius:14px;margin-bottom:12px;padding:14px}.card.highlight{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--shadow-float)}.card-top{gap:12px;display:flex}.thumb{background:var(--primary-soft);border-radius:12px;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.card-main{flex:1;min-width:0}.card-name{letter-spacing:-.2px;font-size:15.5px;font-weight:700;line-height:1.25}.card-meta{color:var(--gray500);margin-top:2px;font-size:12.5px}.rating-row{flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;font-size:12.5px;display:flex}.stars{color:var(--amber);letter-spacing:1px;font-size:11.5px}.rating-num{font-weight:700}.review-count{color:var(--gray500)}.open-badge{font-weight:700}.open-badge.open{color:var(--green)}.open-badge.closed{color:var(--red)}.open-badge.unknown{color:var(--gray500)}.dist-tag{color:var(--primary);align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.badges{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.badge{background:var(--gray50);color:#3c4657;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.badge.blue{background:var(--primary-soft);color:var(--primary-dark)}.badge.green{background:var(--green-soft);color:var(--green)}.card-actions{gap:8px;margin-top:11px;display:flex}.btn{border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px 14px;font-size:13.5px;font-weight:700;text-decoration:none;transition:opacity .12s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--white);flex:1}.btn-primary:active{opacity:.8}.btn-secondary{background:var(--primary-soft);color:var(--primary-dark)}.detail{z-index:900;background:var(--white);flex-direction:column;animation:.22s cubic-bezier(.2,.8,.25,1) up;display:flex;position:absolute;inset:0}@keyframes up{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}.detail-scroll{flex:1;overflow-y:auto}.detail-hero{background:var(--primary-soft);align-items:flex-end;height:130px;padding:14px 18px;display:flex;position:relative}.back-btn{background:var(--white);width:40px;height:40px;box-shadow:var(--shadow-card);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:17px;display:flex;position:absolute;top:14px;left:14px}.detail-emoji{font-size:40px}.detail-body{padding:18px}.detail-name{letter-spacing:-.4px;font-size:21px;font-weight:800;line-height:1.2}.detail-sub{color:var(--gray500);margin-top:4px;font-size:13px}.section{margin-top:20px}.section h3{letter-spacing:-.2px;margin-bottom:9px;font-size:14.5px;font-weight:800}.hours-table{border-collapse:collapse;width:100%;font-size:13.5px}.hours-table td{border-bottom:1px solid var(--gray50);padding:7px 0}.hours-table td:last-child{text-align:right;color:#3c4657}.hours-table tr.today td{color:var(--ink);font-weight:800}.today-tag{color:var(--white);background:var(--primary);border-radius:5px;margin-left:7px;padding:2px 6px;font-size:10.5px;font-weight:700}.step{gap:11px;padding:8px 0;display:flex}.step-num{background:var(--primary-soft);width:24px;height:24px;color:var(--primary-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:800;display:flex}.step-text{color:#3c4657;padding-top:2px;font-size:13.5px;line-height:1.5}.step-text b{color:var(--ink)}.info-row{border-bottom:1px solid var(--gray50);align-items:flex-start;gap:11px;padding:9px 0;font-size:13.5px;display:flex}.info-row .ic{text-align:center;flex:none;width:20px}.info-row .val{color:#3c4657;line-height:1.5}.info-row .val b{color:var(--ink)}.gm-note{color:var(--gray500);margin-bottom:2px;font-size:11.5px}.detail-cta{padding:12px 16px calc(12px + env(safe-area-inset-bottom)) 16px;border-top:1px solid var(--gray100);background:var(--white);gap:9px;display:flex}.detail-cta .btn{border-radius:12px;padding:15px 14px;font-size:14.5px}.form-view{z-index:1300;background:var(--white);flex-direction:column;animation:.22s cubic-bezier(.2,.8,.25,1) up;display:flex;position:absolute;inset:0}.form-scroll{flex:1;padding:0 18px 20px;overflow-y:auto}.form-header{background:var(--white);z-index:5;align-items:center;gap:12px;padding:14px 0 6px;display:flex;position:sticky;top:0}.form-header .back-btn{flex:none;position:static}.form-title{letter-spacing:-.4px;font-size:19px;font-weight:800}.form-badge{margin-left:auto;font-size:15px}.f-label{letter-spacing:-.2px;margin:18px 0 8px;font-size:13.5px;font-weight:800}.f-input,.f-textarea,.f-select{border:1.5px solid var(--gray300);width:100%;font-size:15px;font-family:var(--font);background:var(--white);color:var(--ink);border-radius:10px;outline:none;padding:12px 13px}.f-input:focus,.f-textarea:focus,.f-select:focus{border-color:var(--primary)}.f-textarea{resize:vertical;min-height:76px;line-height:1.5}.sym-grid{flex-wrap:wrap;gap:8px;display:flex}.msym{border:1.5px solid var(--gray300);background:var(--white);border-radius:var(--pill);color:var(--ink);padding:8px 13px;font-size:13px;font-weight:600}.msym.sel{background:var(--primary);border-color:var(--primary);color:var(--white)}.opt-card{border:1.5px solid var(--gray300);background:var(--white);text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:12px 13px;font-size:14px;font-weight:600;display:flex}.opt-card .rdo{border:2px solid var(--gray300);border-radius:50%;flex:none;width:18px;height:18px}.opt-card.sel{border-color:var(--primary);background:var(--primary-soft)}.opt-card.sel .rdo{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--white)}.seg-row{gap:8px;display:flex}.seg{border:1.5px solid var(--gray300);background:var(--white);border-radius:10px;flex:1;padding:10px 6px;font-size:13px;font-weight:700}.seg.sel{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.consent-row{cursor:pointer;align-items:flex-start;gap:10px;margin-top:16px;display:flex}.consent-row input{width:17px;height:17px;accent-color:var(--primary);flex:none;margin-top:3px}.consent-note{color:var(--gray500);font-size:11.5px;line-height:1.5}.done-wrap{text-align:center;padding:70px 24px 30px}.done-check{background:var(--green);width:72px;height:72px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:36px;font-weight:800;display:flex}.done-title{letter-spacing:-.4px;font-size:20px;font-weight:800}.done-msg{color:var(--gray500);margin-top:10px;font-size:14px;line-height:1.6}.done-actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.asheet-overlay{z-index:1600;background:#10182873;align-items:flex-end;display:flex;position:absolute;inset:0}.asheet{background:var(--white);width:100%;padding:20px 18px calc(18px + env(safe-area-inset-bottom)) 18px;border-radius:20px 20px 0 0;animation:.2s cubic-bezier(.2,.8,.25,1) up}.asheet h4{letter-spacing:-.3px;font-size:17px;font-weight:800}.asheet .anote{color:var(--gray500);margin-top:4px;font-size:12.5px;line-height:1.5}.abtn{border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:10px;padding:15px 16px;font-size:15px;font-weight:700;display:flex}.abtn-wa{color:var(--white);background:#25d366}.abtn-mail{background:var(--primary-soft);color:var(--primary-dark)}.acancel{width:100%;color:var(--gray500);background:0 0;border:none;margin-top:4px;padding:13px;font-size:14px;font-weight:600}.pin{background:var(--primary);border:2.5px solid var(--white);width:20px;height:20px;box-shadow:var(--shadow-float);border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,background .12s;display:flex;transform:translate(-50%,-50%)}.pin:after{content:"＋";color:var(--white);font-size:11px;font-weight:800;line-height:1}.pin.closed-pin{background:#98a2b3}.pin.selected{background:var(--primary-dark);z-index:10;transform:translate(-50%,-50%)scale(1.35)}.pin.pin-pill{border-radius:var(--pill);width:max-content;height:auto;font-family:var(--font);color:var(--white);white-space:nowrap;padding:4px 8px;font-size:11.5px;font-weight:800;line-height:1}.pin.pin-pill:after{content:none}.leaflet-div-icon{background:0 0;border:none}.user-dot{position:relative;transform:translate(-50%,-50%)}.user-dot .core{background:var(--primary);border:3px solid var(--white);z-index:2;border-radius:50%;width:16px;height:16px;position:relative;box-shadow:0 1px 6px #1018284d}.user-dot .pulse{background:#1268dd59;border-radius:50%;width:16px;height:16px;animation:2s ease-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%{opacity:.8;width:16px;height:16px}to{opacity:0;width:64px;height:64px}}.toast{z-index:2000;background:var(--ink);color:var(--white);border-radius:var(--pill);box-shadow:var(--shadow-float);white-space:nowrap;padding:10px 18px;font-size:12.5px;font-weight:600;transition:transform .3s cubic-bezier(.2,.8,.25,1);position:absolute;top:0;left:50%;transform:translate(-50%,-70px)}.toast.show{transform:translate(-50%,66px)}.sample-banner{bottom:calc(10px + env(safe-area-inset-bottom));z-index:750;color:var(--white);border-radius:var(--pill);white-space:nowrap;pointer-events:none;text-overflow:ellipsis;background:#101828d9;max-width:92%;padding:6px 14px;font-size:10.5px;font-weight:500;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--gray300);border-radius:3px}@media (max-width:899px){.leaflet-control-zoom{display:none}}@media (min-width:900px){:root{--panel:460px}.mapbox{inset:0 0 0 var(--panel)}.top-overlay{width:var(--panel);background:var(--white);border-right:1px solid var(--gray100);padding:16px 18px 4px}.brand-pill,.lang-btn,.chip{box-shadow:none;border:1px solid var(--gray100)}.chip.active{border-color:var(--primary)}.search-pill{box-shadow:none;background:var(--gray50)}.search-pill:focus-within{background:var(--white)}.lang-menu{left:calc(var(--panel) - 178px);top:62px;right:auto}.sheet{width:var(--panel);height:calc(100% - 176px);box-shadow:none;border-right:1px solid var(--gray100);border-radius:0;top:176px;transform:none!important}.sheet-head{cursor:default}.grab{display:none}.card:hover{box-shadow:var(--shadow-float);border-color:var(--gray300)}.locate-btn{right:24px;bottom:24px!important}.detail,.form-view{width:var(--panel);border-right:1px solid var(--gray100);right:auto;box-shadow:6px 0 18px #1018280f}.asheet-overlay{width:var(--panel)}.toast{left:calc(var(--panel) / 2)}.sample-banner{left:calc(var(--panel) + (100% - var(--panel)) / 2)}}.page{max-width:880px;margin:0 auto;padding:0 20px 60px}.site-header{border-bottom:1px solid var(--gray100);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:16px 0;display:flex}.site-header nav{flex-wrap:wrap;gap:6px;display:flex}.site-header nav a{color:var(--gray500);border-radius:var(--pill);padding:6px 10px;font-size:12.5px;font-weight:600;text-decoration:none}.site-header nav a:hover{background:var(--gray50);color:var(--ink)}.page h1{letter-spacing:-.6px;margin:8px 0 10px;font-size:28px;font-weight:800;line-height:1.2}.page .lede{color:var(--gray500);margin-bottom:24px;font-size:15.5px;line-height:1.6}.page h2{letter-spacing:-.4px;margin:30px 0 10px;font-size:20px;font-weight:800}.page p{color:#3c4657;margin-bottom:12px;font-size:15px;line-height:1.7}.page ul{margin-bottom:12px;padding-left:22px}.page li{color:#3c4657;margin-bottom:4px;font-size:15px;line-height:1.7}.clinic-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px;display:grid}.clinic-grid .card{margin-bottom:0}.cta-band{flex-wrap:wrap;gap:10px;margin:26px 0;display:flex}.cta-band .btn{border-radius:12px;flex:none;padding:14px 20px;font-size:14.5px}.footer-note{color:var(--gray500);border-top:1px solid var(--gray100);margin-top:40px;padding-top:18px;font-size:12px;line-height:1.6}.breadcrumbs{color:var(--gray500);margin-top:18px;font-size:12.5px}.breadcrumbs a{color:var(--primary);text-decoration:none}
