@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+SC:wght@300;400;500;600&family=Noto+Serif+SC:wght@500;600&display=swap');

:root{color-scheme:dark;--ink:#f4f0e8;--black:#10100f;--acid:#d9ff55;--coral:#ff735d;--blue:#8ebcff;--paper:#e9e4d8;--line:rgba(244,240,232,.22);font-family:'DM Sans','Noto Sans SC',sans-serif}
*{box-sizing:border-box}html{background:var(--black);scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ink);min-width:320px;position:relative}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
/* 噪点改为随内容滚动的 absolute：blend 在栅格化时按 tile 烘焙一次，而不是滚动时每帧对全屏做 soft-light 混合（移动端滚动卡顿主因之一）。静态像素与 fixed 完全一致。 */
.noise{position:absolute;inset:0;z-index:50;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.landing{position:relative;min-height:100svh;overflow:hidden;padding:28px clamp(22px,5vw,76px) max(26px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto 1fr;isolation:isolate}
.landing:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 18%,rgba(255,115,93,.18),transparent 26%),radial-gradient(circle at 24% 82%,rgba(142,188,255,.14),transparent 29%),linear-gradient(125deg,#121210 20%,#191714 100%);z-index:-3}
.landing-mark,.wordmark{font-size:12px;letter-spacing:.18em;font-weight:600}.landing-mark{margin:0;z-index:2}.landing-mark span,.wordmark i{color:var(--acid);font-style:normal}
.landing-copy{align-self:start;width:min(1000px,82vw);margin:clamp(88px,12vh,120px) 0 0 clamp(0px,4.5vw,68px);position:relative;z-index:2}.landing h1{font-family:'Noto Serif SC','Source Han Serif SC','Songti SC',serif;font-weight:600;font-size:clamp(60px,5.6vw,88px);line-height:1.05;letter-spacing:-.04em;margin:0;white-space:nowrap}.landing-en{margin:12px 0 0;font:400 clamp(28px,2.4vw,38px)/1.2 'IBM Plex Mono','Courier Prime',ui-monospace,monospace;letter-spacing:-.02em;color:rgba(244,240,232,.88)}
.current-eyes{position:relative;top:-12px;display:flex;align-items:center;gap:13px;width:max-content;margin:0 0 clamp(29px,3.2vh,36px) clamp(7px,1vw,12px);transform:rotate(-1deg);transform-origin:50% 60%;will-change:transform}.current-eye-svg{display:block;overflow:visible;transform-origin:center;transition:transform .22s cubic-bezier(.22,.72,.28,1);will-change:transform}.current-eye-left{width:114px;height:68px;transform:rotate(-1deg)}.current-eye-right{width:99px;height:70px;transform:rotate(2deg)}.current-eye-fill{fill:#f3f1ea}.current-eye-line{fill:none;stroke:rgba(20,20,20,.9);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.current-eye-accent{fill:none;stroke:rgba(20,20,20,.9);stroke-width:2.45;stroke-linecap:round;vector-effect:non-scaling-stroke}.current-pupil{fill:#315ca8;transform-box:fill-box;transform-origin:center;will-change:transform}.current-pupil-glint{fill:rgba(255,255,255,.9);pointer-events:none}.current-eyes.is-blinking .current-eye-left{animation:current-blink-left .2s ease-in-out}.current-eyes.is-blinking .current-eye-right{animation:current-blink-right .22s .035s ease-in-out}.current-eyes.is-curious{animation:current-curious .48s ease-in-out 2}.current-eyes.is-dizzy{animation:current-dizzy .72s cubic-bezier(.2,.8,.3,1)}.current-eyes.is-exiting{animation:current-exit .24s ease-out forwards}@keyframes current-blink-left{45%,55%{transform:rotate(-1deg) scaleY(.06)}}@keyframes current-blink-right{45%,55%{transform:rotate(2deg) scaleY(.06)}}@keyframes current-curious{25%{transform:rotate(-3deg) translateX(-3px)}75%{transform:rotate(3deg) translateX(3px)}}@keyframes current-dizzy{30%{transform:rotate(8deg) scale(.97)}65%{transform:rotate(-7deg) scale(1.02)}}@keyframes current-exit{55%{transform:rotate(-1deg) scale(1.04)}100%{transform:rotate(-1deg) scale(.98)}}
.landing-intro{font-family:'PingFang SC','Noto Sans SC','Source Han Sans SC',sans-serif;font-weight:300;font-size:clamp(20px,1.55vw,24px);line-height:1.6;margin:clamp(44px,6.5vh,52px) 0 0;letter-spacing:.025em;color:rgba(244,240,232,.84)}
.landing-enter{position:relative;z-index:2;display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:clamp(56px,8vh,68px)}.landing-enter p{font:400 clamp(20px,1.5vw,24px)/1.3 'IBM Plex Mono','Courier Prime',ui-monospace,monospace;letter-spacing:-.02em;color:rgba(244,240,232,.86);margin:0}.landing-enter button{width:176px;height:52px;border:0;background:var(--acid);color:#12120e;border-radius:22px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:'PingFang SC','Noto Sans SC','Source Han Sans SC',sans-serif;font-weight:500;font-size:18px;letter-spacing:.02em;transition:transform .3s,background .3s}.landing-enter button:hover{transform:translateY(-2px) rotate(-.5deg);background:#e5ff87}.landing-enter span{font-size:18px;font-weight:300;margin-left:0}
.landing-orbit{position:absolute;border-radius:47% 53% 56% 44%;filter:blur(.2px);z-index:-1}.orbit-a{width:min(40vw,580px);aspect-ratio:1;right:-11%;top:16%;background:linear-gradient(145deg,rgba(255,115,93,.9),rgba(98,43,112,.16) 52%,transparent 72%);animation:float 13s ease-in-out infinite}.orbit-b{width:min(25vw,360px);aspect-ratio:1;left:-9%;bottom:7%;background:linear-gradient(145deg,rgba(142,188,255,.7),transparent 68%);animation:float 16s ease-in-out -4s infinite reverse}@keyframes float{50%{transform:translate3d(-4vw,3vh,0) rotate(16deg) scale(1.08)}}
.passage{position:fixed;inset:0;z-index:40;background:#ece7dd;color:#141412;display:grid;place-content:center;text-align:center}.passage p{margin:.2em;font:500 clamp(30px,7vw,76px)/1.15 'Noto Sans SC';letter-spacing:-.05em;opacity:0;transform:translateY(20px)}.passage.active .passage-first{animation:passage 1.3s forwards}.passage.active .passage-second{animation:passage 1.3s .7s forwards}@keyframes passage{35%,75%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-18px)}}
.topbar{position:fixed;z-index:20;left:0;right:0;top:0;padding:max(20px,env(safe-area-inset-top)) clamp(20px,4vw,56px) 16px;display:flex;justify-content:space-between;align-items:center;mix-blend-mode:difference;color:#fff}.wordmark{font-size:10px}.soundless-nav{font-size:11px;letter-spacing:.18em;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.5);padding:5px 0;cursor:pointer}
.scene{height:100svh;overflow-y:auto;scroll-snap-type:y mandatory;background:#181817}.scene::-webkit-scrollbar{width:0}.scene-intro,.moment,.scene-outro{position:relative;min-height:100svh;scroll-snap-align:start;display:flex;overflow:hidden;padding:96px clamp(22px,7vw,110px) 40px;isolation:isolate}.scene-intro{align-items:flex-end;background:radial-gradient(ellipse at 64% 23%,rgba(217,255,85,.28),transparent 20%),linear-gradient(145deg,#181817,#282620 58%,#171716)}.scene-intro:after{content:"";position:absolute;width:min(70vw,800px);height:min(70vw,800px);border:1px solid rgba(244,240,232,.16);border-radius:50%;right:-12%;top:-18%;box-shadow:0 0 0 12vw rgba(244,240,232,.018),0 0 0 24vw rgba(244,240,232,.012);z-index:-1}.scene-count{position:absolute;top:48%;right:5vw;font-size:10px;letter-spacing:.16em;color:rgba(244,240,232,.42);transform:rotate(90deg)}.scene-kicker,.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600}.scene-intro h1{font:500 clamp(54px,11vw,142px)/.95 'Noto Sans SC';letter-spacing:-.07em;margin:12px 0 0;max-width:10ch}.scene-hint{position:absolute;right:clamp(22px,7vw,110px);bottom:44px;font-size:11px;letter-spacing:.12em;color:rgba(244,240,232,.5)}
.moment{align-items:center}.moment:nth-child(4n+2){background:#c7a9ff;color:#161315}.moment:nth-child(4n+3){background:#ff745f;color:#1c100e}.moment:nth-child(4n+4){background:#d9ff55;color:#13140d}.moment:before{content:attr(data-index);position:absolute;font-size:clamp(220px,54vw,700px);font-weight:600;line-height:.7;letter-spacing:-.1em;right:-.05em;bottom:-.04em;opacity:.065;z-index:-1}.moment-copy{width:min(850px,100%);position:relative}.moment-label{font-size:10px;letter-spacing:.2em;margin-bottom:clamp(24px,5vh,64px);opacity:.55}.moment h2{font:500 clamp(45px,9vw,122px)/.98 'Noto Sans SC';letter-spacing:-.065em;margin:0;max-width:10ch}.moment-body{font:300 clamp(17px,2.4vw,30px)/1.55 'Noto Sans SC';letter-spacing:.04em;margin:30px 0 0;max-width:19em}.moment-actions{margin-top:clamp(54px,10vh,120px);display:flex;gap:14px;align-items:center}.meet-beer,.cocreate-button{border:0;border-bottom:1px solid currentColor;background:none;padding:8px 0;cursor:pointer;font-weight:600;letter-spacing:.08em}.meet-beer span,.cocreate-button span{margin-left:18px}.moment-visual{position:absolute;right:8vw;top:14%;width:min(28vw,390px);aspect-ratio:.68;border:1px solid currentColor;border-radius:52% 48% 46% 54% / 37% 43% 57% 63%;opacity:.42;transform:rotate(11deg);animation:breathe 7s ease-in-out infinite}@keyframes breathe{50%{transform:rotate(5deg) scale(.93);border-radius:43% 57% 55% 45% / 48% 42% 58% 52%}}
.moment.building{background:#e7e1d4;color:#151513}.moment.building .moment-visual{border-radius:0;border-style:dashed;transform:rotate(-4deg);animation:none}.scene-outro{background:#171716;align-items:flex-end;justify-content:space-between;gap:30px}.scene-outro h2{font:500 clamp(40px,7vw,90px)/1 'Noto Sans SC';letter-spacing:-.06em;margin:0}.next-scene{border:1px solid var(--line);background:transparent;padding:18px 22px;cursor:pointer;text-align:left;min-width:min(100%,300px)}.next-scene small{display:block;opacity:.45;letter-spacing:.16em;margin-bottom:10px}.next-scene strong{font-size:18px;font-weight:500}
.scene-drawer{position:fixed;z-index:30;inset:0;background:#d9ff55;color:#13140d;padding:max(70px,9vh) clamp(24px,9vw,140px);overflow:auto}.drawer-close,.sheet-close{position:absolute;right:clamp(20px,4vw,56px);top:max(18px,env(safe-area-inset-top));border:0;background:none;font-size:36px;font-weight:300;cursor:pointer}.beer-set-sheet .sheet-close,.beer-sheet .sheet-close{z-index:4;color:var(--ink)}.scene-drawer nav{margin-top:12vh;display:flex;flex-direction:column}.scene-drawer nav button{border:0;border-top:1px solid rgba(0,0,0,.22);background:none;padding:18px 0;text-align:left;font:500 clamp(34px,7vw,84px)/1.15 'Noto Sans SC';letter-spacing:-.06em;cursor:pointer}.scene-drawer nav button:last-child{border-bottom:1px solid rgba(0,0,0,.22)}.scene-drawer nav small{font:500 10px/1 'DM Sans';letter-spacing:.14em;margin-left:15px;opacity:.5}
.beer-set-sheet{position:fixed;z-index:34;inset:0;background:#11110f;color:var(--ink);overflow:hidden}.beer-set-view{min-height:100svh;position:relative}.beer-set-heading{position:absolute;z-index:2;left:clamp(24px,5vw,72px);top:max(28px,env(safe-area-inset-top));pointer-events:none}.beer-set-heading p{font:500 10px/1 'DM Sans',sans-serif;letter-spacing:.2em;color:var(--acid);margin:0 0 12px}.beer-set-heading h2{font:500 clamp(24px,3vw,42px)/1.05 'Noto Sans SC';letter-spacing:-.04em;margin:0}.beer-set-heading span{display:block;margin-top:12px;font-size:11px;letter-spacing:.08em;color:rgba(244,240,232,.48)}.beer-exhibition{height:100svh;display:flex;align-items:center;gap:clamp(48px,9vw,150px);overflow-x:auto;overflow-y:hidden;padding:clamp(140px,17vh,190px) 12vw clamp(42px,6vh,72px);scroll-snap-type:x mandatory;scroll-padding-inline:12vw;overscroll-behavior-inline:contain;cursor:grab;touch-action:pan-x;scrollbar-width:none}.beer-exhibition::-webkit-scrollbar{display:none}.beer-exhibition:after{content:"";flex:0 0 2vw}.beer-exhibition.is-dragging{cursor:grabbing;scroll-snap-type:none}.beer-poster{flex:0 0 min(64vw,520px);align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;border:0;background:none;color:inherit;text-align:left;padding:0;scroll-snap-align:center;cursor:pointer}.beer-poster-frame{height:min(66svh,720px);display:grid;place-items:center;background:#090909;padding:clamp(10px,1.6vw,18px);box-shadow:0 28px 70px rgba(0,0,0,.38);transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s}.beer-poster:hover .beer-poster-frame,.beer-poster:focus-visible .beer-poster-frame{transform:translateY(-8px);box-shadow:0 36px 90px rgba(0,0,0,.52)}.beer-poster-frame img{display:block;width:100%;height:100%;object-fit:contain}.beer-poster-fallback{width:100%;height:100%;padding:12%;display:flex;flex-direction:column;justify-content:flex-end;background:#20201d}.beer-poster-fallback small{font-size:10px;letter-spacing:.2em;color:var(--acid)}.beer-poster-fallback strong{font:500 clamp(34px,5vw,66px)/1.02 'Noto Sans SC';letter-spacing:-.05em;margin-top:16px}.beer-poster-caption{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;padding-top:18px}.beer-poster-caption small{grid-row:1/3;font-size:9px;letter-spacing:.15em;color:rgba(244,240,232,.38)}.beer-poster-caption span{font-size:10px;letter-spacing:.12em;color:var(--acid)}.beer-poster-caption strong{font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beer-sheet{position:fixed;z-index:35;inset:0;background:#0d0d0c;color:var(--ink);overflow-y:auto}.beer-detail{min-height:100%;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.55fr)}.beer-art{min-width:0;min-height:100svh;margin:0;padding:clamp(72px,9vh,110px) clamp(24px,5vw,80px) clamp(32px,5vh,60px);background:#080808;display:grid;place-items:center;overflow:hidden}.beer-art img{display:block;width:100%;height:100%;max-width:100%;max-height:calc(100svh - clamp(116px,14vh,170px));object-fit:contain;object-position:center}.beer-art-fallback{width:min(72%,560px);aspect-ratio:3/4;padding:10%;background:#20201d;display:flex;flex-direction:column;justify-content:flex-end}.beer-art-fallback small{font-size:10px;letter-spacing:.2em;color:var(--acid)}.beer-art-fallback strong{font:500 clamp(40px,6vw,82px)/1 'Noto Sans SC';letter-spacing:-.055em;margin-top:18px}.beer-info{padding:clamp(88px,12vh,150px) clamp(28px,4.5vw,72px) 56px;display:flex;flex-direction:column;justify-content:flex-end}.beer-work-label{font-size:9px;letter-spacing:.2em;color:rgba(244,240,232,.35);margin:0 0 auto}.beer-brand{font-size:10px;letter-spacing:.18em;color:var(--acid);text-transform:uppercase;margin:0}.beer-info h2{font:500 clamp(28px,3.5vw,48px)/1.08 'Noto Sans SC';letter-spacing:-.045em;margin:14px 0 26px}.beer-meta{display:flex;gap:22px;border-top:1px solid var(--line);padding:16px 0 0;margin-bottom:clamp(34px,6vh,64px)}.beer-meta span{font-size:11px;color:rgba(244,240,232,.7)}.beer-actions{display:flex;gap:10px;flex-wrap:wrap}.beer-actions button{border:1px solid rgba(244,240,232,.55);background:transparent;color:inherit;padding:13px 17px;min-width:116px;cursor:pointer;font-size:12px;letter-spacing:.06em}.beer-actions .wanted{background:var(--acid);border-color:var(--acid);color:#10100f}.venue-message{margin-top:16px;font-size:11px;line-height:1.5;color:rgba(244,240,232,.5)}
.cocreate-sheet{position:fixed;z-index:36;inset:0;background:var(--paper);color:#151513;overflow-y:auto}.sheet-close-dark{color:#151513}.cocreate-inner{width:min(900px,calc(100% - 44px));margin:0 auto;padding:clamp(90px,14vh,150px) 0 80px}.cocreate-inner h2{font:500 clamp(54px,9vw,110px)/1 'Noto Sans SC';letter-spacing:-.07em;margin:22px 0}.cocreate-lead{font-size:clamp(16px,2vw,22px);line-height:1.7;max-width:30em;color:rgba(21,21,19,.65)}form{margin-top:70px}form label{display:flex;flex-direction:column;gap:10px;font-size:11px;letter-spacing:.1em;margin-bottom:32px}input,textarea,select{color:#151513;background:transparent;border:0;border-bottom:1px solid rgba(21,21,19,.3);border-radius:0;padding:12px 0;outline:none;font-size:17px;letter-spacing:0}textarea{resize:vertical;line-height:1.6;border:1px solid rgba(21,21,19,.25);padding:15px}input:focus,textarea:focus,select:focus{border-color:#151513}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}.submit-button{margin-top:20px;border:0;background:#151513;color:var(--paper);padding:16px 20px;cursor:pointer}.submit-button span{margin-left:36px}.form-status{font-size:11px;color:rgba(21,21,19,.5);margin-top:18px}.toast{position:fixed;z-index:60;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:#141412;padding:12px 17px;font-size:12px;box-shadow:0 8px 40px rgba(0,0,0,.2)}.error-state{min-height:100svh;display:grid;place-content:center;text-align:center;padding:30px}.error-state h1{font-size:clamp(42px,8vw,90px);letter-spacing:-.06em;margin:0}.error-state p{opacity:.55}.error-state button{margin:30px auto 0;border:1px solid var(--line);background:none;padding:12px 16px;color:inherit;cursor:pointer}
@media(max-width:700px){.landing{padding-top:23px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.landing-copy{width:100%;margin:-1vh 0 0}.landing h1{font-size:clamp(50px,15vw,64px);line-height:1;letter-spacing:-.06em}.landing-en{font-size:17px;line-height:1.35;margin-top:17px;color:rgba(244,240,232,.84)}.landing-intro{font-size:16px;line-height:1.68;margin-top:30px;letter-spacing:.045em}.landing-enter{gap:13px;margin-top:30px}.landing-enter p{font-size:14px;color:rgba(244,240,232,.76)}.landing-enter button{padding:10px 14px 10px 16px;font-size:13px}.landing-orbit.orbit-a{width:70vw;right:-30%;top:13%}.landing-orbit.orbit-b{width:55vw;left:-28%}.scene-intro,.moment,.scene-outro{padding-left:24px;padding-right:24px}.scene-intro h1{font-size:17vw}.scene-hint{right:24px}.moment{align-items:flex-end;padding-bottom:12vh}.moment h2{font-size:14.5vw}.moment-body{font-size:18px}.moment-actions{margin-top:44px}.moment-visual{width:53vw;right:-10vw;top:12%;opacity:.3}.scene-outro{flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-bottom:9vh}.next-scene{width:100%}.beer-set-heading{left:24px;top:max(25px,env(safe-area-inset-top));max-width:calc(100% - 90px)}.beer-set-heading h2{font-size:23px}.beer-exhibition{gap:34px;padding:150px 12vw max(34px,env(safe-area-inset-bottom));scroll-padding-inline:12vw}.beer-poster{flex-basis:76vw}.beer-poster-frame{height:min(61svh,620px);padding:9px}.beer-poster-caption{padding-top:14px}.beer-detail{grid-template-columns:1fr}.beer-art{min-height:72svh;padding:70px 20px 28px}.beer-art img{max-height:calc(72svh - 98px)}.beer-info{min-height:28svh;padding:38px 24px max(42px,env(safe-area-inset-bottom));justify-content:flex-start}.beer-work-label{margin:0 0 38px}.beer-info h2{font-size:clamp(27px,8vw,36px);margin:12px 0 22px}.beer-meta{margin-bottom:34px}.form-pair{grid-template-columns:1fr;gap:0}.scene-drawer nav{margin-top:8vh}.scene-drawer nav button{font-size:11vw}}
@media(max-width:700px){.landing{padding-left:24px;padding-right:24px}.landing-copy{width:min(86vw,430px);margin:clamp(78px,12vh,110px) 0 0}.current-eyes{gap:8px;margin-bottom:clamp(28px,3.5vh,32px)}.current-eye-left{width:76px;height:46px}.current-eye-right{width:67px;height:48px}.landing h1{font-size:clamp(38px,10.5vw,46px);line-height:1.05;letter-spacing:-.04em;white-space:nowrap}.landing-en{font-size:clamp(23px,6.2vw,27px);font-weight:400;line-height:1.2;margin-top:12px;color:rgba(244,240,232,.88)}.landing-intro{font-size:clamp(19px,4.65vw,20px);line-height:1.6;margin-top:clamp(42px,5.8vh,50px);letter-spacing:.025em}.landing-enter{gap:22px;margin-top:clamp(56px,7.6vh,68px)}.landing-enter p{font-size:clamp(19px,5vw,21px);line-height:1.3;color:rgba(244,240,232,.86);max-width:22ch}.landing-enter button{width:174px;height:52px;border-radius:22px;padding:0 18px;font-size:18px;font-weight:500}.landing-enter span{font-size:17px;font-weight:300}}

/* CURRENT Space V0.1 — config-driven exhibition layer. Landing styles above are intentionally untouched. */
.soundless-nav{width:30px;height:30px;border:1px solid rgba(255,255,255,.48);border-radius:50%;display:grid;place-items:center;padding:0;font-size:19px;line-height:1}.scene-drawer nav button>span{display:inline-block;width:38px;font:500 9px/1 'IBM Plex Mono';letter-spacing:.12em;opacity:.42}.scene-drawer nav>p{margin-top:10vh;font:400 18px/1.5 'IBM Plex Mono';opacity:.55}
.current-space{--space-bg:#171716;--space-fg:#f4f0e8;--space-accent:#d9ff55;position:relative;min-height:100svh;background:var(--space-bg);color:var(--space-fg);overflow-x:hidden;isolation:isolate;padding:clamp(108px,14vh,160px) clamp(24px,5vw,76px) 54px}.space-theme-after_hours{--space-bg:#11120f;--space-accent:#d9ff55}.space-theme-slow_night{--space-bg:#c5a4f5;--space-fg:#17131b;--space-accent:#4b276d}.space-theme-building{--space-bg:#e9e4d8;--space-fg:#171614;--space-accent:#315ca8}.space-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:-1}.space-theme-after_hours .space-atmosphere{background:radial-gradient(circle at 83% 16%,rgba(217,255,85,.18),transparent 20%),radial-gradient(circle at 20% 90%,rgba(142,188,255,.08),transparent 30%)}.space-theme-after_hours .space-atmosphere:after{content:"";position:absolute;width:min(55vw,760px);aspect-ratio:1;border:1px solid rgba(244,240,232,.14);border-radius:50%;right:-16vw;top:-20vw;box-shadow:0 0 0 8vw rgba(244,240,232,.018),0 0 0 17vw rgba(244,240,232,.012)}.space-theme-slow_night .space-atmosphere{background:linear-gradient(118deg,rgba(255,255,255,.13),transparent 42%),radial-gradient(circle at 88% 20%,rgba(75,39,109,.16),transparent 24%)}.space-theme-slow_night .space-atmosphere:after{content:"02";position:absolute;right:-.08em;bottom:-.18em;font:600 min(52vw,720px)/1 'DM Sans';opacity:.055}.space-theme-building .space-atmosphere{background:linear-gradient(90deg,transparent 49.8%,rgba(23,22,20,.05) 50%,transparent 50.2%)}
.space-heading{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 28px;align-items:start}.space-heading>p:first-child{margin:0;font:500 11px/1 'IBM Plex Mono';letter-spacing:.19em;color:var(--space-accent)}.space-heading>span{font:400 9px/1 'IBM Plex Mono';letter-spacing:.16em;opacity:.45}.space-heading h1{grid-column:1/-1;margin:clamp(24px,5vh,60px) 0 0;font:500 clamp(48px,8vw,112px)/.98 'Noto Sans SC';letter-spacing:-.065em;max-width:10em}.space-moods{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.space-moods i{font:400 9px/1 'Noto Sans SC';font-style:normal;letter-spacing:.1em;border:1px solid currentColor;border-radius:99px;padding:6px 9px;opacity:.45}.space-story{grid-column:1/-1!important;margin:clamp(26px,4vh,48px) 0 0!important;max-width:26em;font:300 clamp(17px,1.7vw,24px)/1.6 'Noto Sans SC'!important;color:inherit!important;opacity:.72}
/* ============ CURRENT Beer Exhibition —— 同高 · 不同宽 · 原比例 · 完整显示的自由横向展墙 ============
   本区块是 Exhibition 唯一规则源（posterHeight / Poster 宽度 / Image Stage / img / 轨道 / gap / 手势 / 点击区）。
   轨道 = 原生 overflow-x 横向滚动：无 scroll-snap、无 touch-action 锁、无 JS 手势、无 preventDefault；
   纵向页面滚动与横向浏览由浏览器默认手势路由共存（真机确认，禁止再锁方向）。
   Image Stage 统一高度（Meta 不参与高度计算）；img 高 = posterHeight、宽 = auto，永不裁切 / 拉伸 / cover。 */
.space-exhibition{--poster-height:clamp(380px,62svh,660px);--poster-gap:clamp(32px,6vw,100px);position:relative;display:flex;align-items:flex-start;gap:var(--poster-gap);overflow-x:auto;padding:clamp(58px,9vh,110px) 0 46px;scrollbar-width:none;overscroll-behavior-inline:contain}
.space-exhibition::-webkit-scrollbar{display:none}
.space-exhibition:after{content:"";flex:0 0 clamp(24px,5vw,76px)}
.space-poster{flex:0 0 auto;border:0;background:none;color:inherit;padding:0;text-align:left;cursor:pointer}
.space-poster-number{display:block;margin-bottom:10px;font:400 9px/1 'IBM Plex Mono';letter-spacing:.14em;opacity:.42}
.space-poster-art{display:block;height:var(--poster-height);padding:12px;background:rgba(0,0,0,.87);box-shadow:0 25px 70px rgba(0,0,0,.28);transition:transform .4s ease}
.space-poster:hover .space-poster-art,.space-poster:focus-visible .space-poster-art{transform:translateY(-7px)}
.space-poster-art img{display:block;height:100%;width:auto;max-width:min(calc(var(--poster-height)*2.5),168vw);object-fit:contain}
.space-poster-fallback{display:flex;height:100%;aspect-ratio:3/4;width:auto;flex-direction:column;justify-content:flex-end;padding:11%;background:#20201d;color:#f4f0e8}
.space-poster-fallback small{font-size:10px;color:#d9ff55;letter-spacing:.18em}
.space-poster-fallback strong{font:500 clamp(30px,4vw,58px)/1.05 'Noto Sans SC';letter-spacing:-.05em;margin-top:16px}
.space-poster-meta{display:block;max-width:100%;padding-top:14px}
.space-poster-meta small{display:block;color:var(--space-accent);font-size:9px;letter-spacing:.14em}
.space-poster-meta strong{display:block;margin-top:5px;font-size:14px;font-weight:400;overflow-wrap:anywhere}
.space-empty{font:400 15px/1.5 'IBM Plex Mono';opacity:.45}
.space-exit{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding-top:24px;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent)}.space-exit>span{font-size:9px;letter-spacing:.16em;opacity:.42}.space-exit button{border:0;background:none;color:inherit;font:500 clamp(18px,2vw,26px)/1.2 'Noto Sans SC';cursor:pointer}.space-exit i{font-style:normal;margin-left:20px;color:var(--space-accent)}
.building-room{min-height:56svh;display:grid;place-content:center;justify-items:center;padding:40px 0}.space-cat{position:relative;width:142px;height:150px;border:0;background:none;color:inherit;cursor:pointer}.cat-face{position:absolute;width:104px;height:94px;border:2px solid currentColor;border-radius:48% 52% 45% 55%;left:16px;top:28px}.cat-face i{position:absolute;width:6px;height:13px;background:currentColor;border-radius:50%;top:34px}.cat-face i:first-child{left:28px}.cat-face i:last-child{right:28px}.cat-ears:before,.cat-ears:after{content:"";position:absolute;top:13px;width:40px;height:42px;border:2px solid currentColor;transform:rotate(45deg);z-index:-1}.cat-ears:before{left:18px}.cat-ears:after{right:23px}.cat-tail{position:absolute;width:45px;height:70px;border:2px solid currentColor;border-left:0;border-bottom:0;border-radius:0 50px 0 0;right:0;bottom:7px;transform:rotate(18deg)}.space-cat.has-spoken{animation:cat-response .45s ease}.building-room>[data-cat-response]{margin:4px 0 22px;font:400 18px/1 'IBM Plex Mono';color:var(--space-accent)}.creator-preview{font-size:10px;letter-spacing:.14em;border-bottom:1px solid currentColor;padding:8px 0;opacity:.5}.space-theme-building .space-exit i{color:#315ca8}@keyframes cat-response{35%{transform:translateY(-9px) rotate(-2deg)}70%{transform:translateY(2px) rotate(2deg)}}
.space-transition{--travel-duration:1100ms;position:fixed;inset:0;z-index:80;background:#10100f;color:#f4f0e8;display:grid;place-content:center;justify-items:center;pointer-events:none;opacity:0;visibility:hidden}.space-transition i{display:block;width:74px;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;transform:scale(.2)}.space-transition span{font:400 11px/1 'IBM Plex Mono';letter-spacing:.14em;margin-top:25px;opacity:0}.space-transition.active{visibility:visible;animation:space-travel var(--travel-duration) ease both}.space-transition.active i{animation:space-door-ring var(--travel-duration) cubic-bezier(.2,.75,.2,1) both}.space-transition.active span{animation:space-door-copy var(--travel-duration) ease both}@keyframes space-travel{0%,100%{opacity:0}18%,78%{opacity:1}}@keyframes space-door-ring{0%{transform:scale(.15);opacity:.2}55%{transform:scale(9);opacity:1}100%{transform:scale(14);opacity:0}}@keyframes space-door-copy{20%,75%{opacity:.7}0%,100%{opacity:0}}
@media(max-width:700px){.current-space{padding:92px 24px 34px}.space-heading h1{font-size:clamp(44px,14vw,64px);margin-top:34px}.space-story{font-size:17px!important;margin-top:25px!important}.space-exhibition{--poster-height:clamp(280px,44svh,460px);--poster-gap:30px;margin-right:-24px;padding:52px 24px 38px 0}.space-poster-art{padding:9px}.space-exit{justify-content:space-between}.space-exit button{text-align:right;font-size:18px}.building-room{min-height:52svh}.scene-drawer nav button>span{width:30px}.space-theme-slow_night .space-atmosphere:after{font-size:88vw}}
.beer-poster-frame img{width:auto;height:auto;max-width:100%;max-height:calc(min(66svh,720px) - clamp(20px,3.2vw,36px))}.beer-art img{width:auto;height:auto;max-width:100%}@media(max-width:700px){.beer-poster-frame img{max-height:calc(min(61svh,620px) - 18px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.landing-orbit,.moment-visual{animation:none!important}.current-eyes.is-curious,.current-eyes.is-dizzy,.current-eyes.is-exiting{animation:none!important}.current-pupil{transition:transform .7s ease}.passage p{animation-duration:.01ms!important}}

/* CURRENT Space V0.2 — Opening Line / 多段 Story / Story Images / Closing Line。追加规则，不改动上方既有样式。 */
.space-heading h1.space-hook{font-family:'Noto Serif SC','Source Han Serif SC','Songti SC',serif;font-weight:600;letter-spacing:-.05em}
.space-name-line{grid-column:1/-1;margin:18px 0 0;font:400 10px/1 'IBM Plex Mono';letter-spacing:.18em;opacity:.5}
.space-story+.space-story{margin-top:14px!important}
.space-story-images{display:flex;gap:clamp(14px,2.5vw,28px);margin-top:clamp(30px,5vh,54px);overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}.space-story-images::-webkit-scrollbar{display:none}
.space-story-images figure{margin:0;flex:0 0 min(52vw,340px)}
.space-story-images img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.space-closing{margin:clamp(44px,7vh,84px) 0 0;max-width:22em;font:500 clamp(22px,2.6vw,34px)/1.45 'Noto Serif SC','Source Han Serif SC','Noto Sans SC',serif;letter-spacing:-.02em}
.space-closing small{display:block;margin-bottom:12px;font:500 9px/1 'IBM Plex Mono';letter-spacing:.2em;opacity:.45}
@media(max-width:700px){.space-heading h1.space-hook{letter-spacing:-.04em}.space-story-images figure{flex-basis:68vw}.space-closing{font-size:clamp(20px,6vw,26px)}}

/* CURRENT Space V0.2 — 单集节奏：Opening → Story → 海报 → Closing 的轻入场。仅动效，不涉及内容与首页。 */
@keyframes space-rise{from{opacity:0;transform:translateY(16px)}to{transform:none}}
.space-heading>p,.space-heading>span{animation:space-rise .7s cubic-bezier(.2,.7,.25,1) both}
.space-heading h1{animation:space-rise .85s .08s cubic-bezier(.2,.7,.25,1) both}
.space-name-line{animation:space-rise .8s .18s cubic-bezier(.2,.7,.25,1) both}
.space-moods{animation:space-rise .8s .24s cubic-bezier(.2,.7,.25,1) both}
.space-story{animation:space-rise .9s .3s cubic-bezier(.2,.7,.25,1) both}
.space-story-images{animation:space-rise .9s .34s cubic-bezier(.2,.7,.25,1) both}
.space-exhibition .space-poster{animation:space-rise .9s .38s cubic-bezier(.2,.7,.25,1) both}
.space-closing{animation:space-rise .95s .12s cubic-bezier(.2,.7,.25,1) both}
@media(prefers-reduced-motion:reduce){.space-heading>*,.space-story-images,.space-exhibition .space-poster,.space-closing{animation:none!important}}

/* CURRENT Venue V1 — 真实“去哪喝”与公开酒单。只追加，不改既有 CURRENT 展览层。 */
.venue-sheet{position:fixed;z-index:37;inset:0;background:#0d0d0c;color:var(--ink);overflow-y:auto;overscroll-behavior:contain}.venue-sheet-close{position:fixed;z-index:5;width:48px;height:48px;border:1px solid rgba(244,240,232,.32);border-radius:50%;display:grid;place-items:center;font-size:22px;color:var(--ink);background:rgba(13,13,12,.72);backdrop-filter:blur(12px)}
.venue-loading,.venue-state{min-height:100svh;display:grid;place-content:center;justify-items:center;text-align:center;padding:80px 24px}.venue-loading p,.venue-state>p{font:500 9px/1 'IBM Plex Mono';letter-spacing:.22em;color:var(--acid)}.venue-loading span{width:70px;aspect-ratio:1;border:1px solid rgba(244,240,232,.25);border-top-color:var(--acid);border-radius:50%;margin:30px;animation:venue-spin 1.1s linear infinite}.venue-loading strong{font:400 16px/1.5 'Noto Sans SC';opacity:.65}.venue-state h2{font:500 clamp(48px,9vw,100px)/1 'Noto Sans SC';letter-spacing:-.06em;margin:18px 0}.venue-state>span{font-size:14px;opacity:.58}.venue-state button{margin-top:34px;border:1px solid rgba(244,240,232,.45);background:none;padding:13px 18px;cursor:pointer}@keyframes venue-spin{to{transform:rotate(1turn)}}
.venue-list-view{min-height:100svh;padding:clamp(106px,14vh,160px) clamp(24px,6vw,92px) 72px;background:radial-gradient(circle at 88% 4%,rgba(217,255,85,.16),transparent 25%),#0d0d0c}.venue-list-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);gap:18px clamp(30px,7vw,110px);align-items:end;padding-bottom:clamp(54px,8vh,90px)}.venue-list-heading>p{grid-column:1/-1;margin:0;color:var(--acid);font:500 10px/1 'IBM Plex Mono';letter-spacing:.2em}.venue-list-heading h1{margin:clamp(26px,5vh,56px) 0 0;font:500 clamp(60px,9vw,132px)/.92 'Noto Sans SC';letter-spacing:-.075em}.venue-list-heading>div{border-top:1px solid var(--line);padding-top:16px;margin-bottom:8px}.venue-list-heading>div span{display:block;font-size:10px;letter-spacing:.14em;opacity:.4}.venue-list-heading>div strong{display:block;margin-top:9px;font:400 clamp(17px,2vw,26px)/1.35 'Noto Sans SC'}
.venue-card-list{border-top:1px solid var(--line)}.venue-card{position:relative;width:100%;display:grid;grid-template-columns:70px minmax(130px,.42fr) minmax(220px,1fr) minmax(200px,.6fr) 36px;gap:16px 28px;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;padding:clamp(25px,4vh,42px) 0;text-align:left;cursor:pointer;transition:background .25s,padding .25s}.venue-card:hover,.venue-card:focus-visible{background:rgba(217,255,85,.055);padding-left:18px;padding-right:18px}.venue-card-index{font:400 9px/1 'IBM Plex Mono';letter-spacing:.16em;opacity:.35}.venue-card-place{font:400 10px/1.4 'IBM Plex Mono';letter-spacing:.08em;color:var(--acid)}.venue-card>strong{font:500 clamp(24px,3vw,42px)/1.1 'Noto Sans SC';letter-spacing:-.04em}.venue-card-address{font-size:12px;line-height:1.6;opacity:.55}.venue-card-beer{grid-column:3/5;display:flex;align-items:center;gap:13px;margin-top:-5px;font-size:11px;opacity:.7}.venue-card-beer i{font:500 8px/1 'IBM Plex Mono';font-style:normal;letter-spacing:.14em;color:var(--acid)}.venue-card-beer em{display:flex;gap:10px;margin-left:auto;font-style:normal}.venue-card-beer em span{white-space:nowrap}.venue-card-arrow{grid-column:5;grid-row:1/3;font-size:24px;color:var(--acid)}
.venue-empty{min-height:46svh;border-top:1px solid var(--line);display:grid;grid-template-columns:80px 1fr;align-content:center;gap:8px 24px}.venue-empty>span{grid-row:1/4;font:400 10px/1 'IBM Plex Mono';opacity:.35}.venue-empty h2{margin:0;font:500 clamp(34px,5vw,64px)/1.1 'Noto Sans SC';letter-spacing:-.055em}.venue-empty p{margin:15px 0 0;font-size:15px;opacity:.62}.venue-empty small{margin-top:7px;font-size:10px;letter-spacing:.06em;opacity:.35}
.venue-detail-view{background:#0d0d0c}.venue-detail-hero{position:relative;min-height:86svh;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);background:#070706}.venue-detail-hero figure{min-width:0;min-height:86svh;margin:0;overflow:hidden}.venue-detail-hero figure img{width:100%;height:100%;display:block;object-fit:cover}.venue-hero-fallback{min-height:86svh;display:grid;grid-template-columns:1fr auto;align-content:space-between;padding:clamp(100px,14vh,150px) clamp(30px,6vw,90px);background:radial-gradient(circle at 68% 35%,rgba(217,255,85,.18),transparent 24%),linear-gradient(145deg,#20201d,#090909);font:500 clamp(13px,1.5vw,20px)/1 'IBM Plex Mono';letter-spacing:.18em}.venue-hero-fallback i{color:var(--acid);font-style:normal}.venue-hero-fallback strong{grid-column:1/-1;font-size:clamp(70px,15vw,220px);letter-spacing:-.1em;opacity:.09}.venue-detail-title{padding:clamp(120px,16vh,180px) clamp(28px,5vw,76px) clamp(50px,7vh,90px);display:flex;flex-direction:column;justify-content:flex-end}.venue-detail-title p{margin:0 auto auto 0;font:500 9px/1 'IBM Plex Mono';letter-spacing:.19em;color:var(--acid)}.venue-detail-title h1{font:500 clamp(46px,6vw,88px)/.98 'Noto Sans SC';letter-spacing:-.065em;margin:30px 0}.venue-detail-title>span{font:400 11px/1.5 'IBM Plex Mono';letter-spacing:.08em;opacity:.55}
.venue-facts{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);gap:clamp(50px,10vw,160px);padding:clamp(76px,12vh,140px) clamp(24px,7vw,110px);background:var(--paper);color:#151513}.venue-facts>div>p,.venue-facts address>span{display:block;margin:0 0 24px;font:500 9px/1 'IBM Plex Mono';letter-spacing:.2em;opacity:.45}.venue-facts h2{max-width:18em;margin:0;font:500 clamp(28px,4.2vw,58px)/1.28 'Noto Serif SC','Noto Sans SC';letter-spacing:-.035em}.venue-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:36px}.venue-tags span{border:1px solid rgba(21,21,19,.28);border-radius:99px;padding:7px 10px;font-size:10px}.venue-facts address{font-style:normal;border-top:1px solid rgba(21,21,19,.25);padding-top:20px;align-self:end}.venue-facts address strong{display:block;font:500 18px/1.4 'Noto Sans SC'}.venue-facts address p{font-size:13px;line-height:1.7;opacity:.65}.venue-facts address a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(21,21,19,.25);margin-top:28px;padding-top:17px;font:500 12px/1 'Noto Sans SC'}.venue-facts address a i{font-style:normal;font-size:18px}
.venue-menu{padding:clamp(78px,12vh,140px) clamp(24px,7vw,110px)}.venue-menu>header{display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:1px solid var(--line);padding-bottom:30px}.venue-menu>header p{grid-column:1/-1;margin:0 0 26px;font:500 9px/1 'IBM Plex Mono';letter-spacing:.2em;color:var(--acid)}.venue-menu>header h2{margin:0;font:500 clamp(42px,6vw,82px)/1 'Noto Sans SC';letter-spacing:-.06em}.venue-menu>header span{font:400 11px/1 'IBM Plex Mono';opacity:.4}.venue-menu ol{list-style:none;padding:0;margin:0}.venue-menu li{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:clamp(24px,4vh,40px) 0}.venue-menu-index{font:400 9px/1 'IBM Plex Mono';opacity:.35}.venue-menu h3{margin:0;font:500 clamp(21px,2.4vw,33px)/1.2 'Noto Sans SC';letter-spacing:-.03em}.venue-menu li p{margin:8px 0 0;font-size:10px;letter-spacing:.07em;color:var(--acid)}.venue-menu li small{display:block;margin-top:9px;font-size:11px;line-height:1.55;opacity:.5}.venue-menu-prices{display:flex;gap:18px;font:400 11px/1 'IBM Plex Mono'}.venue-menu-no-price{font-size:10px;font-style:normal;opacity:.35}.venue-menu-empty{min-height:35svh;display:grid;place-content:center;text-align:center}.venue-menu-empty p{font:500 clamp(28px,4vw,48px)/1.2 'Noto Sans SC';letter-spacing:-.04em;margin:0}.venue-menu-empty span{font-size:11px;opacity:.4;margin-top:13px}.venue-detail-footer{min-height:45svh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(60px,9vh,100px) clamp(24px,7vw,110px);background:var(--acid);color:#14150d}.venue-detail-footer span{font:500 10px/1 'IBM Plex Mono';letter-spacing:.17em}.venue-detail-footer p{max-width:9em;margin:50px 0 0;font:500 clamp(48px,8vw,112px)/.98 'Noto Sans SC';letter-spacing:-.07em}
@media(max-width:700px){.venue-sheet-close{right:18px;top:max(16px,env(safe-area-inset-top));width:42px;height:42px}.venue-list-view{padding:94px 24px 48px}.venue-list-heading{grid-template-columns:1fr;padding-bottom:52px}.venue-list-heading h1{font-size:clamp(52px,16vw,72px);margin-top:28px}.venue-list-heading>div{margin-top:22px}.venue-card{grid-template-columns:38px minmax(0,1fr) 26px;gap:10px 12px;padding:25px 0}.venue-card:hover,.venue-card:focus-visible{padding-left:8px;padding-right:8px}.venue-card-place{grid-column:2}.venue-card>strong{grid-column:2;font-size:27px}.venue-card-address{grid-column:2;font-size:11px}.venue-card-beer{grid-column:2;display:block;margin-top:7px;line-height:1.6}.venue-card-beer i{display:block;margin-bottom:4px}.venue-card-beer em{margin:3px 0 0;flex-wrap:wrap}.venue-card-arrow{grid-column:3;grid-row:1/5}.venue-empty{grid-template-columns:38px 1fr}.venue-detail-hero{min-height:100svh;grid-template-columns:1fr}.venue-detail-hero figure,.venue-hero-fallback{min-height:58svh}.venue-detail-title{min-height:42svh;padding:48px 24px max(46px,env(safe-area-inset-bottom))}.venue-detail-title p{margin-bottom:46px}.venue-detail-title h1{font-size:clamp(44px,14vw,64px);margin:0 0 24px}.venue-facts{grid-template-columns:1fr;padding:76px 24px;gap:70px}.venue-facts h2{font-size:29px}.venue-menu{padding:78px 24px}.venue-menu>header h2{font-size:42px}.venue-menu li{grid-template-columns:35px minmax(0,1fr);gap:14px}.venue-menu-prices,.venue-menu-no-price{grid-column:2;margin-top:8px;flex-wrap:wrap}.venue-detail-footer{padding:66px 24px}.venue-detail-footer p{font-size:clamp(46px,14vw,66px)}}
@media(prefers-reduced-motion:reduce){.venue-loading span{animation:none}.venue-card{transition:none}}

/* CURRENT consumer journey: clear actions, compact first screen, readable menu. */
.venue-sheet{overflow-x:hidden}
.venue-sheet-close{width:40px;height:40px;border-color:rgba(244,240,232,.48);font-size:20px}
.venue-list-heading{padding-bottom:clamp(30px,5vh,58px)}
.venue-list-view.is-single{padding-bottom:32px}
.venue-card{grid-template-columns:56px minmax(0,1fr) auto;gap:8px 24px;padding:28px 0}
.venue-card-index{grid-column:1;grid-row:1/5;align-self:start;margin-top:5px}
.venue-card-place,.venue-card>strong,.venue-card-address,.venue-card-beer{grid-column:2;min-width:0}
.venue-card-place{grid-row:1;font-size:12px;line-height:1.5}
.venue-card>strong{grid-row:2;line-height:1.18;overflow-wrap:anywhere;word-break:break-word}
.venue-card-address{grid-row:3;font-size:14px;line-height:1.55;color:rgba(244,240,232,.78);opacity:1;overflow-wrap:anywhere}
.venue-card-beer{grid-row:4;display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:11px;font-size:13px;line-height:1.55;color:rgba(244,240,232,.88);opacity:1}
.venue-card-beer i{font:500 11px/1.5 'Noto Sans SC';letter-spacing:0;color:var(--acid)}
.venue-card-beer>span{overflow-wrap:anywhere}
.venue-card-beer em{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;color:var(--ink)}
.venue-card-arrow{grid-column:3;grid-row:1/5;align-self:center;white-space:nowrap;font:500 13px/1.4 'Noto Sans SC';color:var(--acid)}
.venue-card-arrow i{font-style:normal;margin-left:8px;font-size:18px}
.venue-card:focus-visible,.venue-menu-link:focus-visible,.venue-hero-actions a:focus-visible,.venue-hero-actions button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.venue-detail-hero{min-height:68svh;grid-template-columns:minmax(0,1fr) minmax(350px,.8fr)}
.venue-detail-hero figure,.venue-hero-fallback{min-height:68svh}
.venue-detail-title{min-width:0;padding:clamp(88px,11vh,130px) clamp(28px,5vw,76px) clamp(28px,5vh,48px)}
.venue-detail-title p{font-size:11px;line-height:1.4}
.venue-detail-title h1{font-size:clamp(40px,5vw,74px);line-height:1.1;margin:18px 0 13px;overflow-wrap:anywhere;word-break:break-word}
.venue-detail-location{font:500 13px/1.5 'Noto Sans SC';color:var(--acid);opacity:1}
.venue-detail-address{margin-top:12px;font-style:normal;font-size:15px;line-height:1.55;color:rgba(244,240,232,.9);overflow-wrap:anywhere}
.venue-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.venue-hero-actions a,.venue-hero-actions button{min-height:46px;padding:11px 16px;border:1px solid rgba(244,240,232,.62);border-radius:0;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:14px;font-weight:500;line-height:1.25;cursor:pointer}
.venue-map-button{background:var(--acid);border-color:var(--acid)!important;color:#10100f}
.venue-copy-button{background:transparent;color:var(--ink)}
.venue-facts{display:block;padding:clamp(58px,8vh,90px) clamp(24px,7vw,110px)}
.venue-facts>div>p{font-size:11px;opacity:.65;margin-bottom:18px}
.venue-facts h2{overflow-wrap:anywhere}
.venue-menu{padding-top:clamp(56px,8vh,90px)}
.venue-menu>header{padding-bottom:18px}
.venue-menu>header p{font-size:11px;margin-bottom:14px}
.venue-menu>header span{font-size:13px;opacity:.75}
.venue-menu li{display:block;padding:0}
.venue-menu-link{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:16px 20px;align-items:center;width:100%;padding:19px 0;color:inherit;min-width:0}
a.venue-menu-link:hover,a.venue-menu-link:focus-visible{background:rgba(217,255,85,.055)}
.venue-menu-index{align-self:start;margin-top:5px;font-size:11px;opacity:.65}
.venue-menu-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.venue-menu-seen{display:inline-block;color:var(--acid);font-size:11px;font-weight:500;line-height:1.4}
.venue-menu-name{font:500 clamp(21px,2.4vw,32px)/1.25 'Noto Sans SC';letter-spacing:-.025em;overflow-wrap:anywhere;word-break:break-word}
.venue-menu-facts,.venue-menu-abv{font-size:13px;line-height:1.5;color:rgba(244,240,232,.78);overflow-wrap:anywhere}
.venue-menu-abv{font-family:'IBM Plex Mono',monospace;color:var(--acid)}
.venue-menu-prices{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px;font:500 13px/1.5 'IBM Plex Mono',monospace;color:var(--ink)}
.venue-menu-action{white-space:nowrap;font-size:13px;font-weight:500;color:var(--acid)}
@media(max-width:700px){
  .venue-sheet-close{right:16px;top:max(12px,env(safe-area-inset-top));width:38px;height:38px}
  .venue-list-view{padding:78px 20px 36px}
  .venue-list-heading{padding-bottom:24px}
  .venue-list-heading h1{font-size:clamp(47px,15vw,67px);margin-top:17px}
  .venue-list-heading>div{margin-top:16px}
  .venue-card{grid-template-columns:26px minmax(0,1fr);gap:5px 12px;padding:20px 0}
  .venue-card-index{grid-column:1;grid-row:1/6}
  .venue-card-place,.venue-card>strong,.venue-card-address,.venue-card-beer,.venue-card-arrow{grid-column:2}
  .venue-card-place{font-size:12px}
  .venue-card>strong{font-size:clamp(24px,7vw,31px)}
  .venue-card-address{font-size:13px}
  .venue-card-beer{display:flex;margin-top:8px;font-size:13px}
  .venue-card-beer em{width:100%;margin-top:1px}
  .venue-card-arrow{grid-row:5;justify-self:start;margin-top:13px;font-size:13px}
  .venue-detail-hero{display:block;min-height:52svh;isolation:isolate}
  .venue-detail-hero figure,.venue-hero-fallback{position:absolute;inset:0;width:100%;height:100%;min-height:0}
  .venue-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.36) 35%,rgba(0,0,0,.88));z-index:0;pointer-events:none}
  .venue-hero-fallback{padding:28px;align-content:end}
  .venue-hero-fallback span,.venue-hero-fallback i,.venue-hero-fallback strong{display:none}
  .venue-detail-title{position:relative;z-index:1;min-height:52svh;padding:max(64px,calc(env(safe-area-inset-top) + 54px)) 20px 22px;justify-content:flex-end}
  .venue-detail-title p{margin:0 0 auto;font-size:10px}
  .venue-detail-title h1{font-size:clamp(31px,9vw,49px);margin:14px 0 9px}
  .venue-detail-location{font-size:13px}
  .venue-detail-address{font-size:14px;margin-top:7px}
  .venue-hero-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:16px}
  .venue-hero-actions a,.venue-hero-actions button{min-width:0;min-height:44px;padding:10px 8px;font-size:13px}
  .venue-facts{padding:54px 20px 58px}
  .venue-facts h2{font-size:clamp(24px,7vw,32px);line-height:1.4}
  .venue-menu{padding:55px 20px 70px}
  .venue-menu>header{padding-bottom:13px}
  .venue-menu>header h2{font-size:clamp(32px,9vw,42px)}
  .venue-menu-link{grid-template-columns:26px minmax(0,1fr);gap:4px 12px;padding:17px 0}
  .venue-menu-index{grid-row:1/3}
  .venue-menu-action{grid-column:2;margin-top:7px}
  .venue-menu-name{font-size:clamp(21px,6vw,27px)}
  .venue-menu-facts,.venue-menu-abv,.venue-menu-prices{font-size:13px}
}
