:root{--ink:#202326;--muted:#687078;--blue:#199de4;--blue-soft:#eaf7ff;--yellow:#ffd761;--yellow-soft:#fff4c9;--green:#65a86b;--border:#e5e7e6;--canvas:#f5f3ef;--card:#fff;--shadow:0 5px 20px #34343417}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font-optical-sizing:auto;background:#f4f1eb;margin:0;font-family:Noto Sans KR,sans-serif;font-size:14px;font-style:normal}button,input{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.app-page{min-height:100vh;padding:28px 30px}.app-frame{background:var(--card);border:1px solid #d5d5d3;border-radius:28px;max-width:1400px;min-height:calc(100vh - 56px);margin:0 auto;overflow:hidden;box-shadow:0 3px 15px #26262633}.topbar{z-index:5;background:#fffffffa;border-bottom:1px solid #ebebea;align-items:center;height:105px;padding:0 30px 0 23px;display:flex;position:relative}.brand{white-space:nowrap;flex:1 0 285px;align-items:center;gap:9px;display:flex}.brand img{object-fit:contain;width:80px;height:80px}.brand span{letter-spacing:-.07em;font-family:Noto Sans KR,sans-serif;font-size:30px;font-weight:800}.main-nav{align-items:center;gap:37px;height:100%;display:flex}.main-nav a{color:#2c2c2c;white-space:nowrap;align-items:center;height:100%;font-size:14px;font-weight:600;display:flex;position:relative}.main-nav a:after{background:var(--blue);content:"";height:3px;transition:transform .16s;position:absolute;bottom:31px;left:0;right:0;transform:scaleX(0)}.main-nav a.active{color:var(--blue)}.main-nav a.active:after,.main-nav a:hover:after{transform:scaleX(1)}.top-actions{flex:1 0 285px;justify-content:flex-end;align-items:center;gap:14px;display:flex}.collection-button,.avatar-button,.menu-button{background:#fff;border:1px solid #cfd2d3;justify-content:center;align-items:center;display:flex}.collection-button{border-radius:13px;gap:9px;padding:10px 14px}.collection-button svg{color:#31383b}.collection-button span{font-size:14px;font-weight:600}.avatar-button{background:#c9ebff;border:0;border-radius:50%;width:46px;height:46px;overflow:hidden}.avatar-button img{object-fit:contain;width:46px;height:46px}.menu-button{border-radius:12px;width:46px;height:46px}.content-grid{grid-template-columns:minmax(0,1.18fr) minmax(535px,.98fr);min-height:850px;display:grid}.map-section{min-height:850px;position:relative}.map-tools{z-index:3;position:absolute;top:19px;left:29px;right:29px}.search-row{align-items:center;gap:10px;max-width:760px;display:flex}.search-box{box-shadow:var(--shadow);color:#657077;background:#fffffff7;border:1px solid #d8dce0;border-radius:17px;flex:1;align-items:center;gap:13px;min-width:0;height:67px;padding:0 18px;display:flex}.search-box input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.search-box input::placeholder{color:#70777b;opacity:1}.search-box button{color:var(--ink);background:0 0;border:0;place-items:center;padding:2px;display:grid}.search-divider{background:#e1e3e2;width:1px;height:31px}.filter-scroll{min-width:0;max-width:100%;margin-top:17px;padding:0 3px 5px;overflow:hidden}.filter-scroll .swiper-wrapper{align-items:center}.filter-scroll .filter-slide{flex:none;width:auto}.filter-scroll .swiper-scrollbar{display:none}.filter-chip{background:#fffffff0;border:1px solid #d8dcde;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:38px;padding:0 12px;transition:transform .16s,background .16s,border-color .16s;display:flex;box-shadow:0 3px 8px #373d3f14}.filter-chip:hover{transform:translateY(-2px)}.filter-chip.selected{background:#ffdb67;border-color:#f4b813;font-weight:700}.filter-food-icon{object-fit:contain;width:24px;height:24px}.filter-emoji{justify-content:center;align-items:center;width:24px;height:25px;font-size:21px;display:inline-flex}.map-canvas{background-color:#f5f4ef;height:100%;min-height:850px;position:relative;overflow:hidden}.kakao-map{z-index:0;position:absolute;inset:0}.map-status{color:#697174;z-index:4;background:#ffffffeb;border:1px solid #e4e5e3;border-radius:12px;padding:9px 13px;font-size:14px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.map-water{opacity:.95;background:#bfe8f5;position:absolute}.river-one{border-radius:53% 47% 62% 38%/26% 32% 68% 74%;width:41%;height:155%;top:-25%;left:-33%;transform:rotate(-23deg)}.river-two{border-radius:50%;width:53%;height:52%;bottom:-19%;left:-5%;transform:rotate(16deg)}.map-park{opacity:.8;background:#dfefca;border-radius:44% 56% 48% 52%;position:absolute}.park-one{width:32%;height:35%;top:51%;left:5%;transform:rotate(19deg)}.park-two{width:35%;height:27%;top:50%;left:51%;transform:rotate(-13deg)}.park-three{width:39%;height:26%;top:-8%;left:67%}.map-block{background:#fbf9f3cc;border:1px solid #e2e2dcad;position:absolute;transform:rotate(-19deg)}.block-one{width:170px;height:52px;top:35%;left:8%}.block-two{width:210px;height:95px;top:31%;left:51%}.block-three{width:190px;height:75px;top:74%;left:27%}.block-four{width:180px;height:60px;top:53%;left:76%}.block-five{width:230px;height:100px;top:7%;left:4%}.map-lines{width:100%;height:100%;position:absolute;inset:0}.main-road{fill:none;stroke:#f9c74f;stroke-linecap:round;stroke-width:4px}.minor-road{fill:none;stroke:#fffffff2;stroke-linecap:round;stroke-width:17px}.discovery-zone{fill:#ffda5d29;stroke:#ffcc4b;stroke-width:3px}.noodle-route{fill:none;stroke:#f8c83d;stroke-dasharray:13 10;stroke-linecap:round;stroke-width:5px}.map-label{color:#596d78;z-index:1;font-size:14px;font-weight:600;position:absolute}.label-yeonnam{top:31%;left:28%}.label-hongdae{color:#30373a;top:48%;left:54%}.label-hapjeong{color:#30373a;top:60%;left:22%}.label-idae{color:#30373a;top:62%;left:75%}.label-gongdeok{color:#30373a;top:73%;left:73%}.label-sinchon{top:25%;right:4%}.label-seodae{color:#197aca;top:83%;left:48%}.label-mapo{bottom:7%;right:20%}.label-park{color:#6b9870;top:35%;left:10%}.map-marker{z-index:2;background:0 0;border:0;width:58px;height:65px;padding:0;transition:transform .18s;position:absolute;transform:translate(-50%,-50%)}.map-marker:hover,.map-marker.selected{z-index:3;transform:translate(-50%,-50%)scale(1.12)}.marker-bubble{background:#fff;border:2px solid #e6a126;border-radius:50%;justify-content:center;align-items:center;width:47px;height:47px;display:flex;position:absolute;top:0;left:5px;overflow:hidden;box-shadow:0 4px 8px #3a321f33}.marker-bubble:after{content:"";z-index:-1;border:2px solid;border-radius:50% 50% 50% 0;width:19px;height:19px;position:absolute;bottom:-11px;left:11px;transform:rotate(-45deg)}.marker-bubble img{object-fit:contain;width:43px;height:43px}.map-marker.orange{color:#f19d26}.map-marker.orange .marker-bubble{border-color:#f19d26}.map-marker.green{color:#6dac65}.map-marker.green .marker-bubble{border-color:#6dac65}.map-marker.blue{color:#27a9ed}.map-marker.blue .marker-bubble{border-color:#27a9ed}.map-marker.selected .marker-bubble{width:53px;height:53px;left:2px;box-shadow:0 0 0 6px #ffd76145,0 5px 11px #362f2040}.map-marker.selected .marker-bubble img{width:49px;height:49px}.route-finish{color:#f4a51d;z-index:1;font-size:44px;position:absolute;top:43%;right:8%;transform:rotate(-16deg)}.nearby-button{color:#4a3a0f;white-space:nowrap;background:#ffd34e;border:1px solid #e7ad16;border-radius:14px;flex:none;align-items:center;gap:7px;height:54px;padding:0 15px;font-weight:800;display:inline-flex;box-shadow:0 5px 12px #d8a31640}.nearby-button:hover{background:#ffc934;transform:translateY(-2px)}.map-controls{z-index:3;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:13%;left:30px}.zoom-control,.locate-control{box-shadow:var(--shadow);background:#fff;border:1px solid #e2e3e1}.zoom-control{border-radius:14px;overflow:hidden}.zoom-control button{background:#fff;border:0;place-items:center;width:48px;height:44px;display:grid}.zoom-control button:hover{background:#f7f8f8}.zoom-control span{background:#e9ebea;height:1px;margin:0 10px;display:block}.locate-control{border-radius:14px;place-items:center;width:48px;height:50px;display:grid}.locate-control:hover{color:var(--blue)}.map-loading{z-index:4;flex-direction:column-reverse;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-loading img{filter:drop-shadow(0 7px 9px #242d3129);object-fit:contain}.loading-speech-bubble{text-align:center;white-space:nowrap;z-index:1;background:#fff;border:2px solid #f5c43c;border-radius:16px;margin-bottom:-4px;padding:13px 17px;font-size:14px;font-weight:700;line-height:1.5;position:relative;box-shadow:0 8px 18px #3a3a2a29}.loading-speech-bubble:after{content:"";background:#fff;border-bottom:2px solid #f5c43c;border-right:2px solid #f5c43c;width:14px;height:14px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.map-legend{z-index:3;background:#fffffff0;border:1px solid #e1e3e0;border-radius:16px;gap:11px;padding:14px 17px;display:grid;position:absolute;bottom:32px;right:30px}.map-legend div{color:#596066;align-items:center;gap:9px;font-size:14px;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.very-popular{background:#f5a32a}.popular{background:#ffd24c}.normal{background:#87be72}.new{background:#5caff1}.results-section{background:#fbfbfa;border-left:1px solid #efefec;min-height:850px;padding:19px 15px 24px;overflow-y:auto}.api-status{color:#2784b3;background:#eef9ff;border:1px solid #ccecff;border-radius:10px;margin:0 0 10px;padding:8px 12px;font-size:14px}.api-status.error{color:#9a721e;background:#fff6e8;border-color:#ffe1a9}.selected-card-panel{margin-bottom:18px;animation:.22s ease-out selected-card-open}.selected-card{box-shadow:var(--shadow);background:#fff;border:1px solid #e7e8e6;border-radius:23px;overflow:hidden}@keyframes selected-card-open{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.selected-photo-wrap{height:276px;margin:18px 20px 0;position:relative;overflow:hidden}.food-photo{background-position:50%;background-size:cover}.selected-photo{width:100%;height:100%}.selected-photo-wrap:after{content:"";pointer-events:none;background:linear-gradient(#0000001f,#0000 25% 65%,#00000017);position:absolute;inset:0}.rating-badge{z-index:1;background:#fffffff5;border-radius:9px;align-items:center;gap:4px;padding:7px 10px;font-size:14px;font-weight:800;display:flex;position:absolute;top:17px;left:17px}.rating-badge svg,.card-rating svg{color:#f3aa14}.favorite-button{z-index:1;background:#fffffff0;border:0;border-radius:9px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:17px;right:17px}.favorite-button.saved{color:#ec7d61}.favorite-button:active{transform:scale(.9)}.photo-dots{z-index:1;gap:12px;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.photo-dots i{background:#ffffffb3;border-radius:50%;width:8px;height:8px;display:block}.photo-dots i.current{background:#fff;width:9px;height:9px}.selected-info{padding:15px 23px 22px}.tag-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.tag{border-radius:999px;padding:7px 12px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.tag.blue{color:#178bc8;background:#e1f3ff}.tag.yellow{color:#cc9320;background:#fff2c9}.tag.red{color:#ed7659;background:#ffebe5}.tag.pale{color:#be913e;background:#fff3d7}.selected-info h1{letter-spacing:-.06em;align-items:center;gap:8px;margin:11px 0 10px;font-size:25px;line-height:1.2;display:flex}.selected-info h1 svg{color:#168ddb;flex:none}.provider-ratings{flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 10px;display:flex}.provider-rating{color:#596267;background:#f5f8f9;border:1px solid #e2e8e9;border-radius:999px;align-items:center;gap:5px;padding:5px 8px 5px 5px;font-size:14px;line-height:1;display:inline-flex}.provider-rating img{object-fit:contain;border-radius:4px}.detail-columns{grid-template-columns:minmax(0,1.45fr) minmax(145px,.85fr);gap:15px;display:grid}.detail-copy p,.price-copy p{color:#686f73;align-items:center;gap:7px;margin:0 0 5px;font-size:14px;line-height:1.6;display:flex}.detail-copy p svg{color:#778188;flex:none}.detail-copy p.open{color:#4b9b59;font-weight:600}.detail-copy p.open svg{color:#4b9b59}.detail-copy p b,.price-copy p b{color:#8b8e8e;font-weight:400}.description{margin-top:8px!important;font-size:14px!important;line-height:1.6!important;display:block!important}.detail-columns .description{font-size:14px!important}.price-copy{border-left:1px solid #e8e8e5;padding-left:16px}.price-copy p{white-space:nowrap}.price-copy p strong{color:#555d5f;font-size:14px}.detail-actions{grid-template-columns:1fr 1fr;gap:17px;margin-top:17px;display:grid}.directions-button,.primary-button{border-radius:13px;justify-content:center;align-items:center;height:51px;font-size:14px;font-weight:700;display:flex}.directions-button{background:#fff;border:1px solid #9fa5a7;gap:10px}.directions-button:hover{background:#f7f9f9}.primary-button{background:#ffd85c;border:1px solid #f0b91d;justify-content:space-between;gap:18px;padding:0 19px}.primary-button:hover{transform:translateY(-2px);box-shadow:0 7px 13px #eaac1c38}.provider-detail-links{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.provider-detail-link{min-width:0;text-decoration:none}.provider-detail-label{align-items:center;gap:7px;display:inline-flex}.disabled-detail-link{color:#8b9294;opacity:.75;justify-content:center;align-items:center;display:inline-flex}.restaurant-list-panel{padding-top:2px}.restaurant-list-header{justify-content:space-between;align-items:flex-end;gap:12px;margin:0 2px 12px;display:flex}.list-eyebrow{color:#199de4;letter-spacing:.08em;margin:0 0 3px;font-size:12px;font-weight:800}.restaurant-list-header h2{letter-spacing:-.06em;margin:0;font-size:20px}.restaurant-list-header h2 span{color:#899196;margin-left:4px;font-size:14px;font-weight:500}.provider-filter{flex:none;gap:5px;display:flex}.provider-filter-button{color:#727b7e;background:#fff;border:1px solid #d9dfe1;border-radius:999px;align-items:center;gap:5px;min-height:35px;padding:0 9px 0 6px;font-size:14px;display:inline-flex}.provider-filter-button.selected{color:#147db0;background:#eaf7ff;border-color:#7fc9ed;font-weight:700}.provider-filter-button img{object-fit:contain;border-radius:4px}.restaurant-list{flex-direction:column;gap:10px;display:flex}.list-empty{color:#858d90;background:#fff;border:1px dashed #dfe3e3;border-radius:15px;justify-content:center;align-items:center;min-height:120px;padding:20px;display:flex}.recommendations{padding-top:20px}.section-title-row{justify-content:space-between;align-items:center;margin:0 4px 14px;display:flex}.section-title-row h2{letter-spacing:-.05em;margin:0;font-size:19px}.section-title-row button{background:#fff;border:1px solid #e0e2e1;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.section-title-row button:hover{color:var(--blue);background:#f1faff}.recommend-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.restaurant-card{text-align:left;background:#fff;border:1px solid #e5e6e3;border-radius:17px;min-width:0;padding:0;font-size:14px;transition:box-shadow .16s,transform .16s;overflow:hidden}.restaurant-card:hover,.restaurant-card.active{transform:translateY(-3px);box-shadow:0 7px 16px #2d383c21}.card-photo-wrap{height:143px;position:relative}.card-photo{width:100%;height:100%}.card-rating{background:#fff;border-radius:7px;align-items:center;gap:3px;padding:4px 7px;font-size:14px;font-weight:800;display:flex;position:absolute;bottom:-1px;left:10px}.card-info{padding:12px 12px 11px}.card-info .tag{padding:5px 8px;font-size:14px}.card-info h3{letter-spacing:-.07em;text-overflow:ellipsis;white-space:nowrap;margin:9px 0 7px;font-size:14px;overflow:hidden}.card-info .provider-ratings{gap:4px;margin:0 0 8px}.card-info .provider-rating{padding:4px 6px 4px 4px;font-size:14px}.card-address{color:#747a7c;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;margin:0 0 8px;font-size:14px;display:flex;overflow:hidden}.card-address svg{flex:none}.restaurant-card .card-address{font-size:14px!important}.card-footer{color:#6e7474;border-top:1px solid #f0f0ee;justify-content:space-between;align-items:center;padding-top:8px;font-size:14px;display:flex}.card-heart{color:#727979;place-items:center;display:grid}.restaurant-list-item{text-align:left;grid-template-columns:112px minmax(0,1fr);width:100%;display:grid}.restaurant-list-item .card-photo-wrap{height:100%;min-height:122px}.restaurant-list-item .card-info{min-width:0;padding:11px 12px 10px}.restaurant-list-item .card-info h3{margin-top:7px}.restaurant-list-item .card-footer{margin-top:6px}@media (max-width:1120px){.topbar{padding-right:18px}.brand{flex-basis:230px}.brand span{font-size:25px}.main-nav{gap:21px}.top-actions{flex-basis:230px}.collection-button span{display:none}.content-grid{grid-template-columns:minmax(0,1.06fr) minmax(490px,.94fr)}.detail-columns{grid-template-columns:1fr}.price-copy{border-top:1px solid #eee;border-left:0;padding:8px 0 0}.price-copy p{margin-right:16px;display:inline-flex}.selected-photo-wrap{height:240px}}@media (max-width:820px){.app-page{padding:0}.app-frame{border:0;border-radius:0;min-height:100vh}.topbar{height:76px;padding:0 16px}.brand{flex-basis:auto;gap:4px}.brand img{width:58px;height:58px}.brand span{font-size:22px}.main-nav{display:none}.top-actions{flex:1;gap:7px}.collection-button{border:0;padding:7px}.collection-button svg{width:22px;height:22px}.avatar-button,.menu-button,.avatar-button img{width:39px;height:39px}.menu-button svg{width:21px;height:21px}.content-grid{display:block}.map-section,.map-canvas{min-height:650px}.map-tools{top:14px;left:15px;right:15px}.search-row{flex-direction:column;align-items:stretch;gap:8px}.search-box{max-width:none;height:56px}.nearby-button{align-self:flex-start;height:42px}.search-box input{font-size:14px}.filter-scroll{margin-top:12px}.filter-chip{min-height:34px;padding:0 10px}.filter-food-icon{width:22px;height:22px}.map-loading{top:55%}.map-legend{bottom:20px;right:15px}.map-controls{bottom:16%;left:15px}.results-section{border-left:0;padding:15px}.selected-photo-wrap{height:220px;margin:12px 12px 0}.selected-info{padding:14px 15px 17px}.selected-info h1{font-size:21px}.restaurant-list-header{flex-direction:column;align-items:flex-start}.provider-filter{width:100%}.provider-filter-button{flex:1;justify-content:center}.restaurant-list-item{grid-template-columns:90px minmax(0,1fr)}.restaurant-list-item .card-photo-wrap{min-height:112px}.card-photo-wrap{height:125px}}.inner-page-frame{min-height:calc(100vh - 56px)}.inner-page-content{justify-content:space-between;align-items:center;gap:60px;min-height:calc(100vh - 162px);padding:70px 10%;display:flex}.inner-page-copy{max-width:600px}.inner-page-copy .eyebrow{color:#168ddb;margin-bottom:18px}.inner-page-copy h1{letter-spacing:-.08em;margin:0 0 22px;font-size:clamp(38px,5vw,68px);line-height:1.08}.inner-page-copy>p:not(.eyebrow){color:#687078;margin:0 0 34px;font-size:18px;line-height:1.7}.inner-page-link{min-width:180px;text-decoration:none;display:inline-flex}.inner-page-mascot{background:#fff4c9;border-radius:50%;justify-content:center;align-items:center;width:330px;height:330px;display:flex}.inner-page-mascot img{object-fit:contain;width:260px;height:260px}@media (max-width:820px){.inner-page-content{text-align:center;flex-direction:column;justify-content:center;gap:35px;min-height:calc(100vh - 76px);padding:45px 24px}.inner-page-copy .eyebrow{margin-bottom:14px}.inner-page-copy h1{font-size:40px}.inner-page-copy>p:not(.eyebrow){font-size:16px}.inner-page-link{margin:0 auto}.inner-page-mascot{width:230px;height:230px}.inner-page-mascot img{width:185px;height:185px}}
