*{box-sizing:border-box}html,body{margin:0;background:#f7f0dc;color:#393c26;font-family:"Kaiti SC",KaiTi,serif}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit}.page{height:100svh;display:flex;align-items:center;justify-content:center}[hidden]{display:none!important}.artboard{position:relative;flex-shrink:0}.artboard img{display:block;width:100%;height:100%;object-fit:contain}.cover{width:min(100vw,66.6667svh);aspect-ratio:1024/1536}.directory{width:min(100vw,59.0686svh);aspect-ratio:964/1632}.menu{width:min(100vw,56.2799svh);aspect-ratio:941/1672}.hotspot{position:absolute;display:block;border:0;background:transparent;border-radius:12px;cursor:pointer;padding:0}.hotspot:focus-visible{outline:3px solid #a75f35;outline-offset:-3px;background:#fff3}.hotspot:active{background:#fff2}.back{top:1.5%;left:3%;width:26%;height:5.5%}.ride{left:2%;top:26%;width:47%;height:16.8%}.stay{left:50%;top:26%;width:48%;height:16.8%}.food{left:2%;top:43.5%;width:96%;height:15.3%}.garden{left:2%;top:59.5%;width:47%;height:15.5%}.hobby{left:50%;top:59.5%;width:48%;height:15.5%}.tips{left:2%;top:75.7%;width:47%;height:15.7%}.extra{left:50%;top:75.7%;width:48%;height:15.7%}.tab{top:20.7%;height:4.8%;width:18%}.t1{left:4%}.t2{left:23%}.t3{left:42%}.t4{left:61%}.t5{left:80%}.location{left:63%;top:90.6%;width:28%;height:5.2%}.enter{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);display:grid;place-items:center;width:47%;height:7%;min-height:42px;text-decoration:none;background:#93483d;border:1px solid #93483d;border-radius:22px;color:#f4dfad;font-size:clamp(23px,4svh,34px);letter-spacing:.3em;text-indent:.3em;box-shadow:0 3px 8px #5e392026}.enter:before{content:"";position:absolute;inset:4px;border:1px solid #ead4a6;border-radius:18px}.enter:focus-visible{outline:3px solid #526245;outline-offset:3px}dialog{border:1px solid #c6b58f;border-radius:20px;background:#fcf7e9;padding:30px 24px;max-width:calc(100vw - 40px);width:350px;color:#42452d;box-shadow:0 16px 60px #302b2b33}dialog::backdrop{background:#29261466}dialog h2{font-size:24px;margin:0 25px 18px 0}dialog p{line-height:1.7}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px;color:#6b624d}.dismiss,.map-link{display:block;text-align:center;background:#dce2c8;border:0;border-radius:12px;padding:12px 18px;margin-top:18px;text-decoration:none;width:100%}
.cover{width:min(100vw,59.0686svh);aspect-ratio:964/1632}

.food-page{height:auto;min-height:100svh;display:block;background:#f7f0dc}
.food-shell{max-width:480px;margin:auto;padding:0 18px 18px;background:radial-gradient(ellipse at 80% 40%,#e5e8d366,transparent 65%),#f7f0dc}
.food-header{position:relative;height:150px;overflow:hidden;margin:0 -18px}
.food-header{height:auto!important;aspect-ratio:941/330}
.header-art{position:absolute;inset:0;background:url('assets/menu-approved-v2.png') center top/100% auto no-repeat}
.food-back{position:absolute;top:10px;left:15px;background:#f7f0dc;padding:7px 10px;text-decoration:none;font-size:15px}
.cuisine-tabs{display:flex;gap:6px;padding:4px 0 14px}
.cuisine-tabs button{flex:1;white-space:nowrap;border:1px solid #b9bea3;border-radius:7px 10px 7px 10px;background:#eee9d6;padding:10px 3px;font-size:15px;color:#586044}
.cuisine-tabs button[aria-pressed=true]{background:#677653;color:#fff9e8;border-color:#677653}
.restaurant-picker{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:13px;color:#7b7b62}
.restaurant-picker label{white-space:nowrap}.restaurant-picker select{min-width:0;flex:1;border:0;border-bottom:1px solid #c7c6ac;background:transparent;padding:8px 0;color:#4c533c;font:inherit;font-size:14px}
.restaurant-card{background:#fffcf0;border:1px solid #d8d3b9;border-radius:3px 16px 4px 13px;padding:17px;box-shadow:3px 5px 0 #d6d9bd55}
.card-kicker{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;color:#85846c}
#restaurant-name{font-size:24px;line-height:1.35;font-weight:600;margin:10px 0 17px;color:#47563c}
.photo-frame{position:relative;aspect-ratio:1.38;overflow:hidden;border:5px solid #fff;box-shadow:0 2px 8px #4f493c20;background:#e9e4d3;transform:rotate(-1deg)}
#dish-photo{width:100%;height:100%;display:block;object-fit:cover}
#dish-photo.screenshot-photo{height:170%;max-height:none;position:absolute;top:-35%;object-fit:cover}
.photo-controls{position:absolute;bottom:7px;right:7px;display:flex;align-items:center;gap:7px;background:#302f26a8;color:white;border-radius:18px;font:12px sans-serif}
.photo-controls button{border:0;background:none;color:white;font-size:24px;width:34px;height:34px}
.dish-list{margin-top:20px}.small-label{font-size:14px;color:#836b37;border-bottom:2px solid #d7c495;padding-bottom:3px}
.dish-list p{font-size:15px;line-height:1.8;margin:8px 0 17px}
.recommendation{background:#e9eddb;border-radius:2px 12px 3px 12px;padding:14px 16px}
.recommendation .small-label{color:#546346;border-color:#bbc6a5}
.recommendation p{font-family:system-ui,sans-serif;font-size:15px;line-height:1.85;margin:10px 0 0;color:#4d5541}
#restaurant-map{display:block;width:fit-content;margin:17px 0 0 auto;padding:9px 17px;background:#ede4c7;border:1px solid #d5c49a;border-radius:4px 9px;text-decoration:none;font-size:15px;color:#776039}
.restaurant-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0 max(12px,env(safe-area-inset-bottom));font:13px system-ui;color:#85816c}
.restaurant-pagination button{border:1px solid #b8bea2;background:#e2e7d2;border-radius:8px;padding:12px 20px;color:#4e5b3d;font-family:inherit}
.restaurant-pagination button:disabled{opacity:.35}
button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #97704c;outline-offset:3px}
@media(min-width:430px){.food-header{height:174px}}
@media(max-width:350px){.food-shell{padding-left:12px;padding-right:12px}.cuisine-tabs{gap:3px}.cuisine-tabs button{font-size:13px}.restaurant-card{padding:13px}#restaurant-name{font-size:22px}}

