:root{--color-base-white:#fff;--color-base-ivory:#dcd7d1;--color-base-sand:#e1d6ba;--color-accent-amber:#f2a032;--color-accent-red:#ea593a;--color-accent-teal:#5289a7;--color-accent-blue:#4e6eab;--color-base-black:#181415;--text-primary:var(--color-base-black);--text-secondary:rgba(24,20,21,0.6);--text-muted:rgba(24,20,21,0.4);--surface-page:var(--color-base-ivory);--surface-page-image:url("../bg/bg3.webp");--surface-stroke-image:url("../bg/creme_stroke-bg_627x156.png");--surface-stroke-row-image:url("../bg/beige_stroke-bg_612x70.png");--surface-stroke-highlight-image:url("../bg/orange_stroke-bg_615x72.png");--surface-stroke-blue-image:url("../bg/blue_stroke-bg_615x72b.png");--surface-stroke-white-image:url("../bg/white_stroke-bg_608x132-a.png");--surface-notify-box-top-image:url("../bg/notify_box_top.png");--surface-notify-box-bot-image:url("../bg/notify_box_bot.png");--surface-card:var(--color-base-white);--surface-warm:var(--color-base-sand);--surface-shadow:0 2px 8px rgba(24,20,21,0.08);--overlay-strong:rgba(24,20,21,0.78);--overlay-soft:rgba(24,20,21,0.45);--font-display:"Source Serif 4",Georgia,"Times New Roman",serif;--font-heading:"Cinzel",Georgia,"Times New Roman",serif;--font-body:"IBM Plex Sans",Verdana,Arial,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--type-display-size:2.25rem;--type-h1-size:2rem;--type-h2-size:2rem;--type-h3-size:1.35rem;--type-h4-size:1.2rem;--type-body-size:1.125rem;--type-caption-size:.9rem;--type-label-size:.85rem;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--radius-card:12px;--radius-pill:24px;--nav-height:70px;--focus-outline:2px solid var(--color-accent-blue);--transition-ui:250ms ease-out}*{box-sizing:border-box}html,body{min-height:100%;overscroll-behavior-y:contain}body{margin:0;padding:0;padding-bottom:var(--nav-height);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);color:var(--text-primary);background-color:var(--surface-page);background-image:var(--surface-page-image);background-attachment:fixed;background-position:top center;background-repeat:no-repeat;background-size:cover;font-family:var(--font-body);font-size:var(--type-body-size);font-weight:500;line-height:1.5}a{color:var(--color-accent-teal);text-decoration:none}a:hover{color:var(--color-accent-blue)}:focus-visible{outline:var(--focus-outline);outline-offset:2px}.container{max-width:100%;margin:0 auto;padding:0 var(--space-2)}main>p,.venue-info p,.faq-panel-body,.offline-message p,.debug-line,.message-body p,.activity-status-msg{max-width:65ch}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-2);color:var(--text-primary);font-family:var(--font-display);font-weight:700;letter-spacing:-0.01em;line-height:1.1;text-transform:uppercase}h1{font-size:var(--type-h1-size)}h2{margin-top:var(--space-1);font-size:var(--type-h2-size)}h3{font-size:var(--type-h3-size)}h4{font-family:var(--font-heading);font-size:var(--type-h4-size);letter-spacing:0}p{margin:0 0 var(--space-2);color:var(--text-primary)}#status-panel{position:fixed;top:var(--space-1);right:var(--space-1);z-index:9000;display:flex;gap:var(--space-1)}#status-panel .status-panel-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;color:var(--text-primary);background:var(--surface-card);box-shadow:var(--surface-shadow);cursor:pointer;transition:transform var(--transition-ui),filter var(--transition-ui)}#status-panel .status-panel-trigger:hover{filter:brightness(0.96)}#status-panel .status-panel-trigger:active{transform:scale(0.97)}#status-panel .status-icon{width:24px;height:24px;flex-shrink:0}#status-panel .status-icon-online{color:var(--color-accent-teal)}#status-panel .status-icon-offline{color:var(--color-accent-red)}#status-panel .status-icon-offline{display:none}#status-panel .status-panel-trigger.is-offline .status-icon-online{display:none}#status-panel .status-panel-trigger.is-offline .status-icon-offline{display:block}#status-panel .status-panel-trigger--loading .status-icon{opacity:0}#status-panel .status-panel-trigger--loading::after{content:"";position:absolute;width:22px;height:22px;border:2px solid rgba(24,20,21,0.2);border-top-color:var(--color-accent-blue);border-radius:50%;animation:status-panel-spin 650ms linear infinite}@keyframes status-panel-spin{to{transform:rotate(360deg)}}header{margin-bottom:var(--space-2);padding:var(--space-2) 0;text-align:center}#app-header{padding-top:0;margin-top:0}#app-header.header-expanded{display:block;width:100%}.header-logo{margin-top:0;margin-bottom:var(--space-1)}.logo-link{display:block;width:100%;max-width:1170px;margin-top:0;margin-inline:auto;color:inherit;text-decoration:none}.logo-placeholder{position:relative;isolation:isolate;display:block;width:100%;max-width:1170px;margin-top:0;margin-inline:auto;padding:0;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:var(--radius-card);border-bottom-right-radius:var(--radius-card);background:transparent;overflow:hidden}.logo-placeholder img{display:block;width:100%;height:auto}.header-text{width:100%;max-width:65ch;margin:var(--space-1) auto;color:var(--text-secondary);font-size:var(--type-caption-size)}@keyframes ticket-modal-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes ticket-modal-backdrop-out{from{opacity:1}to{opacity:0}}@keyframes ticket-modal-card-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes ticket-modal-card-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}.ticket-qr-modal{position:fixed;inset:0;z-index:9500;display:flex;align-items:flex-start;justify-content:center;padding-top:max(25vh,env(safe-area-inset-top));padding-right:max(var(--space-2),env(safe-area-inset-right));padding-bottom:max(var(--space-2),env(safe-area-inset-bottom));padding-left:max(var(--space-2),env(safe-area-inset-left));background:var(--overlay-strong);cursor:pointer}.ticket-qr-modal[hidden]{display:none !important}.ticket-qr-modal:not([hidden]):not(.is-closing){animation:ticket-modal-backdrop-in var(--transition-ui) both}.ticket-qr-modal:not([hidden]):not(.is-closing) .ticket-qr-modal__card{animation:ticket-modal-card-in var(--transition-ui) both}.ticket-qr-modal.is-closing{animation:ticket-modal-backdrop-out var(--transition-ui) both}.ticket-qr-modal.is-closing .ticket-qr-modal__card{animation:ticket-modal-card-out var(--transition-ui) both}.ticket-qr-modal__card{display:flex;flex-direction:column;align-items:center;width:min(80vw,400px);padding:12px 12px 4px;border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--surface-shadow);cursor:pointer;pointer-events:auto}.ticket-qr-modal__host{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden;cursor:pointer;pointer-events:auto}.ticket-qr-modal__host img,.ticket-qr-modal__host canvas,.ticket-qr-modal__host svg{display:block;max-width:100%;object-fit:contain}.ticket-qr-modal__number{width:100%;margin:4px 0 0;padding:0;color:var(--text-muted);font-size:var(--type-caption-size);line-height:1.4;text-align:center;cursor:pointer}.ticket-qr-modal__number[hidden]{display:none}.ticket-qr-modal__info{width:100%;margin-top:4px;padding:0;text-align:center}.ticket-qr-modal__info[hidden]{display:none}.ticket-qr-modal__type{margin:0;color:var(--text-secondary);font-size:calc(var(--type-caption-size) * 1.25);font-weight:700;line-height:1.4;cursor:pointer}.ticket-qr-modal__country{margin:0 0 4px;color:var(--text-primary);font-family:var(--font-display);font-size:var(--type-display-size);font-weight:700;letter-spacing:-0.02em;line-height:1.05;text-transform:uppercase;cursor:pointer}.ticket-qr-modal__country+.ticket-qr-modal__type{margin-top:0}.header-tba{width:100%;margin:var(--space-2) 0 0}.header-extra,header.header-expanded .header-text.header-extra,header.header-expanded .header-tba.header-extra{display:none}html.section-info-active header.header-expanded .header-text.header-extra,html.section-info-active header.header-expanded .header-tba.header-extra{display:block}#bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:stretch;min-height:var(--nav-height);padding-bottom:env(safe-area-inset-bottom);background:var(--surface-card);box-shadow:0 -2px 8px rgba(24,20,21,0.08)}#bottom-nav::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:var(--color-accent-blue);opacity:.18;pointer-events:none}#bottom-nav .nav-item{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:var(--nav-height);margin:0;padding:8px 0 6px;border:0;border-radius:0;color:rgba(24,20,21,0.4);background:0;font-family:var(--font-body);font-size:var(--type-caption-size);font-weight:700;line-height:1.4;text-decoration:none;text-transform:uppercase;transition:color var(--transition-ui),transform var(--transition-ui)}#bottom-nav .nav-item svg,#bottom-nav .nav-item img{width:24px;height:24px}#bottom-nav .nav-item>span:not(.nav-badge){display:none}#bottom-nav .nav-item.active{color:var(--color-accent-red);background:transparent}#bottom-nav .nav-item .nav-badge{display:block}#bottom-nav .nav-item:active{transform:scale(0.97)}#nav-notifications{position:relative}.nav-badge{position:absolute;top:13px;left:50%;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--color-accent-amber);color:var(--color-base-white);font-size:10px;font-weight:700;line-height:18px;text-align:center;transform:translateX(7px);border:2px solid var(--surface-card);box-shadow:0 2px 6px rgba(0,0,0,0.18);pointer-events:none;z-index:2}.content-section{display:none;padding:0;margin:0}.content-section.active{display:block}.app-footer{margin:var(--space-4) 0 var(--space-2);padding:0;text-align:center}.app-footer__text{margin:0;color:var(--text-muted);font-family:var(--font-body);font-size:var(--type-caption-size);font-weight:500;line-height:1.4;letter-spacing:.04em;text-transform:uppercase}.placeholder-content,.offline-message,.setting-group{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--surface-shadow)}.placeholder-content,.offline-message,.setting-group{margin:var(--space-2) 0;padding:var(--space-2)}.activity-status-block{margin:0;padding:15px 21px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedule-item,.venue-info{padding:0;margin:var(--space-3) 0}.schedule-item ul,.venue-info ul{margin:var(--space-1) 0;padding-left:var(--space-3);list-style-type:none}.schedule-item li,.venue-info li{position:relative;margin-bottom:var(--space-1);color:var(--text-primary)}.schedule-item li::before,.venue-info li::before{content:"\2022";position:absolute;left:calc(-1 * var(--space-2));color:var(--color-accent-teal)}.schedule-day-header,.notification-day-header,#home-faq .faq-section-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--type-h4-size);font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.activities-my-heading{color:var(--text-primary);font-family:var(--font-display);font-size:var(--type-h2-size);font-weight:700;letter-spacing:-0.01em;line-height:1.1;text-transform:uppercase}.schedule-day-header,.notification-day-header{margin:0 0 var(--space-1);padding-bottom:var(--space-1)}.notification-day-header{margin-top:var(--space-3)}.schedule-item ul.schedule-events{padding-left:0}.schedule-item .schedule-events li,.schedule-item .schedule-events li::before{margin-bottom:0;padding-left:0;content:none}.schedule-item .schedule-events li:not(.schedule-event),.schedule-event-toggle{position:relative;isolation:isolate;z-index:1;display:flex;align-items:center;width:100%;min-height:44px;gap:.75rem;padding:0 var(--space-2);margin:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;overflow:hidden}.schedule-item .schedule-events li:not(.schedule-event)::before,.schedule-event-toggle::before{content:"";position:absolute;inset:0;background-image:var(--surface-stroke-row-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:.99;pointer-events:none;z-index:-1}.schedule-event-toggle:hover,.schedule-event-toggle:focus-visible,.schedule-event-toggle:active,.schedule-event-toggle[aria-expanded="true"]{color:var(--color-base-white);transform:none}.schedule-event-toggle:hover::before,.schedule-event-toggle:focus-visible::before,.schedule-event-toggle:active::before,.schedule-event-toggle[aria-expanded="true"]::before{background-image:var(--surface-stroke-highlight-image);opacity:.95}.schedule-event-time{flex-shrink:0;width:4.4rem;color:var(--color-accent-red);font-family:var(--font-display);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1;white-space:normal}.schedule-event-title{flex:1;min-width:0;overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.schedule-event-icon{flex-shrink:0;color:var(--text-secondary);font-size:1.1rem;line-height:1;transition:transform var(--transition-ui)}.schedule-event-toggle:hover .schedule-event-time,.schedule-event-toggle:focus-visible .schedule-event-time,.schedule-event-toggle:active .schedule-event-time,.schedule-event-toggle[aria-expanded="true"] .schedule-event-time,.schedule-event-toggle:hover .schedule-event-title,.schedule-event-toggle:focus-visible .schedule-event-title,.schedule-event-toggle:active .schedule-event-title,.schedule-event-toggle[aria-expanded="true"] .schedule-event-title,.schedule-event-toggle:hover .schedule-event-icon,.schedule-event-toggle:focus-visible .schedule-event-icon,.schedule-event-toggle:active .schedule-event-icon,.schedule-event-toggle[aria-expanded="true"] .schedule-event-icon{color:var(--color-base-white)}.schedule-event-icon::after{content:"\203A"}.schedule-event-toggle[aria-expanded="true"] .schedule-event-icon{transform:rotate(90deg)}.schedule-event-detail-body{padding:15px 21px;margin:-21px var(--space-2) 0;background-color:#deceba;color:var(--text-primary);font-size:var(--type-body-size);line-height:1.55}.activities-my-detail-title-row{margin:var(--space-2) 0 var(--space-1)}.activities-my-detail-title-row .activities-my-status{display:block;margin-top:4px;padding:0;border-radius:0;background:transparent;color:var(--color-accent-blue);font-size:var(--type-caption-size);font-weight:700;text-transform:uppercase}.schedule-event-detail-title{min-width:0;margin:var(--space-2) 0 var(--space-1);font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.2;color:var(--text-primary)}.activities-my-detail-title-row .schedule-event-detail-title{color:var(--color-accent-blue)}.schedule-event-detail-bottom-edge{display:block;width:calc(100% - 2 * var(--space-2));height:26px;margin:0 var(--space-2);background-image:url("../bg/beige_bot_border-605x26.png");background-repeat:no-repeat;background-size:100% 100%;background-position:top center}#home-faq{--faq-text-size:clamp(0.9rem,2.64vw,1.14rem);margin-top:var(--space-2);font-family:var(--font-body);font-size:var(--faq-text-size);line-height:1.45}#home-faq .faq-section-title{margin:var(--space-3) 0 var(--space-1);font-family:var(--font-body);font-weight:700;letter-spacing:normal;text-transform:none}#home-faq .faq-section-title:first-child{margin-top:0}.paint-edge-frame{position:relative;margin:6px 0;padding:7px 0;background:transparent;cursor:pointer}.paint-edge-frame::before,.paint-edge-frame::after{content:"";position:absolute;left:0;right:0;height:7px;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none;z-index:1}.paint-edge-frame::before{top:0;background-image:var(--surface-notify-box-top-image)}.paint-edge-frame::after{bottom:0;background-image:var(--surface-notify-box-bot-image)}.paint-edge-inner{background:var(--surface-card)}#home-faq .faq-item{margin:var(--space-1) 0}#home-faq .faq-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem;padding:6px var(--space-2);margin:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:inherit;font-weight:700;letter-spacing:normal;line-height:inherit;text-align:left;text-transform:none;cursor:pointer}#home-faq .faq-trigger-text{flex:1;min-width:0;overflow-wrap:break-word}#home-faq .faq-trigger:hover,#home-faq .faq-trigger:focus-visible,#home-faq .faq-trigger:active,#home-faq .faq-trigger[aria-expanded="true"]{background:transparent;color:var(--color-accent-teal);transform:none}#home-faq .faq-trigger[aria-expanded="true"]{padding-bottom:2px}#home-faq .faq-trigger-icon{flex-shrink:0;width:1.25rem;color:var(--color-accent-teal);font-weight:700;line-height:1.35;text-align:center}#home-faq .faq-trigger-icon::after{content:"+"}#home-faq .faq-trigger[aria-expanded="true"] .faq-trigger-icon::after{content:"\2212"}#home-faq .faq-panel-body{padding:0 var(--space-2) var(--space-2);color:var(--text-primary);font-family:inherit;font-size:inherit;font-weight:400;line-height:inherit;text-transform:none}#home-faq .faq-panel-body p{margin:0 0 var(--space-1)}#home-faq .faq-panel-body p:last-child{margin-bottom:0}#home-faq .faq-panel-body ul{margin:.35rem 0 0;padding-left:1.25rem}.offline-indicator,.online-indicator{font-size:.9rem;font-weight:600}.setting-group:last-child{border-bottom:0}.debug-info-container{font-size:1rem;line-height:1.7}.debug-line{margin:var(--space-1) 0;color:var(--text-secondary)}.debug-line:empty{display:none}.debug-line strong{color:var(--text-primary);font-weight:700}.setting-item{margin:var(--space-1) 0}.setting-note,.setting-result{margin-bottom:var(--space-1);color:var(--text-secondary);font-size:var(--type-caption-size)}.setting-result{margin-top:var(--space-1)}.setting-actions{display:flex;flex-wrap:wrap;gap:var(--space-1)}.setting-item label{display:block;margin-bottom:4px;font-weight:600}.setting-item input[type="checkbox"]{margin-right:var(--space-1)}.setting-item select,#ticket-input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-accent-blue);border-radius:var(--radius-card);background:var(--surface-warm);color:var(--text-primary);font:inherit}button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;height:48px;margin:4px 4px 4px 0;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--color-accent-red);color:var(--color-base-white);font-family:var(--font-body);font-size:var(--type-label-size);font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;cursor:pointer;transition:filter var(--transition-ui),transform var(--transition-ui)}.activity-register-btn{width:100%;background:var(--color-accent-teal)}button:hover{filter:brightness(0.92)}button:active{transform:scale(0.97)}button:disabled{background:var(--surface-warm);color:var(--text-muted);cursor:not-allowed;opacity:.7}.loading{opacity:.5}#install-banner{position:fixed;top:0;right:0;left:0;z-index:10010;font-family:inherit;padding-top:calc(12px+env(safe-area-inset-top))}#network-status{position:fixed;top:0;right:0;left:0;z-index:8888;display:none;padding:var(--space-1);background:var(--color-accent-red);color:var(--color-base-white);font-family:var(--font-body);font-size:var(--type-caption-size);font-weight:700;text-align:center;text-transform:uppercase}.offline #network-status{display:block !important}.basic-mode .feature-list::before{content:"Basic Mode: ";font-weight:700}.cache-cleared-message,.app-toast{position:fixed;top:50%;left:50%;z-index:10000;padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-accent-teal);color:var(--color-base-white);box-shadow:var(--surface-shadow);font-family:var(--font-body);text-align:center;transform:translate(-50%,-50%)}.app-toast--high{z-index:10060;max-width:90vw}.cache-cleared-message-title,.app-toast__title{margin-bottom:4px;font-weight:700;text-transform:uppercase}.cache-cleared-message-text,.app-toast__text{font-size:var(--type-caption-size)}#notification-banner{position:fixed;top:0;right:0;left:0;z-index:9998;display:none}.notification-banner__inner,.install-banner__inner,.update-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-accent-teal);color:var(--color-base-white);font-family:var(--font-body);font-size:var(--type-caption-size);font-weight:700;box-shadow:var(--surface-shadow)}#update-banner{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10005;display:flex;align-items:center;justify-content:center;pointer-events:none}.update-banner__inner{width:90%;max-width:400px;border-radius:var(--radius-sm);pointer-events:all}.notification-banner__content{display:flex;flex:1;align-items:center;gap:var(--space-1)}.notification-banner__actions{display:flex;flex-shrink:0;align-items:center;gap:var(--space-1)}.notification-banner__enable,.notification-banner__dismiss,.install-banner__action,.install-banner__dismiss,.update-banner__button{height:36px;min-height:36px;padding:0 var(--space-2);border-radius:18px;background:var(--surface-card);color:var(--color-accent-teal)}.notification-banner__dismiss,.install-banner__dismiss{width:36px;min-width:36px;padding:0}#notifications h2.notifications-headline{display:block;width:100%;text-align:center}.notifications-headline-title{display:block;width:100%;text-align:center}.section-brush-headline{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin:var(--space-2) 0;padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-card);overflow:hidden;box-sizing:border-box}.section-brush-headline::before{content:"";position:absolute;inset:0;background-image:var(--surface-stroke-highlight-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:.95;pointer-events:none;z-index:-1}.section-brush-headline__title,#schedule>h2.section-brush-headline{margin:0;width:100%;color:var(--color-base-white);font-family:var(--font-heading);font-size:var(--type-h3-size);font-weight:600;letter-spacing:.06em;line-height:1.2;text-align:center;text-transform:uppercase}.notification-day-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);margin:var(--space-3) 0 var(--space-1)}.notification-day-header-row .notification-day-header{flex:1;min-width:0;margin:0;padding-bottom:var(--space-1)}.notifications-mark-all-read{flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:50%;background:var(--color-base-ivory);color:var(--color-accent-red);font-size:inherit;font-weight:inherit;letter-spacing:normal;line-height:1;text-transform:none;box-shadow:none}.notifications-mark-all-read:hover{filter:brightness(0.96);background:var(--color-base-ivory);color:var(--color-accent-red)}.notifications-mark-all-read:active{transform:scale(0.94)}.notifications-mark-all-read:disabled{background:var(--color-base-ivory);color:var(--text-muted);opacity:.6;cursor:not-allowed}.notifications-mark-all-read svg{display:block;width:22px;height:22px}.notifications-mark-all-read[hidden]{display:none !important}.notification-card{position:relative;margin:6px 0;padding:7px 0;background:transparent;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.notification-card-inner{display:grid;grid-template-columns:1fr 50px;column-gap:var(--space-1);align-items:start;min-height:calc(56px - 14px);padding:var(--space-1) 28px;background:var(--surface-card)}.notification-card::before,.notification-card::after{content:"";position:absolute;left:0;right:0;height:7px;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none;z-index:1}.notification-card::before{top:0;background-image:var(--surface-notify-box-top-image)}.notification-card::after{bottom:0;background-image:var(--surface-notify-box-bot-image)}.notification-card[data-type="personal"]{border:0}.notification-dot{display:none;width:10px;height:10px;border-radius:50%;background:var(--color-accent-red)}.notification-card[data-status="unread"] .notification-dot{display:block}.notification-card[data-status="unread"] .notification-time{display:none}.notification-content{min-width:0}.notification-title{display:block;overflow:hidden;color:var(--text-primary);font-size:var(--type-body-size);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.notification-card[data-status="unread"] .notification-title{font-weight:700}.message-body{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;transition:max-height var(--transition-ui),opacity var(--transition-ui)}.message-body p{margin:4px 0 0;color:var(--text-secondary);font-size:1rem;line-height:1.45}.notification-card.expanded .message-body{display:block;-webkit-line-clamp:unset}.notification-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.notification-time,small.notifydate{color:var(--text-secondary);font-size:var(--type-label-size)}.chevron{display:inline-block;transition:transform var(--transition-ui)}.chevron::after{content:"";display:block;width:6px;height:6px;border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);transform:rotate(45deg)}.notification-card.expanded .chevron{transform:rotate(180deg)}small.notifydate{display:block;margin-top:6px}.notification-empty-state{padding:2rem 1rem;color:var(--text-secondary);text-align:center}.activities-my-section{margin:0 0 var(--space-3)}.activities-my-section>.paint-edge-inner{background:transparent;padding:0}.activities-my-heading,.activities-my-section .schedule-day-header{padding-left:var(--space-2);padding-right:var(--space-2)}.activities-my-section .schedule-event-toggle::before{background-image:var(--surface-stroke-row-image)}.activities-my-section .schedule-event-toggle .schedule-event-time{color:var(--color-accent-blue)}.activities-my-section .schedule-event-toggle[aria-expanded="true"]::before{background-image:var(--surface-stroke-blue-image);opacity:.95}.activities-my-section .schedule-event-toggle[aria-expanded="true"] .schedule-event-time{color:var(--color-base-white)}.activities-my-list{margin:0;padding:0;list-style:none}.activities-my-item--cancelled .schedule-event-title{text-decoration:line-through;opacity:.7}.activity-location{color:var(--text-primary);font-weight:700}.event-location{display:flex;justify-content:flex-end;align-items:center;margin:var(--space-2) 0 0}.event-location-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-primary);font-weight:700;text-decoration:none}.event-location-pin{width:16px;height:16px;flex-shrink:0}.activity-capacity-hint,.activity-no-signup-note{color:var(--text-secondary);font-size:var(--type-caption-size)}.activities-my-status{display:inline-block;align-self:flex-start;margin-top:4px;padding:2px var(--space-1);border-radius:16px;background:var(--surface-warm);color:var(--text-primary);font-size:var(--type-caption-size);font-weight:700;text-transform:uppercase}.activities-my-status--pending{background:var(--color-accent-blue);color:var(--color-base-white)}.activities-my-status--won,.activity-status-block--won{background:var(--color-accent-teal);color:var(--color-base-white)}.activity-status-block--won::before{display:none}.activities-my-status--lost,.activity-status-block--lost{background:var(--color-accent-red);color:var(--color-base-white)}.activity-status-block--lost::before{display:none}.activities-my-status--redeemed,.activity-status-block--redeemed{background:var(--color-accent-blue);color:var(--color-base-white)}.activity-status-block--redeemed::before{display:none}.activities-my-status--cancelled,.activity-status-block--cancelled{background:var(--surface-warm);color:var(--text-muted)}.activities-my-item--cancelled,.schedule-event--cancelled{opacity:.8}.activities-my-item--cancelled .schedule-event-title{text-decoration:line-through}.activities-my-title-icon{flex-shrink:0;font-size:.9em;line-height:1}.activities-my-title-icon--pending{display:inline-block;width:1.125rem;height:1.125rem;font-size:0;line-height:0;background-color:var(--text-muted);-webkit-mask-image:url("../icons/clock.svg");mask-image:url("../icons/clock.svg");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.schedule-event-toggle:hover .activities-my-title-icon--pending,.schedule-event-toggle:focus-visible .activities-my-title-icon--pending,.schedule-event-toggle:active .activities-my-title-icon--pending,.schedule-event-toggle[aria-expanded="true"] .activities-my-title-icon--pending{background-color:var(--color-base-white)}.activities-my-title-icon--won,.activities-my-title-icon--redeemed{color:#3a9e5f}.activities-my-title-icon--lost{color:var(--color-accent-red)}.activities-my-item--cancelled .schedule-event-detail-title,.activities-my-item--cancelled .activity-status-msg{text-decoration:none}.activities-cancel-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-accent-blue);font-size:1rem;line-height:1}.activities-cancel-btn:hover,.activities-cancel-btn:active{background:transparent;color:var(--color-accent-red);filter:none}.activities-cancel-btn--inline{width:100%;padding:0 var(--space-2)}.activity-register-btn:disabled,.activities-cancel-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.activity-registration-area{display:flex;flex-direction:column;align-items:stretch;margin-top:var(--space-2);padding-top:var(--space-2)}.activity-status-block{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);width:100%;background:transparent;overflow:hidden}.activity-status-block::before{content:"";position:absolute;inset:0;background-image:var(--surface-stroke-white-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:.99;pointer-events:none;z-index:-1}.activity-status-block .activities-cancel-btn--inline{margin:var(--space-1) auto 0}.activity-status-block--won .activity-status-msg,.activity-status-block--lost .activity-status-msg,.activity-status-block--redeemed .activity-status-msg{color:var(--color-base-white)}.activity-status-msg{margin:0;color:var(--text-primary);font-size:var(--type-body-size);line-height:1.45}.activity-status-msg--won{font-weight:700}.quick-status-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:var(--space-2)}.quick-status-modal[hidden]{display:none !important}.quick-status-modal__backdrop{position:absolute;inset:0;background:var(--overlay-soft)}.quick-status-modal__dialog{position:relative;width:100%;max-width:380px;max-height:min(90vh,520px);overflow-y:auto;padding:var(--space-3) var(--space-3) var(--space-2);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--surface-shadow);text-align:left}.quick-status-modal__title{margin:0 var(--space-4) var(--space-2) 0;font-family:var(--font-display);font-size:var(--type-h2-size);font-weight:700;text-transform:uppercase}.quick-status-modal__close{position:absolute;top:var(--space-1);right:var(--space-1);width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:22px}.quick-status-modal__close:hover{background:var(--surface-warm)}.quick-status-modal__row{margin-bottom:var(--space-2)}.quick-status-modal__label{display:block;margin-bottom:4px;color:var(--text-secondary);font-size:var(--type-label-size);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.quick-status-modal__value{color:var(--text-primary);font-size:var(--type-body-size);word-break:break-word}.quick-status-modal__value--online{color:var(--color-accent-teal);font-weight:700}.quick-status-modal__value--offline{color:var(--color-accent-red);font-weight:700}.quick-status-modal__actions{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.quick-status-modal__actions button{width:100%}.quick-status-modal__actions button:disabled{opacity:.4;cursor:not-allowed}.quick-status-modal__btn-logout{background:var(--color-accent-red) !important;color:var(--color-base-white) !important}.install-banner__inner{background:var(--surface-card);color:var(--text-primary)}.install-banner__copy{flex:1}@keyframes install-banner-slide-up{from{transform:translateY(0)}to{transform:translateY(-100%)}}.pwa-install-sheet{z-index:10020;max-height:85vh;overflow-y:auto;text-align:left}.pwa-install-sheet .modal-message__title,.pwa-install-sheet .modal-message__body{text-align:center}.pwa-install-sheet__steps{margin:0 0 var(--space-2);padding:0;list-style:none}.pwa-install-sheet__step{display:flex;align-items:flex-start;gap:var(--space-1);margin-bottom:var(--space-1);line-height:1.5}.pwa-install-sheet__step-num{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--color-accent-teal);color:var(--color-base-white);font-size:var(--type-caption-size);font-weight:700;line-height:1.5rem;text-align:center}.pwa-install-sheet__step-text{flex:1;font-size:.9rem}.pwa-install-sheet__share-icon{display:inline-block;width:1.1em;height:auto;vertical-align:middle;color:var(--text-primary)}.pwa-prompt-arrow{position:fixed;z-index:10015;pointer-events:none;color:var(--color-accent-red);font-size:2rem;font-weight:700;line-height:1;text-shadow:0 1px 4px rgba(24,20,21,0.2)}.pwa-prompt-arrow--bottom{bottom:80px;left:50%;transform:translateX(-50%);animation:pwa-bounce-down 1.2s ease-in-out infinite}.pwa-prompt-arrow--top-right{top:72px;right:24px;animation:pwa-bounce-up-right 1.2s ease-in-out infinite}.pwa-prompt-arrow--top-right .pwa-prompt-arrow__glyph{display:inline-block;transform:rotate(-45deg)}@keyframes pwa-bounce-down{0,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}@keyframes pwa-bounce-up-right{0,100%{transform:translate(0,0)}50%{transform:translate(4px,-8px)}}@media(prefers-reduced-motion:reduce){.pwa-prompt-arrow--bottom,.pwa-prompt-arrow--top-right{animation:none}}.pwa-use-app-modal{z-index:10020}.install-success{position:fixed;top:50%;left:50%;z-index:10000;padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-accent-teal);color:var(--color-base-white);box-shadow:var(--surface-shadow);font-family:var(--font-body);text-align:center;transform:translate(-50%,-50%)}.modal-message{position:fixed;top:50%;left:50%;z-index:10000;width:min(90vw,400px);padding:var(--space-3);border-radius:var(--radius-card);background:var(--surface-card);color:var(--text-primary);box-shadow:var(--surface-shadow);font-family:var(--font-body);text-align:center;transform:translate(-50%,-50%)}.modal-message--warning{border:2px solid var(--color-accent-red)}.modal-message--info{border:2px solid var(--color-accent-blue)}.modal-message--scroll{max-height:80vh;overflow-y:auto;text-align:left}.modal-message__title{margin-bottom:var(--space-1);color:var(--text-primary);font-family:var(--font-heading);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.modal-message__icon{margin-bottom:var(--space-1);font-size:32px}.modal-message__title--accent{color:var(--color-accent-red)}.modal-message__body{margin-bottom:var(--space-2);font-size:.9rem;line-height:1.5}.modal-message__list{margin:0 0 var(--space-2) 20px;line-height:1.8}.modal-message__button{margin:0}.notification-toast{position:fixed;top:20px;right:20px;z-index:10000;padding:12px 20px;border-radius:var(--radius-card);background:var(--color-accent-teal);color:var(--color-base-white);box-shadow:var(--surface-shadow);font-family:var(--font-body);font-size:var(--type-caption-size);font-weight:700}.notification-toast--success{background:var(--color-accent-teal)}.notification-toast--error{background:var(--color-accent-red)}.notification-toast--info{background:var(--color-accent-blue)}.status-positive{color:var(--color-accent-teal)}.status-negative{color:var(--color-accent-red)}.status-neutral{color:var(--text-secondary)}.breakable-code{word-break:break-all}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;max-width:816px;margin:0 auto;padding:0 0 var(--space-1)}.info-tile{position:relative;display:block;width:100%;height:auto;min-height:0;margin:0;padding:0;aspect-ratio:1 / 1;border:0;border-radius:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-ui),filter var(--transition-ui)}.info-tile:hover{filter:brightness(0.94)}.info-tile:active{transform:scale(0.97)}.info-tile--info{grid-column:1 / span 1;aspect-ratio:1 / 1}.info-tile--ticket{grid-column:2 / span 2;aspect-ratio:533 / 267}.info-tile--goodiebag{grid-column:1 / -1;aspect-ratio:801 / 267}.info-tile--mysterygame{grid-column:1 / -1;aspect-ratio:801 / 267}.info-tile--sightseeing,.info-tile--gatchapons{grid-column:1 / -1;aspect-ratio:801 / 267}.info-tile--registration{grid-column:1 / span 2;aspect-ratio:534 / 267}.info-tile--photobooth{grid-column:3 / span 1;aspect-ratio:1 / 1}.info-tile--map{grid-column:1 / span 1;aspect-ratio:1 / 1}.info-tile--notifications{grid-column:2 / span 2;aspect-ratio:534 / 267}.info-tile--info{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/infofaq_267x267.png")}.info-tile--ticket{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/ticket_533x267.png")}.info-tile--goodiebag{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/goodiebag_v4-min.png")}.info-tile--mysterygame{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/mystery_v4-min.png")}.info-tile--sightseeing{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/sightseeing_801x267-min.png")}.info-tile--registration{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/register_534x267.png")}.info-tile--photobooth{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/tritails_267x267.png")}.info-tile--map{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/map_267x267-min.png")}.info-tile--notifications{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/notification_534x267-min.png")}.info-tile--gatchapons{background-image:url("https://aetheryte.ffxivff.com/res/icons/title/craftingarea_801x267-min.png")}.info-tile--meet,.info-tile--merch,.info-tile--craft{grid-column:1 / -1;aspect-ratio:801 / 267}.info-tile--meet{background-image:url("https://aetheryte.ffxivff.com/res/icons/activities/Tile_MeetGreet_801x267-min.png")}.info-tile--merch{background-image:url("https://aetheryte.ffxivff.com/res/icons/activities/Tile_MerchShop_801x267-min.png")}.info-tile--craft{background-image:url("https://aetheryte.ffxivff.com/res/icons/activities/Tile_CraftingArea_801x267-min.png")}#info.info-showing-view .info-grid{display:none}.info-view{display:none;padding-bottom:var(--space-4)}.info-view.active{display:block;margin-top:calc(-1 * var(--space-1))}.info-view .schedule-events li+li{margin-top:var(--space-2)}.info-view__close{position:absolute;top:var(--space-1);right:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;transition:opacity var(--transition-ui)}.info-view__close:hover{filter:none;opacity:.6}.info-view__close:active{transform:scale(0.94)}.info-view__close img{display:block;filter:grayscale(1) brightness(0.15);width:22px;height:auto}.info-view__close-inline{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;transition:opacity var(--transition-ui)}.info-view__close-inline:hover{filter:none;opacity:.7}.info-view__close-inline:active{transform:scale(0.94)}.info-view__close-inline img{display:block;width:18px;height:auto;filter:grayscale(1) brightness(10)}.info-view .schedule-events{list-style:none;margin:0;padding:0}.info-view .schedule-events li::before{content:none}.info-view .schedule-event-title{font-family:var(--font-heading);font-size:var(--type-h4-size);font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.info-view .schedule-event-detail-body{max-width:none}#info-view-photobooth .schedule-event-detail-body,#info-view-sightseeing .schedule-event-detail-body,#info-view-goodiebag .schedule-event-detail-body,#info-view-gatchapons .schedule-event-detail-body{padding-top:30px}#goodiebag-status{margin:var(--space-3) 0 var(--space-2)}.goodiebag-status__bar,.photobooth-status__bar{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:6px var(--space-2);margin:0;overflow:hidden}.goodiebag-status__bar::before,.photobooth-status__bar::before{content:"";position:absolute;inset:0;background-image:var(--surface-stroke-blue-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:.95;pointer-events:none;z-index:-1}.goodiebag-status__text,.photobooth-status__text{flex:1;min-width:0;color:var(--color-base-white);font-family:var(--font-body);font-size:clamp(0.78rem,2.6vw,var(--type-label-size));font-weight:600;line-height:1.25;text-align:center;letter-spacing:.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.goodiebag-status__note{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--type-caption-size);text-align:center}.goodiebag-status__location{display:flex;justify-content:center;margin:var(--space-2) 0 0;padding:0;text-align:center}.goodiebag-status__location .event-location-link{display:inline-flex;align-items:center;justify-content:center;gap:4px}.goodiebag-ticket-qr{display:flex;justify-content:center;margin:var(--space-3) 0}.goodiebag-ticket-qr[hidden]{display:none !important}.goodiebag-ticket-qr .ticket-qr-modal__card{cursor:default;pointer-events:none}.photobooth-my-photos-heading{margin:var(--space-3) 0 var(--space-2);padding:0;color:var(--text-primary);font-family:var(--font-heading);font-size:var(--type-body-size);font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.photobooth-content{margin:0}.photobooth-content .photobooth-status__bar+.photobooth-status__bar{margin-top:var(--space-1)}.photobooth-content .photobooth-status__bar+.photobooth-msg{margin-top:20px}.photobooth-status__text a{color:var(--color-base-white);font-weight:700;text-decoration:underline}.photobooth-msg{margin:0 0 var(--space-2)}.photobooth-msg:last-child{margin-bottom:0}.photobooth-collage-link{display:block;min-width:44px;min-height:44px;margin-top:var(--space-2)}.photobooth-collage-img{display:block;width:100%;max-width:100%;height:auto;border:1px solid rgba(24,20,21,0.2);border-radius:var(--radius-card);box-sizing:border-box}.photobooth-open-link{display:inline-block;min-width:44px;min-height:44px;margin-top:var(--space-2);line-height:44px;color:var(--color-accent-teal);text-decoration:none}.photobooth-open-link:hover{text-decoration:underline}.sightseeing-content{margin:0}.sightseeing-content .sightseeing-intro{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--type-h3-size);font-weight:600;letter-spacing:-0.01em;line-height:1.2;text-transform:uppercase}.sightseeing-intro-lede{margin:0 0 var(--space-3);color:var(--text-secondary);font-size:var(--type-body-size);line-height:1.45}.sightseeing-category{margin:0 0 var(--space-1);padding-top:var(--space-3);color:var(--text-primary);font-family:var(--font-heading);font-size:var(--type-h4-size);font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.sightseeing-category:first-of-type{padding-top:var(--space-2)}.sightseeing-entries{list-style:none;margin:0;padding:0}.sightseeing-entry{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0;padding:var(--space-2) 0;border-bottom:1px solid rgba(24,20,21,0.08)}.sightseeing-entry:last-child{border-bottom:0}.sightseeing-entry-text{flex:1;min-width:0}.sightseeing-entry-title{margin:0 0 2px;font-weight:700;line-height:1.35}.sightseeing-entry-desc{margin:0;color:var(--text-secondary);line-height:1.4}.sightseeing-entry-location{flex-shrink:0;margin:0;opacity:.8;text-align:right}.sightseeing-entry-location .event-location-link{display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:3px;max-width:7.5rem;font-size:.8rem;font-weight:600;line-height:1.2;text-align:right;white-space:nowrap}.sightseeing-entry-location .event-location-pin{width:13px;height:13px;flex-shrink:0}html.section-header-compact #app-header{margin-bottom:0;padding-bottom:0}html.section-header-compact .header-logo{margin-bottom:0}html.section-header-compact #activities h1.section-brush-headline{margin-top:0}html.section-info-active .header-text.header-extra{display:none !important}@media(min-width:768px){.container{max-width:768px;padding:0 var(--space-3)}}@media(min-width:1024px){.container{max-width:1024px}}.activity-modal{display:none;margin:0;padding:0 0 var(--space-2)}#activities.activities--modal-open h1.activities-headline,#activities.activities--modal-open .info-grid{display:none}.activity-modal.active{display:block}.activity-modal__header{justify-content:space-between;gap:var(--space-2);margin:var(--space-2) var(--space-2) 0;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2)}.activity-modal__title{flex:1;min-width:0;text-align:left}.activity-modal__close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;transition:opacity var(--transition-ui)}.activity-modal__close:hover{opacity:.7}.activity-modal__close:active{transform:scale(0.94)}.activity-modal__close img{display:block;width:18px;height:auto;filter:grayscale(1) brightness(10)}.activity-modal__body{max-width:816px;margin:var(--space-2) var(--space-2) var(--space-4);padding:var(--space-2);background:var(--surface-card);border-radius:var(--radius-card);box-shadow:var(--surface-shadow)}.activity-modal__desc{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--type-body-size)}.activity-modal__offline-note{margin:0 0 var(--space-2);padding:var(--space-2);background:var(--color-base-sand);border-radius:var(--radius-card);color:var(--text-primary);font-size:var(--type-caption-size)}.activity-modal__offline-block{margin:var(--space-2) 0;padding:var(--space-2);background:var(--color-base-sand);border-radius:var(--radius-card);color:var(--text-primary)}.activity-view{display:none}.activity-view.active{display:block}.activity-day-header{margin:var(--space-2) 0 var(--space-1);font-family:var(--font-heading);font-size:var(--type-h4-size);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.activity-section-header{margin:var(--space-1) 0 var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid rgba(24,20,21,0.12);font-family:var(--font-heading);font-size:var(--type-h3-size);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-red)}.activity-slot-grid{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.activity-slot{position:relative;isolation:isolate;z-index:1;display:flex;flex-direction:row;align-items:center;width:100%;min-height:72px;padding:var(--space-1) 0 var(--space-1) var(--space-2);border:0;border-radius:0;background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:default;overflow:hidden;transition:color var(--transition-ui)}.activity-slot__info{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:var(--space-2)}.activity-slot__cancel{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;margin-left:auto;margin-right:15px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-primary);font-size:1.95rem;line-height:1;opacity:.75;cursor:pointer;transition:opacity var(--transition-ui),background var(--transition-ui);position:relative;z-index:1}.activity-slot__cancel:hover{opacity:1;background:rgba(24,20,21,0.15)}.activity-slot--state-won .activity-slot__cancel,.activity-slot--state-redeemed .activity-slot__cancel{color:var(--color-base-white);background:rgba(255,255,255,0.2)}.activity-slot::before{content:"";position:absolute;inset:0;background-image:var(--surface-stroke-row-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:.99;pointer-events:none;z-index:-1}.activity-slot__time{flex-shrink:0;color:var(--color-accent-red);font-family:var(--font-display);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.activity-slot__title{grid-column:1 / -1;grid-row:2;font-size:var(--type-caption-size);font-weight:700;line-height:1.3}.activity-slot__status{grid-column:2;grid-row:1;padding-right:6px;text-align:right;font-size:var(--type-caption-size);font-weight:600;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-slot__time{grid-row:1}.activity-slot--state-pending{cursor:pointer}.activity-slot--state-pending .activity-slot__status{display:inline-flex;align-items:center;gap:4px;color:var(--color-base-black);font-weight:300}.activity-slot--state-pending .activity-slot__status-icon{display:inline-block;flex-shrink:0;width:14px;height:14px;opacity:.55}.activity-slot--past{opacity:.4;pointer-events:none}.activity-slot--state-won::before{background-image:var(--surface-stroke-highlight-image);opacity:.95}.activity-slot--state-won,.activity-slot--state-won .activity-slot__time,.activity-slot--state-won .activity-slot__title,.activity-slot--state-won .activity-slot__status{color:var(--color-base-white)}.activity-slot--state-redeemed::before{background-image:var(--surface-stroke-blue-image);opacity:.95}.activity-slot--state-redeemed,.activity-slot--state-redeemed .activity-slot__time,.activity-slot--state-redeemed .activity-slot__title,.activity-slot--state-redeemed .activity-slot__status{color:var(--color-base-white)}.activity-slot--state-lost{opacity:.55}.activity-slot--state-cancelled{text-decoration:line-through;opacity:.55}.activity-slot--selectable{cursor:pointer}.activity-slot--selectable:hover::before,.activity-slot--selectable:focus-visible::before,.activity-slot--selectable:active::before{background-image:var(--surface-stroke-highlight-image);opacity:.95}.activity-slot--selectable:hover,.activity-slot--selectable:focus-visible,.activity-slot--selectable:active,.activity-slot--selectable:hover .activity-slot__time,.activity-slot--selectable:focus-visible .activity-slot__time,.activity-slot--selectable:active .activity-slot__time,.activity-slot--selectable:hover .activity-slot__title,.activity-slot--selectable:focus-visible .activity-slot__title,.activity-slot--selectable:active .activity-slot__title,.activity-slot--selectable:hover .activity-slot__status,.activity-slot--selectable:focus-visible .activity-slot__status,.activity-slot--selectable:active .activity-slot__status{color:var(--color-base-white)}.activity-slot--selectable:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px}.activity-poi-list{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.activity-poi-list__item{position:relative;isolation:isolate;z-index:1;width:100%;min-height:56px;padding:var(--space-2) var(--space-3);border:0;border-radius:0;background:transparent;color:var(--text-primary);font:inherit;font-weight:700;text-align:left;cursor:pointer;overflow:hidden}.activity-poi-list__item::before{content:"";position:absolute;inset:0;background-image:var(--surface-stroke-row-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:.99;pointer-events:none;z-index:-1}.activity-poi-list__item:hover::before,.activity-poi-list__item:focus-visible::before,.activity-poi-list__item:active::before{background-image:var(--surface-stroke-highlight-image);opacity:.95}.activity-poi-list__item:hover,.activity-poi-list__item:focus-visible,.activity-poi-list__item:active{color:var(--color-base-white)}.activity-timeslot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);margin-bottom:var(--space-2)}.activity-timeslot-cell{position:relative;isolation:isolate;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;padding:var(--space-1);border:0;border-radius:0;background:transparent;color:var(--text-primary);font:inherit;text-align:center;cursor:default;overflow:hidden}.activity-timeslot-cell::before{content:"";position:absolute;inset:0;background-image:var(--surface-stroke-row-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:.99;pointer-events:none;z-index:-1}.activity-timeslot-cell__time{font-family:var(--font-display);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.activity-timeslot-cell__status{margin-top:2px;font-size:.65rem;font-weight:600;line-height:1.2;opacity:.85}.activity-timeslot-cell--selectable{cursor:pointer}.activity-timeslot-cell--selectable:hover::before,.activity-timeslot-cell--selectable:focus-visible::before{background-image:var(--surface-stroke-highlight-image);opacity:.95}.activity-timeslot-cell--selectable:hover,.activity-timeslot-cell--selectable:focus-visible{color:var(--color-base-white)}.activity-timeslot-cell--selected::before{background-image:var(--surface-stroke-blue-image);opacity:.95}.activity-timeslot-cell--selected,.activity-timeslot-cell--selected .activity-timeslot-cell__time,.activity-timeslot-cell--selected .activity-timeslot-cell__status{color:var(--color-base-white)}.activity-timeslot-cell--won::before{background-image:var(--surface-stroke-highlight-image);opacity:.95}.activity-timeslot-cell--won,.activity-timeslot-cell--won .activity-timeslot-cell__time,.activity-timeslot-cell--won .activity-timeslot-cell__status{color:var(--color-base-white)}.activity-timeslot-cell--lost,.activity-timeslot-cell--closed{opacity:.45;pointer-events:none}.activity-timeslot-save{margin-bottom:var(--space-3)}.activity-timeslot-save__hint{margin:0 0 var(--space-1);font-size:var(--type-caption-size);font-weight:600;color:var(--color-accent-red)}.activity-timeslot-save__btn{width:100%;min-height:48px;padding:0 var(--space-3);border:2px solid var(--color-accent-blue);border-radius:999px;background:transparent;color:var(--color-accent-blue);font:inherit;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform var(--transition-ui),opacity var(--transition-ui)}.activity-timeslot-save__btn:disabled{opacity:.4;cursor:not-allowed}.activity-timeslot-save__btn:not(:disabled):active{transform:scale(0.97)}.activity-modal__actions{display:flex;gap:var(--space-1);margin-top:var(--space-2)}.activity-modal__back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:var(--space-2);padding:0;border:0;background:transparent;color:var(--color-accent-teal);font:inherit;font-size:var(--type-body-size);cursor:pointer}.activity-modal__back:hover{text-decoration:underline}.activity-modal__cta{flex:1;min-height:48px;margin-top:0;padding:0 var(--space-3);background:transparent;border:2px solid var(--color-accent-blue);border-radius:999px;color:var(--color-accent-blue);font:inherit;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform var(--transition-ui)}.activity-modal__cta:active{transform:scale(0.97)}.activity-modal__dismiss{flex:1;min-height:48px;padding:0 var(--space-2);border:0;border-radius:999px;background:transparent;color:var(--color-accent-teal);font:inherit;font-size:var(--type-body-size);cursor:pointer;transition:transform var(--transition-ui)}.activity-modal__dismiss:active{transform:scale(0.97)}.activity-modal__success{margin:var(--space-2) 0;padding:var(--space-2);background:var(--color-accent-teal);color:var(--color-base-white);border-radius:var(--radius-card);font-size:var(--type-caption-size);text-align:center}.activity-modal .schedule-events{list-style:none;margin:0;padding:0}.activity-modal .schedule-events li::before{content:none}.activity-modal .schedule-event-toggle{cursor:pointer}.activity-modal .schedule-event-toggle:disabled{background:transparent;cursor:default}.activity-modal .activity-meet-row--pending::before,.activity-modal .activity-meet-row--pending:hover::before,.activity-modal .activity-meet-row--pending:focus-visible::before,.activity-modal .activity-meet-row--pending[aria-expanded="true"]::before{background-image:var(--surface-stroke-blue-image);opacity:.95}.activity-modal .activity-meet-row--pending,.activity-modal .activity-meet-row--pending:hover,.activity-modal .activity-meet-row--pending:focus-visible,.activity-modal .activity-meet-row--pending[aria-expanded="true"],.activity-modal .activity-meet-row--pending .schedule-event-time,.activity-modal .activity-meet-row--pending .schedule-event-title,.activity-modal .activity-meet-row--pending .activity-slot__status,.activity-modal .activity-meet-row--pending .schedule-event-icon{color:var(--color-base-white)}.activity-modal .activity-meet-row--pending{cursor:pointer}.activity-modal .activity-meet-row__clock{flex-shrink:0;display:inline-block;width:1.125rem;height:1.125rem;margin-left:auto;margin-right:calc(var(--space-1)+10px);background-color:var(--color-base-white);-webkit-mask-image:url("../icons/clock.svg");mask-image:url("../icons/clock.svg");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.activity-modal .activity-meet-row--won::before{background-image:var(--surface-stroke-highlight-image);opacity:.95}.activity-modal .activity-meet-row--won,.activity-modal .activity-meet-row--won .schedule-event-time,.activity-modal .activity-meet-row--won .schedule-event-title,.activity-modal .activity-meet-row--won .activity-slot__status{color:var(--color-base-white)}.activity-modal .activity-meet-row--cancelled{opacity:.5;pointer-events:none}.activity-modal .activity-meet-row--cancelled .schedule-event-title{text-decoration:line-through}.activity-modal .activity-meet-row--lost,.activity-modal .activity-meet-row--redeemed{opacity:.55;pointer-events:none}.activity-modal .activity-meet-detail__cancel{display:block;width:100%;min-height:44px;margin-top:var(--space-2);padding:0 var(--space-2);border:2px solid var(--color-accent-red);border-radius:999px;background:transparent;color:var(--color-accent-red);font:inherit;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.activity-cancel-confirm__row{cursor:default;pointer-events:none}.activity-cancel-confirm__row--single .schedule-event-time{width:auto;white-space:nowrap}.activity-cancel-confirm__row--single .schedule-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.activity-cancel-confirm__body{margin:0 var(--space-2) var(--space-2);padding:0;background:transparent}.activity-cancel-confirm__body p{margin:0 0 var(--space-2);padding-top:var(--space-1);font-size:var(--type-body-size);line-height:1.55}.activity-cancel-confirm__confirm{display:block;width:100%;min-height:48px;padding:0 var(--space-3);background:var(--color-accent-red);border:0;border-radius:999px;color:var(--color-base-white);font:inherit;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform var(--transition-ui)}.activity-cancel-confirm__confirm:active{transform:scale(0.97)}.activity-cancel-confirm__confirm:disabled{opacity:.6;cursor:default;transform:none}.activity-register-confirm__row{cursor:default;pointer-events:none}.activity-register-confirm__row--single .schedule-event-time{width:auto;white-space:nowrap}.activity-register-confirm__row--single .schedule-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.activity-register-confirm__body{margin:0 var(--space-2) var(--space-2);padding:0;background:transparent}.activity-register-confirm__body .schedule-event-detail-title{margin-top:0;padding-top:var(--space-1)}.activity-register-confirm__details{margin:0 0 var(--space-2)}.activity-register-confirm__details dt{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--type-label-size);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.activity-register-confirm__details dt:first-child{margin-top:0}.activity-register-confirm__details dd{margin:4px 0 0;font-size:var(--type-body-size);line-height:1.45}.activity-register-confirm__time{font-size:var(--type-h4-size);font-weight:600}.activity-register-confirm__note{margin:0 0 var(--space-2);font-size:var(--type-body-size);line-height:1.55}.activity-register-confirm__note--small{margin:var(--space-2) 0 0;font-size:var(--type-caption-size)}.activity-register-confirm__description{margin:0 0 var(--space-2);font-size:var(--type-body-size);line-height:1.55}.activity-register-confirm__register{display:block;width:100%;min-height:48px;padding:0 var(--space-3);background:var(--color-accent-red);border:0;border-radius:999px;color:var(--color-base-white);font:inherit;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform var(--transition-ui)}.activity-register-confirm__register:active{transform:scale(0.97)}.activity-register-confirm__register:disabled{opacity:.6;cursor:default;transform:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;scroll-behavior:auto !important;transition-duration:1ms !important}}@supports(padding:max(0)){body{padding-left:max(0,env(safe-area-inset-left));padding-right:max(0,env(safe-area-inset-right));padding-bottom:max(var(--nav-height),calc(var(--nav-height)+env(safe-area-inset-bottom)))}#install-banner,#network-status{padding-left:max(var(--space-1),env(safe-area-inset-left));padding-right:max(var(--space-1),env(safe-area-inset-right))}}