@import"https://fonts.googleapis.com/icon?family=Material+Icons";.word-tooltip{position:fixed;background-color:#555;color:#fff;padding:30px 10px 10px;border-radius:12px;z-index:1000;width:80vw;max-width:600px;box-shadow:0 8px 16px #0000004d;transition:opacity .2s ease-in-out,transform .2s ease-in-out;transform-origin:bottom center}.word-tooltip:after{display:none}.tooltip-arrow{position:absolute;bottom:-20px;width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:20px solid #555}.tooltip-close{position:absolute;top:8px;right:8px;background:#ffffff1a;border:none;color:#fff;font-size:1.2rem;padding:0;width:48px;height:48px;line-height:48px;text-align:center;border-radius:50%;margin:0;display:flex;align-items:center;justify-content:center}.tooltip-close:hover{background-color:#ffffff4d}.tooltip-content{position:relative;padding:0 15px;margin-top:5px}.tooltip-content h3{margin-top:0;margin-bottom:15px;font-size:clamp(1.4rem,2.5vw,1.8rem);color:#fff;font-style:normal;text-align:left}.tooltip-content p{margin:0;font-size:clamp(1.2rem,2.2vw,1.4rem);text-align:left;line-height:1.4}.highlight-word{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}nav{display:none}div#root{display:flex;flex-direction:column;align-items:center}h1{text-align:left;font-size:clamp(.93rem,2.17vw,1.17rem)}h3{font-size:clamp(.53rem,1.5vw,.67rem);color:#e7e6e6;font-style:italic}p{text-align:center;font-size:clamp(.53rem,1.5vw,.67rem)}.display-container{width:100%;height:100%;display:flex;flex-direction:column;flex:1;min-height:0}.piece-info-container{display:flex;flex-direction:column;align-items:flex-start;margin-top:20px;opacity:0;animation:fadeIn .5s ease-in-out forwards}.piece-info-container.visible{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.composer-image-container{width:100%;height:25vh;overflow:hidden;margin-bottom:20px;position:relative;border-bottom:1px solid rgb(50,50,50)}.composer-image{width:100%;height:100%;object-fit:cover;display:block}.piece-title{color:#fff;font-size:clamp(.93rem,2vw,1.47rem);margin:0;text-transform:uppercase;letter-spacing:2px;text-shadow:2px 2px 8px rgba(0,0,0,.8),-2px -2px 8px rgba(0,0,0,.8)}.composer{font-size:clamp(.73rem,1.33vw,1rem);margin:5px 0 0;padding:0;font-weight:200;color:#d4d4d4;letter-spacing:1.2px;text-shadow:2px 2px 8px rgba(0,0,0,.8),-2px -2px 8px rgba(0,0,0,.8)}.piece-title .subtitle{font-style:italic}body.menu-open{overflow:hidden}.message-display{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;background-color:#000;background-image:-webkit-radial-gradient(circle,#131b29,#000000);background-image:radial-gradient(circle,#131b29,#000)}.message-container{flex:1;display:flex;justify-content:center;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:0;width:100%;box-sizing:border-box;margin-bottom:50px;background:transparent}.message-text{font-size:clamp(2rem,6vw,2.6rem);opacity:0;transition:opacity .5s ease-in-out,transform .5s ease-in-out;text-align:left;line-height:1.4;margin:10px 20px;transform:translateY(20px);-webkit-text-size-adjust:100%;max-width:100%;width:100%;box-sizing:border-box;font-family:Lexend,sans-serif}.message-text.visible{opacity:1;transform:translateY(0)}.message-text.fade-out{opacity:0;transform:translateY(-20px)}.bottom-info{flex-shrink:0;padding:10px 20px;display:flex;flex-direction:column;justify-content:space-around;align-items:flex-start;background-color:#00000087}.bottom-info h1,h2{font-family:Inter,serif}.title-info{padding:5px 0}.piece-title{color:#fff;font-size:clamp(1.6rem,4.5vw,1.9rem);margin:0;text-transform:uppercase;letter-spacing:1px}.composer{font-size:clamp(1.5rem,4vw,1.7rem);margin:2px 0 0;padding:0;font-weight:200;color:#d4d4d4;letter-spacing:.5px}.movement-container{display:flex;flex-direction:row;align-items:center;gap:30px}.movement-text{opacity:0;transition:opacity .5s ease-in-out,transform .5s ease-in-out;text-align:left;font-size:clamp(1.4rem,3.75vw,1.6rem);font-style:italic;color:#fff;font-weight:400;letter-spacing:.5px;margin:0}.movement-text.visible{opacity:1;transform:translateY(0)}.movement-text.fade-out{opacity:0;transform:translateY(-20px)}.timer{font-size:clamp(1.2rem,3vw,1.4rem);color:#ccc;font-family:monospace;-webkit-text-size-adjust:100%}.highlight-word{text-decoration:underline;text-decoration-style:dashed;text-decoration-thickness:2px;text-decoration-color:#ffffffb3;text-underline-offset:6px}.pre-concert-text{text-align:center;color:#fff;margin-bottom:2rem;font-size:clamp(.47rem,1.17vw,.6rem);font-weight:300;text-shadow:0 2px 4px rgba(0,0,0,.3)}.pre-concert-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;width:100%;height:100%}.pre-concert-message.visible{opacity:1;transform:translateY(0)}.pre-concert-message.fade-out{opacity:0;transform:translateY(-20px)}.pre-concert-message h3{font-size:clamp(1.4rem,3vw,2rem);color:#dadada;text-align:center;font-style:italic;margin:0;padding:20px}.error-container{text-align:center;padding:20px;color:#dadada;margin:20px;font-size:clamp(.63rem,1.33vw,.8rem)}.loading-dots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px}.loading-dots span{width:8px;height:8px;background-color:#dadada;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.concert-deck{width:90vw;height:72vh;background-color:#2a2a2a;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 8px #0000004d}.concert-deck .carousel-container{flex:1;display:flex;align-items:center;position:relative}.concert-deck .slide{flex:1;height:100%;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease-in-out;position:absolute;width:100%;left:0;opacity:0;pointer-events:none}.concert-deck .slide.current{opacity:1;pointer-events:auto}.concert-deck .slide-content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;color:#dadada;padding:20px}.concert-deck .slide-content h2{font-size:clamp(1.4rem,3vw,2rem);margin:0 0 10px;color:#fff}.concert-deck .slide-content h3{font-size:clamp(1.2rem,3vw,1.8rem);margin:0 0 20px;color:#888}.concert-deck .image-container{width:100%;max-width:400px;height:238px;margin-bottom:20px;border-radius:10px;overflow:hidden}.concert-deck .image-container img{width:100%;height:100%;object-fit:cover;object-position:0 24%}.concert-deck .slide-content p{font-size:clamp(1.4rem,4vw,1.8rem);line-height:1.5;margin:0}.concert-deck .slide-content h3{padding:0}.concert-deck .slide-indicators{display:flex;justify-content:center;align-items:center;gap:clamp(10px,3vw,20px);padding:clamp(20px,5vw,30px)}.concert-deck .slide-indicators .indicator{width:clamp(10px,3vw,16px);height:clamp(10px,3vw,16px);border-radius:50%;background-color:#ffffff4d;border:none;cursor:pointer;transition:background-color .2s;padding:0;margin:0;-webkit-tap-highlight-color:transparent;outline:none;-webkit-focus-ring-color:transparent}.concert-deck .slide-indicators .indicator.active{background-color:#fffc}.concert-deck .slide-indicators .indicator:active{opacity:.8;transform:scale(.98)}.concert-deck .carousel-nav-button{background-color:#000000b3;color:#fff;border:none;width:clamp(40px,10vw,80px);height:clamp(40px,10vw,80px);border-radius:50%;font-size:1.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;padding:0;opacity:.8;-webkit-tap-highlight-color:transparent;outline:none;-webkit-focus-ring-color:transparent}.concert-deck .carousel-nav-button:active{opacity:1;background-color:#000000e6;transform:scale(.98)}.concert-deck{touch-action:pan-y pinch-zoom}.menu-tab-view{width:100%;height:100%;background-color:#000;color:#fff;overflow-y:auto;display:flex;flex-direction:column;flex:1;min-height:0}.menu-tab-content{flex:1;padding:0 15px 2em;overflow-y:auto;min-height:0;background-color:inherit}.menu-tab-content button{border:none;background-color:inherit;color:#fff;text-align:left;padding:8px 0;cursor:pointer}.menu-details{margin-top:20px}.menu-detail-item{font-size:clamp(1.4rem,4vw,1.8rem);margin-bottom:12px;text-align:center}.menu-detail-item strong{font-weight:700;margin-right:8px}.about-section{margin-top:30px;padding-top:0;border-top:1px solid #444}.about-section h2{font-size:clamp(2.5rem,6vw,3rem);margin-bottom:15px;letter-spacing:2px;color:#fff}.about-section h3{font-size:clamp(1.5rem,4vw,1.8rem)}.concert-title{font-size:clamp(3rem,10vw,3.5rem);margin-bottom:35px;margin-top:10px;text-align:center;color:#fff;letter-spacing:6px;font-weight:200;font-family:Tinos,serif}.orchestra-title{font-size:clamp(1.26rem,3.2vw,1.66rem);margin-bottom:15px;color:#aaa}.program-title{font-size:clamp(3rem,4.14vw,2.34rem);margin-bottom:22px;color:#fff;letter-spacing:4px;font-weight:200;font-family:Tinos,serif}.about-title{font-size:clamp(1.74rem,4.14vw,2.34rem);margin-bottom:40px;text-align:center;color:#fff;letter-spacing:10px;font-weight:200;font-family:Tinos,serif}.program-item{margin-bottom:25px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.program-item .piece-info{flex:1;display:flex;flex-direction:column;max-width:75%}.program-item .composer{font-size:clamp(1.54rem,3.74vw,2.14rem);font-weight:700;text-transform:uppercase;white-space:nowrap;margin-bottom:5px}.program-item .piece-name{font-size:clamp(1.34rem,3.34vw,1.8rem);font-style:italic;color:#ddd;line-height:1.2}.program-item .duration{font-size:clamp(1.34rem,3.34vw,1.8rem);color:#ddd;white-space:nowrap;align-self:flex-end;margin-top:auto}.movements{margin-left:20px;margin-top:8px;max-width:75%}.movements .movement{font-size:clamp(1.2rem,3.06vw,1.6rem);color:#aaa;margin-bottom:4px}.intermission{font-size:clamp(1.5rem,5vw,1.8rem);font-weight:700;text-transform:uppercase;color:#ddd;margin:15px 0;padding:10px 0;border-top:1px solid #444;border-bottom:1px solid #444}.bio-section{margin-bottom:0}.bio-section h3{margin:0;font-size:clamp(.66rem,1.74vw,.8rem);color:#ddd}.bio-section p{margin-top:15px;font-size:clamp(.8rem,2vw,1.06rem);line-height:1.5;text-align:left}.concert-image{width:100%;max-height:75vh;object-fit:contain;margin:20px 0}.concert-image-container{display:flex;justify-content:center;align-items:center;width:100%}.collapsible-section{border-top:1px solid #444}.performer-info-wrapper{margin-bottom:30px}.section-header{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:15px 0;cursor:pointer;color:#fff;text-align:left;-webkit-tap-highlight-color:transparent;outline:none}.section-header:focus{outline:none;background:none}.section-header:active,.section-header:hover{background:none}.chevron{font-family:Material Icons;font-size:2.5rem;transition:transform .3s ease;color:#ddd}.chevron.open{transform:rotate(180deg)}.section-content{max-height:0;overflow:hidden;transition:max-height .5s ease-out;opacity:0}.section-content p{font-size:clamp(1.5rem,4vw,1.8rem);text-align:justify;font-family:Tinos,serif}.section-content.open{max-height:2000px;opacity:1;transition:max-height .5s ease-in,opacity .3s ease-in}.sponsor-section p{font-size:clamp(1.2rem,3.5vw,1.5rem)}.intro-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}.intro-modal{width:95vw;height:80vh;background-color:#2a2a2a;border-radius:20px;display:flex;flex-direction:column;box-shadow:0 4px 8px #0000004d;position:relative;touch-action:pan-y pinch-zoom}.intro-modal .modal-title{font-size:clamp(4rem,8vw,5rem);color:#fff;text-align:center;margin:10px 0;padding:0 20px;line-height:1.2;font-weight:600}.intro-modal .carousel-container{flex:1;display:flex;align-items:center;position:relative;padding:0 20px}.intro-modal .slide{flex:1;height:100%;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease-in-out;position:absolute;width:100%;left:0;opacity:0;pointer-events:none}.intro-modal .slide.current{opacity:1;pointer-events:auto}.intro-modal .slide-content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#dadada;padding:20px}.intro-modal .slide-content h2{font-size:clamp(2rem,5vw,3rem);color:#fff}.intro-modal .slide-content p{font-size:clamp(1.6rem,3vw,2rem);line-height:1.4;max-width:100%;margin:0;text-align:left}.intro-modal .slide-indicators{display:flex;justify-content:center;align-items:center;gap:clamp(10px,3vw,20px);padding:clamp(15px,4vw,25px)}.intro-modal .slide-indicators .indicator{width:clamp(10px,3vw,16px);height:clamp(10px,3vw,16px);border-radius:50%;background-color:#ffffff4d;border:none;cursor:pointer;transition:background-color .2s;padding:0;margin:0;-webkit-tap-highlight-color:transparent;outline:none;-webkit-focus-ring-color:transparent}.intro-modal .slide-indicators .indicator.active{background-color:#fffc}.intro-modal .slide-indicators .indicator:active{opacity:.8;transform:scale(.98)}.intro-modal .carousel-nav-button{background-color:#000000b3;color:#fff;border:none;width:clamp(40px,10vw,80px);height:clamp(40px,10vw,80px);border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;padding:0;opacity:.8;-webkit-tap-highlight-color:transparent;outline:none;-webkit-focus-ring-color:transparent}.intro-modal .carousel-nav-button:active{opacity:1;background-color:#000000e6;transform:scale(.98)}.intro-modal .close-button{background-color:#4caf50;color:#fff;border:none;font-size:clamp(1.5rem,3vw,2rem);border-radius:20px;cursor:pointer;margin:10px auto;display:block;transition:background-color .2s;width:90%;max-width:800px;font-weight:700;min-height:clamp(80px,15vw,120px);-webkit-tap-highlight-color:transparent;outline:none;-webkit-focus-ring-color:transparent}.intro-modal .close-button:active{background-color:#45a049;transform:scale(.98)}.concert-viewer{display:flex;flex-direction:column;height:100vh;height:-webkit-fill-available;width:100%;position:relative;overflow:hidden}.view-container{position:relative;width:100%;flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column}.view{position:absolute;width:100%;height:100%;transition:transform .5s ease-in-out}.view.inactive-live{transform:translate(-100%)}.view.active-live{transform:translate(0)}.view.inactive-menu{transform:translate(100%)}.view.active-menu{transform:translate(0)}.bottom-nav{position:relative;width:100%;height:10vh;min-height:60px;background-color:#000;display:flex;justify-content:space-around;align-items:center;z-index:1000;border-top:1px solid #444;flex-shrink:0}.bottom-nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:#aaa;cursor:pointer;padding:12px;transition:color .3s ease;width:50%;height:100%;outline:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.bottom-nav-button.active{color:#fff}.nav-icon{font-size:5rem;transition:opacity .3s ease}.nav-icon.active-icon{opacity:1}.nav-icon.inactive-icon{opacity:.5}.bottom-nav-button span{font-size:clamp(1.4rem,6vw,1.6rem);font-weight:500;transition:opacity .3s ease}.bottom-nav-button.active span{opacity:1}.bottom-nav-button:not(.active) span{opacity:.5}.bottom-nav-button:focus{outline:none;-webkit-tap-highlight-color:transparent}.bottom-nav-button:active{background-color:transparent}.concert-viewer .error{color:#fff;font-size:clamp(1.27rem,3.2vw,1.93rem);text-align:center;padding:20px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);flex:1;width:100%}.concert-viewer.loading{display:flex;align-items:center;justify-content:center;color:#fff;font-size:clamp(2.13rem,5.33vw,3.2rem);font-weight:700}.loading-spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.control-page{display:flex;flex-direction:column;gap:10px;min-height:100vh;background-color:#1a1a1a;color:#dadada;padding:1rem;box-sizing:border-box;width:100%}.control-container{flex:0 0 auto;width:100%;display:flex;flex-direction:column;gap:20px;padding-bottom:16px;border-bottom:1px solid #333;box-sizing:border-box}.control-buttons{display:flex;flex-direction:column;gap:15px;width:100%}.control-container>h3{margin:0;font-size:clamp(1.675rem,3.325vw,2rem);color:#dadada;text-align:center}.control-buttons--piece{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:8px;width:100%}.control-buttons--piece .piece-load-btn{flex:1 1 0;min-width:0;width:auto}.control-buttons--piece .piece-load-btn .piece-load-btn__label{display:-webkit-box;line-clamp:4;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;text-align:center}.message-preview-controls .message-control-btn{flex:1 1 0;min-width:0;width:auto;box-sizing:border-box}.control-buttons--start{display:grid;grid-template-columns:2fr 1fr;align-items:stretch;gap:8px;margin-bottom:1rem}.control-buttons--start .start-piece-btn,.control-buttons--start .reset-btn{min-height:0;height:100%}.control-buttons--start .reset-btn{background-color:#c62828;color:#fff}.control-buttons--start .reset-btn:hover:not(:disabled){background-color:#b71c1c}.message-preview-controls .message-control-btn--text-disabled{color:#8a8a8a}.message-preview-controls .message-control-btn:disabled{background-color:#4a4a4a;color:#c7c7c7}.control-page button{padding:1.6rem;font-size:clamp(1.675rem,3.325vw,2rem);background-color:#333;color:#dadada;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;width:100%;min-height:80px;display:flex;align-items:center;justify-content:center;flex:1}.control-page button:hover:not(:disabled){background-color:#444}.control-page button:disabled{background-color:#222;color:#666;cursor:not-allowed;opacity:.7}.control-page h2{margin:0 0 20px;color:#dadada;font-size:clamp(1.825rem,4vw,2.325rem);text-align:center}.message-preview{flex:1 1 auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;box-sizing:border-box}.message-preview-panel{width:70vw;max-width:100%;height:50vh;height:50dvh;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;margin:0 auto;padding:2px;border-radius:10px;background:linear-gradient(145deg,#3a3a3a,#1a1a1a);box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0f}.message-preview-controls{width:70vw;max-width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px}.message-preview-controls .message-control-btn{flex:0 0 auto;min-height:10vh;min-height:10dvh}.message-preview-panel-header{flex-shrink:0;display:flex;flex-direction:column;padding:.8rem;border-bottom:1px solid #2f2f2f;background:#141414}.message-preview-panel-header-intro{flex:0 0 auto}.message-preview-panel-header h3{margin:0;font-size:clamp(1.675rem,3.325vw,2rem);color:#dadada;text-align:center}.message-preview-panel-header h4{margin:0;font-size:clamp(1.25rem,2.675vw,1.5rem);font-weight:500;color:#9a9a9a;text-align:center}.message-preview-panel-header-piece{flex:0 0 auto;margin-top:12px;padding-top:12px;border-top:1px solid #2a2a2a;text-align:center;font-size:clamp(1.35rem,2.75vw,1.65rem);line-height:1.35;color:#e6e6e6}.message-preview-panel-header-piece strong{color:#888;font-size:clamp(1.05rem,2.15vw,1.2rem);font-weight:600}.message-preview-panel-header-piece-title{font-weight:500}.message-preview-panel-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0;background:#0d0d0d;border-radius:0 0 8px 8px;border:1px solid #252525;border-top:none}.message-preview-panel-content p{margin:0;font-size:clamp(1.5rem,3.175vw,1.825rem);line-height:1.5}.message-preview-panel-content p+p{margin-top:.75em}.message-preview-panel-content strong{color:#888;font-size:clamp(1.175rem,2.5vw,1.325rem)}.message-preview-triple{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:0;min-width:0;height:100%}.message-preview-cue-row{min-width:0;display:flex;align-items:center;padding:1.25rem;border-top:1px solid #2f2f2f;border-bottom:1px solid #171717;position:relative}.message-preview-cue-row--previous{background-color:#00000057}.message-preview-cue-row--current{background-color:#ffffff0b}.message-preview-cue-row--next{background-color:#0000004d}.message-preview-cue-row:before{position:absolute;top:.22rem;left:50%;transform:translate(-50%);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;line-height:1;pointer-events:none}.message-preview-cue-row--previous:before{content:"Previous";color:#686868}.message-preview-cue-row--current:before{content:"Current";color:#efefef;font-size:.91rem}.message-preview-cue-row--next:before{content:"Next";color:#686868}.message-preview-cue-row--previous .message-preview-cue,.message-preview-cue-row--next .message-preview-cue{color:#7f7f7f}.message-preview-cue-row--previous .message-preview-cue-movement,.message-preview-cue-row--next .message-preview-cue-movement{color:#8d8d8d}.message-preview-cue-row--previous .message-preview-cue-location,.message-preview-cue-row--next .message-preview-cue-location{color:#736b53}.message-preview-cue-row--previous .message-preview-cue-message,.message-preview-cue-row--next .message-preview-cue-message,.message-preview-cue-row--previous .message-preview-cue-colon,.message-preview-cue-row--next .message-preview-cue-colon{color:#7f7f7f}.message-preview-cue-row--current .message-preview-cue{color:#efefef;font-weight:700}.message-preview-cue{text-align:left;width:100%}.message-preview-cue--fade-out{animation:messagePreviewFadeOut .25s ease forwards}.message-preview-cue--fade-in{animation:messagePreviewFadeIn .25s ease forwards}.message-preview-cue--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;white-space:normal}@keyframes messagePreviewFadeOut{0%{opacity:1}to{opacity:0}}@keyframes messagePreviewFadeIn{0%{opacity:0}to{opacity:1}}.message-preview-cue-empty{color:#666}.message-preview-cue-movement{color:#c8c8c8}.message-preview-cue-location{color:#b8a878}.message-preview-cue-message{color:#e6e6e6}.error{color:#ff6b6b;font-size:clamp(1.25rem,2.675vw,1.5rem)}.pre-concert{color:#888;font-size:clamp(1.425rem,2.925vw,1.675rem);height:100%;display:flex;align-items:center;justify-content:center;padding:0 1.25rem;box-sizing:border-box;text-align:center;margin:0}@media(min-width:768px){.control-page{max-width:1200px;margin:0 auto}}.control-container button{transition:all .3s ease}.piece-load-btn.active{outline:2px solid #6b9fff;background-color:#3a4a5c}.control-buttons--start .start-piece-btn{background-color:#1fb857;color:#fff;font-weight:700}.control-buttons--start .start-piece-btn:hover:not(:disabled){background-color:#18964a}.control-buttons--start .start-piece-btn.is-disabled{opacity:1;cursor:not-allowed;background-color:#314037;color:#8c9890}.control-container button.disabled{opacity:.5;cursor:not-allowed;background-color:#666}.control-container button:disabled{opacity:.5;cursor:not-allowed;background-color:#666}.control-buttons--start .start-piece-btn.is-loading{opacity:1;cursor:wait;background-color:#314037;color:#8c9890}.reset-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.reset-confirm-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:10px}.reset-confirm-actions .reset-btn{background-color:#c62828;color:#fff}.reset-confirm-actions .reset-btn:hover:not(:disabled){background-color:#b71c1c}.control-page .reset-confirm-overlay .reset-confirm-modal{width:min(96vw,640px);min-height:300px;background:#1f1f1f;color:#dadada;border:1px solid #3a3a3a;border-radius:10px;padding:28px 22px;box-shadow:0 8px 24px #00000073}.control-page .reset-confirm-overlay .reset-confirm-modal h4{margin:0 0 14px;font-size:clamp(1.825rem,4vw,2.325rem)}.control-page .reset-confirm-overlay .reset-confirm-modal p{margin:0;font-size:clamp(1.5rem,3vw,1.75rem);color:#bfbfbf;line-height:1.55}.control-page .reset-confirm-overlay .reset-confirm-actions .modal-btn{width:auto;min-height:64px;padding:14px 18px;font-size:clamp(1.425rem,2.925vw,1.675rem);flex:0 0 auto}@media(max-width:899px){.control-page{padding:.6rem}.control-page h2{font-size:clamp(1.5rem,3.175vw,1.825rem);margin-bottom:14px}.message-preview-panel,.message-preview-controls{width:90vw}.message-preview-panel-header h4{font-size:clamp(1.175rem,2.5vw,1.325rem)}.message-preview-panel-header-piece{font-size:clamp(1.2rem,2.5vw,1.45rem)}.message-preview-panel-header-piece strong{font-size:clamp(.95rem,2vw,1.1rem)}.control-page button{padding:.8rem;font-size:clamp(1.4rem,3.5vw,1.8rem);min-height:64px}.message-preview-panel-content p{font-size:clamp(1.825rem,4vw,2.325rem)}.message-preview-panel-content strong{font-size:clamp(1rem,2.175vw,1.175rem)}.error{font-size:clamp(1.075rem,2.325vw,1.25rem)}.pre-concert{font-size:clamp(1.175rem,2.5vw,1.325rem)}.control-container,.message-preview{padding:.4rem}.control-page .reset-confirm-overlay .reset-confirm-modal{width:min(97vw,620px);min-height:320px;padding:30px 24px}.control-page .reset-confirm-overlay .reset-confirm-modal h4{font-size:clamp(2rem,4.325vw,2.5rem);margin-bottom:16px}.control-page .reset-confirm-overlay .reset-confirm-modal p{font-size:clamp(1.5rem,3.175vw,1.825rem);line-height:1.6}.control-page .reset-confirm-overlay .reset-confirm-actions{margin-top:20px;gap:12px}.control-page .reset-confirm-overlay .reset-confirm-actions .modal-btn{font-size:clamp(1.5rem,3vw,1.75rem);min-height:68px;padding:14px 20px}}@media(max-width:599px){.control-page h2{font-size:clamp(1.325rem,2.675vw,1.575rem);margin-bottom:10px}.message-preview-panel-header-piece{font-size:clamp(1.05rem,2.25vw,1.25rem);margin-top:10px;padding-top:10px}.message-preview-panel-header-piece strong{font-size:clamp(.825rem,1.825vw,1rem)}.control-page button{font-size:1.4rem;min-height:56px}.control-buttons--start .start-piece-btn{font-size:1.6rem}.message-preview-panel-content p{font-size:clamp(1.5rem,3.175vw,1.825rem)}.message-preview-panel-content strong{font-size:clamp(.825rem,1.825vw,1rem)}.error,.pre-concert{font-size:clamp(1rem,2.175vw,1.175rem)}.control-buttons--piece,.message-preview-controls{gap:6px}.control-page .reset-confirm-overlay .reset-confirm-modal{width:96vw;min-height:340px;padding:32px 24px}.control-page .reset-confirm-overlay .reset-confirm-modal h4{font-size:clamp(2.175rem,4.675vw,2.675rem)}.control-page .reset-confirm-overlay .reset-confirm-modal p{font-size:clamp(1.575rem,3.325vw,1.925rem)}.control-page .reset-confirm-overlay .reset-confirm-actions .modal-btn{font-size:clamp(1.5rem,3.175vw,1.825rem);min-height:70px}}@media(orientation:portrait),(max-aspect-ratio:1/1){.control-container{min-height:30vh;min-height:30dvh;gap:10px}.control-container>h3{flex:0 0 auto}.control-container .control-buttons--piece{flex:3 1 0;min-height:10vh}.control-container .control-buttons--start{flex:2 1 0;min-height:0}.control-container .control-buttons--piece .piece-load-btn{min-height:0;height:100%;align-self:stretch}}*{color:#e7e6e6;font-family:Lexend,serif}*,*:before,*:after{box-sizing:border-box}body{background-color:#000;background-image:-webkit-radial-gradient(circle,#131b29,#000000);background-image:radial-gradient(circle,#131b29,#000);margin:0 auto}div#root{width:100vw}.root-container{width:100%}html{font-size:62.5%;background-color:#000;background-image:-webkit-radial-gradient(circle,#131b29,#000000);background-image:radial-gradient(circle,#131b29,#000)}html,body{position:fixed;width:100%;height:100%;min-height:100%;min-height:-webkit-fill-available;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:none;touch-action:none}#root{width:100%;height:100%;min-height:-webkit-fill-available;overflow:hidden;background-color:#000;background-image:-webkit-radial-gradient(circle,#131b29,#000000);background-image:radial-gradient(circle,#131b29,#000)}
