:root{--shop-ink:#163b36;--shop-paper:#f3ecde;--shop-muted:#6d796f;--shop-border:#d9cfbb;--shop-gold:#c09a58}
html,body{font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
.is-authenticated .world.active{opacity:1;animation:none}
.login-panel input{font-size:16px}
.commerce-dock{position:fixed;top:96px;right:3.2%;z-index:31;display:flex;padding:5px;gap:3px;background:rgba(5,25,27,.88);border:1px solid rgba(219,187,125,.38);backdrop-filter:blur(16px);box-shadow:0 10px 30px #0016}
.commerce-dock button{border:0;background:transparent;color:#e8d3a4;font-size:12px;letter-spacing:.06em;padding:12px 15px;min-height:44px;transition:background .2s}
.commerce-dock button:hover{background:#e3c47b20}.commerce-dock span{display:inline-grid;place-items:center;border-radius:30px;background:#d7b368;color:#102b29;min-width:18px;height:18px;font-size:10px;padding:0 4px;margin-left:3px}
.map-legend{top:160px}
.place-service-actions{display:flex;align-items:center;gap:12px;margin:0 8% 45px;padding:22px 0;border-top:1px solid #c8bda9;border-bottom:1px solid #c8bda9}
.place-service-actions>span{font:600 16px "Noto Serif SC","Songti SC",serif;margin-right:auto;color:#193c36}.place-service-actions button{padding:12px 18px;border:1px solid #173b35;background:transparent;color:#173b35;font-size:12px}.place-service-actions button:first-of-type{background:#173b35;color:#ead5a7}
.commerce-panel[hidden]{display:none!important}.commerce-panel{position:fixed;inset:0;z-index:140;background:var(--shop-paper);color:var(--shop-ink);overflow:auto;overscroll-behavior:contain;color-scheme:light;animation:shopEnter .32s ease-out}
.commerce-open body{overflow:hidden}
.commerce-header{padding:35px max(5%,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;background:#0d2b29;color:#f5e7c9;gap:20px}
.commerce-header h2{font:600 clamp(23px,3vw,38px)/1.3 "Noto Serif SC","Songti SC",serif;letter-spacing:.03em;margin:0}.commerce-header .eyebrow{font-size:9px;margin-bottom:10px}.commerce-close{flex-shrink:0;border:1px solid #6a7e6e;width:44px;height:44px;border-radius:50%;background:transparent;color:#e5cd95;font-size:27px}.commerce-close:hover{background:#fff1}
.commerce-notice{padding:10px 5%;background:#e7dbc1;font-size:11px;color:#78623b;line-height:1.7}.commerce-notice span{font-size:9px;letter-spacing:.15em;margin-right:8px;border:1px solid #a7905e;padding:2px 5px}
.commerce-tabs{display:flex;gap:26px;padding:0 max(5%,calc((100vw - 1320px)/2));border-bottom:1px solid var(--shop-border);background:#f8f2e7;position:sticky;top:0;z-index:4;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.commerce-tabs button{padding:19px 0 16px;font-size:13px;border:0;border-bottom:3px solid transparent;background:transparent;color:#879082;flex-shrink:0}.commerce-tabs button.active{color:#163b36;border-bottom-color:#a04432;font-weight:600}.commerce-tabs button:hover{color:#a04432}.commerce-tabs span{font-size:10px;margin-left:5px}
.commerce-body{max-width:1440px;margin:0 auto;padding:38px 5% 80px}.catalog-intro{min-height:220px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 40px;background:linear-gradient(90deg,#123e38f2 0%,#123e38c9 46%,#143b3033),var(--catalog-image) center 48%/cover;color:#f2e3c3;position:relative}.catalog-intro>div{max-width:600px}.catalog-intro h3{font:600 clamp(24px,3vw,36px) "Noto Serif SC","Songti SC",serif;margin:0 0 17px}.catalog-intro p:last-child{font-size:12px;line-height:1.9;color:#ccd9c5;max-width:480px}.catalog-intro>span{align-self:flex-end;font-size:9px;letter-spacing:.08em;border:1px solid #ead5ab88;padding:6px 8px;white-space:nowrap}
.place-filters,.order-filters{display:flex;gap:7px;margin:28px 0 0;overflow-x:auto;padding-bottom:10px;white-space:nowrap}.place-filters button,.order-filters button{flex-shrink:0;background:transparent;border:1px solid #d2c6af;color:#6e796e;font-size:11px;padding:10px 16px;min-height:40px}.place-filters button.selected,.order-filters button.selected{background:#193e36;border-color:#193e36;color:#f2deac}.catalog-meta{display:flex;justify-content:space-between;padding:15px 0 21px;border-top:1px solid #d9cfbb;margin-top:10px;font-size:11px;color:#849080;letter-spacing:.1em}
.offers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.offer-card{background:#faf6ed;border:1px solid #dfd5c1;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}.offer-card:hover{box-shadow:0 12px 30px #1f392516;transform:translateY(-3px)}.offer-photo{position:relative;aspect-ratio:1.1;overflow:hidden;background:#e1d5bc}.offer-photo.landscape{aspect-ratio:1.5}.offer-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.offer-card:hover .offer-photo img{transform:scale(1.035)}.offer-tag{position:absolute;left:14px;bottom:13px;background:#102f2cdb;color:#ead4a5;font-size:9px;letter-spacing:.1em;padding:7px 10px;backdrop-filter:blur(8px)}.offer-copy{padding:24px;flex:1;display:flex;flex-direction:column}.offer-place{font-size:9px;color:#a1854f;letter-spacing:.12em}.offer-copy h3{font:600 19px/1.5 "Noto Serif SC","Songti SC",serif;margin:10px 0}.offer-copy>p{font-size:11px;color:#7c8476;line-height:1.9;margin:0 0 23px;min-height:62px}.offer-form{margin-top:auto}.offer-price{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:15px 0 18px}.offer-price strong{font-size:24px;font-weight:500;color:#8e4432;letter-spacing:-.04em}.offer-price small{font-size:9px;color:#8d8d79}.quantity-label{display:flex;align-items:center;gap:8px;font-size:10px;color:#7c8476}.quantity-label input{width:48px;border:1px solid #d9cfbb;padding:7px 3px 7px 8px;background:#fff9;color:#244335;font-size:13px}.offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.outline-action,.solid-action{border:1px solid #1a4136;padding:12px 14px;font-size:11px;min-height:44px;letter-spacing:.04em;cursor:pointer}.outline-action{color:#244b3c;background:transparent}.solid-action{color:#f7e7c0;background:#1a4136}.outline-action:hover{background:#1a413610}.solid-action:hover{background:#305e4d}.solid-action:disabled{background:#98a297;border-color:#98a297;cursor:not-allowed}
.booking-fields{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin-bottom:22px}.booking-fields label{font-size:9px;color:#8b8e7e;min-width:0}.booking-fields input,.booking-fields select{width:100%;min-height:42px;padding:10px 6px;border:1px solid #d8ccb5;background:#f3ecdf;color:#244335;margin-top:7px;font:12px inherit;min-width:0}
.list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.list-heading h3{font:600 32px "Noto Serif SC","Songti SC",serif;margin:0}.list-heading small,.list-heading label{font-size:11px;color:#7b836f}.list-heading input,.cart-row>input{accent-color:#1a4136;width:17px;height:17px;cursor:pointer}
.cart-list{border-top:1px solid var(--shop-border)}.cart-row{display:flex;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--shop-border)}.cart-row>img{width:105px;height:105px;object-fit:cover;flex-shrink:0}.cart-description{flex:1;min-width:0}.cart-description small{font-size:9px;color:#9e8556}.cart-description h3{font:600 18px "Noto Serif SC","Songti SC",serif;margin:7px 0}.cart-description p{font-size:11px;color:#7d8878}.text-action{background:none;border:0;padding:4px 0;color:#a3573e;font-size:10px}.cart-row-end{text-align:right}.cart-row-end>strong{font-size:19px;font-weight:500}.cart-row-end>small{font-size:9px;color:#92937f}.stepper{display:flex;align-items:center;justify-content:flex-end;margin:12px 0 8px;gap:12px}.stepper button{border:1px solid #d0c7af;background:none;width:32px;height:32px;color:#244b3c}.stepper span{font-size:12px;min-width:18px;text-align:center}.cart-summary{position:sticky;bottom:0;z-index:3;margin-top:30px;background:#eee5d2;box-shadow:0 -10px 25px #f3ecde;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #d0c4ab}.cart-summary small{display:block;font-size:10px;color:#7c806e;margin-bottom:7px}.cart-summary strong{font-size:27px;color:#a04733;font-weight:500}.commerce-empty{text-align:center;padding:90px 20px}.commerce-empty>span{font-size:45px;color:#bca06a}.commerce-empty h3{font:600 28px "Noto Serif SC","Songti SC",serif}.commerce-empty p{font-size:13px;color:#8b907c;margin:0 0 28px}
.orders-list{display:grid;gap:20px}.order-card{background:#faf6ec;border:1px solid #d9cfba}.order-card>header{display:flex;justify-content:space-between;gap:10px;padding:15px 22px;border-bottom:1px solid #e7dfce;font-size:10px;color:#8b8f7a}.order-card header b{color:#527c5a;font-weight:500}.order-overview{padding:25px;display:flex;gap:23px;align-items:center}.order-thumbnails{display:flex;gap:5px;flex-shrink:0}.order-thumbnails img{object-fit:cover}.order-overview>div:nth-child(2){flex:1;min-width:0}.order-overview h3{font:600 16px "Noto Serif SC","Songti SC",serif;margin:0 0 8px}.order-overview p{font-size:10px;color:#8e917b}.order-overview strong{font-size:22px;color:#994c35;font-weight:500}.order-overview small{display:block;font-size:9px;margin-top:5px;color:#999780}
.receipt{max-width:850px;margin:auto}.receipt-success{text-align:center;margin:10px 0 35px}.receipt-success>span{display:grid;place-items:center;margin:0 auto 20px;width:54px;height:54px;border-radius:50%;background:#dbe8d5;color:#3b6d43;font-size:27px}.receipt-success h3{font:600 29px "Noto Serif SC","Songti SC",serif}.receipt-success>p:last-child{font-size:11px;color:#858c78;line-height:1.8}.receipt-paper{border:1px solid #d4c6a7;background:#fffbef;padding:32px;box-shadow:0 13px 32px #283b2010}.receipt-paper>header{display:flex;justify-content:space-between;border-bottom:1px dashed #cbbd9b;padding-bottom:25px}.receipt-paper>header small{font-size:10px;color:#8f865e;letter-spacing:.12em}.receipt-paper h3{font:600 25px "Noto Serif SC","Songti SC",serif;margin:12px 0 0}.receipt-paper>header>b{border:2px solid #a45540;transform:rotate(8deg);padding:10px 14px;color:#a45540;font-size:12px;line-height:1.5;letter-spacing:.15em}.receipt-paper dl{font-size:11px;margin:25px 0}.receipt-paper dl>div{display:flex;gap:20px;margin-bottom:12px}.receipt-paper dt{min-width:70px;color:#a09374}.receipt-paper dd{margin:0;overflow-wrap:anywhere}.receipt-item{display:flex;gap:15px;padding:20px 0;border-top:1px solid #e9e0ca;align-items:center}.receipt-item img{object-fit:cover;flex-shrink:0}.receipt-item>div{flex:1}.receipt-item h4{font-size:13px;margin:0 0 8px}.receipt-item p{font-size:10px;color:#8d8a72}.receipt-item small{font-size:9px;color:#a3987c;overflow-wrap:anywhere}.receipt-item strong{font-size:16px;font-weight:500}.receipt-paper>footer{border-top:1px dashed #c6b58e;display:flex;justify-content:space-between;padding-top:25px;margin-top:10px;font-size:12px;line-height:1.8}.receipt-paper footer small{font-size:10px;color:#9e9579}.receipt-paper footer strong{font-size:29px;font-weight:500;color:#994b36}.receipt-warning{font-size:9px;color:#ac9b79;text-align:center;margin:25px 0 0}.receipt-actions{display:flex;justify-content:center;gap:12px;margin-top:25px}.storage-note{background:#f4dca3;color:#76501c;padding:14px;font-size:12px}
.commerce-panel button:focus-visible,.commerce-panel input:focus-visible,.commerce-panel select:focus-visible{outline:2px solid #aa5438;outline-offset:3px}.commerce-panel button,.commerce-panel input,.commerce-panel select{font-family:inherit}
.commerce-close{position:fixed;right:5%;top:24px;z-index:8;background:#153b35f2;box-shadow:0 4px 18px #143b2522}
.commerce-header h2{padding-right:54px}.place-filters{scrollbar-width:none}.place-filters::-webkit-scrollbar{display:none}
@keyframes shopEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-dock button{padding:10px}.order-thumbnails img:nth-child(n+2){display:none}}
@media(max-width:600px){.commerce-dock{top:auto;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 5px calc(6px + env(safe-area-inset-bottom));border:0;border-top:1px solid #bdab6c50;background:#071d1df5;gap:0}.commerce-dock button{padding:10px 2px;letter-spacing:0;font-size:11px}.character-dock{bottom:80px}.mood-oracle{bottom:90px}.travel-status{bottom:175px;min-width:250px}.commerce-header{padding:24px 5%;align-items:flex-start}.commerce-header h2{font-size:24px}.commerce-header .eyebrow{font-size:7px}.commerce-notice{font-size:10px;padding:9px 5%}.commerce-tabs{gap:23px;padding:0 5%}.commerce-tabs button{font-size:12px;padding:17px 0 14px}.commerce-body{padding:22px 5% 45px}.catalog-intro{min-height:200px;padding:25px 22px;display:block}.catalog-intro h3{font-size:27px;line-height:1.35}.catalog-intro p:last-child{font-size:11px}.catalog-intro>span{display:inline-block;margin-top:8px;font-size:8px}.place-filters{margin-top:20px}.place-filters button{font-size:10px;padding:9px 12px}.offers-grid{grid-template-columns:1fr;gap:20px}.offer-photo{aspect-ratio:1.3}.offer-copy{padding:21px}.offer-copy h3{font-size:20px}.offer-copy>p{min-height:0;font-size:12px}.offer-price small{font-size:10px}.offer-form input,.offer-form select{font-size:16px;max-width:100%}.booking-fields input{width:100%;font-size:14px}.place-service-actions{margin:0 5% 35px;flex-wrap:wrap;gap:10px}.place-service-actions>span{width:100%;font-size:16px;margin-bottom:5px}.place-service-actions button{flex:1;font-size:11px;padding:12px 8px}.cart-row{gap:12px;position:relative;flex-wrap:wrap;padding:18px 0}.cart-row>img{width:72px;height:72px}.cart-row>input{width:15px;height:15px;margin:0}.cart-description{min-width:190px}.cart-description h3{font-size:15px}.cart-description p{font-size:10px}.cart-row-end{display:flex;width:100%;padding-left:100px;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px}.cart-row-end>small{width:100%}.cart-row-end>strong{font-size:18px}.stepper{margin:2px 0}.stepper button{width:36px;height:36px}.cart-summary{padding:16px;gap:12px}.cart-summary strong{font-size:24px}.cart-summary button{font-size:10px;padding:13px 10px}.order-card>header{padding:12px;font-size:8px;flex-wrap:wrap}.order-overview{padding:16px;gap:13px;flex-wrap:wrap}.order-thumbnails img{width:65px;height:65px}.order-overview h3{font-size:14px}.order-overview>.outline-action{width:100%}.list-heading h3{font-size:27px}.list-heading small{font-size:9px}.receipt-success h3{font-size:23px;line-height:1.5}.receipt-paper{padding:20px 16px}.receipt-paper h3{font-size:23px}.receipt-paper>header>b{font-size:10px;padding:8px}.receipt-item{gap:10px;flex-wrap:wrap}.receipt-item img{width:58px;height:58px}.receipt-item h4{font-size:12px}.receipt-item strong{margin-left:68px}.receipt-paper dl>div{gap:8px;font-size:10px}.receipt-paper dt{min-width:58px}.receipt-actions{gap:10px}.receipt-actions button{font-size:10px;padding:12px}.topbar{padding:0 12px}.wordmark strong{font-size:14px}}
