:root{font-family:var(--font-ui);line-height:1.5;font-weight:400;color:#eef2f2;background-color:#05070b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display: "Helvetica Neue", "Helvetica", "Liberation Sans", "Arial", sans-serif;--font-ui: "Helvetica Neue", "Helvetica", "Liberation Sans", "Arial", sans-serif;--mist-100: #f4f6f3;--mist-200: #d7e0e2;--mist-300: #b4c2c9;--mist-400: #8796a1;--warm-200: #f1c39b}*,*:before,*:after{box-sizing:border-box}body{background-color:#05070b;-webkit-user-select:none;-ms-user-select:none;user-select:none}html,body{height:100%;margin:0;overflow:hidden}#app{min-height:100dvh;min-width:100dvw;box-sizing:border-box}button{font-family:var(--font-ui)}a{color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}a.plain-link{text-decoration:none}.welcome{position:absolute;inset:0;display:flex;flex-direction:column;place-items:center;padding:24px;background:linear-gradient(180deg,#080c12cc,#080c12aa);opacity:1;transition:opacity .6s ease;min-width:300px}.welcome--hide{opacity:0;pointer-events:none}.welcome-about,.welcome-footer{flex:1;font-size:.8rem;line-height:1.2rem;text-align:center;text-wrap:balance}.welcome-about{margin:6px 64px 2rem;min-width:164px;font-weight:600;background:linear-gradient(135deg,#40d9a6f2,#5682fff2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.welcome-about a{border-bottom:2px solid;border-image:linear-gradient(135deg,#40d9a680,#5682ff80) 1;text-decoration:none;transition-duration:.25s;transition-timing-function:ease-in-out;transition-property:border-image}.welcome-about a:hover,.welcome-about a:focus-visible .welcome-about a:active{border-bottom:2px solid;border-image:linear-gradient(135deg,#40d9a6bf,#5682ffbf) 1;text-decoration:none}.welcome-footer{display:flex;align-items:flex-end;margin-top:2rem;color:#dce6f5cc}.welcome-card{max-width:400px;text-align:center;display:flex;flex-direction:column;align-items:center}.welcome-kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#e6ebf5b3}.welcome-title{margin:0 0 12px;font-size:2rem;font-weight:600;color:#f3f6fcf2}.welcome-copy{margin:0 0 24px;font-size:1rem;line-height:1.5;color:#dce6f5cc}.welcome-button{display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:row;border:0;border-radius:999px;padding:14px 42px;font-size:1.05rem;font-weight:600;color:#0a0c12f2;background:linear-gradient(135deg,#40d9a6f2,#5682fff2);box-shadow:0 16px 35px #0000004d;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;width:17rem}.welcome-button:hover:not(:disabled){transform:scale(1.04);box-shadow:0 20px 40px #00000059}.welcome-button:active:not(:disabled){transform:scale(.97);box-shadow:0 12px 28px #0000004d}.welcome-button:disabled{opacity:.7;cursor:default;box-shadow:none}.welcome-button:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}@keyframes loading{0%{transform:translate(-75%)}to{transform:translate(75%)}}.welcome-button--loading{position:relative;overflow:hidden}.welcome-button--loading:after{content:"";position:absolute;inset:-30%;background:linear-gradient(120deg,#fff0 20%,#ffffffa6,#fff0 80%);animation:loading 2s ease-in-out infinite;pointer-events:none}.welcome-day-link{margin-top:14px;font-size:.95rem}.welcome-link{display:inline-block;border:0;padding:0;color:#bed2ffe6;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.welcome-link:hover:not(:disabled){color:#dce8fff2}.welcome-link:disabled{opacity:.7;cursor:default}.welcome-link:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px;border-radius:6px}.welcome-loader{margin-top:16px;font-size:.95rem;letter-spacing:.02em;color:#dce6f5b3}@keyframes flashError{0%{background:#d7181880}50%{background:#d7181840}to{background:#d7181880}}.welcome-error{position:absolute;top:0;margin-top:16px;padding:12px 16px;border-radius:24px;background:#d7181880;color:#fff;font-size:.9rem;line-height:1.4;animation:flashError 1.5s ease-in-out infinite;cursor:pointer}.welcome-error p{margin:0}.welcome-error p+p{margin-top:6px;font-size:.8rem;color:#ffd2d2cc}.menu-toggle{position:absolute;top:0;right:0;z-index:6;width:80px;height:80px;border-radius:14px;border:1px solid rgba(120,150,185,0);background:#0c121c00;color:#ebf2ffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:transform .2s ease,color .5s ease}.menu-toggle--dark{color:#0a0c12f2}.menu-toggle:active:not(:disabled){transform:translateY(1px)}.menu-toggle:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}.menu-toggle:disabled{opacity:.5;cursor:default;box-shadow:none}.menu-toggle-bar{width:18px;height:2px;border-radius:999px;background:#ebf2ffe6}.menu-toggle--dark .menu-toggle-bar{background:#0a0c12f2}.menu-overlay{--overlay-backdrop: rgba(8, 12, 18, .55);--overlay-z: 8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.menu-card{--overlay-padding: 12px;--overlay-gap: 12px;--overlay-card-bg: rgba(10, 14, 20, 1);--overlay-max-height: min(90dvh, 580px);--overlay-overflow: auto}.menu-list{display:grid;gap:12px;--menu-item-height: 64px}.menu-item,.menu-confirm-button{display:flex;padding:12px 16px;flex-direction:row;align-items:center;gap:16px;border:1px solid transparent;border-radius:12px;background:#2e3d5299;color:#dce6f5e6;font-size:.95rem;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease;height:var(--menu-item-height)}@keyframes fadeInConfirm{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.menu-confirm-button{width:100px;animation:fadeInConfirm .3s ease-out forwards;justify-content:center}.menu-item:active:not(:disabled),.menu-confirm-button:active:not(:disabled){border-color:#78d6c480;background:#000000bf}@media(hover:hover)and (pointer:fine){.menu-item:hover:not(:disabled),.menu-confirm-button:hover:not(:disabled){border-color:#78d6c480;background:#000000bf}}.menu-item:disabled,.menu-confirm-button:disabled{opacity:.6;cursor:default}.menu-item.is-active{border-color:#78d6c4e6}.menu-item:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}.menu-confirm-button:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}.menu-item-label{font-weight:600;color:#ebf0fff2}.menu-item-label.is-current{background:linear-gradient(100deg,#2dd5c4,#5cc6ff 85%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 12px rgba(70,214,209,.25)}.menu-item-description{display:block;margin-top:4px;font-size:.85rem;color:#c3d2ebbf}.menu-item-text{display:flex;flex-direction:column;flex:1}.menu-item-icon{width:16px;height:16px;display:inline-flex;color:inherit;height:64px;padding-top:14px}.menu-item-icon svg{width:16px;height:16px;display:block}.menu-confirm{display:flex;align-items:center;gap:12px;min-height:var(--menu-item-height);height:auto}.menu-confirm-text{text-align:left;color:#c3d2ebbf;font-size:.9rem;line-height:1.3;text-wrap:balance}.menu-confirm-button+.menu-confirm-text{flex:1;font-weight:600;color:#ebf0fff2;text-align:center}.menu-confirm-button{text-align:center;white-space:nowrap;font-weight:600;color:#ebf0fff2}.menu-confirm-button:first-of-type{justify-self:start}.menu-confirm-button:last-of-type{margin-left:auto}.menu-confirm--single .menu-confirm-button,.menu-confirm--single .menu-confirm-time{margin-left:auto}.menu-confirm-time{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.menu-confirm-time-label{margin-right:.25em;display:none}.menu-confirm-time-input{border-radius:8px;font-size:1.5rem}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:var(--overlay-inset, 0);background:var(--overlay-backdrop, rgba(8, 12, 18, .6));z-index:var(--overlay-z, 8);--spring-easing: linear(0, .0033 .8%, .0276 2.39%, .0976 4.77%, .2298 7.96%, .5982 15.92%, .7772 20.69%, .8476 23.08%, .9217 26.26%, .9636 28.65%, 1.0034 31.83%, 1.0232, 1.0359, 1.043 38.99%, 1.046 42.18%, 1.0415 46.95%, 1.0141 60.48%, 1.0029 69.23%, .9981 80.38%, .9991 99.47%);--spring-duration: .5013s;animation:overlayFade .2s ease-out forwards}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.overlay-card{width:calc(100dvw - 2 * var(--overlay-padding, 16px));max-width:440px;padding:var(--overlay-padding, 18px);border-radius:18px;background:var(--overlay-card-bg, rgba(10, 14, 20, .96));box-shadow:0 28px 60px #00000073;display:grid;gap:var(--overlay-gap, 14px);max-height:var(--overlay-max-height, none);overflow-y:var(--overlay-overflow, visible);overscroll-behavior:contain;animation:overlayCardOpen var(--spring-duration) var(--spring-easing) forwards}@keyframes overlayCardOpen{0%{opacity:0;transform:translateY(var(--overlay-card-translate, 50vh)) scale(.25)}to{opacity:1;transform:translateY(0) scale(1)}}.overlay-card--from-top{--overlay-card-translate: -50vh}.overlay-card--from-bottom{--overlay-card-translate: 50vh}.debug-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:4;padding:8px 12px;border-radius:999px;background:#0006}.debug-toggle-zone{position:absolute;top:0;left:0;width:80px;height:80px;z-index:5}.debug-button{width:48px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.4);border-color:transparent;background:#ffffff1f;background-color:transparent;color:var(--mist-100);cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-weight:600;letter-spacing:.04em}.debug-button:hover:not(:disabled){background:#ffffff38}.debug-button:active:not(:disabled){transform:translateY(1px)}.debug-button:disabled{opacity:.5;cursor:not-allowed}.debug-button__icon{display:inline-block}.debug-button__icon--stop{color:tomato}.debug-button__label{font-size:8px;text-transform:uppercase;line-height:1;color:inherit}.stage{position:relative;min-height:100dvh;overflow:hidden;color:var(--mist-100);--instr-scale: 1;--blob-offset-y: 0px;background:radial-gradient(circle at top,rgba(244,213,181,.18),transparent 60%),linear-gradient(180deg,#0e1a24eb,#090d14f5)}.stage--voiceover{--blob-offset-y: -25dvh}.bg-video,.blob-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transform-origin:center;pointer-events:none}.bg-video{object-fit:cover;pointer-events:none;opacity:0;transition:opacity 3s ease;will-change:opacity}.bg-video::-webkit-media-controls,.bg-video::-webkit-media-controls-enclosure,.bg-video::-webkit-media-controls-start-playback-button,.bg-video::-webkit-media-controls-play-button{display:none!important}.bg-video--visible{opacity:1}.blob-canvas{width:min(50%,50dvh);height:min(50%,50dvh);margin:auto;--spring-easing: linear(0, .0039 .87%, .0199, .0459 3.19%, .0892 4.65%, .1865 7.26%, .5218 15.39%, .6249, .7132, .7864, .8453 27%, .8955, .9328, .9596 36.58%, .9706 38.32%, .9808 40.35%, .9946 44.42%, 1.003 49.35%, 1.0056 53.13%, 1.0063 58.06%, 1.0014 80.71%, 1.0001 99.87%);--spring-duration: 1s;translate:0 var(--blob-offset-y);transition:translate 1.2s ease;transition:translate var(--spring-duration) var(--spring-easing);will-change:translate,transform}.stage--welcome .blob-canvas{background:radial-gradient(circle at center,rgba(127,127,127,1) 0%,rgba(127,127,127,.8) 30%,transparent 40%)}@media(orientation:portrait){.blob-canvas{width:min(50%,50dvw);height:min(50%,50dvw)}}
