/* Full-phone companions use the same type scale and restrained app glass. */
.tool-app .app-body.resort-app{padding:0;height:calc(100% - 119px);overflow:hidden;display:flex}
.resort-app .resort-page-heading h1{font:500 32px/1.12 Selecta,Arial,sans-serif;letter-spacing:-1px}
.resort-app .resort-page-heading small{font-size:10px;letter-spacing:.08em}
.resort-app .resort-page-heading p{font-size:13px;color:#59675f}
.resort-app .resort-search input::placeholder{font-size:14px}
.resort-app .resort-card-open{height:210px}.resort-app .resort-card-large .resort-card-open{height:260px}
.resort-app .resort-save{width:40px;height:40px}.resort-app .resort-save svg{width:19px;height:19px}
.resort-app .resort-filter-row select,.resort-app .resort-chips button,.resort-app .resort-result-head,.resort-app .resort-result-head select{font-size:12px}
.resort-app .resort-card-caption small,.resort-app .resort-card-caption>span,.resort-app .resort-card-bottom{font-size:12px}
.resort-app .resort-footnote{font-size:11px;color:#59675f}.resort-app .resort-detail-content section p{font-size:12px}
.resort-app .resort-nav{margin:0 12px 12px;border:0;border-radius:26px;padding:8px 8px;box-shadow:0 4px 18px #233c2c0b}
.resort-nav.liquid-control>.lg-material>.lg-frost{background-color:#ffffffe6}
.resort-app .resort-nav button{color:#5b695f;font-size:10px}.resort-app .resort-nav button[aria-current=page]{color:#193f2c}
.resort-app .resort-nav svg{width:20px;height:20px}
.winter-plan-cover{position:relative;height:180px;border-radius:20px;overflow:hidden;margin-bottom:22px;background:#b6c6cf}
.winter-plan-cover>img{width:100%;height:100%;object-fit:cover}.winter-plan-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#142e3980)}
.winter-plan-cover>strong{position:absolute;bottom:18px;left:18px;color:white;font-size:23px;font-weight:500;z-index:1}
.winter-plan-form{display:grid;gap:18px}.winter-plan-form label{display:grid;gap:7px;font-size:13px;color:#536456}
.winter-plan-form input,.winter-plan-form select,.winter-plan-form textarea{width:100%;min-width:0;background:#fff;border:1px solid #dfe6df;border-radius:12px;padding:12px;font:16px Selecta,sans-serif;color:#21382a;box-sizing:border-box}
.winter-plan-form textarea{resize:vertical;line-height:1.45}.winter-plan-form .resort-primary{margin:0}.winter-date-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.winter-date-pair>*{min-width:0}
.winter-plan-error:empty{display:none}.winter-plan-error{color:#993f30;font-size:13px}
.winter-widget{background:#60798b;color:white}.winter-widget>img,.music-widget>.music-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.winter-widget::after,.music-widget::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#06172518,#061725aa)}
.winter-widget>small,.winter-widget>h2,.winter-widget>footer,.music-widget>small,.music-widget>.music-lineup,.music-widget>footer{position:relative;z-index:1;color:#fff}
.winter-widget>h2{margin-top:54px;font:500 25px/1.05 Selecta,sans-serif;letter-spacing:-.7px}.winter-widget>footer,.music-widget>footer{position:absolute}
.music-widget{background:#251c35;color:white}.music-widget>.music-poster{object-position:65% 50%}.music-widget::after{background:linear-gradient(100deg,#160b31b3,#08092254),linear-gradient(0deg,#0f1329aa,transparent)}
.music-lineup{margin-top:13px}.music-lineup>div{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:26px;border-bottom:1px solid #ffffff30}.music-lineup strong{font:500 17px/1 Selecta,sans-serif;letter-spacing:-.5px}.music-lineup span{font:8px Selecta,sans-serif;color:#e2dbea}

.widget-app:has(.music-app) .app-surface{background:#101019;color:#f8f5fc;color-scheme:dark}
.widget-app:has(.music-app) .app-header{color:#f8f5fc}
.widget-app:has(.music-app) .app-header button,.widget-app:has(.music-app) .app-title-pill{color:#f8f5fc;background:#252330b3;border-color:#ffffff24}
.widget-app:has(.music-app) .app-header .lg-frost{background-color:#252330c9}
.widget-app .app-body.music-app{background:#101019;color:#f8f5fc;padding:0 12px 20px;color-scheme:dark}
.music-content{font:14px/1.45 Selecta,sans-serif}
.music-content *{box-sizing:border-box}
.music-content button,.music-content input{font:inherit}
.music-content button{cursor:pointer}
.music-content svg{width:17px;height:17px;flex:none}
.music-list{display:grid;gap:20px}
.music-pass{border:1px solid #ffffff16;border-radius:24px;overflow:hidden;background:#1c1b28;box-shadow:0 8px 20px #0002}
.music-pass-cover{position:relative;isolation:isolate;padding:20px;min-height:174px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(125deg,#392a50,#23203a)}
.music-pass-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.music-pass-cover::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#151020e8,#14102638)}
.music-pass-cover.tone-1{background:linear-gradient(125deg,#284544,#1c2531)}
.music-pass-cover.tone-2{background:linear-gradient(125deg,#473353,#252039)}
.music-pass-cover.tone-3{background:linear-gradient(125deg,#293958,#252237)}
.music-pass-date,.music-pass-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#e2dce9}
.music-pass-date{margin-bottom:22px}
.app-body .music-pass h1{font:500 38px/1.08 Selecta,sans-serif;letter-spacing:-1.25px;margin:0 0 7px;color:#fff}
.app-body .music-pass-cover p{font-size:14px;line-height:1.35;margin:0 0 16px;color:#f1ebf5}
.music-pass-meta{font-size:10px}
.music-ticket{padding:22px 18px 0;border-top:1px dashed #ffffff30}
.music-ticket-art{display:flex;flex-direction:column;align-items:center;gap:13px;min-height:244px;text-align:center}
.music-ticket-art figure{margin:0;width:100%}
.music-ticket-art figcaption,.music-ticket-art small{font-size:11px;color:#c0bbcb;overflow-wrap:anywhere}
.music-qr{display:block;width:min(208px,100%);height:auto;aspect-ratio:1;object-fit:contain;background:#fff;border:12px solid white;border-radius:16px;margin:auto}
.music-original,.music-provider{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#e9e5f0;text-decoration:none;font-size:12px}
.music-original{width:100%;border-radius:100px;background:#ffffff0a;border:1px solid #ffffff1b;box-shadow:inset 0 1px #ffffff0c}
.music-details{margin-top:19px;border-top:1px solid #ffffff19}
.music-details summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:12px;color:#cfc9da;list-style:none}
.music-details summary::-webkit-details-marker{display:none}
.music-details summary::after{content:'+';font-size:19px}
.music-details[open] summary::after{content:'−'}
.music-details-body{padding-bottom:14px}
.music-people{display:flex;gap:6px}
.music-people button{display:flex;align-items:center;gap:5px;min-height:44px;flex:1;border:1px solid #ffffff25;border-radius:24px;background:transparent;color:#b7b1c4;padding:6px;font-size:12px}
.music-people button[aria-pressed=true]{background:#ffffff15;color:#fff;border-color:#ffffff70}
.music-people img{width:24px;height:24px;object-fit:cover;border-radius:50%}
.widget-app .app-body .music-content label{display:grid;gap:8px;font-size:12px;color:#c0bbcb;margin:15px 0}
.widget-app .app-body .music-content input{width:100%;min-width:0;min-height:44px;background:#12121c;color:#f8f5fc;border:1px solid #ffffff24;border-radius:12px;padding:10px;font-size:16px}
.music-content input[type=file]{font-size:11px!important;padding:8px!important}
.music-content input::file-selector-button{background:#ffffff15;border:0;border-radius:20px;color:#fff;padding:8px;font:inherit;margin-right:8px;cursor:pointer}
.app-body .music-ticket-status,.app-body .music-ticket-art p{color:#c8c0d6;font-size:12px;line-height:1.4;margin:10px 0}
.music-ticket-status:empty{display:none}
.music-content :focus-visible{outline:2px solid #d8c5ff;outline-offset:3px}

.widget-app .app-body .winter-plan-form input,.widget-app .app-body .winter-plan-form select,.widget-app .app-body .winter-plan-form textarea,.widget-app .app-body .music-content input,.widget-app .app-body .music-content select,.widget-app .app-body .music-content textarea{font-size:16px;font-weight:400}
.resort-app .resort-nav{position:relative;z-index:2}

/* The concert list is the entry point; ticket artwork lives in the detail view. */
.music-concerts{gap:12px}
.music-concert{display:block;width:100%;padding:0;text-align:left;color:#fff}
.music-concert .music-pass-cover{min-height:166px;padding:19px 20px}
.music-concert:first-child .music-pass-cover{min-height:210px}
.music-concert .music-pass-date{margin-bottom:18px;font-size:12px}
.music-concert-name{display:block;font:500 30px/1.1 Selecta,sans-serif;letter-spacing:-.8px;margin-bottom:7px}
.music-concert:first-child .music-concert-name{font-size:38px;letter-spacing:-1.2px}
.music-concert-venue{font-size:13px;color:#f1ebf5;margin-bottom:14px}
.music-concert .music-pass-meta{align-items:center;font-size:11px}
.music-concert:active{filter:brightness(1.13)}
.music-list-back{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:8px 13px;margin:0 0 12px;border:1px solid #ffffff24;border-radius:100px;background:#ffffff0a;box-shadow:inset 0 1px #ffffff0c;color:#eee9f6;font-size:13px!important}
@media(hover:hover) and (pointer:fine){.music-concert:hover{border-color:#ffffff40}}
