*{box-sizing:border-box}
html,body{margin:0;background:#111;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}
body{min-height:100vh}
button,input{font:inherit}
.passline-app{min-height:100vh;max-width:828px;margin:0 auto;background:#111;padding-bottom:92px;overflow:hidden}
.pl-header{height:207px;padding:126px 34px 17px;display:flex;align-items:flex-end;background:#111}
.pl-location{border:0;background:none;color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;gap:12px;padding:0;white-space:nowrap}
.pl-location .pin-svg{width:22px;height:27px;fill:#20e7df;stroke:#20e7df;flex:none}
.pl-location .pin-svg circle{fill:#111;stroke:none}
.pl-location b{font-size:31px;line-height:1;font-weight:300;margin-left:3px}
.pl-main{padding:0 34px}
.pl-search{height:124px;border-radius:64px;background:#242424;display:flex;align-items:center;padding:0 20px;margin:24px 0 72px}
.search-circle{width:88px;height:88px;border-radius:50%;background:#0758e8;display:flex;align-items:center;justify-content:center;flex:none}
.search-circle svg{width:51px;height:51px;fill:none;stroke:#fff;stroke-width:2.1;stroke-linecap:round}
.pl-search input{border:0;outline:0;background:none;color:#fff;font-size:31px;margin-left:19px;min-width:0;width:100%;padding:0}
.pl-search input::placeholder{color:#bdbdbd;opacity:1}
.pl-search input::-webkit-search-cancel-button{filter:invert(1)}
.pl-section{margin:0 0 57px}
.pl-section h2{font-size:31px;line-height:1.1;margin:0 0 39px;font-weight:800;letter-spacing:-.5px}
.pl-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.pl-heading h2{margin:0}
.pl-heading a{font-size:20px;color:#fff;text-decoration:none;white-space:nowrap;font-weight:400}
.feature-scroller,.last-scroller,.weekend-scroller,.trend-scroller{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;margin-right:-34px;padding-right:34px}
.feature-scroller::-webkit-scrollbar,.last-scroller::-webkit-scrollbar,.weekend-scroller::-webkit-scrollbar,.trend-scroller::-webkit-scrollbar{display:none}
.feature-card{width:562px;min-width:562px;background:#242424;position:relative;overflow:hidden}
.feature-card img{width:100%;height:316px;object-fit:cover;display:block}
.feature-title{display:inline-block;background:#242424;font-size:29px;font-weight:900;padding:10px 17px 9px;position:relative;margin-top:-1px;line-height:1.1}
.feature-meta{display:flex;align-items:center;padding:16px 20px 19px;gap:17px;min-height:117px}
.date{width:62px;min-width:62px}
.date b{font-size:18px;display:block;line-height:1.1}
.date strong{font-size:37px;display:block;line-height:1.02;margin-top:2px}
.date i{display:block;width:45px;height:4px;background:#d6a83c;margin-top:8px}
.date i.red{background:#c43b4d}
.details{font-size:20px;color:#d1d1d1;line-height:1.55;white-space:nowrap;overflow:hidden;min-width:0}
.details strong{display:flex;align-items:center;color:#fff;font-size:20px;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mini-pin{width:18px;height:22px;fill:#20e7df;stroke:#20e7df;flex:none;margin-right:8px}
.mini-pin circle{fill:#242424;stroke:none}
.dots{font-size:38px;line-height:1;margin-left:auto;align-self:center}
.trend-scroller{gap:18px}
.trend-column{width:704px;min-width:704px}
.trend-card{height:125px;display:flex;align-items:center;margin:12px 0 0;position:relative}
.rank{width:54px;min-width:54px;font-size:53px;line-height:1;color:#efff00;font-weight:300;letter-spacing:-2px;text-align:left}
.trend-box{height:125px;width:653px;border:1px solid #252525;background:#111;display:flex;align-items:center;overflow:hidden}
.trend-box img{height:123px;width:169px;object-fit:cover;flex:none}
.trend-box>div{padding-left:16px;min-width:0}
.trend-box h3{font-size:28px;line-height:1.05;margin:0 0 7px;font-weight:800;white-space:nowrap}
.trend-box p{font-size:22px;line-height:1;color:#aaa;margin:0;white-space:nowrap}
.mic{display:inline-block;transform:rotate(-25deg);margin-right:4px;color:#aaa}
.ball{margin-right:5px}
.heart{font-size:53px;line-height:1;margin-left:auto;margin-right:27px;font-family:Arial,sans-serif;font-weight:300}
.ghost-column{opacity:1}
.ghost-column .trend-box{background:#111}
.last-card{width:358px;min-width:358px;background:#111;border:1px solid #292929;position:relative}
.last-card img{width:100%;height:205px;object-fit:cover;display:block}
.last-card div{padding:11px 16px 20px}
.last-card span{font-size:18px;color:#ddd}
.last-card h3{font-size:25px;margin:12px 0 15px;line-height:1;font-weight:900}
.last-card p{font-size:20px;color:#bdbdbd;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.last-card>b{position:absolute;right:22px;top:235px;font-size:35px;line-height:1}
.weekend-card{width:358px;min-width:358px}
.weekend-card img{width:100%;height:205px;object-fit:cover}
.weekend-card h3{font-size:24px;margin:12px 0 5px}
.weekend-card p{font-size:18px;color:#bbb;margin:0}
.location-prompt{position:fixed;z-index:25;left:50%;bottom:92px;transform:translateX(-50%);width:min(764px,calc(100% - 68px));height:129px;border-radius:66px;background:#fff;color:#111;display:flex;align-items:center;padding:13px 21px;gap:17px;box-shadow:0 7px 28px rgba(0,0,0,.34)}
.prompt-pin{width:80px;height:80px;min-width:80px;border-radius:50%;background:#20e7df;display:flex;align-items:center;justify-content:center}
.prompt-pin svg{width:34px;height:41px;fill:#111;stroke:#111}
.prompt-pin svg circle{fill:#20e7df;stroke:none}
.location-prompt div{flex:1;min-width:0}
.location-prompt b,.location-prompt span{display:block}
.location-prompt b{font-size:27px;line-height:1.1;font-weight:800}
.location-prompt span{font-size:22px;line-height:1.1;margin-top:7px}
.location-prompt>strong{font-size:47px;font-weight:300;line-height:1;margin-right:11px}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(828px,100%);height:92px;background:#000;display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}
.nav-item{text-decoration:none;color:#777;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-icon{height:45px;min-height:45px;display:flex;align-items:center;justify-content:center}
.nav-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round}
.nav-item small{font-size:16px;line-height:1}
.nav-item.active{color:#fff}
.brand-mark{position:relative;width:53px;height:53px;border-radius:50%;background:#0758e8;color:#fff;font-size:41px;font-weight:800;font-style:italic;line-height:53px;font-family:Georgia,serif;margin-top:-5px}
.brand-mark span{transform:translateY(-2px)}
.brand-mark i{position:absolute;right:5px;top:2px;font-size:13px;font-style:normal;color:#fff}
.page-app{min-height:100vh;padding-bottom:92px;background:#111}
.inner-page{padding:35px 34px 110px;min-height:calc(100vh - 92px)}
.back{display:inline-block;color:#bbb;text-decoration:none;font-size:19px;margin-bottom:24px}
.inner-page h1{font-size:36px;line-height:1;margin:0 0 8px;font-weight:800}
.inner-page>p{color:#aaa;font-size:18px;margin:0 0 28px}
.page-card,.customer-ticket{display:block;background:#171717;border:1px solid #2b2b2b;color:#fff;text-decoration:none;padding:22px;margin-bottom:14px}
.page-card{display:flex;justify-content:space-between;align-items:center}.page-card b{font-size:21px;display:block}.page-card span{color:#aaa;display:block;margin-top:7px}.big-heart{font-size:50px}
.customer-ticket{overflow:hidden;padding:0}.ticket-head{padding:22px;border-bottom:1px solid #303030}.ticket-head small{color:#aaa;font-size:13px}.ticket-head h2{font-size:24px;margin:9px 0}.ticket-head span{color:#bbb;font-size:16px}.ticket-info{display:grid;grid-template-columns:repeat(3,1fr);padding:18px;gap:15px}.ticket-info small{display:block;color:#888;font-size:10px}.ticket-info b{display:block;font-size:16px;margin-top:5px}.ticket-details{padding:0 18px 20px}.ticket-details>div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #292929}.ticket-details span{color:#999}
.settings-section{margin:0 0 29px}.settings-section h2{font-size:28px;margin:0 0 12px}.settings-group{background:#242424;border:1px solid #2a2a2a}.settings-group a,.settings-toggle{display:grid;grid-template-columns:48px 1fr 32px;align-items:center;gap:13px;padding:17px 18px;text-decoration:none;color:#fff;border-bottom:1px solid #303030;min-height:80px}.settings-group a:last-child,.settings-toggle:last-child{border-bottom:0}.setting-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#ddd}.setting-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-group b{font-size:18px;font-weight:500}.settings-group small{display:block;color:#aaa;margin-top:4px;font-size:13px}.settings-group i{font-size:30px;color:#999;font-style:normal;text-align:right}.switch{width:66px;height:38px;border-radius:20px;background:#666;position:relative}.switch.on{background:#0758e8}.switch:after{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:#fff;top:4px;left:4px;box-shadow:0 1px 4px #0006}.switch.on:after{left:32px}
@media(max-width:700px){.pl-header{height:207px}.pl-main{padding:0 34px}.pl-search{margin-top:24px;margin-bottom:72px}.pl-section h2{font-size:31px}.pl-location{font-size:20px}.feature-card{width:562px;min-width:562px}.trend-column{width:704px;min-width:704px}.location-prompt{width:calc(100% - 68px)}.inner-page{padding:30px 34px 110px}}

/* Mobile/PWA sizing correction: the reference recording is a ~390 CSS-pixel phone.
   These overrides keep the original colors and visual language, but remove the 2x sizing. */
@media (max-width: 600px){
  .passline-app{max-width:390px;padding-bottom:64px}
  .pl-header{height:96px;padding:58px 16px 9px}
  .pl-location{font-size:11px;gap:6px}
  .pl-location .pin-svg{width:13px;height:16px}
  .pl-location b{font-size:18px;margin-left:1px}
  .pl-main{padding:0 16px}
  .pl-search{height:58px;border-radius:30px;padding:0 9px;margin:12px 0 36px}
  .search-circle{width:42px;height:42px}
  .search-circle svg{width:24px;height:24px}
  .pl-search input{font-size:15px;margin-left:10px}
  .pl-section{margin-bottom:30px}
  .pl-section h2{font-size:17px;margin-bottom:20px;letter-spacing:-.2px}
  .pl-heading{gap:9px}
  .pl-heading a{font-size:11px}
  .feature-scroller,.last-scroller,.weekend-scroller,.trend-scroller{gap:9px;margin-right:-16px;padding-right:16px}
  .feature-card{width:281px;min-width:281px}
  .feature-card img{height:158px}
  .feature-title{font-size:14.5px;padding:5px 8.5px 4.5px}
  .feature-meta{padding:8px 10px 9px;gap:8px;min-height:59px}
  .date{width:31px;min-width:31px}.date b{font-size:9px}.date strong{font-size:18px}.date i{width:23px;height:2px;margin-top:4px}
  .details{font-size:10px;line-height:1.55}.details strong{font-size:10px}.mini-pin{width:9px;height:11px;margin-right:4px}.dots{font-size:19px}
  .trend-scroller{gap:9px}.trend-column{width:352px;min-width:352px}.trend-card{height:63px;margin:6px 0 0}.rank{width:27px;min-width:27px;font-size:26px;letter-spacing:-1px}.trend-box{height:63px;width:326px}.trend-box img{height:62px;width:84px}.trend-box>div{padding-left:8px}.trend-box h3{font-size:14px;margin-bottom:3px}.trend-box p{font-size:11px}.heart{font-size:27px;margin-right:13px}.mic{margin-right:2px}
  .last-card{width:179px;min-width:179px}.last-card img{height:103px}.last-card div{padding:6px 8px 10px}.last-card span{font-size:9px}.last-card h3{font-size:12.5px;margin:6px 0 7px}.last-card p{font-size:10px}.last-card>b{right:11px;top:118px;font-size:18px}
  .weekend-card{width:179px;min-width:179px}.weekend-card img{height:103px}.weekend-card h3{font-size:12px;margin:6px 0 3px}.weekend-card p{font-size:9px}
  .location-prompt{bottom:64px;width:calc(100% - 32px);height:64px;border-radius:33px;padding:6px 10px;gap:8px}.prompt-pin{width:40px;height:40px;min-width:40px}.prompt-pin svg{width:17px;height:21px}.location-prompt b{font-size:13.5px}.location-prompt span{font-size:11px;margin-top:3px}.location-prompt>strong{font-size:24px;margin-right:5px}
  .bottom-nav{width:min(390px,100%);height:64px}.nav-item{gap:2px}.nav-icon{height:28px;min-height:28px}.nav-icon svg{width:21px;height:21px}.nav-item small{font-size:8px}.brand-mark{width:28px;height:28px;font-size:21px;line-height:28px}.brand-mark i{right:3px;top:0;font-size:7px}
  .page-app{padding-bottom:64px}.inner-page{padding:18px 16px 78px;min-height:calc(100vh - 64px)}.back{font-size:10px;margin-bottom:12px}.inner-page h1{font-size:20px;margin-bottom:5px}.inner-page>p{font-size:10px;margin-bottom:15px}.page-card,.customer-ticket{padding:11px;margin-bottom:8px}.page-card b{font-size:11px}.page-card span{margin-top:4px;font-size:9px}.big-heart{font-size:25px}.ticket-head{padding:11px}.ticket-head small{font-size:7px}.ticket-head h2{font-size:13px;margin:5px 0}.ticket-head span{font-size:9px}.ticket-info{padding:9px;gap:8px}.ticket-info small{font-size:6px}.ticket-info b{font-size:9px;margin-top:3px}.ticket-details{padding:0 9px 10px}.ticket-details>div{padding:8px 0;font-size:9px}.settings-section{margin-bottom:15px}.settings-section h2{font-size:14px;margin-bottom:6px}.settings-group a,.settings-toggle{grid-template-columns:24px 1fr 16px;gap:7px;padding:9px;min-height:40px}.setting-icon{width:19px;height:19px}.setting-icon svg{width:15px;height:15px}.settings-group b{font-size:10px}.settings-group small{margin-top:2px;font-size:7px}.settings-group i{font-size:15px}.switch{width:33px;height:19px}.switch:after{width:15px;height:15px;top:2px;left:2px}.switch.on:after{left:16px}
}
