@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-1.woff') format('woff');unicode-range:U+2713}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-2.woff') format('woff');unicode-range:U+8F66,U+FF1D}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-3.woff') format('woff');unicode-range:U+95F4}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-4.woff') format('woff');unicode-range:U+2190}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-5.woff') format('woff');unicode-range:U+FF0B}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-6.woff') format('woff');unicode-range:U+2192}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-7.woff') format('woff');unicode-range:U+FF0F,U+FF5C}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-8.woff') format('woff');unicode-range:U+30FB}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-9.woff') format('woff');unicode-range:U+FF1B}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-10.woff') format('woff');unicode-range:U+FF08,U+FF09,U+FF1F}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-11.woff') format('woff');unicode-range:U+FF0C,U+FF1A}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans-extra-12.woff') format('woff');unicode-range:U+2197}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-1.woff') format('woff');unicode-range:U+2713}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-2.woff') format('woff');unicode-range:U+8F66,U+FF1D}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-3.woff') format('woff');unicode-range:U+95F4}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-4.woff') format('woff');unicode-range:U+2190}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-5.woff') format('woff');unicode-range:U+FF0B}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-6.woff') format('woff');unicode-range:U+2192}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-7.woff') format('woff');unicode-range:U+FF0F,U+FF5C}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-8.woff') format('woff');unicode-range:U+30FB}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-9.woff') format('woff');unicode-range:U+FF1B}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-10.woff') format('woff');unicode-range:U+FF08,U+FF09,U+FF1F}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-11.woff') format('woff');unicode-range:U+FF0C,U+FF1A}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif-extra-12.woff') format('woff');unicode-range:U+2197}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-sans.woff') format('woff')}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/table-serif.woff') format('woff')}
/* Supplied photographs, layered gently to preserve the real restaurant. */
.walkthrough[data-phase="entrance"] { --depth-x:0; --depth-y:0; perspective:1400px; }
.walkthrough[data-phase="entrance"] .tour-ui { padding:32px 5.5vw 22px; gap:0; }
.walkthrough[data-phase="entrance"] .tour-bottom,.walkthrough[data-phase="entrance"] .tour-footer { display:none; }
.cloud-home { display:none; }
.walkthrough[data-phase="entrance"] .cloud-home { display:flex; flex-direction:column; flex:1; min-height:0; }
.walkthrough[data-phase="entrance"] .tour-visual,.table-foreground { inset:-4%;width:108%;height:108%;object-fit:cover;object-position:50% 73%!important;filter:brightness(.88) saturate(.83);transform:translate3d(calc(var(--depth-x)*-13px),calc(var(--depth-y)*-8px),0) scale(1.02);will-change:transform; }
.table-foreground { display:none;position:absolute;pointer-events:none;mask-image:linear-gradient(transparent 49%,#000 69%); }
.walkthrough[data-phase="entrance"] .table-foreground { display:block;transform:translate3d(calc(var(--depth-x)*-22px),calc(var(--depth-y)*-14px),18px) rotateX(calc(var(--depth-y)*.45deg)) rotateY(calc(var(--depth-x)*-.6deg)) scale(1.02); }
.table-light { display:none;position:absolute;inset:0;pointer-events:none; }
.walkthrough[data-phase="entrance"] .table-light { display:block;background:radial-gradient(ellipse at calc(72% + var(--depth-x)*3%) calc(18% + var(--depth-y)*4%),#ffdba428,transparent 58%);mix-blend-mode:screen; }
.walkthrough[data-phase="entrance"] .tour-vignette { background:linear-gradient(90deg,#07150eeb 0%,#07150ec4 24%,#0a11084a 52%,#07100b15 75%),linear-gradient(0deg,#07150ff5 0%,#07150fe6 10%,transparent 42%,#05100b55 100%); }
.cloud-intro { padding-top:clamp(32px,6vh,76px);max-width:470px; }
.cloud-eyebrow { display:flex;align-items:center;gap:10px;color:#e2c89f;font-size:12px;letter-spacing:.14em;line-height:1.8;margin:0 0 20px; }
.cloud-eyebrow>span { display:inline-block;width:5px;height:5px;flex-shrink:0;background:#ddbf89;border-radius:50%;box-shadow:0 0 0 4px #dbba791c; }
.cloud-intro h1 { font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-size:clamp(48px,5.4vw,80px);font-weight:400;letter-spacing:.11em;line-height:1.25;margin:0;text-shadow:0 2px 40px #0005; }
.cloud-intro h1>span { color:#e7d2aa; }
.cloud-description { color:#e1e4d9;font-size:15px;line-height:1.9;letter-spacing:.12em;margin:18px 0 24px; }
.home-enter { background:#dac29b;color:#14271d;min-height:54px;min-width:248px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 23px;border-radius:3px;font-size:15px;letter-spacing:.1em;border:1px solid #efd8b0;box-shadow:0 8px 36px #0003; }
.home-enter:hover { background:#eedcbb;transform:translateY(-2px); }
.home-enter>span { font-size:22px;line-height:1; }
.home-walk { background:transparent;color:#d4ddcc;min-height:44px;font-size:12px;letter-spacing:.06em;padding:10px 0; }
.home-walk span { padding-left:12px;color:#dcc292; }
.experience-counter { padding:15px 0 6px;max-width:370px; }
.counter-heading { font-size:11px;letter-spacing:.08em;color:#d8dfd4;display:flex;align-items:center;gap:8px; }
.counter-heading small { font-size:10px;letter-spacing:.02em;border:1px solid #d5b78960;padding:2px 5px;border-radius:3px;color:#e3cba3; }
.experience-counter>p { display:flex;align-items:baseline;gap:10px;margin:5px 0 5px; }
.experience-counter strong { font:400 35px/1.2 Georgia,serif;letter-spacing:.05em;color:#ead4ae; }
.experience-counter>p>span { font-size:11px;color:#c9d0c4; }
#experience-counter-note { display:block;font-size:11px;line-height:1.65;color:#c7d0c2; }
.counter-explainer { position:relative;z-index:3;font-size:11px;color:#c7d0c2;margin-top:4px; }
.counter-explainer summary { cursor:pointer;min-height:24px;line-height:24px;text-underline-offset:3px; }
.counter-explainer p { padding:12px 14px;border:1px solid #d5b78945;background:#11251f;line-height:1.8;border-radius:4px;margin:4px 0; }
.home-bottom { margin-top:auto;padding-top:28px; }
.home-experience-heading { display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:12px; }
.home-experience-heading p { font-size:14px;color:#e0e5d9;letter-spacing:.15em;margin:0; }
.home-experience-heading>span { font:10px Georgia,serif;color:#d3bf9e;letter-spacing:.18em; }
.home-scenes { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.home-scenes button { min-width:0;display:flex;align-items:center;gap:17px;padding:7px 18px 7px 7px;text-align:left;background:#11251dad;border:1px solid #c9ba9457;border-radius:4px;backdrop-filter:blur(16px);transition:background .2s,border-color .2s,transform .2s; }
.home-scenes button:hover { transform:translateY(-3px);background:#213d2ee6;border-color:#d6c095; }
.home-scenes img { width:64px;height:64px;object-fit:cover;border-radius:2px; }
.home-scenes button>span { min-width:0; }
.home-scenes small { display:block;font:9px Georgia,serif;letter-spacing:.12em;color:#bcbda9;line-height:1.5;margin-bottom:6px; }
.home-scenes b { font-size:17px;letter-spacing:.14em;font-weight:400;white-space:nowrap;color:#f0eadc; }
.home-scenes i { margin-left:auto;font:20px Georgia,serif;color:#d8c49d; }
.home-credit { display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#afbdad;margin-top:12px;letter-spacing:.07em;min-height:30px; }
.home-credit button { background:transparent;color:#cbb894;font:inherit;padding:7px 4px;min-height:32px;text-decoration:underline;text-underline-offset:4px; }
.side-faq { position:fixed;z-index:112;right:0;top:42%;display:flex;align-items:center;flex-direction:column;gap:12px;min-width:46px;padding:15px 10px;background:#132a21ef;color:#f0ddbb;border:1px solid #b5a28182;border-right:0;border-radius:8px 0 0 8px;box-shadow:0 4px 28px #0003; }
.side-faq>span { display:grid;place-items:center;width:21px;height:21px;border:1px solid #b5a281;border-radius:50%;font:15px Georgia,serif; }
.side-faq b { writing-mode:vertical-rl;letter-spacing:.18em;font-weight:400;font-size:13px; }
body:has(.walkthrough[hidden]) .side-faq { display:none; }
.sidebar-footer .faq-launch { margin-bottom:12px;justify-content:space-between;background:transparent;border-radius:3px; }
.cloud-home :focus-visible,.side-faq:focus-visible { outline:2px solid #ffdda6;outline-offset:5px; }
.faq-source { display:inline-block;font-size:12px;color:#3f6651;text-decoration:underline;text-underline-offset:3px;padding:12px 0 0; }
.faq-contact { display:flex;flex-wrap:wrap;gap:8px 16px;border-top:1px solid #cccfc1;padding:16px 0 0;margin-top:18px; }
.faq-contact a { color:#275c40;font-size:13px;min-height:32px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px; }
#faq-result-count { font-size:12px;color:#5a6f5f;margin:0 0 12px; }
.faq-dialog { height:min(790px,calc(100dvh - 48px));max-height:calc(100dvh - 48px); }
@media (max-width:900px) {
 .walkthrough[data-phase="entrance"] .tour-ui { padding:calc(22px + env(safe-area-inset-top)) 26px calc(16px + env(safe-area-inset-bottom)); }
 .walkthrough[data-phase="entrance"] .tour-visual,.walkthrough[data-phase="entrance"] .table-foreground { object-position:60% 64%!important; }
 .cloud-intro { padding-top:36px;max-width:370px; }
 .cloud-intro h1 { font-size:58px; }
 .cloud-eyebrow { font-size:10px;margin-bottom:16px; }
 .cloud-description { font-size:13px;margin:13px 0 18px; }
 .home-enter { min-width:224px; }
 .home-scenes { gap:8px; }
 .home-scenes button { display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:6px; }
 .home-scenes img { width:100%;height:64px; }
 .home-scenes b { font-size:14px;letter-spacing:.06em;display:block; }
 .home-scenes button>span { padding:0 3px 4px; }
 .home-scenes small { font-size:8px;letter-spacing:0;margin-bottom:5px;white-space:nowrap; }
 .home-scenes i { display:none; }
 .home-experience-heading>span { display:none; }
 .home-experience-heading p { font-size:12px; }
 .home-credit { font-size:9px; }
 .depth-hint { display:none; }
 .side-faq { min-width:40px;padding:12px 8px;top:39%; }
 .side-faq b { font-size:12px; }
 .table-light { opacity:.8; }
 .experience-counter { padding-top:10px;max-width:calc(100vw - 84px); }
 .experience-counter strong { font-size:30px; }
 .home-bottom { padding-top:22px; }
 .walkthrough[data-phase="entrance"] .tour-vignette { background:linear-gradient(90deg,#07150edf,#07150e77 50%,#07150e00),linear-gradient(0deg,#07150fff 0%,#07150fcc 18%,transparent 65%,#07150e5c); }
}
@media (max-width:380px) {
 .walkthrough[data-phase="entrance"] .tour-ui { padding-left:20px;padding-right:20px; }
 .cloud-intro h1 { font-size:50px; }
 .cloud-eyebrow { font-size:9px;letter-spacing:.09em; }
 .home-scenes b { font-size:13px; }
}
@media (min-width:901px) and (max-height:850px) {
 .cloud-intro { padding-top:26px; }
 .cloud-intro h1 { font-size:60px; }
 .cloud-description { margin:12px 0 16px; }
 .experience-counter { padding-top:8px; }
 .home-bottom { padding-top:18px; }
 .home-scenes img { width:54px;height:54px; }
}
@media (max-height:700px) { .cloud-intro { padding-top:24px; }.home-bottom { margin-top:8px; }.cloud-intro h1 { font-size:48px; } }
@media (prefers-reduced-motion:reduce) {
 .walkthrough[data-phase="entrance"] .tour-visual,.walkthrough[data-phase="entrance"] .table-foreground { transform:none!important; }
}

.home-credit { padding-left:4px; }
@media(max-width:900px){.home-credit{padding-left:52px;}.side-faq{width:40px;}}
