@font-face{font-family:Smiley;src:url('fonts/smiley-sans.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--ink:#392441;--muted:#756873;--base:#F1EBE3;--paper:#FCF9F4;--cover:#E7DDD2;--focus:#82558F;--on-ink-muted:#C9BACF;--peach:#FFB482;--line:#E2DAD0;--radius:22px;--font:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;line-break:strict;accent-color:var(--ink);-webkit-font-smoothing:antialiased}body{background:#EDE5DB;display:grid;place-items:center;min-height:100dvh}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button{transition:background .18s,color .18s,transform .12s,box-shadow .18s}button:active{transform:scale(.97)}button:hover{filter:brightness(.96)}button:disabled{cursor:default;opacity:.7;filter:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input{min-width:0;border:0;outline:0;color:var(--ink);background:none}input::placeholder{color:#84748E}input:focus-visible{outline-offset:1px}::selection{background:var(--peach);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3;font-weight:650}h1,h2{text-wrap:balance}img{display:block;max-width:100%}svg{display:block;flex:none}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon.small{width:20px;height:20px}.icon.tiny{width:17px;height:17px}[x-cloak]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.app{position:relative;width:390px;height:min(844px,100dvh);background:var(--paper);overflow:hidden;isolation:isolate}.view{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden}.scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain}.scroll::-webkit-scrollbar{display:none}.view-enter{transition:opacity .24s var(--ease),transform .32s var(--ease)}.view-start{opacity:0;transform:translateX(22px)}.view-leave{transition:opacity .15s,transform .18s}.view-end{opacity:0;transform:translateX(-14px)}
.home{background:var(--paper)}.home .scroll{padding:20px 24px 18px}.home-header{height:40px;display:flex;align-items:center;gap:10px;margin-bottom:16px}.brand{display:flex;align-items:center;gap:5px;flex:none}.brand>svg{width:37px;height:37px}.brand>span{font-family:Smiley,var(--font);font-size:29px;line-height:1;letter-spacing:1px}.location{display:flex;align-items:center;justify-content:center;gap:3px;margin-left:auto;min-height:44px;font-size:13px;font-weight:550}.location>.small{width:17px;height:17px}.location>.tiny{width:14px;height:14px}.icon-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex:none}.notifications{position:relative;margin-right:-10px}.notification-dot{position:absolute;width:5px;height:5px;background:var(--ink);top:10px;right:12px;border-radius:50%;outline:2px solid var(--paper)}.search{height:46px;border-radius:14px;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--base)}.search>.icon{width:20px;height:20px}.search input{font-size:14px;flex:1;max-width:100%;height:100%;padding:0}.search:focus-within{box-shadow:0 0 0 2px var(--focus)}.categories{height:40px;margin-top:14px;display:grid;grid-template-columns:repeat(4,1fr);position:relative;isolation:isolate}.categories button{height:40px;font-size:15px;font-weight:550;border-radius:30px;position:relative}.categories button.selected{color:var(--paper)}.category-slider{position:absolute;left:0;top:0;width:25%;height:40px;background:var(--ink);border-radius:30px;z-index:-1;transition:transform .26s var(--ease)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0 12px;min-height:28px}.section-heading h1,.section-heading h2{font-size:21px;letter-spacing:-.4px}.heading-note{font-size:12px;color:var(--muted);letter-spacing:.1px}.featured{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--base)}.event-open{display:block;width:100%;text-align:left;border-radius:var(--radius);overflow:hidden}.event-open:active{transform:scale(.99)}.poster{height:208px;position:relative;background:var(--ink);color:var(--paper);overflow:hidden;padding:17px 19px}.poster-category{display:flex;align-items:center;gap:7px;font-size:12px;color:#EEE5F0}.tag-divider{opacity:.45;margin:0 2px}.poster h2{font-family:Smiley,var(--font);font-weight:400;font-size:31px;letter-spacing:.5px;margin-top:7px;position:relative;z-index:1}.poster-sub{font-size:11px;margin-top:3px;color:#D7C7DF;position:relative;z-index:1}.table-art{position:absolute;width:275px;height:auto;bottom:-11px;right:4px}.save-button{position:absolute;right:13px;top:10px;width:36px;height:36px;display:grid;place-items:center;background:#FFFFFF14;border-radius:50%;color:var(--paper)}.save-button .icon{width:18px;height:18px}.is-saved .icon{fill:currentColor}.featured-info{padding:13px 17px 14px;display:flex;justify-content:space-between;align-items:center}.event-date{font-size:12px;display:flex;align-items:center;gap:14px;font-weight:550}.distance{color:var(--muted);font-size:11px;font-weight:400}.featured-info h3{font-size:16px;margin-top:3px;letter-spacing:.2px}.small-avatars{display:flex;align-items:center;margin-top:9px}.small-avatars img{width:23px;height:23px;border-radius:50%;border:2px solid var(--base);margin-left:-5px}.small-avatars img:first-child{margin-left:0}.small-avatars>span{font-size:11px;margin-left:8px;color:var(--muted)}.small-avatars b{font-weight:550;color:var(--ink)}.event-arrow{width:28px;height:36px;display:grid;place-items:center;color:var(--ink);margin-top:8px}.event-arrow .icon{width:19px;height:19px}.groups-heading{margin-top:23px;margin-bottom:8px}.groups-heading h2{font-size:19px}.text-button{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:550;min-height:36px}.club-row{display:flex;align-items:center;gap:12px;min-height:74px;width:100%;text-align:left;border-bottom:.5px solid var(--line)}.club-row:last-child{border-bottom:0}.club-emblem{display:grid;place-items:center;width:51px;height:51px;flex:none;border-radius:16px;background:var(--cover);color:var(--ink)}.club-emblem>svg{width:36px;height:36px;fill:none;stroke:currentColor}.club-emblem.run{background:var(--cover);color:var(--ink)}.club-emblem.game{background:var(--cover)}.club-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.club-copy strong{font-size:15px;font-weight:650}.club-copy>span{font-size:12px;color:var(--muted)}.club-tag{font-size:12px;padding:4px 0;margin-left:auto;flex:none;color:var(--muted)}.bottom-nav{height:78px;flex:none;border-top:.5px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);padding:8px 13px 11px}.bottom-nav button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;border-radius:15px;color:var(--muted);position:relative;font-size:10px;font-weight:550}.bottom-nav .active{color:var(--ink)}.bottom-nav .active .icon{fill:var(--ink);stroke:var(--paper);stroke-width:1.7}.bottom-nav i{position:absolute;top:3px;right:29px;width:5px;height:5px;background:var(--ink);border-radius:50%;outline:2px solid var(--paper)}.empty-state{height:328px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:15px;background:var(--base);border-radius:22px}.empty-state>svg{width:45px;height:45px;stroke:var(--ink);stroke-width:1.4;fill:none}.empty-state h2{font-size:20px}.empty-state p{font-size:14px;color:var(--muted)}.book .poster,.run .poster{background:var(--ink)}.alternate-art{position:absolute;right:30px;bottom:-22px;width:180px;height:160px}.large-event-icon{position:absolute;inset:10px;width:150px;height:150px;color:var(--peach);z-index:1;transform:rotate(-12deg)}.art-ring{position:absolute;width:170px;height:170px;border:1px solid #DDD0E7;border-radius:50%;opacity:.4;top:-5px;left:10px}.art-ring.second{width:210px;height:210px;top:-25px;left:-10px;opacity:.18}
/* Activity cover is part of the content, not a device shell. */
.detail{background:var(--paper)}.detail-cover{height:258px;position:relative;overflow:hidden;background:var(--cover)}.detail-header{height:64px;padding:9px 15px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3;font-size:14px;font-weight:550}.detail-header .icon-button{background:#FCF9F466}.cover-caption{display:flex;align-items:center;justify-content:space-between;margin:0 26px;font-size:11px;position:relative;z-index:2;color:var(--muted)}.cover-issue{font-size:10px;letter-spacing:.5px}.detail-table{position:absolute;width:305px;right:8px;bottom:-5px;filter:none}.cover-word{position:absolute;font-family:Smiley,var(--font);font-size:69px;font-weight:400;letter-spacing:3px;left:23px;top:97px;line-height:1.05;width:72px;word-break:break-all;z-index:1;color:var(--ink);opacity:.9}.detail-body{padding:20px 25px 20px;background:var(--paper);position:relative;border-radius:26px 26px 0 0;margin-top:-17px;z-index:3}.detail-kicker{display:flex;align-items:center;gap:11px;font-size:11px;color:var(--muted)}.detail-body h1{font-family:Smiley,var(--font);font-size:31px;font-weight:400;margin-top:7px;letter-spacing:.3px;line-height:1.25}.host-line{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:11px;color:var(--muted)}.host-line img{width:25px;height:25px;border-radius:50%}.host-line b{font-weight:550;color:var(--ink)}.host-separator{margin:0 8px;color:var(--line)}.event-facts{display:flex;flex-direction:column;gap:17px;padding:20px 0 19px;margin-top:12px;border-top:.5px solid var(--line);border-bottom:.5px solid var(--line)}.fact{display:flex;align-items:center;gap:13px;min-height:42px;text-align:left}.fact>.icon{width:22px;height:22px;color:var(--ink)}.fact>div{display:flex;flex-direction:column;gap:3px;flex:1}.fact strong{font-size:14px;font-weight:600;line-height:1.45}.fact div>span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.weekday{font-size:12px;font-weight:400;margin-left:3px}.fact.place{width:100%;border-radius:8px}.fact.place>.small{width:17px;height:17px;color:var(--muted)}.seats-heading{display:flex;align-items:center;justify-content:space-between;margin-top:19px;margin-bottom:13px}.seats-heading h2,.about h2{font-size:16px}.seats-heading>span{font-size:12px;color:var(--muted)}.seats-heading b{font-weight:650;color:var(--ink)}.seat-row{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.seat img,.empty-seat{width:100%;max-width:39px;height:auto;aspect-ratio:1;border-radius:50%}.seat>span:last-child{font-size:10px;color:var(--muted)}.empty-seat{border:1.4px dashed var(--muted);display:grid;place-items:center;background:var(--base);color:var(--muted)}.empty-seat .icon{width:17px;height:17px}.your-seat.seated img{outline:2px solid var(--peach);outline-offset:2px;animation:seat-arrive .38s var(--ease) both}.your-seat.seated>span{color:var(--ink)}.seat-check{position:absolute;width:15px;height:15px;right:-2px;bottom:18px;background:var(--peach);border-radius:50%;display:grid;place-items:center;outline:2px solid var(--paper)}.seat-check .icon{width:11px;height:11px;stroke-width:2.5}.about{margin-top:22px}.about p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:8px}.schedule{font-size:11px;color:var(--muted);margin-top:9px;white-space:nowrap}.friendly-note{display:flex;align-items:center;gap:8px;margin-top:17px;color:var(--muted);font-size:11px}.small-ring{width:13px;height:13px;border:2px solid #A689B6;border-radius:50%;position:relative}.small-ring::after{content:'';position:absolute;width:5px;height:5px;border:1.5px solid #A689B6;border-radius:50%;right:-5px;bottom:-2px}.join-footer{height:94px;flex:none;display:flex;align-items:center;gap:16px;padding:16px 23px 21px;background:var(--paper);border-top:.5px solid var(--line)}.price{display:flex;flex-direction:column;gap:3px;flex:none}.price strong{font-size:21px;font-weight:650}.price>span{font-size:10px;color:var(--muted)}.primary-button,.secondary-button{min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:15px;font-size:14px;font-weight:600;white-space:nowrap}.primary-button{background:var(--ink);color:var(--paper);padding:0 16px}.primary-button .icon{width:19px;height:19px}.join-button{height:51px;flex:1;min-width:0;padding:0 16px;justify-content:space-between}.join-button[disabled]{background:var(--peach);color:var(--ink);opacity:1}.secondary-button{border:1px solid var(--on-ink-muted);color:#FCF9F4;padding:0 14px}.secondary-button .icon{width:18px;height:18px}.detail-cover.book{background:var(--cover)}.detail-cover.run{background:var(--cover)}.detail-alternate{position:absolute;right:34px;bottom:-15px;transform:rotate(-10deg)}.detail-alternate>svg{width:170px;height:170px;color:var(--ink)}.run .detail-alternate>svg{color:var(--ink)}
/* The user's place becomes a tangible activity card. */
.ticket{background:var(--ink);color:var(--paper)}.ticket-scroll{padding:9px 24px 24px}.ticket-header{height:51px;display:flex;align-items:center;justify-content:space-between;margin:0 -9px;font-size:13px;font-weight:550;color:var(--on-ink-muted)}.ticket-logo{width:32px;height:32px;margin-right:6px}.ticket-header .icon-button{background:#FCF9F40B}.success-heading{margin-top:19px}.success-check{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--peach)}.success-check .icon{width:17px;height:17px;stroke-width:2.5}.success-heading h1{font-family:Smiley,var(--font);font-size:32px;font-weight:400;letter-spacing:.7px;margin-top:7px}.success-heading p{font-size:12px;color:#BEA7C8;margin-top:6px}.admission-card{margin-top:24px;background:var(--paper);color:var(--ink);border-radius:19px;overflow:hidden;position:relative;box-shadow:0 5px 0 #24132F33}.pass-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 19px 0;position:relative;z-index:2}.pass-brand{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:550}.pass-brand>svg{width:22px;height:22px}.pass-number{font-size:9px;color:#9D8AA6;letter-spacing:.7px;font-variant-numeric:tabular-nums}.pass-art{height:140px;position:relative;overflow:hidden;background:var(--cover);margin-top:13px}.pass-art>img{width:251px;position:absolute;left:5px;bottom:-18px}.seat-stamp{position:absolute;right:17px;top:22px;width:83px;height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--peach);font-size:12px;transform:rotate(8deg);gap:3px}.seat-stamp strong{font-family:Smiley;font-size:35px;font-weight:400;line-height:1.05}.pass-content{padding:18px 21px 17px}.pass-club{font-size:11px;color:var(--muted)}.pass-content h2{font-family:Smiley,var(--font);font-size:29px;font-weight:400;letter-spacing:.3px;margin-top:5px}.pass-time{display:grid;grid-template-columns:1.4fr 1fr;margin:18px 0 16px}.pass-time>div{display:flex;flex-direction:column;gap:2px}.pass-time>div+div{border-left:.5px solid var(--line);padding-left:23px}.pass-time span{font-size:10px;color:var(--muted)}.pass-time strong{font-size:19px;font-weight:650;font-variant-numeric:tabular-nums}.pass-time small{font-size:11px;color:var(--muted)}.pass-location{display:flex;align-items:center;gap:10px}.pass-location>.icon{width:21px;height:21px;color:var(--ink)}.pass-location>div{display:flex;flex-direction:column;gap:3px}.pass-location strong{font-size:13px;font-weight:600}.pass-location span{font-size:11px;color:var(--muted)}.tear-line{display:flex;position:relative;align-items:center;height:18px;gap:9px;margin:0 -9px}.tear-line>span{flex:1;border-top:1px dashed var(--line)}.tear-line>i{width:18px;height:18px;flex:none;background:var(--ink);border-radius:50%}.pass-footer{display:flex;align-items:center;gap:10px;padding:10px 19px 19px}.pass-footer .small-avatars{margin:0}.pass-footer .small-avatars>img{width:27px;height:27px;border-color:var(--paper)}.pass-footer>span{font-size:10px;color:var(--muted)}.pass-footer b{color:var(--ink);font-weight:650}.pass-check{width:24px;height:24px;margin-left:auto;background:#ECE4F1;border-radius:50%;display:grid;place-items:center}.pass-check .icon{width:14px;height:14px;stroke:var(--ink)}.ticket-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:23px}.ticket-actions .primary-button{background:var(--peach);color:var(--ink)}.group-chat{display:flex;align-items:center;gap:11px;width:100%;padding:19px 0 0;text-align:left;color:var(--paper)}.chat-circle{width:38px;height:38px;display:grid;place-items:center}.chat-circle .icon{width:20px;height:20px;color:var(--on-ink-muted)}.group-chat>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.group-chat strong{font-size:12px;font-weight:550}.group-chat>span:nth-child(2)>span{font-size:10px;color:var(--on-ink-muted)}.group-chat>.icon{color:var(--on-ink-muted)}.ticket-mode{background:var(--ink)}
/* Accessible, bounded task sheets. */
.sheet-overlay{position:absolute;inset:0;background:#22112D65;z-index:20;display:flex;align-items:flex-end}.sheet{background:var(--paper);color:var(--ink);border-radius:27px 27px 0 0;width:100%;max-height:80%;display:flex;flex-direction:column;padding:0 24px 24px;outline:none!important;box-shadow:0 -1px 4px #3924410A,0 -10px 35px #39244112}.sheet-handle{height:4px;width:32px;border-radius:5px;background:#C9BDB3;margin:12px auto 9px;flex:none}.sheet-header{display:flex;align-items:center;justify-content:space-between;flex:none}.sheet-header h2{font-size:21px}.sheet-header .icon-button{margin-right:-10px}.sheet-body{overflow:auto;min-height:0;padding-top:16px}.sheet-enter{transition:transform .3s var(--ease)}.sheet-start{transform:translateY(100%)}.sheet-leave{transition:transform .19s}.sheet-intro{color:var(--muted);font-size:14px;margin-bottom:16px}.location-option{display:flex;align-items:center;gap:10px;width:100%;padding:16px 13px;background:var(--base);border-radius:15px;text-align:left}.location-option>span:first-child{font-size:17px;font-weight:600}.location-label{font-size:11px;color:var(--muted);flex:1}.location-option .icon{width:18px}.sheet-explain{margin-top:17px;font-size:13px;color:var(--muted)}.notice-item{display:flex;gap:13px;padding-bottom:12px}.notice-icon{width:43px;height:43px;background:var(--base);border-radius:15px;display:grid;place-items:center}.notice-item strong{font-size:15px}.notice-item p{margin-top:7px;font-size:13px;color:var(--muted)}.profile-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.profile-head>img{width:64px;height:64px;border-radius:50%}.profile-head h3{font-size:23px}.profile-head p{font-size:13px;color:var(--muted);margin-top:5px}.profile-action{display:flex;align-items:center;width:100%;height:60px;gap:15px;border-top:.5px solid var(--line);font-size:15px}.profile-action>span{flex:1;text-align:left}.profile-action b{font-weight:550}.sheet-empty{text-align:center;padding:10px 0 16px}.sheet-empty>.icon{width:43px;height:43px;margin:0 auto 16px;color:#9F85AC}.sheet-empty h3{font-size:23px}.sheet-empty p{margin:8px 0 22px;font-size:14px;color:var(--muted)}.sheet-empty .primary-button{width:100%}.local-map{height:230px;border-radius:18px;background:var(--base);overflow:hidden;position:relative;border:.5px solid var(--line)}.map-block{position:absolute;background:#DFD5CA;border:5px solid #E9E0D6;border-radius:12px}.b1{width:142px;height:92px;left:-15px;top:-15px;transform:rotate(-12deg)}.b2{width:135px;height:112px;right:0;top:-29px;transform:rotate(-12deg)}.b3{width:127px;height:128px;left:-32px;bottom:-31px;transform:rotate(-12deg)}.b4{width:165px;height:140px;right:-17px;bottom:-26px;transform:rotate(-12deg)}.map-road{position:absolute;font-size:12px;left:135px;top:93px;transform:rotate(-12deg);color:var(--muted);letter-spacing:2px}.map-road.crossing{left:98px;top:78px;font-size:10px;writing-mode:vertical-rl;transform:rotate(12deg)}.map-park{position:absolute;left:13px;bottom:48px;transform:rotate(-12deg);font-size:9px;background:#D8DFC9;padding:15px 7px;border-radius:15px;color:#59614E}.map-marker{width:40px;height:40px;position:absolute;left:210px;top:87px;background:var(--ink);color:var(--peach);display:grid;place-items:center;border-radius:50%;box-shadow:0 3px 0 #C9BDB3}.map-caption{position:absolute;background:var(--paper);padding:5px 9px;border-radius:6px;left:160px;top:140px;font-size:11px;font-weight:550}.map-place{padding:19px 0}.map-place h3{font-size:20px}.map-place p{font-size:15px;margin-top:6px;user-select:all}.map-place>span{font-size:12px;color:var(--muted);display:block;margin-top:12px}.full-button{width:100%}.chat-message{display:flex;align-items:flex-start;gap:10px;margin-bottom:19px}.chat-message>img{width:33px;height:33px;border-radius:50%}.chat-message>div{flex:1}.chat-message span{font-size:11px;color:var(--muted)}.chat-message p{font-size:14px;line-height:1.65;padding:12px 14px;background:var(--base);border-radius:0 14px 14px 14px;margin-top:5px}.chat-message.own{text-align:right}.chat-message.own p{background:#E9DDD0;text-align:left;border-radius:14px 0 14px 14px}.chat-input{display:flex;align-items:center;gap:10px;margin-top:20px}.chat-input input{flex:1;font-size:16px;background:var(--base);padding:12px 14px;border-radius:13px}.chat-input button{width:44px;height:44px;background:var(--ink);color:var(--paper);border-radius:13px;display:grid;place-items:center}.toast{position:absolute;z-index:30;bottom:95px;left:24px;right:24px;text-align:center;border-radius:12px;box-shadow:0 1px 3px #39244112,0 6px 20px #39244112;background:var(--paper);color:var(--ink);padding:13px 15px;font-size:13px;border:.5px solid var(--line)}
@keyframes seat-arrive{0%{transform:scale(.65)}65%{transform:scale(1.12)}100%{transform:scale(1)}}@keyframes first-card{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home .featured.first-entry{animation:first-card .4s var(--ease) .04s both}
@media(max-width:600px){body{background:var(--paper);display:block}.app{width:100%;max-width:430px;margin:auto;height:100dvh}.home .scroll{padding-left:24px;padding-right:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.view-start,.view-end{transform:none}.sheet-start{transform:none}}
/* Round 2: content first, readable secondary roles, a real occupied seat. */
.featured-info .event-date{font-size:13px}.featured-info .distance{font-size:12px}.small-avatars>span{font-size:12px}.save-button{width:44px;height:44px;right:9px;top:7px}.detail-cover{height:246px}.detail-body{padding-top:18px}.detail-kicker{font-size:12px}.host-line{font-size:12px}.event-facts{padding:16px 0;gap:14px}.fact div>span{font-size:13px}.seats-heading{margin-top:18px}.seat>span:last-child{font-size:12px}.your-seat>.empty-seat+img+span{font-size:12px}.about{margin-top:18px}.about p{font-size:14px}.schedule{font-size:12px}.success-heading{margin-top:20px}.admission-card{margin-top:23px}.pass-number{font-size:12px;letter-spacing:.3px}.pass-club{font-size:12px}.pass-time span{font-size:11px}.pass-time strong{font-size:20px}.pass-time small{font-size:12px}.pass-location strong{font-size:14px}.pass-location span{font-size:12px}.pass-footer>span{font-size:12px}.pass-footer{gap:8px}.group-chat strong{font-size:14px}.group-chat>span:nth-child(2)>span{font-size:12px}.group-chat{padding-top:21px}.pass-other-art{position:absolute;left:48px;bottom:6px;width:140px;height:140px;color:var(--ink);transform:rotate(-12deg)}.chat-message .host-message-text{font-size:14px;color:var(--ink)}
.event-cost{font-size:11px;font-weight:500;color:var(--ink)}.event-date{gap:12px}.schedule{color:var(--muted)}
/* Round 3: optical alignment and touch readability. */
.cover-word{font-size:62px;top:91px;line-height:1.07}.seat .seat-name{font-size:12px;color:var(--muted)}.search input{font-size:16px}.bottom-nav button{font-size:11px}.price>span{font-size:11px}.primary-button,.secondary-button{font-size:15px}.pass-heading{padding-top:16px}.success-check{font-size:13px}.pass-time>div+div{padding-left:23px}.section-heading{min-height:28px}
/* Final subtraction pass: fewer repeated marks, accurate people counts. */
.seat-row{gap:8px}.seat>span:not(.seat-check){width:100%;text-align:center;line-height:1.3}.price{min-width:104px}.price>span{font-size:12px}.pass-art>img{width:245px;left:0}.pass-footer{padding-bottom:18px}.pass-footer .small-avatars>img{width:26px;height:26px}
/* Secondary text keeps readable contrast at its actual reading size. */
input::placeholder{color:var(--muted)}.bottom-nav button{color:var(--muted)}.bottom-nav .active{color:var(--ink)}.detail-kicker,.pass-club,.pass-number,.pass-time span{color:var(--muted)}.event-cost{color:var(--ink)}.pass-footer>span{color:var(--muted)}button:focus-visible,a:focus-visible{outline-color:var(--focus)}input:focus-visible{outline-color:var(--ink)}.map-road,.map-road.crossing{color:var(--muted)}

/* Round 4: the table carries the color; controls keep a quiet paper surface. */
button,input{caret-color:var(--ink)}.seat>span:not(.seat-check){font-size:12px}.poster-category{color:#EEE5F0}.detail-kicker{letter-spacing:0}.about p,.schedule{color:var(--muted)}.club-tag{color:var(--muted)}
@media(max-width:360px){.detail-table{width:calc(100% - 84px);right:0;bottom:0}.home .scroll{padding-left:20px;padding-right:20px}.detail-body{padding-left:20px;padding-right:20px}.join-footer{padding-left:20px;padding-right:20px;gap:12px}.price{min-width:80px}.join-button{padding:0 12px;font-size:14px;gap:8px}.seat-row{gap:6px}.ticket-scroll{padding-left:20px;padding-right:20px}}
