:root{--ink:#152b3d;--muted:#647786;--red:#eb4c50;--blue:#176b8e;--line:#dce6ea;--paper:#f5fafc;--white:#fff;--gold:#f3c854;--mint:#d8efe8;--pink:#f7dde2;--sky:#d8eef5;--lav:#e6e2f4}*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden}body{font-family:"Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);letter-spacing:0}button,input{font:inherit}button{cursor:pointer}.container{width:min(1320px,calc(100% - 48px));margin:auto}.header{height:68px;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:0 max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.brand img{width:40px;height:40px;border-radius:6px}.nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav .active{color:var(--red);font-weight:700}.account{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:#fff}.searchbar{display:grid;background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(29,64,82,.14);overflow:hidden}.field{padding:13px 17px;border-right:1px solid var(--line)}.field small{display:block;color:var(--muted);margin-bottom:4px}.field b{font-size:15px}.searchbar>button{border:0;background:var(--red);color:#fff;font-weight:700}.chips{display:flex;gap:8px;overflow:auto;padding:2px 0 5px}.chip{flex:0 0 auto;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#334b5d}.chip:first-child{background:#173d58;color:#fff;border-color:#173d58}.section-head{display:flex;align-items:end;justify-content:space-between}.section-head h2{margin:0;font-size:26px}.section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.section-head a{font-size:13px;color:var(--blue)}.event-img{display:block;width:100%;object-fit:cover}.badge{display:inline-flex;width:max-content;padding:4px 8px;border-radius:4px;background:#fff0f1;color:#d83e43;font-size:12px;font-weight:700}.date{color:#db4146;font-size:12px;font-weight:700}.price{font-size:17px;font-weight:800}.detail{height:34px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:#fff}.month-row{display:grid;background:#fff;border:1px solid var(--line);overflow:hidden}.month{padding:13px;border-right:1px solid var(--line)}.month b,.month small{display:block}.month small{margin-top:3px;color:var(--muted)}
/* A: 城市精选 */
.a-hero{height:380px;position:relative;background:#c5e2ec url('../public/assets/hero-paper-tokyo-source-qa700.webp') center/cover no-repeat;overflow:hidden}.a-hero:before{content:"";position:absolute;inset:0;background:rgba(239,248,250,.72)}.a-copy{position:relative;padding-top:52px}.a-copy .kicker{color:var(--red);font-size:13px;font-weight:700}.a-copy h1{font-family:"Songti SC","STSong",serif;font-size:52px;line-height:1.12;margin:10px 0}.a-copy p{margin:0;color:#496677}.a-search{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:min(1160px,calc(100% - 48px));grid-template-columns:1.6fr .72fr .72fr 130px;border-radius:7px}.a-main{padding:22px 0 65px}.a-main .chips{margin-bottom:26px}.a-feature{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin-top:15px}.a-lead{position:relative;min-height:390px;background:#173d58;overflow:hidden;border-radius:7px}.a-lead .event-img{height:100%;position:absolute;inset:0;opacity:.68}.a-lead .lead-text{position:absolute;left:0;right:0;bottom:0;padding:26px;color:#fff;background:rgba(15,43,62,.84)}.a-lead h3{font-size:27px;margin:9px 0 6px}.a-lead p{margin:0;color:#dce8ee}.a-side{display:grid;gap:14px}.a-small{display:grid;grid-template-columns:190px 1fr;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.a-small .event-img{height:100%}.a-small .txt{padding:15px;display:flex;flex-direction:column}.a-small h3{font-size:17px;margin:7px 0}.a-small p{font-size:13px;color:var(--muted);margin:0}.a-small footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.a-months{grid-template-columns:150px repeat(6,minmax(0,1fr));margin-top:24px;border-radius:7px}.a-months .month:first-child{background:#173d58;color:#fff}
/* B: 专业票务 */
.b-body{background:#f4f6f8}.b-header{background:#102e45;color:#fff;border:0}.b-header .account{background:transparent;color:#fff;border-color:#547083}.b-nav .active{color:#ffd35f}.b-top{background:#102e45;color:#fff;padding:34px 0 44px}.b-topline{display:flex;justify-content:space-between;align-items:end}.b-top h1{font-size:34px;margin:0 0 7px}.b-top p{color:#bdd0dc;margin:0}.b-live{font-size:13px;padding:7px 10px;border:1px solid #506e82;border-radius:4px}.b-search{grid-template-columns:1.7fr .8fr .8fr 130px;margin-top:24px;border:0;border-radius:5px;box-shadow:none}.b-main{padding:22px 0 70px}.b-tabs{display:flex;gap:4px;margin-bottom:22px}.b-tab{padding:10px 17px;border:0;background:#e7edf0;color:#43596a}.b-tab.active{background:#eb4c50;color:#fff}.b-highlight{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}.b-ticket{background:#fff;border:1px solid var(--line);overflow:hidden}.b-ticket .event-img{height:180px}.b-ticket:first-child{grid-row:span 2}.b-ticket:first-child .event-img{height:270px}.b-ticket .txt{padding:15px}.b-ticket h3{margin:7px 0;font-size:18px}.b-ticket:first-child h3{font-size:24px}.b-ticket p{color:var(--muted);font-size:13px;margin:0}.b-ticket footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.b-status{display:flex;gap:6px}.status{font-size:12px;padding:4px 7px;background:#e4f1ec;color:#25745f}.status.soon{background:#fff0ce;color:#8d6710}.b-calendar{display:grid;grid-template-columns:140px repeat(7,minmax(0,1fr));margin-top:24px;border:1px solid #cdd9df;background:#fff}.b-day{padding:13px;border-right:1px solid #dce5e9}.b-day.active{background:#f6d9dc}.b-day b,.b-day small{display:block}.b-day small{color:#657887;margin-top:3px}
/* C: 日期雷达 */
.c-body{background:#fff}.c-banner{background:#d9edf4 url('../public/assets/hero-paper-tokyo-wide-qa700.webp') right center/auto 100% no-repeat;border-bottom:1px solid #bed9e2}.c-inner{padding:34px 0 30px}.c-title{display:flex;align-items:end;justify-content:space-between}.c-title h1{font-family:"Songti SC","STSong",serif;font-size:40px;margin:0}.c-title p{margin:0 0 5px;color:#456578}.c-search{grid-template-columns:1.4fr .72fr .72fr 125px;margin-top:22px;width:min(1050px,100%);border-radius:6px;box-shadow:none}.c-main{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;padding:26px 0 70px}.c-sidebar{border-right:1px solid var(--line);padding-right:22px}.c-sidebar h2{font-size:17px;margin:0 0 13px}.c-month-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.c-month{padding:11px;border:1px solid var(--line);background:#fff;text-align:left}.c-month.active{background:#173d58;color:#fff;border-color:#173d58}.c-filter{margin-top:25px}.c-filter button{display:block;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.c-results .section-head{margin-bottom:15px}.c-day-group{display:grid;grid-template-columns:88px minmax(0,1fr);gap:17px;padding:18px 0;border-top:1px solid var(--line)}.c-day-label strong{display:block;font-size:24px}.c-day-label small{color:var(--muted)}.c-list{display:grid;gap:12px}.c-event{display:grid;grid-template-columns:175px minmax(0,1fr) 120px;min-height:120px;border:1px solid var(--line);background:#fff;overflow:hidden}.c-event .event-img{height:100%}.c-event .txt{padding:13px}.c-event h3{font-size:17px;margin:6px 0}.c-event p{font-size:13px;color:var(--muted);margin:0}.c-action{padding:13px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.c-action .detail{width:100%}
@media(max-width:760px){.container{width:calc(100% - 24px)}.header{padding:0 12px}.nav{display:none}.a-hero{height:460px}.a-copy{padding-top:34px}.a-copy h1{font-size:39px;max-width:280px}.a-search,.b-search,.c-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:calc(100% - 24px)}.a-search .field:first-child,.b-search .field:first-child,.c-search .field:first-child{grid-column:1/-1}.searchbar>button{grid-column:1/-1;min-height:47px}.a-main{padding-top:15px}.chips{margin-right:-12px}.a-feature{grid-template-columns:1fr}.a-lead{min-height:300px}.a-side{grid-template-columns:1fr 1fr}.a-small{display:block}.a-small .event-img{height:auto;aspect-ratio:4/3}.a-small .txt{padding:11px}.a-small p{display:none}.a-small footer{margin-top:12px}.a-months{grid-template-columns:repeat(3,minmax(0,1fr))}.a-months .month:first-child{grid-column:1/-1}.b-top{padding:25px 0 35px}.b-topline{display:block}.b-live{display:none}.b-top h1{font-size:28px}.b-tabs{overflow:auto}.b-tab{flex:0 0 auto}.b-highlight{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.b-ticket:first-child{grid-column:1/-1;grid-row:auto}.b-ticket:first-child .event-img{height:auto;aspect-ratio:16/9}.b-ticket .event-img{height:auto;aspect-ratio:4/3}.b-ticket .txt{padding:10px}.b-ticket h3,.b-ticket:first-child h3{font-size:15px}.b-ticket p{display:none}.b-ticket footer{margin-top:10px}.b-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.b-calendar .b-day:first-child{grid-column:1/-1}.c-banner{background-position:65% center}.c-inner{padding:28px 0}.c-title{display:block}.c-title h1{font-size:35px}.c-title p{margin-top:7px}.c-main{display:block;padding-top:16px}.c-sidebar{border:0;padding:0}.c-sidebar h2{display:none}.c-month-list{display:flex;overflow:auto;margin-right:-12px;padding-bottom:5px}.c-month{flex:0 0 78px}.c-filter{display:none}.c-results{min-width:0;margin-top:23px}.c-day-group{min-width:0;grid-template-columns:1fr;gap:8px}.c-day-label{display:flex;align-items:baseline;gap:7px}.c-event{min-width:0;grid-template-columns:112px minmax(0,1fr)}.c-event .txt{min-width:0}.c-action{min-width:0;grid-column:1/-1;border:0;border-top:1px solid var(--line);flex-direction:row;align-items:center}.c-action .detail{width:auto;flex:0 0 auto}.section-head h2{font-size:22px}}

/* 城市精选 v2 refinement */
.a-hero{height:380px;background-image:url('./assets/hero-paper-tokyo-city-v2-20260821.webp');background-position:center 18%;background-size:cover}.a-hero:before{background:rgba(239,248,250,.2)}.a-copy{padding-top:32px}.a-copy .kicker{display:flex;align-items:center;gap:8px}.a-copy .kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}.a-copy h1{font-size:52px;line-height:1.06;margin-top:10px}.a-copy p{font-size:15px}.a-proof{display:flex;gap:20px;margin-top:13px;color:#36576a;font-size:12px}.a-proof span{display:flex;align-items:center;gap:7px}.a-proof span:before{content:"";width:5px;height:5px;border-radius:50%;background:#2e859d}.a-search{width:min(1200px,calc(100% - 48px));bottom:19px}.a-search .field{min-height:68px;display:flex;flex-direction:column;justify-content:center}.a-search>button{font-size:16px}.a-main{padding-top:18px}.a-category-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.a-category-head b{font-size:16px}.a-category-head span{color:var(--muted);font-size:12px}.a-main .chips{margin-bottom:26px}.a-main .chip{transition:.18s}.a-main .chip:hover{border-color:#87aeba;background:#edf7fa}.a-feature{grid-template-columns:minmax(0,1.45fr) minmax(390px,.75fr);gap:16px}.a-lead{min-height:380px;box-shadow:0 13px 30px rgba(20,55,74,.13)}.a-lead .event-img{opacity:.82}.a-lead .lead-text{padding:22px 25px;background:rgba(15,43,62,.9);border-top:1px solid rgba(255,255,255,.18)}.a-lead h3{font-size:27px}.a-small{grid-template-columns:190px minmax(0,1fr);box-shadow:0 7px 20px rgba(27,61,80,.07)}.a-small .event-img{min-height:182px}.a-small h3{font-size:16px;line-height:1.35}.a-small .detail{transition:.18s}.a-small .detail:hover{border-color:var(--red);color:var(--red)}.a-months{margin-top:25px;box-shadow:0 7px 22px rgba(29,64,82,.07)}.a-months .month:not(:first-child){transition:.18s}.a-months .month:not(:first-child):hover{background:#edf7fa}.header .nav .active{position:relative}.header .nav .active:after{content:"";position:absolute;left:0;right:0;bottom:-24px;height:3px;background:var(--red)}
@media(max-width:760px){.a-hero{height:420px;background-position:70% 12%}.a-hero:before{background:rgba(239,248,250,.42)}.a-copy{padding-top:23px}.a-copy h1{font-size:37px}.a-copy p{font-size:14px;max-width:280px}.a-proof{gap:12px;margin-top:10px;font-size:11px}.a-search{bottom:17px}.a-search .field{min-height:57px}.a-category-head{margin-top:2px}.a-main .chips{margin-bottom:24px}.a-feature{grid-template-columns:1fr}.a-lead{min-height:300px}.a-side{grid-template-columns:repeat(2,minmax(0,1fr))}.a-small{display:block}.a-small .event-img{min-height:0}.a-small h3{font-size:15px}.a-small footer b{font-size:13px}.header .nav .active:after{display:none}}

/* 城市精选完整活动库 */
.nav a,.nav button{font:inherit;color:inherit;text-decoration:none;border:0;background:transparent;padding:0}.nav a:hover,.nav button:hover{color:var(--red)}
.field input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-weight:700;font-size:15px;letter-spacing:0}.field input::placeholder{color:#7a8d99;opacity:1}.field input[type=date]{color:#284759}.field:focus-within{background:#f5fbfd;box-shadow:inset 0 -2px #2e859d}.a-search button:focus-visible,.chip:focus-visible,.month-button:focus-visible,.a-card-detail:focus-visible,.a-load-more:focus-visible,.a-reset:focus-visible{outline:3px solid rgba(23,107,142,.25);outline-offset:2px}
.a-quick-filters{scroll-margin-top:16px}.a-main .chips{scrollbar-width:none}.a-main .chips::-webkit-scrollbar{display:none}.chip:first-child{background:#fff;color:#334b5d;border-color:var(--line)}.chip.is-active,.chip:first-child.is-active{background:#173d58;color:#fff;border-color:#173d58}.chip.is-active:hover{background:#173d58;color:#fff;border-color:#173d58}
.a-feature [data-event-search]{cursor:pointer}.a-feature [data-event-search]:focus-within,.a-feature [data-event-search]:hover{border-color:#9bbac5}.a-lead,.a-small{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.a-lead .event-img,.a-small .event-img{transition:transform .32s ease}.a-lead:focus-visible .event-img,.a-small:focus-visible .event-img{transform:scale(1.025)}
@media(hover:hover) and (pointer:fine){.a-lead:hover,.a-small:hover{transform:translateY(-2px)}.a-lead:hover{box-shadow:0 17px 34px rgba(20,55,74,.17)}.a-small:hover{border-color:#a9c5cf;box-shadow:0 11px 25px rgba(27,61,80,.12)}.a-lead:hover .event-img,.a-small:hover .event-img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.a-lead,.a-small,.a-lead .event-img,.a-small .event-img{transition:none}.a-lead:hover,.a-small:hover,.a-lead:hover .event-img,.a-small:hover .event-img{transform:none}}
.a-months-shell{display:grid;grid-template-columns:minmax(0,1fr) 78px;margin-top:25px;box-shadow:0 7px 22px rgba(29,64,82,.07)}.a-months{display:flex;min-width:0;margin-top:0;border-radius:7px 0 0 7px;grid-template-columns:none;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:x proximity;box-shadow:none}.a-months::-webkit-scrollbar{display:none}.a-months .month{flex:0 0 142px;min-width:0;text-align:left}.a-months .month-label{position:sticky;left:0;z-index:2;flex-basis:154px;background:#173d58;color:#fff}.a-months .month-button{border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);scroll-snap-align:start}.a-months .month-button:hover{background:#edf7fa}.a-months .month-button.is-active{background:#dff0f5;color:#123f56;box-shadow:inset 0 -3px #2e859d}.a-months .month-button.is-active small{color:#355e70}.a-month-controls{display:grid;grid-template-columns:repeat(2,1fr);overflow:hidden;border:1px solid var(--line);border-left:0;border-radius:0 7px 7px 0;background:#fff}.a-month-controls button{border:0;border-left:1px solid var(--line);background:#fff;color:#2d5b70;font-family:Arial,sans-serif;font-size:26px}.a-month-controls button:hover{background:#edf7fa;color:var(--red)}
.a-all-section{padding-top:42px;scroll-margin-top:18px}.a-results-head{align-items:center;margin-bottom:18px}.a-results-head p{font-size:13px}.a-reset{height:36px;padding:0 13px;border:1px solid #aac2cc;border-radius:5px;background:#fff;color:#315a6d}.a-reset:hover{border-color:var(--red);color:var(--red)}
.a-events-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px;min-height:280px}.a-event-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9e4e8;border-radius:7px;background:#fff;box-shadow:0 7px 22px rgba(29,64,82,.065);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.a-event-card:hover{transform:translateY(-2px);border-color:#b7cdd5;box-shadow:0 13px 30px rgba(29,64,82,.11)}
.a-card-image{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#e7f0f3}.a-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.a-event-card:hover .a-card-image img{transform:scale(1.018)}.a-card-image img.is-fallback{object-fit:contain;padding:38px;background:#edf5f7}.a-card-category{position:absolute;left:11px;top:11px;padding:5px 8px;border-radius:4px;background:#fff;color:#24495b;font-size:11px;font-weight:700;box-shadow:0 2px 9px rgba(19,48,64,.14)}.a-card-category.is-rose{background:#fff0f1;color:#c83945}.a-card-category.is-indigo{background:#eef0ff;color:#4c54a8}.a-card-category.is-amber{background:#fff3d5;color:#8b6310}.a-card-category.is-blue{background:#e7f3f9;color:#176383}.a-card-category.is-violet{background:#f1edfb;color:#66549b}.a-card-category.is-green{background:#e8f5ef;color:#26715a}.a-card-category.is-orange{background:#fff0df;color:#9a5a13}.a-card-category.is-pink{background:#fff0f5;color:#a83c6c}.a-card-category.is-red{background:#fff0ed;color:#a94b3d}.a-card-category.is-navy{background:#e9eff4;color:#294b65}.a-card-category.is-teal{background:#e4f4f3;color:#256b67}.a-card-category.is-sky{background:#eaf4f7;color:#2d657a}
.a-card-body{display:flex;flex:1;min-width:0;flex-direction:column;padding:15px 16px 14px}.a-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d64147;font-size:12px;font-weight:700}.a-card-meta span:last-child{min-width:0;overflow:hidden;color:#68808c;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.a-card-body h3{display:-webkit-box;min-height:47px;margin:9px 0 7px;overflow:hidden;font-size:17px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.a-card-body h3 a{color:inherit;text-decoration:none}.a-card-body h3 a:hover{color:var(--red)}.a-card-body>p{margin:0;overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.a-card-body footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid #edf1f3}.a-card-body footer strong{min-width:0;overflow:hidden;color:#173d58;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.a-card-detail{flex:0 0 auto;color:var(--blue);font-size:13px;font-weight:700;text-decoration:none}.a-card-detail:after{content:"  ›"}.a-card-detail:hover{color:var(--red)}
.a-load-more-wrap{display:flex;justify-content:center;padding-top:28px}.a-load-more{min-width:240px;height:44px;padding:0 22px;border:1px solid #aac3cd;border-radius:6px;background:#fff;color:#254f62;font-weight:700}.a-load-more:hover{border-color:#2e859d;background:#edf7fa}.a-empty-state{grid-column:1/-1;padding:70px 20px;text-align:center;border:1px dashed #bfd0d7;border-radius:7px;background:#fbfdfe}.a-empty-state strong{font-size:18px}.a-empty-state p{margin:8px 0 18px;color:var(--muted);font-size:13px}.a-empty-state button{height:38px;padding:0 15px;border:0;border-radius:5px;background:#173d58;color:#fff}.a-loading-state{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.a-loading-state span{height:310px;border-radius:7px;background:linear-gradient(100deg,#e7eef1 20%,#f6f9fa 42%,#e7eef1 64%);background-size:220% 100%;animation:a-shimmer 1.4s infinite}.a-loading-state p{grid-column:1/-1;margin:0;color:var(--muted);text-align:center}@keyframes a-shimmer{to{background-position-x:-220%}}

@media(max-width:1180px){.a-events-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.a-loading-state{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1001px) and (max-width:1180px){.a-loading-state span:nth-child(4){display:none}}
@media(max-width:1000px){.a-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.a-loading-state{grid-template-columns:repeat(2,minmax(0,1fr))}.a-feature{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)}.a-small{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:760px){.header{height:60px}.brand img{width:36px;height:36px}.account{height:34px}.a-search .field{border-bottom:1px solid var(--line)}.field input{font-size:14px}.a-feature{grid-template-columns:1fr}.a-months-shell{grid-template-columns:minmax(0,1fr) 62px;margin-left:-12px;margin-right:-12px}.a-months{border-left:0;border-radius:0}.a-months .month{flex-basis:112px;padding:11px}.a-months .month-label{flex-basis:124px;padding-left:12px}.a-month-controls{border-radius:0;border-right:0}.a-month-controls button{font-size:22px}.a-all-section{padding-top:34px}.a-events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 9px}.a-event-card{border-radius:6px;box-shadow:0 4px 13px rgba(29,64,82,.06)}.a-card-image{aspect-ratio:4/3}.a-card-category{left:7px;top:7px;padding:4px 6px;font-size:10px}.a-card-body{padding:10px 10px 9px}.a-card-meta{display:block;font-size:11px}.a-card-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.a-card-meta span:last-child{margin-top:3px}.a-card-body h3{min-height:42px;margin:7px 0 5px;font-size:14px;line-height:1.45}.a-card-body>p{font-size:11px}.a-card-body footer{display:block;margin-top:10px;padding-top:9px}.a-card-body footer strong{display:block;font-size:12px}.a-card-detail{display:inline-block;margin-top:7px;font-size:12px}.a-loading-state{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.a-loading-state span{height:280px}.a-loading-state span:nth-child(n+3){display:none}.a-load-more{width:100%;min-width:0}.a-results-head{align-items:flex-end}.a-results-head p{max-width:245px}.a-reset{height:34px;padding:0 10px}.section-head a{white-space:nowrap}}
@media(max-width:360px){.a-card-body h3{font-size:13px}.a-card-detail{font-size:11px}.a-card-body footer strong{font-size:11px}}

/* Price-first event cards */
.a-card-price{position:absolute;right:10px;bottom:10px;max-width:calc(100% - 20px);padding:6px 9px;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(17,48,67,.91);color:#fff;font-size:12px;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 3px 12px rgba(15,40,55,.22);backdrop-filter:blur(4px)}
.a-card-source{display:inline-flex;min-width:0;align-items:center;gap:7px;color:#55727f;font-size:12px;font-weight:700}.a-card-source:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#2b8a73;box-shadow:0 0 0 3px #e5f3ee}
@media(max-width:760px){.a-card-price{right:7px;bottom:7px;max-width:calc(100% - 14px);padding:5px 7px;font-size:10px}.a-card-body footer{display:flex;align-items:center}.a-card-source{font-size:10px}.a-card-source:before{width:5px;height:5px;box-shadow:0 0 0 2px #e5f3ee}.a-card-detail{margin-top:0;font-size:11px}}

/* Comfortable color pass */
body{background:#f3f8fa}.header{position:relative;z-index:5;border-bottom-color:#d3e2e7;box-shadow:0 2px 12px rgba(29,64,82,.04)}
.a-search{border-color:#c8dce4;box-shadow:0 16px 36px rgba(24,66,87,.16)}.a-search .field:first-child{background:#fbfdfe}.a-search>button{background:#e95157;transition:background .18s}.a-search>button:hover{background:#d9444b}.field input[type=date]{font-variant-numeric:tabular-nums}
.a-quick-filters{margin:0 -18px 26px;padding:11px 18px 10px;border-bottom:1px solid #d8e7ec;background:rgba(255,255,255,.58)}.a-category-head{gap:16px;margin-bottom:8px}.a-category-head b{color:#173f54}.a-category-head span{color:#71848d}.a-quick-filters .chips{gap:11px;margin-bottom:0;padding:0 0 2px}
.a-main .chip{min-height:36px;padding:7px 14px;font-size:14px;line-height:1;font-weight:600}.a-main .chip[data-category="演唱会"]{border-color:#f0cbd0;background:#fff2f4;color:#a53c47}.a-main .chip[data-category="花火"]{border-color:#d7dcf6;background:#f2f3ff;color:#5058a0}.a-main .chip[data-category="祭典"]{border-color:#ecdcae;background:#fff7e2;color:#84641a}.a-main .chip[data-category="展览"]{border-color:#cce3ed;background:#edf7fb;color:#23657d}.a-main .chip[data-category="市集"]{border-color:#cbe5d8;background:#edf8f2;color:#31705a}.a-main .chip[data-category="亲子"]{border-color:#f0d5b7;background:#fff4e8;color:#8a5b24}.a-main .chip[data-category="情侣"]{border-color:#eed0df;background:#fff3f8;color:#9a456b}.a-main .chip[data-category="免费"]{border-color:#c5e5dc;background:#eaf8f4;color:#2e7462}.a-main .chip.is-active{border-color:#173d58;background:#173d58;color:#fff;box-shadow:0 4px 12px rgba(23,61,88,.16)}
.a-lead{border:1px solid #b9d3dc}.a-side .a-small:first-child{border-color:#ead4d6;background:#fffafb}.a-side .a-small:last-child{border-color:#cedeea;background:#fbfdff}.a-small .detail{border-color:#cbdce3;color:#315c70}
.a-months-shell{overflow:hidden;border:1px solid #cfdee4;border-radius:7px;background:#fff;box-shadow:0 8px 24px rgba(29,64,82,.075)}.a-months,.a-month-controls{border-top:0;border-bottom:0}.a-months .month-button.is-active{background:#fff0f1;color:#9b323a;box-shadow:inset 0 -3px #e95157}.a-months .month-button.is-active small{color:#7d5457}
.a-all-section{margin-top:36px;padding-top:32px;border-top:1px solid #d7e5e9}.a-results-head h2{color:#173d58}.a-reset{border-color:#cbdce3;background:#fbfdfe}.a-event-card{border-color:#d5e2e7;box-shadow:0 7px 22px rgba(34,72,91,.07)}.a-event-card:hover{border-color:#a9c8d3;box-shadow:0 14px 32px rgba(28,68,88,.12)}
@media(max-width:760px){.a-quick-filters{margin-left:-12px;margin-right:-12px;padding:10px 12px 9px}.a-category-head{gap:13px;margin-bottom:8px}.a-quick-filters .chips{gap:9px}.a-main .chip{min-height:34px;padding:7px 13px;font-size:13px;font-weight:500}.a-all-section{margin-top:28px;padding-top:26px}.a-search{box-shadow:0 12px 26px rgba(24,66,87,.14)}}

/* Wider quick choices and a lighter featured overlay */
.a-quick-filters .chips{gap:14px}.a-main .chip{padding-left:18px;padding-right:18px}.a-lead{border:0;border-radius:8px}.a-lead .lead-text{background:rgba(15,43,62,.5);border-top:0;text-shadow:0 1px 3px rgba(4,25,36,.5)}
@media(max-width:760px){.a-quick-filters .chips{gap:11px}.a-main .chip{padding-left:16px;padding-right:16px}}

/* Frameless featured story: keep the photo open and use only a soft readability fade. */
.a-lead:after{content:"";position:absolute;z-index:1;inset:32% 0 0;pointer-events:none;background:linear-gradient(180deg,rgba(10,31,43,0),rgba(10,31,43,.16) 34%,rgba(10,31,43,.74) 100%)}
.a-lead .lead-text{z-index:2;background:transparent;text-shadow:0 2px 5px rgba(4,25,36,.72)}

/* Production shell and complete interaction layer */
:root{
  --v2-ink:#173447;
  --v2-muted:#667e8b;
  --v2-line:#d6e3e8;
  --v2-paper:#f4f9fb;
  --v2-white:#fff;
  --v2-red:#e74e55;
  --v2-red-dark:#cf3f47;
  --v2-blue:#176b8e;
  --v2-navy:#173d58;
  --v2-green:#237864;
  --v2-shadow:0 14px 36px rgba(31,70,89,.12)
}

html{scroll-behavior:smooth}
body.site-v2{min-height:100vh;background:var(--v2-paper);color:var(--v2-ink);font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei","Hiragino Sans",Arial,sans-serif;letter-spacing:0}
body.is-dialog-open{overflow:hidden}
[hidden]{display:none!important}
a{color:inherit}
button,input,select,textarea{font-family:inherit;letter-spacing:0}
button:disabled{cursor:not-allowed;opacity:.56}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:9px 13px;transform:translateY(-150%);border-radius:5px;background:#fff;color:var(--v2-navy);box-shadow:var(--v2-shadow)}
.skip-link:focus{transform:none}
.header{position:sticky;z-index:20;top:0;height:68px;padding:0 max(24px,calc((100vw - 1320px)/2));background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.header .brand{text-decoration:none}
.header .brand img{object-fit:cover;background:#050505}
.header-actions{display:flex;align-items:center;gap:9px}
.header-link{height:38px;padding:0 8px;border:0;background:transparent;color:#55707e;font-size:13px}
.header-link:hover{color:var(--v2-red)}
.header .account{min-width:70px;color:#23495d;font-size:13px;font-weight:700}
.header .account.is-authenticated{border-color:#badbd1;background:#edf8f4;color:#226c5a}
.nav #openSaved .a-heart-icon{display:none}
.a-hero{height:388px;background-color:#c5e2ec;background-image:url('./assets/hero-paper-tokyo-city-v2-20260821.webp');background-position:center 18%;background-size:cover}
.a-hero:before{background:rgba(239,248,250,.16)}
.a-copy{padding-top:34px}
.a-copy h1{max-width:640px;color:#153b52;text-shadow:0 1px 0 rgba(255,255,255,.75)}
.a-copy>p{color:#3d6476;font-weight:500}
.a-proof span{padding:4px 0;color:#315b6e;font-weight:600}
.a-search{z-index:3}
.a-main{padding-bottom:62px}
.featured-section{padding-top:2px}
.feature-loading{grid-column:1/-1;display:grid;min-height:310px;place-items:center;border:1px dashed var(--v2-line);border-radius:7px;background:#fff;color:var(--v2-muted)}
.a-lead,.a-small{cursor:pointer}
.a-lead:focus-visible,.a-small:focus-visible{outline:3px solid rgba(23,107,142,.26);outline-offset:3px}
.a-lead .event-img{object-fit:cover}
.a-lead .lead-text p{font-weight:600}
.a-small .txt{min-width:0}
.a-small .txt .date{white-space:nowrap}
.a-small h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.a-small footer b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-small footer button{flex:0 0 auto}
.a-card-image{cursor:pointer;border:0;padding:0;text-align:left}
.a-image-open{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent}
.a-image-open:focus-visible{outline:3px solid rgba(23,107,142,.3);outline-offset:-4px}
.a-card-save{position:absolute;z-index:3;top:10px;right:10px;display:block;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(255,255,255,.92);color:#3f5967;font-size:0;line-height:0;box-shadow:0 3px 12px rgba(18,48,64,.15);backdrop-filter:blur(5px)}
.a-heart-icon{position:absolute;left:50%;top:50%;display:block;width:19px;height:19px;fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transform:translate(-50%,-47%);transform-origin:center;transition:fill .18s ease,stroke .18s ease,transform .18s ease}
.a-card-save:hover{border-color:#e9c7cb;background:#fff8f8;color:#ca4853}
.a-card-save:hover .a-heart-icon{transform:translate(-50%,-47%) scale(1.08)}
.a-card-save.is-saved{border-color:#efb8be;background:#fff1f3;color:#d94450}
.a-card-save.is-saved .a-heart-icon{fill:currentColor;stroke:currentColor}
.a-card-save:focus-visible{outline:3px solid rgba(23,107,142,.28);outline-offset:2px}
.a-card-category{z-index:2;max-width:calc(100% - 64px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-card-price{z-index:2;right:10px;bottom:10px}
.a-card-body h3 button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font-weight:inherit;line-height:inherit}
.a-card-body h3 button:hover{color:var(--v2-red)}
.a-card-detail{padding:0;border:0;background:transparent}
.a-card-detail:after{content:"  ›"}
.a-small .detail{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;white-space:nowrap}
.footer{border-top:1px solid var(--v2-line);background:#fff}
.footer-inner{display:flex;min-height:112px;align-items:center;justify-content:space-between;gap:28px}
.footer strong{font-size:17px}
.footer p{margin:6px 0 0;color:var(--v2-muted);font-size:12px}
.footer nav{display:flex;align-items:center;gap:20px;font-size:12px}
.footer nav a,.footer nav button{padding:0;border:0;background:transparent;color:#506c7b;text-decoration:none}
.footer nav a:hover,.footer nav button:hover{color:var(--v2-red)}

/* Dialogs */
.v2-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--v2-ink)}
.v2-dialog::backdrop{background:rgba(14,35,47,.48);backdrop-filter:blur(3px)}
.dialog-shell{position:relative;width:min(760px,calc(100% - 32px));max-height:calc(100vh - 46px);margin:23px auto;overflow:auto;border:1px solid rgba(210,226,232,.95);border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(10,37,52,.28);overscroll-behavior:contain}
.dialog-close{position:sticky;z-index:8;top:12px;float:right;display:grid;width:38px;height:38px;margin:12px 12px -50px 0;padding:0;place-items:center;border:1px solid #d7e2e6;border-radius:50%;background:rgba(255,255,255,.96);color:#38586a;font-family:Arial,sans-serif;font-size:25px;line-height:1;box-shadow:0 3px 12px rgba(20,53,70,.12)}
.dialog-close:hover{border-color:#e6b4b9;color:var(--v2-red)}
.dialog-heading{padding:28px 32px 18px}
.dialog-heading>span{color:var(--v2-red);font-size:12px;font-weight:700}
.dialog-heading h2{margin:6px 48px 5px 0;font-size:25px;line-height:1.28}
.dialog-heading p{margin:0;color:var(--v2-muted);font-size:13px;line-height:1.65}
.form-shell{width:min(720px,calc(100% - 32px))}
.v2-form{display:grid;gap:15px;padding:6px 32px 32px}
.v2-form label{display:grid;min-width:0;gap:7px;color:#365568;font-size:12px;font-weight:700}
.v2-form input,.v2-form select,.v2-form textarea{width:100%;min-width:0;border:1px solid #cfdde3;border-radius:6px;background:#fff;color:var(--v2-ink);font-size:14px;font-weight:500;outline:0}
.v2-form input,.v2-form select{height:44px;padding:0 12px}
.v2-form textarea{padding:11px 12px;resize:vertical;line-height:1.55}
.v2-form input:focus,.v2-form select:focus,.v2-form textarea:focus{border-color:#6aa2b8;box-shadow:0 0 0 3px rgba(45,130,162,.12)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.form-row-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-actions{display:flex;gap:10px}
.primary-action,.secondary-action{min-height:44px;padding:0 18px;border-radius:6px;font-weight:700}
.primary-action{border:0;background:var(--v2-red);color:#fff}
.primary-action:hover{background:var(--v2-red-dark)}
.secondary-action{border:1px solid #cbdce3;background:#fff;color:#315c70}
.form-note,.form-message{margin:0;color:var(--v2-muted);font-size:12px;line-height:1.55}
.form-message{min-height:20px;padding:0 32px 18px}
.form-message.is-error{color:#bc3942}
.form-message.is-success{color:#23705e}
.submission-note{padding:12px 14px;border-left:3px solid #79aabd;background:#f2f8fa;color:#456473;font-size:12px;line-height:1.6}
.submission-note strong{color:#214d62}
.submission-note p{margin:3px 0 0}

/* Event details */
.detail-shell{width:min(1040px,calc(100% - 32px))}
.detail-content{min-height:420px}
.detail-loading{display:grid;min-height:420px;place-items:center;color:var(--v2-muted)}
.detail-top{display:grid;grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr);min-height:410px}
.detail-media{position:relative;min-height:410px;overflow:hidden;background:#e7f0f3}
.detail-media img{display:block;width:100%;height:100%;object-fit:cover}
.detail-media .a-card-category{left:16px;top:16px}
.detail-share{position:absolute;z-index:4;top:16px;right:16px;display:inline-flex;min-width:76px;height:38px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid rgba(255,255,255,.88);border-radius:6px;background:rgba(255,255,255,.94);color:#315b6f;font-size:12px;font-weight:700;box-shadow:0 5px 16px rgba(25,60,77,.16);backdrop-filter:blur(6px)}
.detail-share:hover{border-color:#b8d0da;background:#fff;color:#b53641}
.detail-share svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.detail-main{display:flex;min-width:0;flex-direction:column;padding:34px 36px 28px}
.detail-eyebrow{color:var(--v2-red);font-size:12px;font-weight:700}
.detail-main h2{margin:7px 48px 4px 0;font-size:28px;line-height:1.34}
.detail-original{margin:0 0 18px;color:#6c818c;font-size:12px;line-height:1.5}
.detail-facts{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid #e3eaed}
.detail-facts li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid #edf1f3;font-size:13px;line-height:1.55}
.detail-facts strong{color:#6b7f89;font-size:11px;font-weight:700}
.detail-facts span{min-width:0;color:#294b5d;font-weight:600}
.detail-introduction{margin:18px 0 0;padding-top:15px;border-top:1px solid #e3eaed}
.detail-introduction h3{margin:0 0 8px;color:#294f62;font-size:14px;line-height:1.4}
.detail-introduction p{margin:0;color:#4d6876;font-size:13px;line-height:1.75}
.detail-introduction p+p{margin-top:8px}
.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:22px}
.detail-actions a,.detail-actions button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:0 15px;border-radius:6px;font-size:13px;font-weight:700;text-decoration:none}
.detail-actions .ticket-primary{border:0;background:var(--v2-red);color:#fff}
.detail-actions .ticket-primary:hover{background:var(--v2-red-dark)}
.detail-actions .map-action,.detail-actions .soft-action{border:1px solid #cbdce3;background:#fff;color:#315c70}
.detail-actions .soft-action.is-saved{border-color:#efbdc2;background:#fff1f3;color:#ca3f4a}
.detail-external-note{margin:10px 0 0;padding:9px 11px;border-left:3px solid #9fc8d7;background:#f4fafc;color:#536f7b;font-size:11px;line-height:1.55}
.detail-secondary{display:flex;flex-wrap:wrap;gap:14px;margin-top:13px;font-size:12px}
.detail-secondary a{color:var(--v2-blue)}
.detail-meta-note{margin-top:12px;color:#768993;font-size:11px;line-height:1.55}
.detail-community{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:26px;padding:26px 34px 34px;border-top:1px solid #e0e9ed;background:#fbfdfe}
.review-summary h3,.review-list-wrap h3{margin:0 0 8px;font-size:17px}
.review-summary>p,.review-list-wrap>p{margin:0;color:var(--v2-muted);font-size:12px;line-height:1.55}
.rating-stars{display:flex;gap:6px;margin:14px 0 12px}
.rating-stars button{width:36px;height:36px;padding:0;border:1px solid #d7e2e6;border-radius:5px;background:#fff;color:#bdc8ce;font-size:21px}
.rating-stars button.is-active{border-color:#e8c76c;background:#fff9e7;color:#ce9a16}
.review-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.review-tags label{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #d8e3e7;border-radius:999px;background:#fff;color:#536d7a;font-size:11px;cursor:pointer}
.review-tags input{width:auto;margin:0}
.review-editor textarea{width:100%;min-height:76px;padding:10px;border:1px solid #d3e0e5;border-radius:6px;resize:vertical;font:inherit;font-size:12px;line-height:1.55;outline:0}
.review-editor textarea:focus{border-color:#6aa2b8;box-shadow:0 0 0 3px rgba(45,130,162,.1)}
.review-editor footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}
.review-editor footer span{color:var(--v2-muted);font-size:11px}
.review-editor footer button{height:36px;padding:0 13px;border:0;border-radius:5px;background:var(--v2-navy);color:#fff;font-size:12px;font-weight:700}
.review-list{display:grid;gap:10px;margin-top:13px}
.review-item{padding:12px 0;border-top:1px solid #e3eaed}
.review-item:first-child{border-top:0}
.review-item header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.review-item header b{color:#294c5f}
.review-item .review-score{color:#c28c11;letter-spacing:0}
.review-item p{margin:7px 0 0;color:#566f7b;font-size:12px;line-height:1.6}
.review-item .review-tag-line{margin-top:6px;color:#778b95;font-size:11px}
.review-empty{padding:26px 0;color:var(--v2-muted);font-size:12px}

/* Account and saved views */
.account-shell{width:min(860px,calc(100% - 32px))}
.account-profile{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 32px 18px;padding:14px 0;border-top:1px solid #e2eaed;border-bottom:1px solid #e2eaed}
.account-identity{min-width:0}
.account-identity b,.account-identity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-identity b{font-size:16px}
.account-identity span{margin-top:3px;color:var(--v2-muted);font-size:12px}
.account-profile-actions{display:flex;flex-wrap:wrap;gap:8px}
.account-profile-actions button,.account-profile-actions a{height:34px;padding:0 10px;border:1px solid #d2dfe4;border-radius:5px;background:#fff;color:#3f6070;font-size:11px;line-height:32px;text-decoration:none}
.account-admin-badge{display:inline-flex;height:34px;align-items:center;padding:0 10px;border:1px solid #b8d9d0;border-radius:5px;background:#edf8f4;color:#226c5a;font-size:11px;font-weight:700}
.account-tabs{display:flex;gap:4px;margin:0 32px;border-bottom:1px solid #dce6ea}
.account-tabs button{padding:10px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#607986;font-size:12px;font-weight:700}
.account-tabs button.is-active{border-bottom-color:var(--v2-red);color:var(--v2-red)}
.account-records{min-height:220px;padding:18px 32px 30px}
.account-empty{display:grid;min-height:190px;place-items:center;border:1px dashed #d1e0e5;border-radius:7px;color:var(--v2-muted);font-size:13px;text-align:center}
.record-list{display:grid;gap:10px}
.record-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #dce6ea;border-radius:7px;background:#fff}
.record-row img{display:block;width:86px;aspect-ratio:4/3;object-fit:cover;border-radius:5px;background:#edf3f5}
.record-copy{min-width:0}
.record-copy b,.record-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.record-copy b{font-size:13px}
.record-copy span{margin-top:4px;color:var(--v2-muted);font-size:11px}
.record-copy small{display:-webkit-box;overflow:hidden;margin-top:5px;color:#718791;font-size:10px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.record-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.record-actions button,.record-actions a{height:32px;padding:0 9px;border:1px solid #d2dfe4;border-radius:5px;background:#fff;color:#3f6273;font-size:11px;line-height:30px;text-decoration:none;white-space:nowrap}
.record-actions button.is-primary{border-color:#b9d8d0;background:#edf8f4;color:#216956}
.record-actions button.is-danger{border-color:#efd0d3;background:#fff5f6;color:#bd3f49}
.record-actions button:disabled{cursor:wait;opacity:.6}
.saved-shell{width:min(940px,calc(100% - 32px))}
.saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:4px 32px 34px}
.saved-card{min-width:0;overflow:hidden;border:1px solid #dbe5e9;border-radius:7px;background:#fff}
.saved-card button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}
.saved-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#edf3f5}
.saved-card-copy{padding:11px 12px}
.saved-card-copy b,.saved-card-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saved-card-copy b{font-size:13px}
.saved-card-copy span{margin-top:5px;color:var(--v2-muted);font-size:11px}
.saved-empty{grid-column:1/-1;display:grid;min-height:260px;place-items:center;border:1px dashed #d1e0e5;border-radius:7px;color:var(--v2-muted);font-size:13px;text-align:center}
.v2-toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:min(360px,calc(100% - 32px));padding:12px 16px;border:1px solid #cbdde4;border-radius:6px;background:#fff;color:#294b5d;font-size:13px;font-weight:600;box-shadow:0 12px 36px rgba(17,49,65,.2)}
.v2-toast.is-error{border-color:#efc3c6;background:#fff5f6;color:#a93740}
.detail-mobile-primary{display:none}

@media(max-width:1000px){
  .detail-top{grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr)}
  .detail-main{padding:30px 28px 25px}
  .saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .header{height:58px;padding:0 12px}
  .brand{gap:7px;font-size:16px}.brand img{width:34px;height:34px}
  .nav{display:flex;margin-left:auto;gap:0}.nav>a,.nav>[data-quick-category]{display:none}.nav #openSaved{position:relative;display:block;width:34px;height:34px;padding:0;color:#3f5967;font-size:0;line-height:0}.nav #openSaved .nav-saved-label{display:none}.nav #openSaved .a-heart-icon{display:block;width:21px;height:21px;transform:translate(-50%,-48%)}
  .header-actions{gap:4px}.header-link{display:none}.header .account{min-width:58px;height:34px;padding:0 10px}
  .a-hero{height:418px;background-position:67% 14%}
  .a-copy{padding-top:25px}.a-copy h1{font-size:37px;line-height:1.08}.a-copy>p{max-width:290px}.a-proof{gap:13px}
  .a-search{bottom:15px}
  .featured-section{padding-top:0}.section-head h2{font-size:22px}
  .a-lead{min-height:284px}.a-lead h3{font-size:22px}.a-lead .lead-text{padding:19px}
  .a-side{gap:9px}.a-small .txt{min-height:132px}.a-small footer{gap:5px}.a-small footer b{font-size:12px}
  .a-months-shell{grid-template-columns:minmax(0,1fr) 66px}
  .a-months .month{flex-basis:108px;padding:11px}.a-months .month-label{flex-basis:116px}
  .a-events-grid{gap:12px 9px}
  .a-card-save{top:7px;right:7px;width:29px;height:29px}
  .a-card-category{left:7px;top:7px;max-width:calc(100% - 46px);padding:4px 6px;font-size:10px}
  .a-card-price{font-size:10px}
  .a-card-body{padding:10px 10px 11px}.a-card-meta{display:block;font-size:11px}.a-card-meta span{display:block}.a-card-meta span:last-child{margin-top:3px}.a-card-body h3{min-height:42px;margin:7px 0 5px;font-size:14px}.a-card-body>p{font-size:11px}.a-card-body footer{gap:5px;margin-top:10px;padding-top:9px}.a-card-source{max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .footer-inner{display:block;padding:25px 0}.footer nav{margin-top:15px;gap:16px;overflow:auto;white-space:nowrap}
  .dialog-shell{width:100%;max-height:calc(100dvh - 8px);margin:8px auto 0;border-radius:8px 8px 0 0}
  .dialog-heading{padding:25px 18px 15px}.dialog-heading h2{font-size:22px}
  .dialog-close{top:8px;margin:8px 8px -46px 0}
  .v2-form{padding:5px 18px 24px}.form-row,.form-row-three{grid-template-columns:1fr}.form-message{padding:0 18px 15px}
  .detail-top{display:block;min-height:0}.detail-media{min-height:0;aspect-ratio:16/10}.detail-share{top:10px;right:58px;min-width:70px;height:36px;padding:0 10px}.detail-main{padding:22px 18px 24px}.detail-main h2{margin-right:36px;font-size:23px}.detail-facts li{grid-template-columns:58px minmax(0,1fr)}.detail-actions{margin-top:0}.detail-actions a,.detail-actions button{flex:1 1 calc(50% - 5px);padding:0 10px}
  .detail-mobile-primary{display:block;margin:-2px 0 15px;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}
  .detail-mobile-primary .ticket-primary{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;padding:0 16px;border:0;border-radius:6px;background:var(--v2-red);color:#fff;font-size:14px;font-weight:700;text-align:center;text-decoration:none}
  .detail-mobile-primary .ticket-primary:active{background:var(--v2-red-dark)}
  .detail-actions>.ticket-primary{display:none}
  .detail-community{grid-template-columns:1fr;gap:26px;padding:24px 18px 28px}.review-editor footer{align-items:flex-end}
  .account-profile{margin:0 18px 14px;align-items:flex-start}.account-profile-actions{flex-direction:column}.account-tabs{margin:0 18px;overflow:auto}.account-tabs button{flex:0 0 auto}.account-records{padding:15px 18px 24px}.record-row{grid-template-columns:68px minmax(0,1fr)}.record-row img{width:68px}.record-actions{grid-column:2/-1;justify-content:flex-start}
  .saved-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:3px 12px 24px}.saved-card-copy{padding:9px}.saved-card-copy b{font-size:12px}
  .v2-toast{right:12px;bottom:12px;left:12px;max-width:none}
}

@media(max-width:360px){
  .a-card-source{display:none}.a-card-body footer{justify-content:flex-end}
  .detail-actions a,.detail-actions button{flex-basis:100%}
  .saved-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* v4: visible prices and a clearer community area */
.a-card-body footer{align-items:flex-end}
.a-card-commerce{display:grid;min-width:0;gap:3px}
.a-card-commerce strong{overflow:hidden;color:#d9464e;font-size:16px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.a-card-commerce small{overflow:hidden;color:#68808c;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.detail-price-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 13px;align-items:baseline;margin:14px 0 15px;padding:12px 14px;border:1px solid #efd7d9;border-radius:7px;background:#fff7f7}
.detail-price-panel>span{color:#9e555b;font-size:11px;font-weight:700}
.detail-price-panel>strong{min-width:0;color:#d84049;font-size:19px;line-height:1.35;overflow-wrap:anywhere}
.detail-price-panel>small{grid-column:2;color:#7d7678;font-size:10px;line-height:1.45}
.detail-community{display:block;padding:28px 34px 34px;background:#f7fafb}
.review-section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.review-section-head>div:first-child>span{color:#d84a52;font-size:11px;font-weight:700}
.review-section-head h3{margin:4px 0 3px;font-size:21px;line-height:1.3}
.review-section-head p{margin:0;color:var(--v2-muted);font-size:12px}
.review-overview{display:flex;min-width:255px;align-items:center;gap:13px;padding:11px 15px;border:1px solid #eadde0;border-radius:7px;background:#fff}
.review-overview>strong{min-width:52px;color:#d8464e;font-size:30px;line-height:1;font-variant-numeric:tabular-nums;text-align:center}
.review-overview>div{display:grid;gap:3px}
.review-overview span{color:#c58c13;font-size:15px;letter-spacing:0}
.review-overview small{color:#71848e;font-size:10px}
.review-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:16px;align-items:start}
.review-write,.review-list-wrap{min-width:0;padding:18px 19px;border:1px solid #dbe6ea;border-radius:7px;background:#fff}
.review-block-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.review-block-heading h4{margin:0;color:#24495c;font-size:15px}
.review-block-heading span{color:#81919a;font-size:10px}
.review-login-copy{display:grid;gap:4px;margin:2px 0 15px}
.review-login-copy b{font-size:13px}
.review-login-copy span,.rating-hint{margin:0;color:#70848f;font-size:11px;line-height:1.55}
.review-editor>.secondary-action{width:100%}
.rating-stars{margin:8px 0 13px}
.rating-stars button{transition:border-color .15s,background .15s,color .15s,transform .15s}
.rating-stars button:hover{border-color:#e1bd5d;background:#fff9e8;color:#c99310;transform:translateY(-1px)}
.review-tags label:has(input:checked){border-color:#a9d5c8;background:#edf8f4;color:#266b59}
.review-editor textarea{min-height:86px;font-size:13px;overflow-wrap:anywhere}
.review-editor footer{justify-content:flex-start;flex-wrap:wrap}
.review-editor footer #reviewMessage{min-width:0;margin-right:auto}
.review-count{color:#8a9aa2!important;font-variant-numeric:tabular-nums}
.review-editor footer button{flex:0 0 auto}
.review-list{gap:0;margin-top:0}
.review-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;padding:14px 0;border-top:1px solid #e6edef}
.review-item:first-child{border-top:0;padding-top:2px}
.review-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#e8f3f6;color:#2b657c;font-size:13px;font-weight:800}
.review-item-main{min-width:0}
.review-item header{display:flex;min-width:0;align-items:baseline;justify-content:flex-start;gap:8px}
.review-item header b{min-width:0;overflow:hidden;color:#284b5e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.review-item header time{flex:0 0 auto;color:#94a1a7;font-size:10px}
.review-item .review-score{display:block;margin-top:3px;color:#c58b12;font-size:12px;letter-spacing:0}
.review-item p{margin:7px 0 0;color:#455f6c;font-size:13px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}
.review-tag-line{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px!important}
.review-tag-line span{padding:3px 6px;border-radius:4px;background:#f0f5f7;color:#617984;font-size:10px}
.review-empty{display:grid;min-height:118px;place-items:center;padding:18px;color:#81929a;text-align:center}

@media(max-width:760px){
  .a-card-body footer{align-items:flex-end}
  .a-card-commerce{max-width:78px}
  .a-card-commerce strong{font-size:13px}
  .a-card-commerce small{font-size:9px}
  .detail-price-panel{grid-template-columns:58px minmax(0,1fr);margin:12px 0 13px;padding:11px 12px}
  .detail-price-panel>strong{font-size:17px}
  .detail-community{padding:24px 18px 28px}
  .review-section-head{align-items:flex-start;gap:14px}
  .review-section-head h3{font-size:19px}
  .review-section-head p{max-width:185px}
  .review-overview{min-width:0;flex:0 0 124px;display:grid;gap:4px;padding:10px 11px}
  .review-overview>strong{min-width:0;font-size:26px;text-align:left}
  .review-overview span{font-size:13px}
  .review-layout{grid-template-columns:1fr;gap:12px}
  .review-write,.review-list-wrap{padding:16px}
  .rating-stars{justify-content:space-between;gap:5px}
  .rating-stars button{width:40px;height:40px}
  .review-editor footer button{width:100%;margin-top:2px}
}

/* v5: tighter discovery rhythm and clearer featured labels */
.a-main{padding-top:6px}
.a-quick-filters{margin-bottom:22px}
.a-months .month-button{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-left:16px;
  padding-right:16px;
  text-align:center;
}
.featured-section .section-head h2{
  display:flex;
  align-items:center;
  gap:9px;
  color:#173f54;
}
.featured-section .section-head h2:before{
  content:"";
  width:4px;
  height:20px;
  border-radius:2px;
  background:#e95157;
}
.featured-section .section-head p{color:#647d89}
.featured-section .section-head>a{
  color:#28758d;
  font-weight:700;
  text-decoration:none;
}
.featured-section .section-head>a:hover{color:#d9464e}
.a-feature-badge{
  align-items:center;
  gap:0;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.92);
  background:#fffdf8;
  color:#254f62;
  box-shadow:0 3px 12px rgba(7,29,41,.15);
  text-shadow:none;
}
.a-feature-badge strong{color:#d9464e;font-size:12px}
.a-feature-badge span{
  margin-left:8px;
  padding-left:8px;
  border-left:1px solid #d6e2e6;
  color:#28758d;
  font-size:11px;
  font-weight:700;
}

@media(max-width:760px){
  .a-main{padding-top:8px}
  .a-quick-filters{margin-bottom:20px}
  .a-months .month-button{padding-left:10px;padding-right:10px}
  .featured-section .section-head h2{gap:7px}
  .featured-section .section-head h2:before{height:18px}
  .a-feature-badge{padding:5px 8px}
}

/* v6: compact, touch-friendly mobile rhythm */
@media(max-width:760px){
  .header{
    position:sticky;
    top:0;
    z-index:20;
    box-shadow:0 3px 15px rgba(25,63,81,.08);
  }
  .a-hero{height:400px;background-position:68% 12%}
  .a-copy{padding-top:19px}
  .a-copy h1{max-width:270px;margin:8px 0;font-size:34px;line-height:1.1}
  .a-copy>p{max-width:275px;font-size:13px;line-height:1.55}
  .a-proof{gap:10px;margin-top:7px;font-size:10px}
  .a-search{bottom:12px;width:calc(100% - 20px)}
  .a-search .field{min-height:52px;padding:9px 12px}
  .a-search .field:first-child{min-height:56px}
  .a-search .field small{margin-bottom:2px;font-size:10px}
  .a-search>button{min-height:43px}
  .a-main{padding-top:6px}
  .a-quick-filters{margin-bottom:18px;padding:8px 12px}
  .a-category-head{align-items:center;margin-bottom:6px}
  .a-category-head b{font-size:15px}
  .a-category-head span{font-size:10px}
  .a-quick-filters .chips{gap:8px}
  .a-main .chip{min-height:32px;padding:6px 12px;font-size:12px}
  .featured-section .section-head{align-items:flex-end}
  .featured-section .section-head p{max-width:230px;font-size:11px;line-height:1.45}
  .featured-section .section-head>a{padding-bottom:2px;font-size:12px}
  .a-feature{gap:10px;margin-top:12px}
  .a-lead{min-height:246px}
  .a-lead .lead-text{padding:16px}
  .a-lead h3{margin:7px 0 4px;font-size:20px;line-height:1.35}
  .a-lead .lead-text p{font-size:12px}
  .a-side{gap:8px}
  .a-small .event-img{aspect-ratio:16/10}
  .a-small .txt{min-height:116px;padding:10px}
  .a-small .date{font-size:11px}
  .a-small h3{min-height:38px;margin:5px 0;font-size:14px;line-height:1.38}
  .a-small footer{gap:5px;margin-top:8px}
  .a-small footer b{font-size:12px}
  .a-small .detail{height:30px;padding:0 9px;font-size:11px;line-height:28px}
  .a-months-shell{display:block;margin-top:20px}
  .a-month-controls{display:none}
  .a-months{width:100%;border-radius:0}
  .a-months .month{flex-basis:92px;padding:10px 8px}
  .a-months .month-label{flex-basis:104px;padding-left:12px;text-align:left}
  .a-months .month b{font-size:13px}
  .a-months .month small{font-size:10px}
  .a-all-section{margin-top:24px;padding-top:22px}
  .a-results-head{margin-bottom:14px}
  .a-results-head h2{font-size:21px}
  .a-results-head p{max-width:240px;font-size:11px;line-height:1.45}
  .a-events-grid{gap:11px 8px}
  .a-card-body{padding:9px 9px 10px}
  .a-card-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px}
  .a-card-meta span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .a-card-meta span:last-child{margin-top:0;text-align:right}
  .a-card-body h3{min-height:41px;margin:7px 0 5px;font-size:14px;line-height:1.45}
  .a-card-body>p{font-size:10px}
  .a-card-body footer{gap:6px;margin-top:9px;padding-top:8px}
  .a-card-commerce{max-width:82px}
  .a-card-commerce strong{font-size:13px}
  .a-card-detail{display:inline-flex;min-height:28px;align-items:center;font-size:11px}
  .a-load-more-wrap{padding-top:22px}
  .a-load-more{height:42px}
}

@media(max-width:380px){
  .a-category-head span{display:none}
  .a-months .month{flex-basis:88px}
  .a-months .month-label{flex-basis:98px}
  .a-card-commerce{max-width:76px}
}

/* v11: a richer event catalog without adding visual noise */
.a-results-actions{display:flex;align-items:center;gap:10px}
.a-sort-control{display:inline-flex;padding:3px;border:1px solid #cfdfe5;border-radius:6px;background:#eaf3f6}
.a-sort-control button{min-width:56px;height:31px;padding:0 11px;border:0;border-radius:4px;background:transparent;color:#55717e;font-size:12px;font-weight:700}
.a-sort-control button:hover{color:#1f637d}
.a-sort-control button.is-active{background:#fff;color:#173f54;box-shadow:0 2px 7px rgba(26,65,84,.12)}
.a-sort-control button:focus-visible{outline:3px solid rgba(23,107,142,.22);outline-offset:1px}
.a-card-highlights{display:flex;min-height:22px;align-items:center;gap:6px;margin-top:10px;overflow:hidden}
.a-card-highlights span{flex:0 0 auto;padding:4px 7px;border-radius:4px;background:#edf6f8;color:#3d6d7d;font-size:10px;font-weight:700;line-height:1}
.a-card-highlights span:nth-child(2){background:#fff5e7;color:#876228}
.a-card-body footer{margin-right:-16px;margin-bottom:-14px;margin-left:-16px;padding:11px 16px 12px;border-top-color:#dfeaed;background:#f8fbfc}
.a-card-commerce{gap:5px}
.a-card-commerce strong{font-size:17px}
.a-ticket-status{display:flex;align-items:center;gap:6px}
.a-ticket-status:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#4b8ba0}
.a-ticket-status.is-free:before,.a-ticket-status.is-ticket:before{background:#2c8a6e}
.a-ticket-status.is-notice:before{background:#d66b45}
.a-card-detail{display:inline-flex;min-height:32px;align-items:center;padding:0 10px;border:1px solid #c7dce4;border-radius:4px;background:#fff;color:#286c85}
.a-card-detail:after{content:"  ›"}
.a-card-detail:hover{border-color:#7eb1c2;background:#f1f9fb;color:#1b607a}

@media(max-width:760px){
  .a-results-head{display:block}
  .a-results-actions{justify-content:space-between;margin-top:10px}
  .a-sort-control{flex:1 1 auto;max-width:220px}
  .a-sort-control button{flex:1 1 0;min-width:0;height:30px;padding:0 7px;font-size:11px}
  .a-card-highlights{min-height:18px;margin-top:7px}
  .a-card-highlights span{padding:4px 6px;font-size:9px}
  .a-card-highlights span:nth-child(n+2){display:none}
  .a-card-body footer{margin-right:-9px;margin-bottom:-10px;margin-left:-9px;padding:9px}
  .a-card-commerce{max-width:86px;gap:3px}
  .a-card-commerce strong{font-size:13px}
  .a-ticket-status{gap:4px;font-size:9px!important}
  .a-ticket-status:before{width:5px;height:5px}
  .a-card-detail{min-height:29px;padding:0 7px;font-size:10px}
}

@media(max-width:380px){
  .a-card-highlights{display:none}
  .a-card-detail{padding:0 6px}
}

/* v34: four-column desktop catalog with comfortable card density */
@media(min-width:1181px){
  .a-card-body{padding:13px 14px}
  .a-card-meta{font-size:11px}
  .a-card-body h3{min-height:46px;margin:8px 0 6px;font-size:16px}
  .a-card-body>p{font-size:12px}
  .a-card-highlights{margin-top:8px}
  .a-card-body footer{margin-right:-14px;margin-bottom:-13px;margin-left:-14px;padding:10px 14px 11px}
  .a-card-commerce strong{font-size:15px}
  .a-card-detail{min-height:30px;padding:0 9px;font-size:12px}
}

/* v35: full-width discussion thread with a collapsed composer */
.detail-community{display:block;padding:26px 34px 34px;background:#f7fafb}
.review-section-head{align-items:flex-end;margin-bottom:14px}
.review-section-head h3{margin:0;color:#24495c;font-size:20px}
.review-section-head p{margin-top:4px}
.review-overview{min-width:0;padding:0;border:0;background:transparent}
.review-overview>strong{min-width:45px;font-size:26px}
.review-overview small{font-size:11px}
.review-compose{overflow:hidden;border:1px solid #d8e4e8;border-radius:7px;background:#fff}
.review-compose-trigger{display:grid;width:100%;min-height:58px;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 13px;border:0;background:#fff;color:#294b5d;text-align:left;cursor:pointer}
.review-compose-trigger:hover,.review-compose-trigger.is-open{background:#f8fbfc}
.review-compose-trigger:focus-visible{outline:3px solid rgba(23,107,142,.22);outline-offset:-3px}
.review-compose-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#e8f3f6;color:#2b657c;font-size:13px;font-weight:800}
.review-compose-copy{display:grid;min-width:0;gap:2px}
.review-compose-copy b{font-size:13px}
.review-compose-copy small{color:#7b8e97;font-size:11px}
.review-compose-action{display:inline-flex;min-height:32px;align-items:center;padding:0 12px;border:1px solid #c7dce4;border-radius:5px;background:#fff;color:#286c85;font-size:12px;font-weight:700}
.review-editor-panel{padding:17px 18px 18px;border-top:1px solid #e1e9ec;background:#fbfdfe}
.review-editor-panel[hidden]{display:none}
.review-write{padding:0;border:0;border-radius:0;background:transparent}
.review-editor-tools{display:flex;align-items:center;gap:9px;margin-top:9px}
.review-editor-tools button{height:32px;padding:0 10px;border:1px solid #d4dfe3;border-radius:5px;background:#f7fafb;color:#82939b;font-size:11px;cursor:pointer}
.review-editor-tools span,.review-login-inline{color:#84949b;font-size:10px}
.review-login-inline{margin:9px 0 0}
.review-list-wrap{overflow:hidden;margin-top:18px;padding:0;border:1px solid #d8e4e8;border-radius:7px;background:#fff}
.review-thread-heading{margin:0;padding:13px 17px;border-bottom:1px solid #dfe8eb;background:#f8fbfc}
.review-thread-heading h4{font-size:14px}
.review-thread-heading span{font-size:10px}
.review-list{display:block;margin:0}
.review-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0;padding:0;border-top:1px solid #e1e8eb;background:#fff}
.review-item:first-child{padding-top:0;border-top:0}
.review-user{display:flex;min-width:0;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;border-right:1px solid #e4ecef;background:#f8fbfc;text-align:center}
.review-user .review-avatar{width:42px;height:42px;font-size:14px}
.review-user b{max-width:100%;overflow:hidden;color:#385b6c;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.review-item-main{min-height:118px;padding:17px 20px}
.review-item-main header{align-items:center;justify-content:space-between}
.review-item header time{color:#94a1a7;font-size:10px}
.review-item .review-score{margin:0;font-size:13px}
.review-item p{margin:11px 0 0;color:#3f5d6b;font-size:14px;line-height:1.75}
.review-tag-line{margin-top:12px!important}
.review-empty{min-height:150px;background:#fff}

@media(max-width:760px){
  .detail-community{padding:22px 14px 26px}
  .review-section-head{align-items:center;gap:10px}
  .review-section-head h3{font-size:18px}
  .review-section-head p{max-width:none;font-size:11px}
  .review-overview{flex:0 0 auto;display:flex;gap:8px}
  .review-overview>strong{min-width:0;font-size:22px}
  .review-overview>div{display:grid;gap:1px}
  .review-overview span{font-size:12px}
  .review-overview small{font-size:9px}
  .review-compose-trigger{min-height:56px;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;padding:9px 10px}
  .review-compose-avatar{width:34px;height:34px}
  .review-compose-copy small{display:none}
  .review-compose-action{min-height:30px;padding:0 9px;font-size:11px}
  .review-editor-panel{padding:14px 12px 15px}
  .review-write{padding:0}
  .rating-stars{justify-content:flex-start}
  .rating-stars button{width:39px;height:39px}
  .review-editor footer button{width:100%;margin-top:2px}
  .review-list-wrap{margin-top:14px}
  .review-thread-heading{padding:12px}
  .review-item{grid-template-columns:1fr}
  .review-user{min-width:0;flex-direction:row;justify-content:flex-start;gap:8px;padding:10px 12px;border-right:0;border-bottom:1px solid #e7edef;text-align:left}
  .review-user .review-avatar{width:30px;height:30px;font-size:11px}
  .review-user b{font-size:11px}
  .review-item-main{min-height:0;padding:13px 14px 16px}
  .review-item p{font-size:13px;line-height:1.7}
}

/* v36: a shorter opening screen that reveals featured activity imagery */
.a-hero{
  height:312px;
  background-position:center 10%;
}
.a-copy{padding-top:24px}
.a-copy h1{
  max-width:680px;
  margin:0;
  font-size:58px;
  line-height:1.03;
}
.a-copy>p{margin-top:9px;font-size:14px}
.a-proof{margin-top:7px}
.a-search{bottom:13px}
.a-search .field{min-height:60px;padding-top:10px;padding-bottom:10px}
.a-main{padding-top:3px}
.a-quick-filters{margin-bottom:14px;padding-top:8px;padding-bottom:7px}
.a-category-head{margin-bottom:6px}
.featured-section .section-head p{margin-top:3px}
.a-feature{margin-top:6px}

@media(max-width:760px){
  .a-hero{
    height:350px;
    background-position:68% 10%;
  }
  .a-copy{padding-top:17px}
  .a-copy h1{
    max-width:265px;
    margin:0;
    font-size:36px;
    line-height:1.06;
  }
  .a-copy>p{
    max-width:270px;
    margin-top:7px;
    font-size:12px;
    line-height:1.45;
  }
  .a-proof{margin-top:5px}
  .a-search{bottom:9px}
  .a-main{padding-top:3px}
  .a-quick-filters{margin-bottom:13px;padding-top:7px;padding-bottom:7px}
  .featured-section .section-head p{margin-top:2px}
  .a-feature{margin-top:7px}
}

/* v43: preserve the artwork's natural proportions and crop vertically instead of stretching */
@media(min-width:761px){
  .a-hero{
    background-color:#b9dce7;
    background-image:url('./assets/hero-option-15-centered-clean-v8.webp');
    background-position:center 58%;
    background-repeat:no-repeat;
    background-size:cover;
  }
  .a-hero:before{
    background:linear-gradient(90deg,rgba(239,248,250,.28) 0%,rgba(239,248,250,.1) 43%,rgba(239,248,250,.02) 72%,transparent 100%);
    -webkit-mask-image:none;
    mask-image:none;
  }
  .a-copy,.a-search{z-index:1}

  html[data-hero-preview="1"] .a-hero{
    background-image:url('./assets/hero-option-1-city-rail-wide.webp');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="2"] .a-hero{
    background-image:url('./assets/hero-option-2-tokyo-bay-wide.webp');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="3"] .a-hero{
    background-image:url('./assets/hero-option-3-left-skytree-wide.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="3"] .a-hero:before{
    background:linear-gradient(90deg,rgba(239,248,250,.02) 0%,rgba(239,248,250,.04) 38%,rgba(239,248,250,.22) 58%,rgba(239,248,250,.34) 100%);
  }

  html[data-hero-preview="3"] .a-copy{
    padding-left:clamp(330px,48vw,760px);
  }

  html[data-hero-preview="4"] .a-hero{
    background-image:url('./assets/hero-option-4-left-only-original-scale.png');
  }

  html[data-hero-preview="5"] .a-hero{
    background-image:url('./assets/hero-option-5-bay-asakusa-left.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="6"] .a-hero{
    background-image:url('./assets/hero-option-6-asakusa-integrated.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="7"] .a-hero{
    background-image:url('./assets/hero-option-7-asakusa-fused.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="8"] .a-hero{
    background-image:url('./assets/hero-option-8-asakusa-fused-raised.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="9"] .a-hero{
    background-image:url('./assets/hero-option-9-full-pattern-fused.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="12"] .a-hero{
    background-image:url('./assets/hero-option-12-full-pattern-integrated-clean.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="13"] .a-hero{
    background-image:url('./assets/hero-option-13-asakusa-left-balanced.png');
    background-position:center;
    background-size:cover;
  }

  /* Preview 14: keep the Tokyo Bay side fixed and lower only the Asakusa group. */
  html[data-hero-preview="14"] .a-hero{
    background-image:url('./assets/hero-option-13-asakusa-left-balanced.png');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="14"] .a-hero:after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    z-index:0;
    width:46%;
    pointer-events:none;
    background-image:url('./assets/hero-option-13-asakusa-left-balanced.png');
    background-repeat:no-repeat;
    background-position:left calc(50% + 22px);
    background-size:217.391304% auto;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 76%,rgba(0,0,0,.9) 84%,transparent 100%);
    mask-image:linear-gradient(90deg,#000 0%,#000 76%,rgba(0,0,0,.9) 84%,transparent 100%);
  }

  html[data-hero-preview="14"] .a-hero:before{z-index:1}
  html[data-hero-preview="14"] .a-copy,
  html[data-hero-preview="14"] .a-search{z-index:2}

  /* Preview 15: slightly larger left artwork, light clouds, and a clean right sky. */
  html[data-hero-preview="15"] .a-hero{
    background-image:url('./assets/hero-option-15-centered-clean-v8.webp');
    background-position:center;
    background-size:cover;
  }

  html[data-hero-preview="15"] .a-hero:after{content:none}

  html[data-hero-preview="15"] .a-hero:before{z-index:1}
  html[data-hero-preview="15"] .a-copy,
  html[data-hero-preview="15"] .a-search{z-index:2}
  html[data-hero-preview="15"] .a-copy{
    display:grid;
    justify-items:center;
    text-align:center;
    padding-top:46px;
  }
  html[data-hero-preview="15"] .a-copy h1{max-width:560px}
  html[data-hero-preview="15"] .a-proof{justify-content:center}

  /* Preview 16: taller left Skytree, balanced paper clouds, clean right sky. */
  html[data-hero-preview="16"] .a-hero{
    background-image:url('./assets/hero-option-16-taller-skytree-clean.webp');
    background-position:center;
    background-size:cover;
  }
  html[data-hero-preview="16"] .a-hero:after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    z-index:0;
    width:46%;
    pointer-events:none;
    background-image:url('./assets/hero-option-16-taller-skytree-clean.webp');
    background-repeat:no-repeat;
    background-position:left calc(50% + 12px);
    background-size:217.391304% auto;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 76%,rgba(0,0,0,.9) 84%,transparent 100%);
    mask-image:linear-gradient(90deg,#000 0%,#000 76%,rgba(0,0,0,.9) 84%,transparent 100%);
  }
  html[data-hero-preview="16"] .a-hero:before{z-index:1}
  html[data-hero-preview="16"] .a-copy,
  html[data-hero-preview="16"] .a-search{z-index:2}
  html[data-hero-preview="16"] .a-copy{
    display:grid;
    justify-items:center;
    text-align:center;
  }
  html[data-hero-preview="16"] .a-copy h1{max-width:560px}
  html[data-hero-preview="16"] .a-proof{justify-content:center}
}

/* v73: mobile reading and one-handed interaction polish */
@media(max-width:760px){
  html,body{overflow-x:clip}
  button,a,input,select,textarea{touch-action:manipulation}

  .nav #openSaved{
    width:40px;
    height:40px;
  }
  .header .account{
    min-height:40px;
    height:40px;
  }

  /* Keep iOS from zooming the page when a visitor starts typing. */
  .a-search .field input,
  .v2-form input,
  .v2-form select,
  .v2-form textarea,
  .review-editor textarea{
    font-size:16px;
  }

  .a-quick-filters .chips{
    padding-bottom:3px;
    scroll-padding-inline:12px;
    scroll-snap-type:x proximity;
    overscroll-behavior-inline:contain;
  }
  .a-main .chip{
    min-height:38px;
    scroll-snap-align:start;
  }

  .a-months-shell{
    position:sticky;
    z-index:14;
    top:60px;
    margin-top:18px;
    border-top-color:#d5e3e8;
    border-bottom-color:#c7d9e0;
    box-shadow:0 8px 18px rgba(29,64,82,.11);
  }
  .a-months{
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
  }
  .a-months .month{
    min-height:52px;
    scroll-snap-align:start;
  }
  .a-all-section{
    scroll-margin-top:122px;
  }

  .a-sort-control button{
    height:36px;
  }
  .a-reset{
    min-height:36px;
  }

  .a-card-save{
    width:38px;
    height:38px;
  }
  .a-card-category{
    max-width:calc(100% - 54px);
  }
  .a-card-meta{
    font-size:11px;
  }
  .a-card-body>p{
    font-size:11px;
  }
  .a-card-highlights span{
    font-size:10px;
  }
  .a-card-commerce strong{
    font-size:14px;
  }
  .a-ticket-status{
    font-size:10px!important;
  }
  .a-card-detail{
    min-height:38px;
    padding:0 9px;
    font-size:11px;
  }
  .a-load-more{
    min-height:46px;
  }

  .dialog-close{
    float:none;
    width:40px;
    height:40px;
    margin:8px 8px -48px auto;
  }
  .detail-media{
    aspect-ratio:16/9;
  }
  .detail-actions a,
  .detail-actions button{
    min-height:44px;
  }
  .review-compose-trigger{
    min-height:60px;
  }
  .review-compose-action{
    min-height:36px;
  }
  .account-tabs button{
    min-height:40px;
  }
  .record-actions button,
  .record-actions a{
    min-height:36px;
  }
}

@media(max-width:760px){
  .review-section-head{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .review-overview{
    width:100%;
    max-width:100%;
    justify-content:flex-start;
  }
  .review-overview>div{min-width:0;overflow-wrap:anywhere}
}

/* v108: mobile-specific composition for WeChat and larger system text. */
@media(max-width:760px){
  html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  body.site-v2{
    background:#f6fafb;
    font-size:14px;
  }

  .container{width:calc(100% - 20px)}

  .header{
    height:56px;
    padding-right:max(10px,env(safe-area-inset-right));
    padding-left:max(10px,env(safe-area-inset-left));
    border-bottom-color:#d9e7eb;
    box-shadow:0 3px 12px rgba(25,63,81,.07);
  }
  .brand{gap:7px;font-size:16px}
  .brand img{width:34px;height:34px}
  .nav #openSaved{width:38px;height:38px}
  .header .account{min-width:58px;height:38px;min-height:38px;padding:0 9px;font-size:12px}

  .a-hero{
    height:clamp(278px,81.3vw,306px);
    background-color:#d7eaf0;
    background-image:url('./assets/hero-option-15-mobile-cropped-v2.webp');
    background-position:center center;
    background-repeat:no-repeat;
    background-size:cover;
  }
  .a-hero:before{
    z-index:0;
    background:linear-gradient(180deg,rgba(247,252,253,.7) 0%,rgba(242,250,252,.38) 42%,rgba(239,248,250,.06) 72%,rgba(239,248,250,.16) 100%);
  }
  .a-copy{
    z-index:1;
    display:grid;
    justify-items:center;
    padding-top:17px;
    text-align:center;
  }
  .a-copy h1{
    max-width:none;
    margin:0;
    color:#173f54;
    font-size:32px;
    line-height:1.16;
    text-shadow:0 1px 0 rgba(255,255,255,.8);
  }
  .a-copy>p{
    max-width:320px;
    margin-top:5px;
    color:#365f70;
    font-size:13px;
    font-weight:500;
    line-height:1.5;
  }
  .a-proof{
    justify-content:center;
    flex-wrap:wrap;
    gap:2px 14px;
    margin-top:5px;
    font-size:10px;
    line-height:1.35;
  }
  .a-proof span{padding:0}

  .a-search{
    bottom:10px;
    width:calc(100% - 20px);
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:52px 48px;
    border-color:#c5dbe3;
    border-radius:8px;
    background:rgba(255,255,255,.97);
    box-shadow:0 12px 28px rgba(24,66,87,.17);
  }
  .a-search .field{
    min-height:0;
    padding:7px 11px;
    border-right:1px solid #d9e6ea;
    border-bottom:0;
    background:rgba(255,255,255,.94);
  }
  .a-search .field-search{
    grid-column:1/4;
    grid-row:1;
    border-bottom:1px solid #d9e6ea;
  }
  .a-search .field-arrival{
    grid-column:1/3;
    grid-row:2;
  }
  .a-search .field-departure{
    grid-column:3/5;
    grid-row:2;
    border-right:0;
  }
  .a-search .field small{
    margin-bottom:1px;
    color:#738791;
    font-size:10px;
    font-weight:500;
    line-height:1.25;
  }
  .a-search .field input{
    min-height:22px;
    color:#244b5e;
    font-weight:600;
    line-height:1.3;
  }
  .a-search .field-search input{font-size:16px}
  .a-search .field-arrival input,
  .a-search .field-departure input{font-size:14px}
  .a-search>button{
    grid-column:4/5;
    grid-row:1;
    min-height:0;
    padding:0 6px;
    border-bottom:1px solid #d94149;
    font-size:14px;
    line-height:1.2;
  }

  .a-main{padding-top:0;padding-bottom:52px}
  .a-quick-filters{
    margin:0 -10px 17px;
    padding:10px 10px 9px;
    border-bottom-color:#d9e7eb;
    background:rgba(255,255,255,.88);
  }
  .a-category-head{margin-bottom:7px}
  .a-category-head b{font-size:15px;line-height:1.35}
  .a-quick-filters .chips{gap:8px;scroll-padding-inline:10px}
  .a-main .chip{min-height:36px;padding:7px 14px;font-size:13px;line-height:1;font-weight:600}

  .featured-section .section-head{align-items:center}
  .featured-section .section-head h2{gap:7px;font-size:20px;line-height:1.3}
  .featured-section .section-head h2:before{height:17px}
  .featured-section .section-head>a{font-size:12px}
  .a-feature{gap:10px;margin-top:9px}
  .a-lead{min-height:242px}
  .a-lead .lead-text{padding:15px}
  .a-lead h3{
    display:-webkit-box;
    max-height:2.76em;
    margin:6px 0 4px;
    overflow:hidden;
    font-size:19px;
    line-height:1.38;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .a-lead .lead-text p{font-size:12px;line-height:1.5}
  .a-small .txt{min-height:112px;padding:9px}
  .a-small h3{min-height:0;max-height:2.84em;margin:5px 0;font-size:14px;line-height:1.42}
  .a-small footer{margin-top:auto}

  .a-months-shell{top:56px;margin-top:18px;margin-right:-10px;margin-left:-10px}
  .a-months .month{min-height:50px;flex-basis:90px;padding:9px 8px}
  .a-months .month-label{flex-basis:102px;padding-left:10px}
  .a-months .month b{font-size:12px}
  .a-months .month small{font-size:9px}

  .a-all-section{margin-top:24px;padding-top:22px;scroll-margin-top:116px}
  .a-results-head h2{font-size:20px;line-height:1.35}
  .a-results-head p{max-width:none;font-size:11px;line-height:1.5}
  .a-results-actions{gap:8px;margin-top:9px}
  .a-sort-control{max-width:218px}
  .a-sort-control button{height:34px;font-size:11px}

  .a-events-grid{gap:12px 8px}
  .a-event-card{border-radius:7px;box-shadow:0 5px 15px rgba(29,64,82,.065)}
  .a-card-image{aspect-ratio:16/11}
  .a-card-save{top:6px;right:6px;width:36px;height:36px}
  .a-card-category{left:6px;top:6px;max-width:calc(100% - 49px);padding:4px 6px;font-size:10px}
  .a-card-body{padding:9px 9px 10px}
  .a-card-meta{display:flex;gap:5px;font-size:10px;line-height:1.35}
  .a-card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .a-card-meta span:last-child{margin-top:0;text-align:right}
  .a-card-body h3{
    min-height:0;
    height:2.84em;
    margin:6px 0 4px;
    font-size:14px;
    line-height:1.42;
    overflow-wrap:anywhere;
  }
  .a-card-body>p{font-size:11px;line-height:1.4}
  .a-card-highlights{min-height:18px;margin-top:7px}
  .a-card-highlights span{font-size:10px}
  .a-card-body footer{
    gap:5px;
    margin:8px -9px -10px;
    padding:9px;
  }
  .a-card-commerce{max-width:84px;gap:3px}
  .a-card-commerce strong{font-size:14px;line-height:1.15}
  .a-ticket-status{font-size:10px!important;line-height:1.25}
  .a-card-detail{min-height:36px;padding:0 8px;font-size:11px;white-space:nowrap}

  .dialog-shell{max-height:calc(100dvh - 6px);margin-top:6px}
  .detail-media{aspect-ratio:16/10}
  .detail-main{padding:20px 16px 23px}
  .detail-main h2{margin-right:40px;font-size:21px;line-height:1.38;overflow-wrap:anywhere}
  .detail-original{margin-bottom:15px;font-size:11px}
  .detail-facts li{grid-template-columns:56px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.6}
  .detail-introduction{margin-top:16px;padding-top:14px}
  .detail-introduction p{font-size:13px;line-height:1.75}
  .detail-actions a,.detail-actions button{font-size:12px}
  .review-item p{font-size:13px;line-height:1.7}
}

@media(max-width:360px){
  .a-hero{height:278px}
  .a-copy{padding-top:15px}
  .a-copy h1{font-size:29px}
  .a-copy>p{max-width:285px;font-size:12px}
  .a-proof{gap:2px 10px;font-size:9px}
  .a-search{width:calc(100% - 16px);grid-template-rows:50px 47px}
  .a-search .field{padding-right:9px;padding-left:9px}
  .a-main .chip{padding-right:13px;padding-left:13px}
  .a-events-grid{gap:11px 7px}
  .a-card-body{padding-right:8px;padding-left:8px}
  .a-card-body>p{display:none}
  .a-card-highlights{margin-top:6px}
  .a-card-detail{padding:0 6px;font-size:10px}
  .a-card-commerce{max-width:72px}
}

/* v111: real registration, password login and account security. */
.header .account{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.header .account:before{content:"";width:8px;height:8px;flex:0 0 auto;border:1px solid #8ca7b3;border-radius:50%;background:#fff}
.header .account.is-authenticated:before{border-color:#319078;background:#45ac91;box-shadow:0 0 0 3px #dff2ec}
.account-heading{padding-bottom:14px}
.account-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 32px 18px;border-top:1px solid #e0eaee;border-bottom:1px solid #e0eaee;background:#f7fbfc}
.account-benefits div{min-width:0;padding:13px 15px;border-left:1px solid #e0eaee}
.account-benefits div:first-child{border-left:0}
.account-benefits b,.account-benefits span{display:block}
.account-benefits b{color:#264e61;font-size:12px}
.account-benefits span{margin-top:4px;color:#6c828d;font-size:10px;line-height:1.5}
#loginPanel .v2-form{padding-top:0}
.auth-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(420px,calc(100% - 64px));margin:0 auto 18px;border-bottom:1px solid #d9e5e9}
.auth-mode-tabs button{min-height:42px;border:0;border-bottom:2px solid transparent;background:transparent;color:#6a808a;font-size:13px;font-weight:700}
.auth-mode-tabs button.is-active{border-bottom-color:#c94550;color:#9f2f39}
.auth-view{min-height:230px}
.auth-form{width:min(640px,100%);margin:0 auto}
.auth-links{display:flex;align-items:center;justify-content:center;gap:22px}
.auth-links button,.auth-back button{padding:3px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:#3f7188;font-size:12px}
.auth-links button:hover,.auth-back button:hover{border-bottom-color:#3f7188}
.auth-back{display:flex;justify-content:center;margin:-15px 0 24px}
.account-security .v2-form{width:min(620px,100%);padding:16px 0 4px}
.security-state{flex:0 0 auto;padding:5px 8px;border:1px solid #bfd8d1;border-radius:5px;background:#eef8f5;color:#2c7462;font-size:10px;font-weight:700}
.account-profile{margin:0;padding:16px 32px;border-top:1px solid #e0eaee;border-bottom:1px solid #e0eaee;background:#f7fbfc}
.account-profile-main{display:flex;min-width:0;align-items:center;gap:12px}
.account-avatar{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid #b9d3dd;border-radius:50%;background:#e2f1f5;color:#1f5b73;font-size:17px;font-weight:700}
.account-identity small{display:block;margin-top:4px;color:#39816e;font-size:10px;line-height:1.4}
.account-tabs{display:flex;gap:0;margin:16px 32px 0;overflow:hidden;border:1px solid #d7e3e7;border-radius:7px;background:#f8fbfc}
.account-tabs button{display:flex;min-width:0;flex:1;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border-right:1px solid #dfe8eb;border-bottom:0;background:transparent;color:#54707d;font-size:12px}
.account-tabs button:last-child{border-right:0}
.account-tabs button b{display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:10px;background:#e9f1f4;color:#456574;font-size:10px;line-height:1}
.account-tabs button.is-active{border-bottom:0;background:#1b5069;color:#fff}
.account-tabs button.is-active b{background:#fff;color:#1b5069}
.account-records{padding-top:16px}
.account-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.account-section>header h3{margin:0;color:#1d4052;font-size:15px;line-height:1.4}
.account-section>header p{margin:3px 0 0;color:#758994;font-size:10px;line-height:1.4}
.account-section .record-row{transition:border-color .16s ease,box-shadow .16s ease}
.account-section .record-row:hover{border-color:#b8d1da;box-shadow:0 5px 15px rgba(32,76,96,.07)}

@media(max-width:760px){
  .account-shell{width:100%;max-height:calc(100dvh - 8px);margin:8px 0 0;border-radius:8px 8px 0 0}
  .account-heading{padding:21px 18px 13px}
  .account-heading h2{font-size:22px}
  .account-heading p{padding-right:22px;font-size:12px}
  .account-benefits{grid-template-columns:1fr;margin:0 18px 16px}
  .account-benefits div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;align-items:center;padding:9px 2px;border:0;border-top:1px solid #e3ecef}
  .account-benefits div:first-child{border-top:0}
  .account-benefits span{margin-top:0;font-size:10px}
  #loginPanel .v2-form{padding-right:18px;padding-left:18px}
  .auth-mode-tabs{width:calc(100% - 36px);margin-bottom:14px}
  .auth-view{min-height:250px}
  .auth-links{gap:18px}
  .auth-back{margin-top:-8px}
  .account-profile{display:grid;gap:12px;margin:0;padding:14px 18px;align-items:start}
  .account-avatar{width:40px;height:40px;font-size:16px}
  .account-profile-actions{width:100%;flex-direction:row}
  .account-profile-actions button,.account-profile-actions a,.account-admin-badge{height:36px;line-height:34px}
  .account-tabs{margin:12px 12px 0;overflow-x:auto;overscroll-behavior-inline:contain}
  .account-tabs button{min-width:72px;min-height:46px;padding:8px 7px;flex:1 0 72px}
  .account-records{padding:15px 12px 26px}
  .account-section>header{margin:0 2px 9px}
  .account-section>header h3{font-size:14px}
  .record-row{grid-template-columns:78px minmax(0,1fr);gap:10px;padding:9px}
  .record-row img{width:78px}
  .record-copy b{font-size:12px;line-height:1.45}
  .record-copy span{font-size:10px;line-height:1.5}
  .record-actions{grid-column:2/-1;justify-content:flex-start}
  .record-actions button,.record-actions a{min-height:36px;height:36px;padding:0 10px;line-height:34px}
  .account-empty{min-height:150px;padding:24px 18px;line-height:1.7}
  .account-security .v2-form{padding:13px 0 4px}
}

/* v125: restore restrained card feedback while keeping images on a stable raster layer. */
/* v126: refresh the verified autumn catalog and its cache boundary. */
.a-lead,.a-small,.a-event-card{
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.a-lead .event-img,.a-small .event-img,.a-card-image img{
  transform:none;
  transition:none;
}
.a-lead:hover .event-img,
.a-small:hover .event-img,
.a-lead:focus-visible .event-img,
.a-small:focus-visible .event-img,
.a-event-card:hover .a-card-image img{
  transform:none;
}
@media(hover:hover) and (pointer:fine){
  .a-lead:hover,.a-small:hover,.a-event-card:hover{
    transform:translateY(-2px);
  }
  .a-lead:hover{box-shadow:0 17px 34px rgba(20,55,74,.17)}
  .a-small:hover{border-color:#a9c5cf;box-shadow:0 11px 25px rgba(27,61,80,.12)}
  .a-event-card:hover{border-color:#a9c8d3;box-shadow:0 14px 32px rgba(28,68,88,.12)}
}
@media(hover:none),(pointer:coarse){
  .a-lead:active,.a-small:active,.a-event-card:active{
    border-color:#a9c8d3;
    box-shadow:0 8px 18px rgba(29,64,82,.11);
  }
}
@media(prefers-reduced-motion:reduce){
  .a-lead,.a-small,.a-event-card{transition:none}
  .a-lead:hover,.a-small:hover,.a-event-card:hover{transform:none}
}

/* v123: give long ticket tiers a full-width mobile reading order. */
@media(max-width:760px){
  .detail-price-panel{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:4px;
  }
  .detail-price-panel>strong{
    font-size:16px;
    line-height:1.45;
    overflow-wrap:break-word;
    word-break:normal;
  }
  .detail-price-panel>small{
    grid-column:1;
  }
}


/* v127: publish useful initial HTML for the home and event routes. */
.static-card-image-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}
.event-page-home-title{margin:10px 0;font-family:"Songti SC","STSong",serif;font-size:38px;font-weight:700;line-height:1.18}
.event-static-detail{padding:38px 0;background:linear-gradient(180deg,#fff 0,#f5fafc 100%);border-bottom:1px solid var(--v2-line)}
.event-static-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);overflow:hidden;border:1px solid #d7e4e8;border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(22,59,77,.1)}
.event-static-media{position:relative;min-height:430px;background:#e6eff2}
.event-static-media img{display:block;width:100%;height:100%;object-fit:cover}
.event-static-copy{padding:34px 36px 36px}
.event-static-eyebrow{color:#28758b;font-size:12px;font-weight:800;letter-spacing:.05em}
.event-static-title{margin:10px 0 6px;font-family:"Songti SC","STSong",serif;font-size:34px;line-height:1.35;letter-spacing:0}
.event-static-original{margin:0 0 18px;color:#768993;font-size:12px}
.event-static-price{display:flex;align-items:baseline;gap:10px;margin:20px 0;padding:14px 16px;border-radius:7px;background:#edf7fa}
.event-static-price span{color:#5b7480;font-size:12px}.event-static-price strong{color:#173d58;font-size:20px}
.event-static-facts{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid #e4ecef}
.event-static-facts li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #e4ecef;font-size:13px;line-height:1.6}
.event-static-facts strong{color:#365b6c}.event-static-facts span{min-width:0;overflow-wrap:anywhere}
.event-static-summary{margin:20px 0 0;color:#506b78;font-size:14px;line-height:1.8}
.event-static-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:22px}
.event-static-actions a,.event-static-actions button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 15px;border:1px solid #aac4ce;border-radius:6px;color:#245d72;font-size:13px;font-weight:700;text-decoration:none}
.event-static-actions .event-static-primary{border-color:#e95157;background:#e95157;color:#fff}
.event-static-note{margin:14px 0 0;color:#71838d;font-size:11px;line-height:1.65}
@media(max-width:900px){.event-static-shell{grid-template-columns:1fr}.event-static-media{min-height:0;aspect-ratio:16/9}}
@media(max-width:760px){.event-static-detail{padding:14px 0}.event-static-shell{border-radius:8px}.event-static-copy{padding:20px 16px 24px}.event-static-title{font-size:25px}.event-static-media{aspect-ratio:16/10}.event-static-actions{align-items:stretch}.event-static-actions a{flex:1 1 135px}.event-page-home-title{font-size:29px}}


/* v127: generated featured links remain usable before JavaScript starts. */
.a-lead,.a-small{position:relative}
.static-feature-overlay{position:absolute;z-index:4;inset:0;border-radius:inherit;text-decoration:none}
.static-feature-overlay:focus-visible{outline:3px solid rgba(23,107,142,.38);outline-offset:3px}


/* v135: administrator daily page-view dashboard. */
.analytics-panel{display:grid;gap:18px}
.analytics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.analytics-heading h3,.analytics-section-title h4{margin:0;color:#1d4052}
.analytics-heading h3{font-size:18px}
.analytics-heading p,.analytics-section-title p{margin:4px 0 0;color:#718691;font-size:10px;line-height:1.5}
.analytics-heading-actions{display:flex;align-items:center;gap:10px}
.analytics-heading-actions small{color:#718691;font-size:10px;white-space:nowrap}
.analytics-heading-actions button,.analytics-range button,.analytics-empty button{min-height:34px;padding:0 11px;border:1px solid #ccdae0;border-radius:5px;background:#fff;color:#385f72;font-size:11px;font-weight:700}
.analytics-heading-actions button:disabled,.analytics-range button:disabled{cursor:wait;opacity:.6}
.analytics-stale{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #f0cf92;border-radius:6px;background:#fff8e8;color:#72531e;font-size:11px}
.analytics-stale button{min-height:32px;padding:0 10px;border:1px solid #d9b66d;border-radius:5px;background:#fff;color:#72531e;font-size:10px;font-weight:700}
.analytics-range{display:flex;width:max-content;overflow:hidden;border:1px solid #cfdee4;border-radius:6px;background:#f7fafb}
.analytics-range button{border:0;border-right:1px solid #d8e4e8;border-radius:0;background:transparent}
.analytics-range button:last-child{border-right:0}
.analytics-range button.is-active{background:#1b5069;color:#fff}
.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.analytics-kpis>div{min-width:0;padding:14px;border:1px solid #d9e5e9;border-radius:7px;background:#f8fbfc}
.analytics-kpis span,.analytics-kpis strong,.analytics-kpis small{display:block}
.analytics-kpis span{color:#627b87;font-size:11px}
.analytics-kpis strong{margin-top:7px;color:#173f53;font-size:24px;line-height:1}
.analytics-kpis small{margin-top:7px;color:#83949c;font-size:9px}
.analytics-registration{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(120px,1fr));gap:9px;padding:12px;border:1px solid #d7e4e8;border-radius:7px;background:#f3f8fa}
.analytics-registration>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px;color:#607985;font-size:11px}
.analytics-registration>div+div{border-left:1px solid #d7e4e8}
.analytics-registration b{color:#244d61;font-size:14px;white-space:nowrap}
.analytics-registration-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.analytics-registration-main span,.analytics-registration-main small{grid-column:1}
.analytics-registration-main strong{grid-column:2;grid-row:1/3;color:#173f53;font-size:27px;line-height:1}
.analytics-registration-main small{margin-top:3px;color:#83949c;font-size:9px}
.analytics-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.analytics-section-title h4{font-size:14px}
.analytics-chart{max-width:100%;overflow-x:auto;padding:14px 12px 8px;border:1px solid #dce6ea;border-radius:7px;background:#fff;overscroll-behavior-inline:contain}
.analytics-chart-inner{display:flex;height:184px;align-items:stretch;gap:6px}
.analytics-bar{display:grid;min-width:16px;flex:1 0 16px;grid-template-rows:22px minmax(110px,1fr) 22px;align-items:end;text-align:center}
.analytics-bar>b{overflow:hidden;color:#516e7b;font-size:9px;font-weight:700;text-overflow:ellipsis}
.analytics-bar>span{position:relative;display:block;width:100%;height:100%;min-height:110px;border-radius:4px 4px 2px 2px;background:#edf3f5}
.analytics-bar>span>i{position:absolute;right:0;bottom:0;left:0;display:block;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#65a9be,#287a99)}
.analytics-bar>small{padding-top:6px;color:#81939b;font-size:8px;white-space:nowrap}
.analytics-lower{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}
.analytics-daily,.analytics-popular{min-width:0;padding:14px;border:1px solid #dce6ea;border-radius:7px;background:#fff}
.analytics-daily-list,.analytics-rank-list{display:grid;gap:0;margin-top:9px}
.analytics-daily-list>div,.analytics-rank-row{display:grid;align-items:center;min-height:34px;border-top:1px solid #edf2f4}
.analytics-daily-list>div{grid-template-columns:minmax(0,1fr) auto}
.analytics-daily-list span{color:#607985;font-size:11px}
.analytics-daily-list b{color:#294e61;font-size:11px}
.analytics-rank-row{grid-template-columns:24px minmax(0,1fr) auto;gap:8px}
.analytics-rank{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#edf4f6;color:#446a7c;font-size:9px;font-weight:700}
.analytics-rank-row b{overflow:hidden;color:#294e61;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.analytics-rank-row em{color:#2d7792;font-size:10px;font-style:normal;font-weight:700;white-space:nowrap}
.analytics-actions-summary{display:flex;flex-wrap:wrap;gap:7px}
.analytics-actions-summary span{padding:7px 9px;border:1px solid #d8e5e8;border-radius:999px;background:#f7fafb;color:#657d88;font-size:10px}
.analytics-actions-summary b{color:#244d61}
.analytics-note{margin:0;color:#788d96;font-size:10px;line-height:1.6}
.analytics-loading,.analytics-empty{display:grid;min-height:260px;place-items:center;border:1px dashed #d1e0e5;border-radius:7px;color:#667f8b;font-size:12px;text-align:center}
.analytics-empty{align-content:center;gap:7px}
.analytics-empty b{color:#294e61;font-size:14px}
.analytics-empty span{color:#758b95}
.analytics-empty-inline{padding:24px 0;color:#758b95;font-size:11px;text-align:center}

@media(max-width:760px){
  .analytics-panel{gap:14px}
  .analytics-heading{display:grid;gap:10px}
  .analytics-heading-actions{justify-content:space-between}
  .analytics-heading-actions button{min-height:38px}
  .analytics-range{width:100%}
  .analytics-range button{min-height:40px;flex:1}
  .analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .analytics-kpis>div{padding:12px}
  .analytics-kpis strong{font-size:22px}
  .analytics-registration{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}
  .analytics-registration-main{grid-column:1/-1}
  .analytics-registration>div{padding:6px}
  .analytics-registration>div+div{border-left:0;border-top:1px solid #d7e4e8}
  .analytics-registration>div:last-child{border-left:1px solid #d7e4e8}
  .analytics-chart{padding-right:9px;padding-left:9px}
  .analytics-lower{grid-template-columns:1fr}
  .analytics-daily,.analytics-popular{padding:12px}
}
/* Language links remain ordinary links without JavaScript. */
.language-menu { display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.language-menu a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:5px 8px; border-radius:8px; font-size:14px; color:inherit; text-decoration:none; }
.language-menu a[aria-current="page"] { background:#e3f1f5; font-weight:700; }
.language-menu a:focus-visible { outline:3px solid #126781; outline-offset:2px; }
.language-notice { margin:18px auto; padding:14px 18px; max-width:1180px; background:#edf7fa; border:1px solid #b6d8e3; border-radius:12px; line-height:1.7; }
.language-notice a { text-decoration:underline; }
.language-disclosure { font-size:14px; line-height:1.6; }
html:not([lang="zh-CN"]) .a-card-body h3, html:not([lang="zh-CN"]) .detail-main h2, html:not([lang="zh-CN"]) .event-static-title { overflow-wrap:anywhere; word-break:normal; }
html:not([lang="zh-CN"]) .a-card-commerce { min-width:0; }
html:not([lang="zh-CN"]) .a-card-commerce strong { white-space:normal; overflow-wrap:anywhere; }
html:not([lang="zh-CN"]) .a-hero h1 { font-size:clamp(30px,4vw,52px); }
@media (max-width:760px) {
  .site-v2 .header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:2px 6px; height:auto; min-height:96px; }
  .site-v2 .header-actions { display:contents; }
  .site-v2 .header .brand { grid-column:1; grid-row:1; }
  .site-v2 .header .nav { grid-column:2; grid-row:1; justify-content:flex-end; min-width:0; }
  .site-v2 .header .account { grid-column:3; grid-row:1; }
  .site-v2 .language-menu { grid-column:1 / -1; grid-row:2; width:100%; justify-content:flex-end; }
  html:not([lang="zh-CN"]) .header .nav { gap:4px; }
  html:not([lang="zh-CN"]) .header .nav a, html:not([lang="zh-CN"]) .header .nav button { padding-inline:6px; }
  html:not([lang="zh-CN"]) .form-row-three { grid-template-columns:1fr; }
  html:not([lang="zh-CN"]) .detail-actions { flex-wrap:wrap; }
}

/* v142: restore compact phone homepage; retain dialog readability and measured sticky offsets. */
@media (max-width:760px) {
  .site-v2 { --mobile-header-height:104px; }
  .site-v2 .header { padding:6px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left)); }
  .site-v2 .header .account, .site-v2 .header .nav #openSaved { min-height:44px; height:auto; font-size:14px; }
  .site-v2 .header .nav #openSaved { width:44px; }
  .site-v2 .language-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
  .site-v2 .language-menu a { min-width:0; padding:6px 4px; line-height:1.4; }
  .a-months-shell { top:var(--mobile-header-height); scroll-margin-top:var(--mobile-header-height); }
  .a-months-shell .month { min-height:60px; flex-basis:100px; }
  .a-months-shell .month b { font-size:.875rem; }
  .a-months-shell .month small { font-size:.75rem; }
  .a-months-shell .month-label small { color:#c7dce5; }
  .a-all-section { scroll-margin-top:calc(var(--mobile-header-height) + 76px); }
  .dialog-shell { width:100%; max-height:calc(100dvh - 8px); margin:8px auto 0; padding-bottom:env(safe-area-inset-bottom); border-radius:12px 12px 0 0; }
  .dialog-close { top:8px; width:44px; height:44px; margin:8px 8px -52px auto; }
  .detail-share { top:8px; right:60px; height:44px; font-size:.875rem; }
  .detail-main { padding:22px 18px 26px; }
  .detail-main h2 { font-size:1.5rem; line-height:1.4; }
  .detail-original { font-size:.875rem; line-height:1.6; }
  .detail-facts li { grid-template-columns:64px minmax(0,1fr); gap:10px; padding:13px 0; font-size:1rem; }
  .detail-facts strong { font-size:.875rem; }
  .detail-facts span { overflow-wrap:anywhere; }
  .detail-introduction h3 { font-size:1.125rem; }
  .detail-introduction p,.review-item p { font-size:1rem; line-height:1.8; }
  .detail-external-note,.detail-eyebrow { font-size:.875rem; }
  .detail-actions a,.detail-actions button,.detail-mobile-primary .ticket-primary { min-height:48px; padding:12px; font-size:1rem; text-align:center; }
  .dialog-heading p,.account-heading p { font-size:.875rem; }
  .v2-form { padding:8px 18px 24px; gap:18px; }
  .v2-form label { font-size:.875rem; }
  .v2-form input,.v2-form select,.v2-form textarea,.review-editor textarea { font-size:1rem; }
  .v2-form input,.v2-form select { min-height:48px; }
  .form-row,.form-row-three { grid-template-columns:1fr; }
  .form-actions { flex-wrap:wrap; }
  .form-actions>* { flex:1 1 140px; }
  .primary-action,.secondary-action,.auth-tabs button,.auth-links button { min-height:44px; font-size:.875rem; }
  .form-note,.form-message,.submission-note,.account-benefits span { font-size:.8125rem; line-height:1.6; }
  .account-benefits b,.account-tabs button,.record-copy b { font-size:.875rem; }
  .record-copy span,.record-copy small { font-size:.75rem; }
  .record-actions button,.record-actions a,.review-compose-action { min-height:44px; font-size:.875rem; }
  .analytics-heading-actions button,.analytics-range button { min-height:44px; font-size:.875rem; }
  .analytics-kpis span,.analytics-registration>div,.analytics-note,.analytics-daily-list span,.analytics-daily-list b,.analytics-rank-row b,.analytics-actions-summary span { font-size:.875rem; }
  .analytics-kpis small,.analytics-registration-main small,.analytics-rank-row em { font-size:.75rem; line-height:1.5; }
  .analytics-rank-row { min-height:48px; padding:8px 0; }
  .analytics-rank-row b { white-space:normal; overflow-wrap:anywhere; }
  .analytics-bar { min-width:36px; flex-basis:36px; }
  .analytics-bar>b,.analytics-bar>small { font-size:.75rem; }
}
/* Keep touch inputs readable in landscape and prevent iOS focus zoom. */
@media (hover:none) and (pointer:coarse) {
  .site-v2 input,.site-v2 select,.site-v2 textarea { font-size:16px; }
}

/* Phone browsing prioritizes activity density: keep the original two-column cards. */
@media (max-width:760px) {
  .a-card-detail { min-height:44px; }
  .a-card-save { width:44px; height:44px; }
  .a-card-image .a-card-category { max-width:calc(100% - 62px); }
}

/* Keep reviewed landscape photographs intact in tall desktop detail columns. */
.a-results-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;min-width:0}
.a-search-period{color:#3f6273;font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.a-search-period[hidden]{display:none}
@media(max-width:760px){.a-results-title{align-items:flex-start;gap:5px}.a-search-period{flex-basis:100%}}


/* v152: scalable hamburger menu with language and account services. */
.site-menu{position:relative}
.site-menu-trigger{position:relative;display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid #cad9df;border-radius:10px;background:#fff;color:#244b5e;box-shadow:0 3px 12px rgba(29,64,82,.08)}
.site-menu-trigger:hover{border-color:#9fbfcb;background:#f7fbfc;color:#173d58}
.site-menu-trigger:focus-visible{outline:3px solid rgba(23,107,142,.24);outline-offset:2px}
.site-menu-bars{display:grid;width:21px;gap:4px}
.site-menu-bars i{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.site-menu-trigger.is-open .site-menu-bars i:first-child{transform:translateY(6px) rotate(45deg)}
.site-menu-trigger.is-open .site-menu-bars i:nth-child(2){opacity:0}
.site-menu-trigger.is-open .site-menu-bars i:last-child{transform:translateY(-6px) rotate(-45deg)}
.site-menu-status{position:absolute;right:5px;bottom:5px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#a7b7be}
.site-menu-trigger.is-authenticated .site-menu-status{background:#35a484;box-shadow:0 0 0 2px #dff2ec}
.site-menu-panel{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 92px);overflow:auto;padding:8px;border:1px solid #d5e2e7;border-radius:14px;background:#fff;box-shadow:0 24px 64px rgba(17,48,64,.22);overscroll-behavior:contain}
.site-menu-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 12px 13px;border-bottom:1px solid #e3ecef}
.site-menu-heading strong{color:#173d58;font-size:17px}
.site-menu-heading span{color:#718792;font-size:11px}
.site-menu-section{padding:12px 4px 4px}
.site-menu-section+.site-menu-section{margin-top:6px;border-top:1px solid #e4ecef}
.site-menu-section h2{margin:0 8px 8px;color:#71838c;font-size:11px;font-weight:700;letter-spacing:.06em}
.site-menu-panel .site-menu-item,.site-menu-panel .account{display:grid;width:100%;height:auto;min-width:0;min-height:58px;grid-template-columns:36px minmax(0,1fr) 16px;gap:10px;align-items:center;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:#23495d;text-align:left}
.site-menu-panel .site-menu-item:hover,.site-menu-panel .account:hover{background:#f0f7f9;color:#173d58}
.site-menu-panel .account:before{content:none}
.site-menu-panel .site-menu-item-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:#edf5f7;color:#315e70;font-size:16px;font-weight:700}
.site-menu-panel .site-menu-item-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-menu-panel .site-menu-heart{font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:1}
.site-menu-panel .site-menu-item-copy{display:grid;min-width:0;gap:3px}
.site-menu-panel .site-menu-item-copy b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.site-menu-panel .site-menu-item-copy small{overflow:hidden;color:#748892;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.site-menu-panel .site-menu-chevron{color:#91a3ab;font-size:22px;line-height:1}
.site-menu-panel .account.is-authenticated .site-menu-item-icon{background:#e2f3ed;color:#23735f}
.site-menu-panel .language-menu{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.site-menu-panel .language-menu a{min-width:0;min-height:40px;padding:7px 4px;border:1px solid #d8e4e8;border-radius:8px;background:#fff;color:#34596a;font-size:12px;line-height:1.25;text-align:center}
.site-menu-panel .language-menu a:hover{border-color:#aacbd6;background:#f5fafb}
.site-menu-panel .language-menu a[aria-current="page"]{border-color:#9bc5d2;background:#e7f3f6;color:#174e66;font-weight:700}
.site-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.site-menu-links a{display:flex;min-height:40px;align-items:center;padding:8px 10px;border-radius:8px;background:#f7fafb;color:#4c6977;font-size:11px;line-height:1.35;text-decoration:none}
.site-menu-links a:hover{background:#edf5f7;color:#174e66}

@media(max-width:760px){
  .site-v2{--mobile-header-height:58px}
  .site-v2 .header{display:flex;height:58px;min-height:58px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));gap:8px}
  .site-v2 .header .brand{display:flex;grid-column:auto;grid-row:auto}
  .site-v2 .header .nav{display:none}
  .site-v2 .header-actions{display:flex;margin-left:auto}
  .site-menu-trigger{width:44px;height:44px}
  .site-menu-panel{position:fixed;top:66px;right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));width:auto;max-height:calc(100dvh - 74px);padding-bottom:max(8px,env(safe-area-inset-bottom));border-radius:13px}
  .site-menu-panel .site-menu-item,.site-menu-panel .account{min-height:62px}
  .site-menu-panel .language-menu{grid-column:auto;grid-row:auto}
  body.is-site-menu-open{overflow:hidden}
  .a-months-shell{top:var(--mobile-header-height);scroll-margin-top:var(--mobile-header-height)}
}

/* v155: keep titles stable when opening details on phones. */
@media(max-width:760px){
  .detail-main h2,.event-static-title{font-size:21px;line-height:1.35}
}
/* v156: prevent mobile text inflation and keep the server-rendered and interactive event titles identical. */
@media(max-width:760px){
  html,body.site-v2{-webkit-text-size-adjust:none;text-size-adjust:none}
  .detail-main h2,.event-static-title{
    margin:10px 0 6px;
    font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei","Hiragino Sans",Arial,sans-serif;
    font-size:20px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:0;
  }
}
/* v157: keep direct event pages on their stable server-rendered detail until the visitor requests comments. */
.event-static-actions button{font:inherit;background:#fff;cursor:pointer}
.event-static-actions button.is-saved{border-color:#75ab9d;background:#e7f4f0;color:#236c5a}

/* v162: one bounded, uncropped image surface for every detail entry point. */
.detail-media,.event-static-media{align-self:start;min-height:0;height:460px;aspect-ratio:auto;overflow:hidden;background:#eaf1f4}
.detail-image-link{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:100%;padding:12px;color:inherit;cursor:zoom-in}
.detail-media .detail-image-link img,.event-static-media .detail-image-link img{display:block;width:100%;height:100%;object-fit:contain;object-position:center!important}
.detail-image-link::after{content:attr(data-image-hint);position:absolute;right:12px;bottom:12px;padding:5px 9px;border-radius:5px;color:#244b5e;background:rgba(255,255,255,.94);font-size:12px}
.detail-image-link:focus-visible{outline:3px solid #176b8e;outline-offset:-3px}
.image-viewer{width:min(1200px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px));max-width:none;max-height:none;padding:0;border:1px solid #c6d5dc;border-radius:10px;background:#edf3f5;color:#173d58;overflow:hidden}
.image-viewer::backdrop{background:rgba(10,24,34,.82)}
.image-viewer[open]{display:flex;flex-direction:column}
.image-viewer-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;flex-shrink:0}
.image-viewer-toolbar strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.image-viewer-toolbar button{min-height:44px;padding:8px 12px;border:1px solid #c6d5dc;border-radius:6px;background:#fff;color:inherit}
.image-viewer-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.image-viewer-stage img{display:block;width:100%;height:100%;object-fit:contain}
.image-viewer-stage.is-zoomed img{width:auto;height:auto;max-width:none;max-height:none;margin:auto}
@media(max-width:900px){.detail-top{display:block;min-height:0}.detail-media,.event-static-media{height:clamp(250px,65vw,300px);min-height:0;aspect-ratio:auto}.detail-image-link{padding:8px}}

/* Keep the month heading from covering month buttons after scroll snapping. */
.a-months .month-label{position:static;scroll-snap-align:start}
