:root{--white: #ffffff;--light-gray: #f4f4f4;--gray: #cccccc;--dark-gray: #1c1c28;--brand-main: #46648d;--accent: #7c9dcd;--options: #c6d5ed;--cta: #ed7d31;--dl-blue: #4b688d;--error: #b84040;--radius: 15px}*{box-sizing:border-box;margin:0;padding:0;font-family:Futura,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}body{background:radial-gradient(circle at top,#252a3b,#05060a);color:var(--white);height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}#app-root{width:100%;height:100%;display:flex}.screen{display:none;width:100%;height:100%;align-items:center;justify-content:center;background:radial-gradient(circle at top,#252a3b,#05060a)}.screen.active{display:flex}.card{background:radial-gradient(circle at top left,#111523fa,#0a0c16fa);border-radius:var(--radius);padding:2rem 2.5rem;box-shadow:0 18px 45px #000000b3;min-width:320px;max-width:520px;border:1px solid rgba(255,255,255,.08);animation:fadeInUp .4s ease-out;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.card h1{font-size:1.7rem;margin-bottom:.5rem}.card h2{font-size:1.3rem;margin-bottom:.5rem}.card p{font-size:.9rem;color:#c1c5de;margin-bottom:1.5rem}.device-card{max-width:640px}.field{margin-bottom:1rem}.field label{display:block;font-size:.85rem;margin-bottom:.25rem}.field input{width:100%;padding:.7rem .9rem;border-radius:999px;border:1px solid rgba(198,213,237,.4);background:#0a0c16f2;color:var(--white);outline:none;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field input::placeholder{color:#777b9d}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 1px #7c9dcdcc;background:#15182a}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.6rem;border-radius:999px;border:none;cursor:pointer;font-size:.95rem;font-weight:500;background:linear-gradient(135deg,var(--brand-main),var(--accent));color:var(--white);box-shadow:0 14px 28px #46648db3;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn.full{width:100%}.btn.secondary{background:transparent;border:1px solid rgba(198,213,237,.5);box-shadow:none;color:var(--options)}.btn.cta{background:linear-gradient(135deg,var(--cta),#ff9a4a);box-shadow:0 14px 32px #ed7d318c}.btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px #000000e6}.btn:active{transform:translateY(0);box-shadow:0 10px 20px #0009}.btn-group{display:flex;gap:.5rem;margin-top:.5rem}.hint{font-size:.75rem;color:#8b8faa;margin-top:.4rem}.error{color:var(--error);font-size:.8rem;margin-top:.25rem}.pill-group{display:flex;flex-wrap:wrap;gap:.5rem}.pill{padding:.4rem .9rem;border-radius:999px;border:1px solid rgba(198,213,237,.6);font-size:.8rem;cursor:pointer;background:#0a0c16e6;color:#e1e2f0;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.pill:hover{border-color:var(--accent);box-shadow:0 8px 16px #0006}.pill.active{border-color:var(--accent);background:#7c9dcd33;color:#f3f4ff}.color-pill{width:28px;height:28px;border-radius:999px;border:2px solid transparent;cursor:pointer;position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.color-pill span{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:inherit}.color-pill:hover{transform:translateY(-1px)}.color-pill.active{border-color:var(--accent);box-shadow:0 0 0 2px #7c9dcdb3}.device-preview{min-height:72px;border-radius:12px;background:radial-gradient(circle at top left,#283452f5,#0a0c16fa);display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:.75rem;color:#cdd0f0;margin-top:8px;border:1px solid rgba(198,213,237,.35);box-shadow:0 14px 30px #030612cc}.device-preview-info{display:flex;flex-direction:column;gap:3px}.device-preview-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#9fa4c1}.device-preview-value{margin-top:2px;font-size:.9rem}.device-preview-visual{display:flex;align-items:center;gap:8px}.device-preview-image{width:70px;height:auto;border-radius:12px;object-fit:contain;background:radial-gradient(circle at top,#2f3852,#151826);padding:4px 6px;box-shadow:0 10px 26px #000000b3}.device-chip{font-size:.7rem;padding:4px 10px;border-radius:999px;background:#7c9dcd2e;border:1px solid rgba(124,157,205,.8)}.info-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.info-icon{width:18px;height:18px;border-radius:50%;border:1px solid #b3b6c9;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;cursor:pointer;position:relative}.info-tooltip{position:absolute;top:125%;left:50%;transform:translate(-50%);background:#15182a;border-radius:10px;padding:.6rem .8rem;font-size:.75rem;width:260px;color:#d1d4ea;box-shadow:0 12px 25px #0009;display:none;z-index:20}.info-icon:hover .info-tooltip{display:block}#webapp-screen-inner{width:100%;height:100%;display:grid;grid-template-columns:270px auto minmax(0,1fr);gap:14px;padding:14px 20px;background:radial-gradient(circle at top,#252a3b,#05060a)}.controlbar{background:radial-gradient(circle at top,#252a3b,#05060a);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;border:1px solid rgba(198,213,237,.3);min-height:0;box-shadow:0 18px 48px #000000d9}.controlbar-header{display:flex;align-items:center;justify-content:space-between}.logo{font-size:.9rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.badge{padding:2px 10px;border-radius:999px;font-size:.65rem;border:1px solid #3e455d;background:#c6d5ed14}.controlbar-scroll{flex:1;overflow-y:auto;margin-top:8px;min-height:0;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.controlbar-scroll::-webkit-scrollbar{width:8px}.controlbar-scroll::-webkit-scrollbar-track{background:transparent}.controlbar-scroll::-webkit-scrollbar-thumb{background:#7c9dcde6;border-radius:999px;border:2px solid #101321}.controlbar-scroll::-webkit-scrollbar-thumb:hover{background:#7c9dcd}.section{background:#101321;border-radius:12px;padding:8px 10px 10px;margin-bottom:8px;border:1px solid rgba(255,255,255,.06)}.section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;color:var(--options)}.toggle-group{display:inline-flex;padding:2px;border-radius:999px;background:#151829;border:1px solid #30344a}.toggle-option{padding:4px 10px;border-radius:999px;font-size:.75rem;cursor:pointer;color:#cfd4ff;transition:background .14s ease,color .14s ease}.toggle-option.active{background:linear-gradient(135deg,var(--brand-main),var(--accent));color:#fff}.slider-row{display:flex;align-items:center;gap:8px}.slider-label{font-size:.75rem;min-width:54px;text-align:right}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:#22263a;border-radius:999px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #0b0e18}.light-modes{display:flex;flex-wrap:wrap;gap:4px}.light-mode-btn{color:#fff;font-size:.7rem;padding:3px 8px;border-radius:999px;border:1px solid #30344a;cursor:pointer;background:#141726;transition:background .12s ease,border-color .12s ease,color .12s ease}.light-mode-btn.active{border-color:var(--accent);background:#7c9dcdbf;color:#05060a}.accordion-body{margin-top:6px;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}.accordion-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:6px}.accordion-row .label{font-size:.75rem}.checkbox-row{display:flex;align-items:center;gap:6px;font-size:.75rem}.select-row{margin-top:6px;font-size:.75rem}.select-row select{width:100%;background:#15182a;border-radius:999px;border:1px solid #30344a;color:#e4e6ff;padding:4px 8px;font-size:.8rem}.reset-btn{color:#dde0ff;margin-top:8px;width:100%;font-size:.8rem;padding:6px 10px;background:#1d2136;border:1px solid #333855;border-radius:999px}.footer-legal{font-size:.7rem;color:#7f839f}.footer-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.footer-links a{color:#a9acc7;text-decoration:none;font-size:.7rem}.footer-links a:hover{color:var(--accent);text-decoration:underline}.tools-column{display:flex;flex-direction:row;gap:10px;align-items:stretch}.tools-bar{background:#0c0e18fa;border-radius:var(--radius);border:1px solid rgba(255,255,255,.08);padding:8px 6px;display:flex;flex-direction:column;align-items:stretch;gap:10px;box-shadow:0 18px 45px #000000e6}.tools-panel{display:flex;flex-direction:column;gap:6px}.tools-panel-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#8085a5;padding:2px 4px 4px}.tool-btn{width:56px;height:52px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top,#222637,#101321);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;color:var(--options);transition:border-color .14s ease,box-shadow .14s ease,transform .08s ease,background .14s ease,color .14s ease}.tool-btn:hover{border-color:var(--accent);box-shadow:0 12px 24px #000000bf;transform:translateY(-1px)}.tool-btn:active{transform:translateY(0);box-shadow:0 8px 18px #0009}.tool-btn .tool-icon{width:20px;height:20px;margin-bottom:4px;background-color:currentColor}.tool-btn .tool-label{font-size:.68rem;color:#9fa3c5}.tool-btn.active{border-color:var(--cta);background:radial-gradient(circle at top,#ed7d3124,#15182a);color:#ffd9bf;box-shadow:0 0 0 1px #ed7d31b3}.tool-icon-generic{border-radius:6px;background-image:linear-gradient(135deg,#c6d5ed26,#c6d5ed59)}.extended-toolbar{flex:0 0 auto;width:0;max-width:80px;border-radius:var(--radius);background:#0c0e18f5;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 45px #000000d9;padding:10px 10px 12px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translate(-18px);pointer-events:none;overflow:hidden;transition:width .25s cubic-bezier(.22,.61,.36,1),opacity .2s ease-out,transform .25s ease-out,box-shadow .25s ease-out}.extended-toolbar.visible{width:72px;opacity:1;transform:translate(0);pointer-events:auto}#draw-controls,#reticle-controls{visibility:hidden}#draw-controls.visible,#reticle-controls.visible{visibility:visible;display:block}.extended-section{background:radial-gradient(circle at top,#20253a,#111321);border-radius:12px;padding:8px 9px;border:1px solid rgba(255,255,255,.08)}.extended-section-header{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#a8aed1;margin-bottom:6px}.draw-group{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}.draw-label{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;color:#b3b6c9;margin-right:4px;white-space:nowrap}.draw-shape-row,.draw-stroke-row{display:flex;flex-direction:column;gap:4px}.draw-shape-btn,.draw-width-btn{width:28px;height:26px;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#141828;color:#e4e6ff;cursor:pointer;font-size:.7rem;display:inline-flex;align-items:center;justify-content:center;transition:background .14s ease,border-color .14s ease}.draw-shape-btn .draw-icon,.draw-width-btn .draw-icon{width:18px;height:18px;background-color:currentColor}.draw-icon-circle{border-radius:999px;background-image:radial-gradient(circle at center,#c6d5ed40,#c6d5ed99)}.draw-shape-btn.active,.draw-width-btn.active{border-color:var(--accent);background:#7c9dcde6;color:#05060a}.draw-colors{border-top:1px solid rgba(255,255,255,.12);padding-top:6px;margin-top:4px}.draw-color-row{display:flex;flex-direction:column;flex-wrap:wrap;gap:4px}.draw-color-btn{width:16px;height:16px;border-radius:999px;border:2px solid transparent;cursor:pointer}.draw-color-btn.active{border-color:var(--accent)}.reticle-group{display:flex;flex-direction:column;gap:4px}.reticle-label{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;color:#b3b6c9}.reticle-type-row{display:flex;flex-direction:column;gap:4px}.reticle-type-btn{flex:1;height:26px;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#141828;color:#e4e6ff;cursor:pointer;font-size:.7rem;display:inline-flex;align-items:center;justify-content:center;transition:background .14s ease,border-color .14s ease}.reticle-type-btn .reticle-icon{width:18px;height:18px;background-color:currentColor}.reticle-type-btn.active{border-color:var(--accent);background:#7c9dcde6;color:#05060a}.reticle-clear-btn{margin-top:6px;height:26px;border-radius:999px;border:1px solid #333855;background:#1d2136;color:#e4e6ff;font-size:.7rem;cursor:pointer}.reticle-hint{margin-top:3px;font-size:.65rem;color:#8b8faa}.video-area{border-radius:var(--radius);position:relative;display:flex;align-items:center;justify-content:center;padding:8px}.video-container{position:relative;border-radius:var(--radius);overflow:hidden;max-height:100%;box-shadow:0 18px 40px #000c;background:#000;aspect-ratio:16/9;width:100%}.video-container.recording:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);border:3px solid #ff4b4b;box-shadow:0 0 18px #ff4b4bbf;pointer-events:none}#video-raw{display:none}#video-canvas,#overlay-canvas{display:block;max-width:100%;max-height:calc(100vh - 60px)}#overlay-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;z-index:2}.video-top-controls{position:absolute;inset:8px 8px auto 8px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.pill-btn{pointer-events:auto;font-size:.76rem;padding:4px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:radial-gradient(circle at top,#080a14d9,#060710e6);z-index:10;color:#f1f2ff;display:inline-flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 30px #000000d9}.pill-btn-icon .pill-icon{width:16px;height:16px;background-color:currentColor}.pill-label{display:inline-flex;align-items:center;gap:4px}.status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80}.status-dot.off{background:#f97373}.pill-btn.off{border-color:#f97381e6}.fps-indicator{position:absolute;bottom:8px;right:12px;font-size:.75rem;background:#000000b3;padding:3px 9px;border-radius:999px}.metadata-download{position:absolute;bottom:12px;left:12px;font-size:.75rem;background:#0d101ce6;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);z-index:10}.metadata-download a{color:#dbe0ff;text-decoration:underline}.more-toggle{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 4px 4px;font-size:.78rem;color:#b3b6c9;cursor:pointer;-webkit-user-select:none;user-select:none}.more-toggle-line{flex:1;height:1px;background:#ffffff2e}.more-toggle-inner{display:flex;flex-direction:column;align-items:center;gap:2px}.more-toggle-label{font-weight:500}.more-toggle-arrow{font-size:.7rem}.more-toggle[aria-expanded=true] .more-toggle-label{color:#e4e6ff}.more-toggle[aria-expanded=true] .more-toggle-arrow{transform:translateY(1px)}.more-options.collapsed,body.mode-full-page .tools-panel-tools{display:none}body.mode-full-page .extended-toolbar{display:none!important}body.mode-full-page .controlbar .section,body.mode-full-page #more-options-toggle{display:none}body.mode-full-page #section-my-device{display:block}.offline-link{position:absolute;top:12px;right:22px;z-index:2000;color:#dbe0ff;background:#0d101cdb;padding:6px 14px;border-radius:12px;font-size:.75rem;text-decoration:none;border:1px solid rgba(198,213,237,.7);box-shadow:0 6px 16px #0009}.offline-link:hover{background:#7c9dcd59;border-color:#7c9dcde6;color:#fff}@keyframes fadeInUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 1100px){#webapp-screen-inner{grid-template-columns:270px auto minmax(0,1fr)}}@media (max-width: 900px){#webapp-screen-inner{grid-template-columns:220px minmax(0,1fr)}.tools-column{flex-direction:column}.extended-toolbar{max-width:none}.extended-toolbar.visible{width:100%}}#video-frame:fullscreen{display:flex;align-items:center;justify-content:center;background:#000}#video-frame:fullscreen #video-canvas,#video-frame:fullscreen #overlay-canvas{width:100%;height:100%;max-width:100vw;max-height:100vh}
