:root{--forest:#173d31;--deep:#102c23;--moss:#5e7c66;--paper:#f8f7f2;--cream:#fffdf8;--gold:#d6a33d;--line:#dfe4dc;--ink:#17261f;font-size:19px}*{box-sizing:border-box}body{margin:0;padding-bottom:100px;background:linear-gradient(180deg,#edf1e9,#f8f7f2 420px);color:var(--ink);font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;line-height:1.45}.hero{height:270px;position:relative;overflow:hidden;background:var(--deep)}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0e281540,#102b22d9)}.brand{position:absolute;top:20px;left:22px}.brand img{width:132px;max-height:48px;object-fit:contain;object-position:left}.hero-copy{position:absolute;left:22px;bottom:22px;color:#fff}.hero-copy p{margin:0;font-size:.84rem}.hero-copy h1{margin:5px 0 0;font-size:2rem}.arrival{background:var(--cream);border:1px solid #e8ebe5;border-radius:18px;margin:-20px 15px 0;position:relative;padding:18px;box-shadow:0 10px 28px #173d3112}.eyebrow{display:block;color:var(--moss);font-size:.76rem;font-weight:800;letter-spacing:.1em}.arrival-row{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;margin-top:8px}.arrival label{font-size:.82rem;font-weight:800;color:#526458}.arrival select{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 2px;background:transparent;color:var(--forest);font:inherit;font-size:1rem}main{max-width:760px;margin:auto}.categories{display:flex;gap:8px;overflow:auto;padding:24px 15px 12px}.categories button{border:1px solid var(--line);border-radius:999px;background:var(--cream);color:#456052;padding:10px 15px;white-space:nowrap;font:800 .9rem inherit}.categories button.active{background:var(--forest);border-color:var(--forest);color:#fff}.menu-heading{display:flex;justify-content:space-between;align-items:end;margin:14px 18px 12px}.menu-heading h2{font-size:1.55rem;margin:3px 0}.menu-heading p{font-size:.82rem;color:#748077;margin:0;text-align:right}.menu{display:grid;gap:10px;padding:0 15px}.dish{width:100%;border:1px solid #e1e5df;background:var(--cream);border-radius:16px;padding:16px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;box-shadow:0 3px 12px #173d3107}.dish.featured{background:linear-gradient(135deg,#244a3b,#17352b);color:#fff}.dish small{display:block;color:#78877b;font-size:.78rem}.dish.featured small,.dish.featured .sub{color:#d9e4dc}.dish h3{margin:3px 0;font-size:1.14rem}.dish .sub{font-size:.86rem;margin:4px 0;color:#65766b}.dish-side{text-align:right;display:grid;gap:8px;justify-items:end}.dish strong{color:var(--forest)}.dish.featured strong{color:#f8d88b}.add{border:0;border-radius:50%;width:38px;height:38px;background:#eaf0e9;color:var(--forest);font-size:1.55rem}.featured .add{background:#f1c568}.story{margin:38px 15px 0;border-radius:20px;overflow:hidden;position:relative;height:190px;background:var(--deep)}.story img{width:100%;height:100%;object-fit:cover;opacity:.7}.story:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#112b22e8,#112b2220)}.story div{position:absolute;z-index:1;left:20px;bottom:18px;color:#fff;max-width:290px}.story .eyebrow{color:#ebd89b}.story h2{font-size:1.2rem;margin:5px 0}.cart-button{position:fixed;z-index:5;bottom:15px;left:15px;right:15px;border:0;border-radius:15px;background:var(--forest);color:#fff;min-height:61px;padding:10px 15px;display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;text-align:left;font:800 1rem inherit;box-shadow:0 10px 30px #173d3155}.cart-button strong{color:#f4d58d}.cart-count{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f0c566;color:var(--deep);font-size:.84rem}footer{display:grid;gap:7px;padding:26px 24px 15px;color:#496154;font-size:.88rem;text-align:center}footer b{font-size:1.12rem;color:var(--forest)}footer a{color:var(--forest);font-weight:800}dialog{border:0;border-radius:22px;padding:0;width:min(530px,calc(100% - 28px));box-shadow:0 20px 80px #102c2399}dialog::backdrop{background:#102c2388}dialog article{position:relative;padding:25px;background:var(--cream)}dialog h2{margin:3px 0 18px}.close{position:absolute;right:17px;top:9px;border:0;background:transparent;font-size:2rem;color:#637269}.cart-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line span{font-weight:700}.cart-line button{border:0;background:none;color:#a04d43;font:inherit}.cart-total{display:flex;justify-content:space-between;padding:16px 0;font-size:1.12rem}.checkout-note,.package-details,.reminder{border-radius:12px;background:#edf2e9;color:#526458;padding:14px;font-size:.9rem;line-height:1.7}.reminder{font-size:1.08rem}.confirm{border:0;border-radius:12px;width:100%;padding:14px;margin-top:12px;background:var(--gold);color:var(--deep);font:900 1rem inherit}@media(min-width:700px){body{padding-top:18px}.hero{border-radius:24px 24px 0 0;margin:0 15px;height:310px}.menu{grid-template-columns:repeat(2,1fr)}}
.reservation-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 15px -3px;padding:12px 14px;border:1px solid #d5e2d5;border-radius:13px;background:#f7fbf6;color:#5c7565;text-decoration:none;font-size:.84rem}.reservation-entry b{color:var(--forest);font-size:.9rem}
