:root{color:#fff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic UI,Yu Gothic,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0;padding:0}html,body{overscroll-behavior:none;background:#000}body{min-height:100svh;overflow:hidden}button,input{font:inherit}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app{background:#000;width:100%;min-height:100svh}.stage{background:#111;width:100%;height:100svh;position:relative;overflow:hidden}.camera-frame{background:#111;position:absolute;overflow:hidden}.camera-frame.is-fullscreen{inset:0}.camera-frame.is-custom{top:50%;left:50%;transform:translate(-50%,-50%)}.camera{object-fit:cover;transform-origin:50%;will-change:transform;background:#111;width:100%;height:100%}.camera-placeholder{z-index:1;color:#fff;text-align:center;background:radial-gradient(circle,#303030 0%,#181818 55%,#101010 100%);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.camera-placeholder strong{font-size:20px}.camera-placeholder span{color:#ffffffb3;font-size:14px}.overlay-text{z-index:2;top:calc(env(safe-area-inset-top) + 72px);color:#fff;text-align:center;text-shadow:0 2px 8px #000c;overflow-wrap:anywhere;max-width:calc(100% - 40px);padding:10px 16px;font-size:clamp(18px,5vw,28px);font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.overlay-counter{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);background:#0000008c;border:1px solid #fff3;border-radius:14px;align-items:baseline;gap:8px;padding:10px 14px;display:flex;position:absolute;bottom:15%;right:20px}.overlay-counter span{font-size:13px}.overlay-counter strong{font-size:30px;line-height:1}.control-panel{z-index:10;right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);color:#fff;-webkit-backdrop-filter:blur(16px);background:#141414db;border:1px solid #ffffff29;border-radius:20px;max-height:64svh;padding:16px;position:absolute;left:12px;overflow-y:auto;box-shadow:0 12px 40px #00000059}.control-panel__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.control-panel__header>div{align-items:baseline;gap:8px;display:flex}.control-panel__header strong{font-size:18px}.control-panel__header span{color:#ffffff8c;font-size:12px}.broadcast-button{color:#111;background:#fff;flex:none}.control-group{border-top:1px solid #ffffff1f;flex-direction:column;gap:10px;padding:14px 0;display:flex}.control-label{color:#ffffffb3;font-size:13px;font-weight:700}.button-row{flex-wrap:wrap;gap:8px;display:flex}button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff29;border-radius:12px;min-height:42px;padding:8px 12px}button:active{transform:scale(.98)}.count-value{min-width:64px;font-size:18px;font-weight:700}.reset-button{align-self:flex-start}input[type=text],select{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:12px;outline:none;width:100%;min-height:44px;padding:10px 12px}select option{color:#111;background:#fff}input[type=text]:focus,select:focus{border-color:#ffffff80}.toggle-row{color:#ffffffd9;align-items:center;gap:8px;font-size:14px;display:flex}.toggle-row input{width:18px;height:18px}.range-row{color:#ffffffd9;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:10px;font-size:14px;display:grid}.range-row input[type=range]{width:100%}.range-row strong{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.error-message{color:#ffd6d6;background:#a0000052;border:1px solid #ff646466;border-radius:12px;margin-bottom:12px;padding:10px 12px;font-size:13px}.exit-broadcast-button{z-index:20;top:calc(env(safe-area-inset-top) + 12px);color:#ffffffc7;-webkit-backdrop-filter:blur(8px);background:#0000005c;border-color:#ffffff29;min-height:36px;padding:6px 10px;font-size:12px;position:absolute;right:12px}@media (width>=700px){.app{place-items:center;display:grid}.stage{width:min(430px,100vw);box-shadow:0 0 0 1px #333}}
