:root{--cell: calc(min(100vw, 480px) / 7);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--bar: calc(var(--safe-t) + 64px);--ink: #f2f2f5;--dim: rgba(242, 242, 245, .62);--plate: rgba(12, 12, 16, .5);--plate-hi: rgba(62, 62, 72, .62);--lit: #f1f1f4;--lit-ink: #101014;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:#000;color:var(--ink);font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;overscroll-behavior:none;-webkit-text-size-adjust:100%}button{font:inherit}.stage{position:fixed;top:0;right:0;bottom:0;left:0;margin:0 auto;max-width:480px;overflow:hidden;user-select:none;-webkit-user-select:none}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000 center / cover no-repeat}.backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000006b,#0000001f 26%,#00000024 66%,#00000080)}.bar{position:absolute;top:0;left:0;right:0;z-index:5;height:var(--bar);display:flex;align-items:flex-end;justify-content:space-between;padding:0 16px 10px;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.18) 70%,transparent)}.bar:before,.bar:after{content:"";position:absolute;top:0;right:0;bottom:-22px;left:0;pointer-events:none}.bar:before{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(to bottom,#000 0%,#000 42%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 42%,transparent 100%)}.bar:after{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);mask-image:linear-gradient(to bottom,#000 0%,#000 20%,transparent 72%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 20%,transparent 72%)}.brand{position:relative;z-index:1;width:46px;height:auto;opacity:.92;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}.bar-note{position:relative;z-index:1;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-shadow:0 1px 3px rgba(0,0,0,.6)}.bar-note b{color:var(--ink);font-weight:600}.dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#e5484d;vertical-align:1px}.dot--on{background:#46c37b}.place{position:absolute;z-index:2;display:flex;padding:calc(var(--cell) * .07)}.ctl{position:relative;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:calc(var(--cell) * var(--span, 1) * .5);background:var(--plate);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f2f2f5eb;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .26s ease,color .26s ease}@media (hover: hover){.ctl:hover:not(:disabled){background:var(--plate-hi);color:#fff}}.ctl:active:not(:disabled),.ctl--on,.ctl--on:hover{background:var(--lit)!important;color:var(--lit-ink)!important;transition:background 90ms ease,color 90ms ease}.ctl:disabled{cursor:default}.ctl:disabled .ctl-glyph{opacity:.3}.ctl-glyph{display:block;width:calc(var(--cell) * var(--span, 1) * .46);aspect-ratio:1;flex:0 0 auto}.ctl-glyph svg{width:100%;height:100%;display:block}.ctl-label{font-size:15px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctl-busy:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:inherit;border:2px solid transparent;border-top-color:currentColor;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{width:100%;height:100%;margin:0;padding:0 18px;border:0;border-radius:calc(var(--cell) * .5);background:var(--plate);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);font-size:16px;outline:none;user-select:text;-webkit-user-select:text}.field::placeholder{color:#f2f2f56b}.signin-form .field{text-align:center}.field:focus{background:#14141aad}.composer{position:relative;width:100%;height:100%}.composer--attached .field{padding-left:calc(var(--cell) * .86 + 6px)}.attach{position:absolute;top:50%;left:calc(var(--cell) * .08);z-index:1;width:calc(var(--cell) * .72);height:calc(var(--cell) * .72);padding:0;border:0;border-radius:50%;overflow:hidden;transform:translateY(-50%);background:none;cursor:pointer}.attach img{width:100%;height:100%;object-fit:cover;display:block}.file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.signin,.ended{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 0 calc(var(--safe-b) + var(--cell) * 1.2)}.signin-logo{width:42%;max-width:200px;margin-bottom:auto;margin-top:calc(var(--safe-t) + 18vh);filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}.signin-form{width:calc(var(--cell) * 5);display:flex;flex-direction:column;gap:calc(var(--cell) * .2)}.signin-form .field,.signin-form .ctl{height:var(--cell);--span: 1}.signin-form .ctl{font-size:17px;letter-spacing:.08em}.signin-note,.signin-error{min-height:1.4em;margin:calc(var(--cell) * .25) 0 0;text-align:center;font-size:14px;color:var(--dim);text-shadow:0 1px 3px rgba(0,0,0,.7)}.signin-error{color:#ffb4b4}.ended{justify-content:center;text-align:center;padding:0 12%;background:#000}.stage--black{background:#000}.ended-logo{width:34%;max-width:170px;margin-bottom:28px}.ended h1{font-weight:300;font-size:24px;letter-spacing:.04em;margin:0 0 10px}.ended p{color:var(--dim);margin:0}.upright{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000;color:var(--dim);align-items:center;justify-content:center;text-align:center;padding:24px}@media (orientation: landscape) and (max-height: 520px){.upright{display:flex}}.pages{position:absolute;left:0;right:0;top:0;z-index:1;overflow:hidden;touch-action:pan-y}.pages-track{display:flex;height:100%;transition:transform .28s cubic-bezier(.2,.7,.2,1)}.pages-track--drag{transition:none}.page{position:relative;flex:0 0 100%;height:100%;display:flex;flex-direction:column;padding-top:var(--bar)}.page-body{position:relative;flex:1 1 auto;min-height:0;margin:0 calc(var(--cell) * .07)}.pager{width:100%;height:100%;border-radius:calc(var(--cell) * .5);background:var(--plate);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 6px;touch-action:pan-y}.pager-title{flex:1 1 auto;text-align:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase}.pager-dots{display:flex;gap:5px;justify-content:center;margin-top:3px}.pager-dots i{width:5px;height:5px;border-radius:50%;background:#ffffff47}.pager-dots i.on{background:#fff}.pager-arrow{width:calc(var(--cell) * .72);height:calc(var(--cell) * .72);border:0;border-radius:50%;background:transparent;color:var(--ink);padding:calc(var(--cell) * .14);cursor:pointer}.pager-arrow svg{width:100%;height:100%}.feed{position:absolute;left:0;right:0;top:0;z-index:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:calc(var(--bar) + 8px) 16px 8px;display:flex;flex-direction:column;gap:12px;user-select:text;-webkit-user-select:text}.page .feed{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 10px}.feed>:first-child{margin-top:auto}.feed::-webkit-scrollbar{width:0}.feed-empty{margin:auto;color:var(--dim);text-align:center;font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.7)}.bubble{display:flex;flex-direction:column;max-width:min(78%,330px);padding:10px 12px;border-radius:16px}.bubble--them{align-self:flex-start;background:#0c0c109e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f0f0f0;border-top-left-radius:8px}.bubble--me{align-self:flex-end;background:linear-gradient(180deg,#f5f5f5,#d5d5d5);color:#101010;border-top-right-radius:8px}.bubble-sender{margin-bottom:4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.72}.bubble-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.bubble-image{display:block;width:100%;margin-top:8px;border-radius:12px;cursor:zoom-in}.bubble-image:first-child{margin-top:0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#000000eb;display:flex;align-items:center;justify-content:center}.lightbox img{max-width:100%;max-height:100%}.toast{position:absolute;left:50%;z-index:6;max-width:88%;transform:translate(-50%);padding:8px 14px;border-radius:14px;background:#0c0c10c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px;text-align:center;pointer-events:none;animation:fade 2.6s ease forwards}@keyframes fade{0%,75%{opacity:1}to{opacity:0}}.progress{position:relative;width:100%;height:100%;overflow:hidden;border-radius:calc(var(--cell) * .5);background:var(--plate);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;padding:0 18px;font-size:14px}.progress-fill{position:absolute;inset:0 auto 0 0;background:#fff3;transition:width 1s linear}.progress-fill--wait{background:repeating-linear-gradient(-45deg,#ffffff1a 0,#ffffff1a 10px,#ffffff0a 10px,#ffffff0a 20px);width:100%!important}.progress-text{position:relative;display:flex;justify-content:space-between;width:100%;gap:10px;white-space:nowrap;overflow:hidden}.progress-text span:first-child{overflow:hidden;text-overflow:ellipsis}.picker .ctl{flex-direction:row-reverse;justify-content:space-between;gap:2px;padding:0 8px 0 16px}.picker .ctl-glyph{width:calc(var(--cell) * .3)}.picker .ctl-label{font-size:14px;letter-spacing:.02em}.picker--bare .ctl{justify-content:center;padding:0 8px}.menu{position:absolute;z-index:8;max-height:60vh;overflow-y:auto;padding:6px;border-radius:18px;background:#0e0e12e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 40px #00000080}.menu button{display:flex;justify-content:space-between;width:100%;padding:12px 16px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left;font-size:16px;cursor:pointer}.menu button.on{background:var(--lit);color:var(--lit-ink)}.menu button:active{background:var(--plate-hi)}.qr-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:8px}.qr-card{width:min(78%,calc(100% - 40px));aspect-ratio:1;max-height:70%;padding:4%;border-radius:18px;background:#fff;box-shadow:0 10px 40px #00000073}.qr-card svg{width:100%;height:100%;display:block}.qr-card--off{opacity:.45}.qr-meta{text-align:center;font-size:13px;color:var(--dim);text-shadow:0 1px 3px rgba(0,0,0,.7);overflow-wrap:anywhere}.qr-meta b{color:var(--ink)}.touch{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;background:#0c0c106b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);touch-action:none;overflow:hidden}.touch-note{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:var(--dim);font-size:14px;pointer-events:none}.touch-dot{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#ffffff59;box-shadow:0 0 18px #fff6;pointer-events:none}.touch-dot--hold{background:#78b4ff73}.stream{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#0009;overflow:hidden}.stream video{width:100%;height:100%;object-fit:contain;background:#000}.stream:fullscreen video{object-fit:contain}.stream-note{position:absolute;inset:auto 0 12px;text-align:center;font-size:13px;color:var(--dim)}.terminal{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:10px 12px;border-radius:18px;background:#000;border:1px solid rgba(255,255,255,.1);font:11.5px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d6d6d6;user-select:text;-webkit-user-select:text}.terminal div{white-space:pre-wrap;overflow-wrap:anywhere}.terminal .t{color:#6b6b6b}.terminal .s-gateway{color:#7fb2ff}.terminal .s-canvas{color:#9be39b}.memory{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:8px}.memory-view{position:relative;width:100%;aspect-ratio:1;max-height:70%;align-self:center;border-radius:18px;background:#0000008c;border:1px solid rgba(255,255,255,.1);overflow:hidden;touch-action:none}.memory-view canvas{width:100%;height:100%;display:block}.memory-note{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px;border-radius:18px;background:#0c0c109e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:14px;user-select:text;-webkit-user-select:text}.memory-note h3{margin:0 0 6px;font-size:15px;font-weight:600}.memory-note p{margin:0;color:#ddd;white-space:pre-wrap}.memory-note .muted{color:var(--dim)}.upnext{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.upnext-head{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:10px 12px;border-radius:16px;background:#0c0c109e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.stat small{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.stat b{display:block;margin-top:2px;font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job{position:relative;overflow:hidden;padding:10px 14px;border-radius:16px;background:#0c0c109e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.job .progress-fill{opacity:.8}.job-row{position:relative;display:flex;justify-content:space-between;gap:10px}.job-row+.job-row{margin-top:2px;font-size:12.5px;color:var(--dim)}.job-n{color:var(--dim);margin-right:8px}.upnext-empty{margin:auto;color:var(--dim);text-align:center;font-size:14px}.menu-head{padding:10px 16px 8px;font-size:13px;color:var(--dim);line-height:1.4}.menu-note{display:block;margin-top:2px;font-size:12px;opacity:.6;white-space:normal}.warm{width:100%;padding:10px 14px;border-radius:16px;background:#0c0c109e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:13px;display:flex;flex-direction:column;gap:6px}.warm .job-row+.job-row{margin:0}.warm-part{display:flex;flex-direction:column;gap:3px;color:var(--dim)}.warm-bar{height:4px;border-radius:2px;background:#ffffff1f;overflow:hidden}.warm-bar i{display:block;height:100%;background:#fff;transition:width .5s linear}.warm-bar--bad i{background:#e5484d}
