/* A little Busan atlas, with two properly walking friends. */
.today-board{display:block;margin:22px 0 27px}.weather-home{display:flex;gap:26px;justify-content:space-between;padding:24px 30px;background:linear-gradient(115deg,#e7eee0,#f3ecdb);border-radius:25px}.walking-friends{display:flex;align-items:end;justify-content:center;gap:8px;flex-shrink:0}.walking-friend{width:142px;display:flex;flex-direction:column;align-items:center;text-align:center}.walking-friend .buddy-speech{display:block!important;font-size:11px;min-height:54px;margin:0 0 5px;padding:9px 11px}.walking-friend.shark .buddy-speech,.walking-friend.shark .buddy-speech:after{background:#fff2e2;border-color:#e1d5be}.walk-button{width:118px;height:118px;padding:0;display:block;border-radius:40%;background:transparent}.walk-sprite{display:block;width:100%;height:100%;background-image:url('assets/walk-v4.png');background-size:600% 200%;background-repeat:no-repeat;background-position:0 0}.walk-sprite.shark{background-position-y:100%}.walking-friend .buddy-name{margin:0;font-size:10px;font-weight:700;color:#698a79}.weather-home .weather-summary{flex:1;max-width:480px;min-width:0}.weather-home .temperature{font-size:46px;margin:7px 0}.outfit-today{display:flex;align-items:center;gap:8px;margin:0 0 7px}.outfit-today .weather-doll{width:63px;height:63px}.outfit-today strong{font-size:13px;line-height:1.5;max-width:270px}.weather-full .outfit-today strong{font-size:18px}.weather-home .weather-foot{flex-wrap:wrap;gap:5px 10px;font-size:9px}.weather-home .weather-facts{font-size:11px}.weather-greeting .walking-friends{min-width:290px}.extras-grid{grid-template-columns:1fr}.essentials-card{width:100%}
@keyframes buddy-walk-frames{from{background-position-x:0}to{background-position-x:120%}}
html[data-motion=on] .walk-sprite{animation:buddy-walk-frames 1.2s steps(6,end) infinite}html[data-motion=on] .walk-sprite.shark{animation-duration:1.38s}.walk-button:hover{filter:drop-shadow(0 6px 6px #6c968323)}
.animated-icon{display:inline-block;flex-shrink:0;width:35px;height:35px;line-height:0}.animated-icon svg{width:100%;height:100%;overflow:visible}.animated-icon svg g{transform-box:fill-box;transform-origin:center}.animated-icon .wing.left{transform-origin:right bottom}.animated-icon .wing.right{transform-origin:left bottom}.animated-icon .tail{transform-origin:left center}.animated-icon .pearl{opacity:0;transform:scale(.6);transition:opacity .35s,transform .45s}.animated-icon .shell-lid{transform-origin:center bottom;transition:transform .5s}.animated-icon .light-beam{transition:opacity .4s}.nav-link:is(:hover,:focus-visible) .pearl{opacity:1;transform:scale(1)}.nav-link:is(:hover,:focus-visible) .shell-lid{transform:translateY(-13px) scaleY(.55)}.nav-link:is(:hover,:focus-visible) .light-beam{opacity:.75}.nav-link{isolation:isolate}.nav-link:is(:hover,:focus-visible){background:#e5ead8}.bottom-nav .animated-icon{width:28px;height:28px}
@keyframes wing-left{0%,100%{transform:rotate(0)}50%{transform:rotate(32deg)}}@keyframes wing-right{0%,100%{transform:rotate(0)}50%{transform:rotate(-32deg)}}@keyframes shark-no{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes tail-swish{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes flower-bloom{0%,100%{transform:scale(1) rotate(0)}45%{transform:scale(.65) rotate(25deg)}}@keyframes soup-steam{0%{transform:translateY(2px);opacity:.15}65%{opacity:.9}100%{transform:translateY(-5px);opacity:.1}}@keyframes compass-turn{0%,100%{transform:rotate(0)}50%{transform:rotate(130deg)}}@keyframes ticket-wave{0%,100%{transform:rotate(-7deg) scale(.98)}50%{transform:rotate(7deg) scale(1.06)}}@keyframes train-chug{0%,100%{transform:translateX(-2px) rotate(-2deg)}50%{transform:translateX(2px) rotate(2deg)}}
html[data-motion=on] .nav-link:is(:hover,:focus-visible) .wing.left{animation:wing-left .5s ease-in-out infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .wing.right{animation:wing-right .5s ease-in-out infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .shark-head{animation:shark-no .7s ease-in-out infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .tail{animation:tail-swish .5s ease-in-out infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .petals{animation:flower-bloom 1.3s ease-in-out infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .soup-steam{animation:soup-steam 1.2s infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .compass-needle{animation:compass-turn 1.7s ease-in-out infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .icon-ticket{animation:ticket-wave .9s ease-in-out infinite}html[data-motion=on] .nav-link:is(:hover,:focus-visible) .icon-train{animation:train-chug .5s ease-in-out infinite}
.region-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.region-tabs button{display:flex;align-items:center;gap:8px;border:1px solid #d9e0d1;border-radius:12px;background:#f9f8ef;padding:10px 13px;font-size:11px;color:#718474;min-height:42px;text-align:left}.region-tabs button b{font-size:10px;background:#e9eddf;border-radius:20px;padding:3px 6px;min-width:25px;text-align:center}.region-tabs button.selected{background:var(--region-color,#dce7d5);border-color:#7d9f89;color:#3d6f64;box-shadow:0 0 0 1px #8caa9470}.region-tabs button:hover{border-color:#7d9f89}.region-tabs button.selected b{background:#fff9}.region-intro{font-size:12px;line-height:1.8;color:#7f8d7b}.region-count{font-size:10px;color:#849483}.transit-mini{font-size:10px!important;color:#648778!important;line-height:1.7!important;min-height:0!important;margin:10px 0!important}.photo-place .catalog-photo{height:190px}.photo-place .place-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;line-height:1.7;font-size:11px}.photo-place .place-bottom{gap:8px}.photo-place .tag{font-size:9px;white-space:normal;line-height:1.5}.city-postcard{background-image:url('assets/city-postcards-v4.png');background-size:200% 200%;height:190px;position:relative}.city-postcard .place-tag{position:absolute;bottom:12px;left:12px;background:#fffc;padding:5px 10px;border-radius:20px;color:#687b63;font-size:8px}.places-more{grid-column:1/-1}.photo-place .place-body{padding:20px}.photo-place .place-body h3{font-size:21px;margin:8px 0 12px}
.location-panel{margin:25px 0;border:1px solid #dbe4d3;border-radius:18px;padding:22px;background:#f0f3e8}.location-panel h3{font-size:22px;margin:9px 0 20px;line-height:1.3}.address-line,.transit-route{display:flex;align-items:flex-start;gap:13px;margin:15px 0}.address-line>span{font-size:27px;line-height:1;color:#729680;width:26px;flex-shrink:0}.address-line strong,.transit-route strong{font-size:13px;line-height:1.65;display:block}.address-line .text-button{font-size:10px;display:block;margin-top:6px}.metro-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#fff;background:#639986;font-size:12px;font-weight:800}.transit-route p{font-size:12px!important;line-height:1.7!important;margin:5px 0!important;color:#647d70}.transit-route p small{display:block;font-size:9px;color:#899580}.transit-route p>a{font-size:9px;margin-right:15px;text-decoration:underline;text-underline-offset:3px}.route-note{font-size:10px!important;line-height:1.8!important;color:#83907c!important;margin:12px 0!important}.location-panel .dialog-actions{margin:18px 0 0;gap:14px}.location-panel .secondary-button,.location-panel .text-button{font-size:11px}.food-venues{margin-top:30px}.food-venues>h3{font-size:25px;margin:10px 0 18px}.food-venue{display:flex;gap:17px;width:100%;text-align:left;border:1px solid #dce4d4;border-radius:17px;background:#fffdf5;padding:15px;margin:12px 0;overflow:hidden}.food-venue .catalog-photo{width:115px;min-width:115px;height:120px;border-radius:10px}.food-venue .catalog-photo figcaption{display:none}.food-venue>div{min-width:0}.food-venue h3{font-size:19px;line-height:1.4;margin:5px 0 7px}.food-venue p{font-size:11px!important;line-height:1.7!important;margin:5px 0!important}.food-venue small,.food-venue b,.food-venue>div>span{font-size:9px;line-height:1.7;display:block;color:#81927c}.food-venue b{color:#4d8278;margin-top:8px}.food-venue:hover{border-color:#8eb29b}.external-venue{padding:20px}.venue-unlisted{font-size:12px!important;background:#f1eddf;border-radius:15px;padding:18px;line-height:1.8!important}.external-venue .location-panel{margin:15px 0;padding:16px}
.rank-sprite{display:inline-block;width:85px;height:85px;background-image:url('assets/challenge-v4.png');background-size:600% 200%;background-repeat:no-repeat;background-position:var(--rank-x,0%) var(--rank-y,0%);flex-shrink:0}.challenge-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#efe7cf,#f6e7d2 55%,#e3ebdb);border:1px solid #e3dbc4;border-radius:23px;padding:28px 30px}.challenge-banner h2{font-size:31px;margin:10px 0}.challenge-banner p{max-width:500px;font-size:12px;color:#8b896c;line-height:1.9}.rank-duo{display:flex;align-items:center;flex-shrink:0}.rank-duo .rank-sprite{width:105px;height:105px}.rank-duo .rank-sprite+.rank-sprite{margin-left:-7px}.rank-selector{display:flex;gap:9px;margin:25px 0;align-items:stretch}.rank-selector>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;flex:1;border:1px solid #dedfcb;border-radius:15px;background:#f7f4e9;padding:8px;color:#75836c;min-width:0;font-size:11px}.rank-selector .rank-sprite{width:62px;height:62px}.rank-selector>button b{font-size:17px}.rank-selector>button.selected{background:#e4eccc;border-color:#90a977;box-shadow:0 0 0 1px #92aa7955}.challenge-rank{display:flex;align-items:center;gap:7px;margin:5px 0 12px;min-height:78px;background:linear-gradient(105deg,#f4eedc,#eef2e5);border-radius:14px;padding:3px 7px}.challenge-rank span:not(.rank-sprite){font-size:6px;letter-spacing:1.1px;color:#929575;display:block}.challenge-rank strong{font-family:var(--round);font-size:25px;color:#5d815e;line-height:1.15;display:block}.challenge-rank small{font-size:9px;display:block;color:#859476;margin-top:3px}.challenge-rank .rank-sprite{width:76px;height:76px}.challenge-rank.rank-5{background:linear-gradient(100deg,#ffebc9,#e2edf1)}.challenge-rank.rank-5 strong{color:#b98937}.challenge-rank.large{padding:8px 20px;margin:20px 0}.challenge-rank.large .rank-sprite{width:105px;height:105px}.challenge-rank.large strong{font-size:39px}.challenge-rank.large small{font-size:12px}.challenge-rank.large span:not(.rank-sprite){font-size:8px}.challenge-grid .editorial-body>p{min-height:0}.challenge-grid .card-meta{min-height:0}.challenge-grid .catalog-photo{height:200px}
@keyframes power-glow{0%,100%{filter:drop-shadow(0 0 0 #f9ce65)}50%{filter:drop-shadow(0 0 5px #efc05690)}}html[data-motion=on] .rank-5 .rank-sprite,html[data-motion=on] .rank-duo .rank-sprite{animation:power-glow 1.5s ease-in-out infinite}
@media(min-width:1500px){.weather-home{justify-content:center;gap:65px}.weather-home .walking-friend{width:170px}.weather-home .walk-button{width:128px;height:128px}}
@media(max-width:1100px){.weather-home{gap:15px;padding:22px}.walking-friend{width:125px}.walking-friend .buddy-speech{font-size:10px}.walk-button{width:105px;height:105px}.rank-duo .rank-sprite{width:83px;height:83px}.challenge-banner{padding:23px}.challenge-banner h2{font-size:26px}.side-nav .animated-icon{width:28px;height:28px}.rank-selector{gap:6px}.rank-selector .rank-sprite{width:48px;height:48px}}
@media(max-width:850px) and (min-width:701px){.weather-home{flex-wrap:wrap;justify-content:center}.weather-home .weather-summary{width:100%;max-width:none;flex-basis:100%}.weather-home .walking-friends{order:2}.weather-home .outfit-today{margin:0}.challenge-banner{flex-wrap:wrap}.rank-duo{margin-left:auto}.rank-selector .rank-sprite{width:39px;height:39px}.region-tabs{gap:6px}.region-tabs button{font-size:10px;padding:8px 10px}}
@media(max-width:700px){.today-board{margin:14px 0 23px}.weather-home{padding:18px 15px;gap:10px;flex-wrap:wrap;justify-content:center;border-radius:21px}.weather-home .walking-friends{order:2;width:100%;gap:18px}.weather-home .walking-friend{width:134px}.weather-home .buddy-speech{font-size:10px;min-height:48px;line-height:1.6}.weather-home .walk-button{width:96px;height:96px}.weather-home .weather-summary{width:100%;max-width:none;flex-basis:100%}.weather-home .temperature{font-size:39px;margin:4px 0;display:inline-flex;align-items:center}.weather-home .temperature>span{font-size:10px}.weather-home .outfit-today{float:right;max-width:52%;margin-top:0;gap:2px}.weather-home .outfit-today .weather-doll{width:51px;height:51px}.weather-home .outfit-today strong{font-size:10px}.weather-home .weather-facts{font-size:10px;clear:both;margin:4px 0}.weather-home .weather-foot{font-size:8px;margin:6px 0}.walking-friend{width:135px}.walk-button{width:109px;height:109px}.weather-full .walking-friends{order:2;margin-top:15px}.weather-full .outfit-today strong{font-size:15px}.weather-full .temperature{font-size:45px}.weather-greeting{width:100%}.region-tabs{gap:6px;margin:17px 0}.region-tabs button{font-size:10px;padding:8px 9px;border-radius:10px;min-height:37px;gap:5px}.region-tabs button b{font-size:9px;padding:2px 5px;min-width:21px}.region-intro{font-size:11px}.photo-place .catalog-photo,.city-postcard{height:220px}.photo-place .place-body h3{font-size:23px}.photo-place .place-description{font-size:12px;min-height:0}.photo-place .tag{font-size:10px}.location-panel{padding:17px;margin:21px 0}.location-panel h3{font-size:22px}.address-line strong,.transit-route strong{font-size:12px}.transit-route p{font-size:11px!important}.location-panel .dialog-actions{gap:10px}.location-panel .secondary-button,.location-panel .text-button{font-size:10px}.food-venue{gap:12px;padding:12px}.food-venue .catalog-photo{width:84px;min-width:84px;height:105px}.food-venue h3{font-size:17px}.food-venue p{font-size:10px!important}.food-venues>h3{font-size:23px}.food-venue>div>small{font-size:9px}.challenge-banner{padding:20px;gap:5px;flex-wrap:wrap}.challenge-banner .eyebrow{font-size:6px}.challenge-banner h2{font-size:27px;margin:10px 0}.challenge-banner p{font-size:11px;line-height:1.8}.rank-duo{margin:0 auto}.rank-duo .rank-sprite{width:93px;height:93px}.rank-selector{gap:4px;margin:18px 0;flex-wrap:wrap}.rank-selector>button{padding:5px 3px;border-radius:10px;font-size:9px;flex:1 1 11%}.rank-selector>button:first-child{flex:1 1 100%;min-height:34px;flex-direction:row}.rank-selector .rank-sprite{width:44px;height:44px}.rank-selector>button b{font-size:14px}.challenge-grid .catalog-photo{height:225px}.challenge-rank .rank-sprite{width:82px;height:82px}.challenge-rank strong{font-size:29px}.challenge-rank span:not(.rank-sprite){font-size:7px}.challenge-rank small{font-size:10px}.challenge-rank.large{padding:10px}.challenge-rank.large .rank-sprite{width:99px;height:99px}.home-library-teaser p{line-height:1.8}}
html[data-motion=off] .walk-sprite,html[data-motion=off] .animated-icon *,html[data-motion=off] .rank-sprite{animation:none!important;transition:none!important}html[data-motion=off] .nav-link:is(:hover,:focus-visible) .shell-lid{transform:none}html[data-motion=off] .nav-link:is(:hover,:focus-visible) .pearl{opacity:0}
@media(prefers-reduced-motion:reduce){.walk-sprite,.animated-icon *,.rank-sprite{animation:none!important;transition:none!important}.nav-link:is(:hover,:focus-visible) .shell-lid{transform:none}.nav-link:is(:hover,:focus-visible) .pearl{opacity:0}}
@media(max-width:700px){.weather-home .weather-summary{display:grid;grid-template-columns:minmax(0,1fr) 122px;align-items:center;gap:3px 7px}.weather-home .weather-summary>.eyebrow{grid-column:1/-1}.weather-home .temperature{grid-column:1;grid-row:2;display:block}.weather-home .outfit-today{grid-column:2;grid-row:2;float:none;max-width:none;margin:0}.weather-home .weather-facts{grid-column:1/-1;grid-row:3}.weather-home .weather-foot{grid-column:1/-1;grid-row:4;display:flex;align-items:center}.weather-home .weather-foot>a{margin-left:auto}}
