:root{--bg:#0b0b0f;--accent:#e5484d;--text:#f5f5f7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:720px;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 1.25rem) 1rem calc(env(safe-area-inset-bottom,0px) + 2rem);flex-direction:column;gap:1.25rem;margin:0 auto;display:flex}.version-badge{top:calc(env(safe-area-inset-top,0px) + .9rem);left:calc(env(safe-area-inset-left,0px) + 1rem);z-index:3;font-variant-numeric:tabular-nums;letter-spacing:.02em;opacity:.85;pointer-events:none;background:#0000008c;border-radius:999px;padding:.25rem .6rem;font-size:.72rem;position:absolute}.login{justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login__panel{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:1rem;flex-direction:column;gap:.6rem;width:min(92vw,360px);padding:1.5rem;display:flex}.login__title{margin:0;font-size:1.3rem}.login__hint{opacity:.7;margin:0;font-size:.9rem}.login__input{width:100%;color:var(--text);font:inherit;background:#0000004d;border:1px solid #ffffff40;border-radius:.6rem;padding:.7rem .8rem}.login__error{color:var(--accent);margin:0;font-size:.85rem}.login__submit{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;cursor:pointer;touch-action:manipulation;border-radius:.6rem;padding:.8rem 1rem;font-weight:700}.login__submit:disabled{opacity:.5;cursor:default}.topbar{justify-content:flex-end;align-items:center;gap:.75rem;min-height:1.6rem;display:flex}.topbar__logout{color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:#ffffff0f;border:1px solid #ffffff40;border-radius:.5rem;flex:none;padding:.3rem .7rem;font-size:.8rem}.topbar__status{font-variant-numeric:tabular-nums;opacity:.85;font-size:.85rem}.uploader{flex-direction:column;gap:.5rem;display:flex}.uploader__pick{color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:#ffffff14;border:1px solid #ffffff59;border-radius:.9rem;padding:1.1rem 1rem;font-size:1.05rem;font-weight:700}.uploader__pick:active{background:#ffffff29}.uploader__hint{opacity:.7;margin:0;font-size:.85rem}.uploads{flex-direction:column;gap:.75rem;display:flex}.uploads__title,.library__title{text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin:0;font-size:.9rem}.upload-card{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:.9rem;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.upload-card__head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.upload-card__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.upload-card__pct{font-variant-numeric:tabular-nums;opacity:.8}.upload-card__bar{background:#ffffff1f;border-radius:999px;height:6px;overflow:hidden}.upload-card__fill{background:var(--accent);height:100%;transition:width .3s}.upload-card__bytes{opacity:.7;font-variant-numeric:tabular-nums;font-size:.78rem}.upload-card__name-form{flex-direction:column;gap:.4rem;display:flex}.upload-card__label{opacity:.85;font-size:.82rem}.upload-card__input,.remote-item__input{width:100%;color:var(--text);font:inherit;background:#0000004d;border:1px solid #ffffff40;border-radius:.6rem;padding:.6rem .7rem}.upload-card__preview{opacity:.6;font-variant-numeric:tabular-nums;margin:0;font-size:.78rem}.upload-card__confirm,.remote-item__action,.library__refresh{color:var(--text);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;background:#ffffff14;border:1px solid #ffffff40;border-radius:.6rem;padding:.6rem .7rem;font-size:.9rem;text-decoration:none}.upload-card__confirm:disabled{opacity:.5;cursor:default}.upload-card__hint{opacity:.8;margin:0;font-size:.82rem}.upload-card__cancel{color:var(--accent);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #e5484d99;border-radius:.6rem;align-self:flex-start;padding:.5rem .7rem;font-size:.85rem}.library{flex-direction:column;gap:.6rem;display:flex}.library__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.library__refresh{flex:none;padding:.4rem .7rem;font-size:.8rem}.library__hint{opacity:.7;margin:0;font-size:.85rem}.remote-item{background:#ffffff08;border:1px solid #ffffff1a;border-radius:.8rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.remote-item__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.remote-item__actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.remote-item__rename-actions{gap:.5rem;display:flex}.remote-item__actions .remote-item__action{min-width:0}.remote-item__rename,.remote-item__confirm{flex-direction:column;gap:.5rem;display:flex}.remote-item__action--danger{color:var(--accent);border-color:#e5484d99}.remote-item__confirm-text{color:var(--accent);font-size:.85rem}.player{z-index:40;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.player__backdrop{background:#000000d9;border:none;position:absolute;inset:0}.player__panel{flex-direction:column;gap:.6rem;width:min(96vw,680px);display:flex;position:relative}.player__title{text-align:center;margin:0;font-weight:600}.player__video{background:#000;border-radius:.6rem;width:100%;max-height:70dvh}.player__close{color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:.6rem;align-self:center;padding:.6rem 1.2rem}.app--record{gap:0;max-width:none;height:100dvh;margin:0;padding:0}.record-back{top:calc(env(safe-area-inset-top,0px) + 1rem);left:calc(env(safe-area-inset-left,0px) + 1rem);z-index:4;width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;touch-action:manipulation;background:#14141a8c;border:1px solid #ffffff40;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute}.stage{background:#000;flex:1;position:relative;overflow:hidden}.camera-preview-box{aspect-ratio:3/4;background:#000;width:100%;max-width:100%;height:auto;max-height:100%;margin:auto;position:absolute;inset:0;overflow:hidden}.camera-preview{object-fit:contain;transform-origin:50%;background:#000;width:100%;height:100%;transform:scale(1.33)}.camera-preview--mirrored{transform:scaleX(-1)scale(1.33)}@media (orientation:landscape){.camera-preview-box{aspect-ratio:4/3;width:auto;height:100%}.camera-preview{object-fit:cover;transform:none}.camera-preview--mirrored{transform:scaleX(-1)}}.overlay{text-align:center;background:#000000b8;justify-content:center;align-items:center;padding:2rem;font-size:1.05rem;line-height:1.5;display:flex;position:absolute;inset:0}.overlay__error{color:var(--accent)}.hud{top:calc(env(safe-area-inset-top,0px) + 4.1rem);left:calc(env(safe-area-inset-left,0px) + 1rem);pointer-events:none;align-items:center;display:flex;position:absolute}.audio-meter{border:2px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.audio-meter__pulse{background:radial-gradient(circle at 50% 50%, #2bd964 0%, #e9d62b 70%, var(--accent) 100%);transform-origin:50%;border-radius:50%;width:28px;height:28px;transition:transform 80ms linear}@media (prefers-reduced-motion:reduce){.audio-meter__pulse{transition:none}}.recording-timer{top:calc(env(safe-area-inset-top,0px) + 3.4rem);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-variant-numeric:tabular-nums;pointer-events:none;background:#0000008c;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .8rem;font-size:.95rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.recording-timer__dot{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.2s step-end infinite rec-blink}.recording-timer__dot--paused{opacity:.5;animation:none}.recording-timer__label{opacity:.8;font-size:.8rem}@keyframes rec-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.recording-timer__dot{animation:none}}.bottom-bar{left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 1.75rem);pointer-events:none;flex-direction:column;align-items:center;gap:1.1rem;padding:0 1.5rem;display:flex;position:absolute}.quality{pointer-events:none;justify-content:center;display:flex}.quality-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#0000008c;border-radius:999px;gap:.25rem;padding:.25rem;display:inline-flex}.quality-selector[aria-disabled=true]{opacity:.5}.quality-selector__option{color:#ffffffd9;min-width:3.4rem;font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:999px;flex-direction:column;align-items:center;gap:.05rem;padding:.3rem .7rem;line-height:1.1;transition:background-color .12s;display:flex}.quality-selector__option--active{background:var(--accent);color:#fff}.quality-selector__option:disabled{cursor:not-allowed}.quality-selector__label{font-size:.85rem;font-weight:600}.quality-selector__hint{letter-spacing:.03em;opacity:.8;font-size:.66rem}.controls{pointer-events:auto;justify-content:center;align-items:center;gap:1.5rem;width:100%;display:flex}.controls__slot{flex:1 1 0;display:flex}.controls__slot--left{justify-content:flex-end}.controls__slot--right{justify-content:flex-start}.record-button{touch-action:manipulation;cursor:pointer;background:0 0;border:4px solid #ffffffe6;border-radius:50%;flex:none;justify-content:center;align-items:center;width:74px;height:74px;padding:0;display:inline-flex}.record-button:active{transform:scale(.94)}.record-button__inner{background:var(--accent);border-radius:50%;width:56px;height:56px;transition:width .16s,height .16s,border-radius .16s}.record-button__inner--active{border-radius:8px;width:30px;height:30px}@media (prefers-reduced-motion:reduce){.record-button__inner{transition:none}}.pause-button{width:56px;height:56px;color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:manipulation;cursor:pointer;background:#14141a8c;border:2px solid #fff9;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.pause-button:active{transform:scale(.94)}.camera-switcher,.mic-switcher{width:64px;height:64px;color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:manipulation;cursor:pointer;background:#14141a8c;border:2px solid #fff9;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.camera-switcher:active,.mic-switcher:active{transform:scale(.94)}.camera-switcher:disabled,.mic-switcher:disabled{opacity:.35;cursor:default}.device-menu{z-index:30;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.device-menu__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#00000080;border:none;margin:0;padding:0;position:absolute;inset:0}.device-menu__panel{width:min(92vw,420px);margin-bottom:calc(env(safe-area-inset-bottom,0px) + 9rem);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14141aeb;border-radius:1rem;flex-direction:column;gap:.25rem;padding:.5rem;display:flex;position:relative;box-shadow:0 8px 30px #00000080}.device-menu__title{letter-spacing:.04em;text-transform:uppercase;opacity:.7;margin:.25rem .5rem .4rem;font-size:.8rem}.device-menu__option{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:.6rem;align-items:center;gap:.5rem;padding:.85rem .75rem;display:flex}.device-menu__option:active{background:#ffffff14}.device-menu__option--active{background:#ffffff1f;font-weight:600}.device-menu__check{width:1.1rem;color:var(--accent);flex:none}
