:root{font-family:Arial,Microsoft YaHei,sans-serif;color:#383c32;background:#ece8dc;font-synthesis:none;font-size:14px;--gold:#9a7a44;--ink:#404b3b;--line:#dcd7c9;--paper:#faf8f1}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button{transition:background .2s,transform .2s}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible{outline:2px solid #a8894c;outline-offset:4px}button{color:inherit}a{text-decoration:none;color:inherit}#scene{position:fixed;inset:0}#scene canvas{width:100%;height:100%;display:block;touch-action:none}.scene-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(241,237,225,.92),rgba(241,237,225,.45) 28%,transparent 55%),linear-gradient(0deg,rgba(241,237,225,.92),transparent 20%,transparent 85%,rgba(245,242,234,.94));transition:opacity .7s}body.in-hall .scene-shade{background:linear-gradient(0deg,rgba(241,237,225,.9),transparent 15%,transparent 84%,rgba(245,242,234,.93))}.header{position:fixed;z-index:3;top:0;left:0;right:0;padding:24px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px;letter-spacing:5px;font-size:23px}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:6px}.brand-mark{display:grid;place-items:center;border:1px solid #9a8b68;border-radius:50%;font-family:serif;font-size:26px;letter-spacing:0;width:47px;height:47px;color:#79663d}.header nav{display:flex;gap:32px}.nav-item{background:none;border:0;padding:11px 0;color:#6a6d60;position:relative;white-space:nowrap;font-size:13px;letter-spacing:1px}.nav-item.active{color:#383f32}.nav-item.active:after{content:"";position:absolute;bottom:0;left:calc(50% - 9px);width:18px;height:2px;background:#9a7a44}#my-count{display:inline-flex;background:#ddd8c8;border-radius:50%;width:17px;height:17px;align-items:center;justify-content:center;font-size:10px;letter-spacing:0}.outline-button{border:1px solid #b5ae98;border-radius:3px;background:#faf8f1b8;padding:10px 16px;letter-spacing:1px;font-size:12px;white-space:nowrap}.outline-button span{margin-right:6px}.intro{position:fixed;top:31%;left:6%;transition:opacity .4s,transform .4s;max-width:470px;pointer-events:none}.intro>*{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2.6px;color:#817654;display:flex;align-items:center;gap:10px}.eyebrow>span{width:24px;height:1px;background:#958158}.intro h1{font-family:Songti SC,SimSun,serif;font-size:clamp(42px,4.3vw,68px);font-weight:400;line-height:1.35;letter-spacing:8px;margin:22px 0}.intro h1 span{color:#8d7040}.intro p{font-size:13px;line-height:2.2;color:#737462;letter-spacing:1px;margin:0 0 28px}.primary-button{background:#46523f;color:#faf7ee;border:1px solid #46523f;border-radius:3px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:13px;letter-spacing:1.3px}.primary-button:hover{background:#58674f;transform:translateY(-1px)}.primary-button span{font-size:18px;font-weight:300}.intro-note{display:flex;align-items:center;gap:8px;margin-top:22px;color:#80836f;font-size:10px;letter-spacing:.7px}.intro-note i{font-style:normal;margin:0 1px}.live-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#86936a}.bottom-bar{position:fixed;bottom:24px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.bottom-bar>*{pointer-events:auto}.location-label{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:2px;min-width:180px}.location-icon{font-size:27px;color:#8a7852}.location-label small{display:block;font-size:8px;color:#8c8e7d;letter-spacing:2px;margin-top:6px}.view-tools{display:flex;align-items:center;padding:4px 9px;border:1px solid #d3cdbb;background:#f9f6e9d9;border-radius:30px;box-shadow:0 3px 18px #242a2410}.view-tools button{border:0;background:none;width:36px;height:32px;font-size:21px;color:#646a55;border-radius:50%}.view-tools button.active{color:#a17b36;background:#eee4ce}.view-tools>span{height:14px;width:1px;background:#d5d1c2;margin:0 5px}.experience-tag{font-size:10px;color:#70785f;display:flex;gap:8px;align-items:center}.tag{font-size:8px;border:1px solid #bdb8a5;padding:4px 6px;letter-spacing:1px;margin-left:8px}.hidden{display:none!important}.offering-panel{position:fixed;z-index:4;right:32px;top:108px;bottom:96px;width:350px;padding:25px;background:#faf8f2ed;border:1px solid #e0d9c9;border-radius:5px;box-shadow:0 10px 60px #2b2b211c;overflow:auto;scrollbar-width:thin;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between}.panel-heading .eyebrow{font-size:8px;letter-spacing:2px}h2{font-family:Songti SC,SimSun,serif;font-size:26px;font-weight:400;letter-spacing:2px;margin:10px 0}h3{font-weight:400;letter-spacing:2px}.icon-button{border:0;background:transparent;font-size:25px;color:#8b8a7d;line-height:1;width:30px;height:30px}.panel-copy,.dialog-intro{font-size:12px;line-height:1.9;color:#828170;margin:5px 0 18px}.legend{display:flex;gap:18px;font-size:10px;color:#8b8977;margin-bottom:12px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border:1px solid #b7ac8a;background:#efe9da;border-radius:1px}.legend i.occupied{background:#7c745d}.legend i.chosen{background:#b38a44}.slot-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:3px;padding:13px 8px;background:#efebe0;border:1px solid #ded6c4;border-radius:3px}.slot-grid button{border:1px solid #b9ad8d;border-radius:2px;background:#faf5e8;padding:0;aspect-ratio:.78;min-width:0}.slot-grid button.occupied{background:#80775e;border-color:#80775e}.slot-grid button.mine{background:#718269;border-color:#718269}.slot-grid button.selected{background:#c1994d;border-color:#936c31;box-shadow:0 0 0 1px #bb9043}.selection-line{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:11px;margin-bottom:16px}.selection-line>span{color:#878471}.selection-line strong{font-weight:500;color:#826b3e}.text-button{border:0;background:none;padding:0;color:#8a7245;font-size:10px;margin-left:auto}form label{display:block;font-size:11px;letter-spacing:.5px;margin-bottom:13px;color:#5c6150}input{display:block;width:100%;margin-top:7px;padding:10px 11px;border:1px solid #dcd6c7;border-radius:3px;background:#fffdf8;color:#434d3c;font-size:12px;outline:0}input:focus{border-color:#aa915d;box-shadow:0 0 0 2px #b5a17115}input::placeholder{color:#aaa695}.optional{color:#aaa18e;font-size:10px;margin-left:6px}.amount-input{position:relative}.amount-input>span{position:absolute;top:10px;left:12px;color:#9a8050}.amount-input input{padding-left:28px}.amount-options{display:flex;gap:7px;align-items:center;margin-top:-5px}.amount-options button{padding:5px 9px;border:1px solid #d7cfbc;background:transparent;color:#8e805e;border-radius:2px;font-size:10px}.amount-options button.active{background:#ece3cf;border-color:#b29b69}.amount-options>span{font-size:9px;color:#a19c89;margin-left:auto}.full{width:100%}.demo-note{font-size:9px;color:#9b9583;line-height:1.8;text-align:center;margin:13px 0 0}.form-error{font-size:11px;color:#a15c3c;margin:10px 0;min-height:0}.form-error:empty{display:none}.hall-action{position:fixed;right:35px;bottom:103px;border:1px solid #b7a984;background:#f6f2e3;color:#655839;padding:15px 20px;border-radius:3px;box-shadow:0 5px 20px #0001;z-index:3}.hall-action span{margin-left:30px}.toast{position:fixed;bottom:93px;left:50%;transform:translate(-50%,10px);padding:13px 22px;background:#414b3dee;color:#fffdf3;z-index:12;border-radius:4px;opacity:0;transition:.25s;pointer-events:none;font-size:12px;line-height:1.7;max-width:90vw;min-width:200px;text-align:center}.toast.visible{opacity:1;transform:translate(-50%)}.loading{position:fixed;inset:0;background:#f3eee3;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:20;transition:opacity .6s}.loading .brand-mark{width:65px;height:65px;font-size:34px;animation:breathe 2s infinite}.loading p{font-family:serif;font-size:20px;letter-spacing:4px;margin:25px 0 12px}.loading small{font-size:11px;color:#9b927a;letter-spacing:1px}@keyframes breathe{50%{opacity:.45}}dialog{border:1px solid #e0d9c9;padding:30px;background:#faf8f1;color:#4b503f;border-radius:6px;max-height:87dvh;max-width:1000px;width:90vw;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#262b2599;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin-bottom:0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery figure{margin:0}.gallery figure:first-child{grid-column:span 2}.gallery img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;border-radius:3px}.gallery figcaption{display:flex;align-items:center;gap:15px;font-family:serif;font-size:17px;letter-spacing:2px;padding:13px 0}.gallery figcaption span{font-family:Arial;font-size:10px;color:#9b8a67}.gallery figcaption small{margin-left:auto;font-family:Arial;font-size:8px;letter-spacing:2px;color:#94907e}#my-dialog{max-width:520px}.my-card{border-top:1px solid #dfd8c7;padding:18px 0;display:flex;justify-content:space-between;align-items:center}.my-card h3{font-size:17px;margin:0 0 7px}.my-card p{font-size:11px;color:#918772;margin:0}.empty-state{padding:35px 10px;text-align:center;color:#8a856f;line-height:2;font-size:13px}#preview-dialog{max-width:400px}.tablet-preview{margin-top:20px;padding:24px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at top,#efe1ba,#e5ddc9);border-radius:4px}.tablet-visual{width:96px;min-height:175px;padding:18px 10px;background:linear-gradient(95deg,#3a2016,#563326 45%,#3a2119);border:3px double #bc974f;border-radius:23px 23px 2px 2px;box-shadow:0 7px 0 4px #47291d,0 10px 0 6px #b08b48,0 13px 0 9px #4a2c20,0 24px 28px #422c3533;display:grid;place-items:center}.tablet-visual span{writing-mode:vertical-rl;text-orientation:upright;font-family:SimSun,serif;font-size:20px;color:#e9c577;letter-spacing:3px;max-height:280px}.tablet-preview p{font-size:10px;color:#8a7450;margin:28px 0 0;letter-spacing:2px}.preview-wish{text-align:center;font-size:12px;color:#8b806a;line-height:1.9;overflow-wrap:anywhere}.preview-total{display:flex;justify-content:space-between;font-size:12px;margin:20px 0;color:#8b806a}.preview-total strong{color:#77613b;font-size:18px;font-weight:400}#detail-wish{font-size:12px;color:#8a836f;line-height:1.9;overflow-wrap:anywhere}body.panel-open .view-tools{transform:translate(-120px)}@media(min-width:1600px){.intro{left:7%;top:30%}.header{padding:30px 55px}.offering-panel{width:375px}}@media(max-width:800px){.header{padding:18px 20px;gap:12px}.brand{font-size:18px;gap:9px;letter-spacing:3px}.brand-mark{width:36px;height:36px;font-size:22px}.brand small{font-size:7px;letter-spacing:2px}.header nav{gap:18px}.nav-item{font-size:11px;letter-spacing:0}.outline-button{padding:9px 11px;font-size:10px}.intro{left:7%;top:30%}.intro h1{font-size:46px}.intro p{font-size:12px}.intro .eyebrow{font-size:8px}.bottom-bar{left:20px;right:20px;bottom:20px}.experience-tag{display:none}.location-label{min-width:0;font-size:11px}.view-tools{margin-left:auto}.offering-panel{right:18px;width:320px;top:95px;bottom:90px;padding:20px}body.panel-open .view-tools{transform:none}.gallery{grid-template-columns:1fr}.gallery figure:first-child{grid-column:auto}}@media(max-width:560px){.header{padding:16px 17px;flex-wrap:wrap;gap:8px}.header nav{order:3;width:100%;justify-content:center;gap:30px;margin-top:8px}.header>.outline-button{margin-left:auto}.nav-item{font-size:12px;padding:8px 0}.intro{top:auto;bottom:135px;left:7%}.intro h1{font-size:40px;letter-spacing:6px;line-height:1.4;margin:15px 0}.intro p{font-size:11px;line-height:2;margin-bottom:20px}.intro .primary-button{padding:12px 16px;font-size:12px;max-width:230px}.intro-note{font-size:9px;margin-top:15px}.intro .eyebrow{font-size:7px;letter-spacing:1.5px}.scene-shade{background:linear-gradient(0deg,#f0ecdf 3%,#f0ecdfdd 21%,#f0ecdf45 54%,transparent 70%,#f4f0e4e6 95%)}.bottom-bar{bottom:18px;left:18px;right:18px}.view-tools{padding:3px}.view-tools button{width:30px;height:30px;font-size:20px}.view-tools>span{margin:0 2px}.location-label{gap:7px;font-size:10px;letter-spacing:1px}.location-label small{font-size:6px;letter-spacing:1px}.location-icon{font-size:22px}.offering-panel{inset:auto 12px 80px;width:auto;max-height:58dvh;padding:19px}.panel-heading h2{font-size:22px}.panel-copy{font-size:11px;margin-bottom:12px}.slot-grid{max-width:380px;margin:0 auto;padding:9px;gap:4px}.slot-grid button{aspect-ratio:1}.legend{margin-bottom:10px}.selection-line{padding:10px 0;margin-bottom:12px}.hall-action{right:18px;bottom:88px;padding:12px 17px;font-size:12px}dialog{padding:22px;width:94vw;max-height:88dvh}.dialog-head h2{font-size:23px}.gallery figcaption small{font-size:7px}.toast{bottom:86px}.demo-note{font-size:9px}body.in-hall .scene-shade{background:linear-gradient(0deg,#f1eddfbd,transparent 22%,transparent 75%,#f4f0e4f0 94%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
