.webcam-shell{display:flex;flex-direction:column;gap:clamp(8px,1vh,12px);flex:1 1 auto;min-height:0;min-width:0;width:100%}.webcam-stage{position:relative;width:100%;max-width:900px;margin-inline:auto;aspect-ratio:var(--cam-aspect, 1.3333);flex:1 1 auto;min-height:0;max-height:min(75vh,calc(100vh - 240px));border-radius:clamp(14px,2vw,20px);overflow:hidden;background:#00000040;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 70px #0000008c,inset 0 0 0 1px #ffffff08}.webcam-video{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;background:#000}.webcam-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.webcam-badge{position:absolute;left:clamp(10px,2%,14px);top:clamp(10px,2%,14px);min-width:48px;padding:clamp(8px,1.5vw,10px) clamp(10px,2vw,14px);border-radius:clamp(12px,1.5vw,16px);font-family:var(--display-font);font-size:clamp(22px,3vw,30px);font-weight:800;color:#eaf0fff2;background:linear-gradient(135deg,#7c5cffd9,#4de1ff73);border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 34px #7c5cff47,0 10px 22px #4de1ff1f}.webcam-meta{flex:0 0 auto;display:grid;gap:6px;padding:clamp(10px,1.5vw,12px) clamp(12px,1.5vw,14px);border-radius:clamp(14px,1.5vw,18px);background:#ffffff09;border:1px solid rgba(255,255,255,.1)}.webcam-row{display:flex;justify-content:space-between;align-items:center;font-size:clamp(11px,1.2vw,13px);color:#eaf0ffb3;gap:8px;flex-wrap:wrap}.webcam-label{text-transform:uppercase;letter-spacing:.18em;font-size:clamp(9px,1vw,10.5px);color:#eaf0ff8c}.webcam-value{font-size:clamp(12px,1.3vw,14px);font-weight:700;color:#eaf0ffeb}.webcam-status{font-size:clamp(11px,1.2vw,12.5px);color:#eaf0ff9e}.webcam-error{font-size:12px;color:#ff8a7a}@media(max-width:720px){.webcam-stage{max-height:60vh}.webcam-badge{font-size:24px;padding:8px 12px}}@media(max-width:480px){.webcam-stage{border-radius:14px}.webcam-badge{font-size:20px;padding:6px 10px;border-radius:10px;min-width:40px}.webcam-meta{padding:10px}}@media(max-height:700px)and (min-width:721px){.webcam-stage{max-height:min(65vh,calc(100vh - 220px))}.webcam-meta{padding:8px 12px;gap:4px}}@media(max-height:600px)and (min-width:721px){.webcam-stage{max-height:min(58vh,calc(100vh - 200px))}}.refBody{display:grid;grid-template-rows:1fr auto;gap:12px;min-height:0;height:100%}.chartFrame{border-radius:18px;overflow:hidden;background:#00000038;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;padding:12px;min-height:0}.chartImg{width:100%;height:auto;max-height:100%;object-fit:contain;display:block;border-radius:12px;background:#ffffff05}.refFooterNote{font-size:12.5px;color:#eaf0ff9e;line-height:1.4}.topbar{padding:14px clamp(14px,2.5vw,28px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);background:#05081259;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.logoMark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;position:relative;background:#ffffff0d;border:1px solid rgba(255,255,255,.09)}.logoGlow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(124,92,255,.22),transparent 55%);filter:blur(12px);opacity:.95}.brandText{display:grid;line-height:1.05}.brandName{font-family:var(--display-font);font-weight:800;letter-spacing:.02em;font-size:14px}.brandTag{font-size:12px;color:#eaf0ff94;margin-top:2px}@media(max-height:700px)and (min-width:721px){.topbar{padding-top:10px;padding-bottom:10px}.logoMark{width:36px;height:36px}}@media(max-width:480px){.topbar{padding:12px 14px}.logoMark{width:36px;height:36px;border-radius:12px}.brandName{font-size:13px}.brandTag{font-size:11px}}.bottombar{padding:14px clamp(14px,2.5vw,28px);display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.08);background:#05081240;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.techChips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tech{padding:7px 10px;border-radius:999px;font-size:12px;color:#eaf0ffc2;background:#ffffff0b;border:1px solid rgba(255,255,255,.1)}.links{display:flex;align-items:center;gap:10px}.iconBtn{text-decoration:none;padding:9px 12px;border-radius:12px;font-size:12px;color:#eaf0ffd6;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:transform .15s ease,background .15s ease}.iconBtn:hover{transform:translateY(-1px);background:#ffffff14}.iconBtn svg{width:16px;height:16px;display:block}@media(max-height:700px)and (min-width:721px){.bottombar{padding-top:10px;padding-bottom:10px}.tech{padding:5px 8px;font-size:11px}.iconBtn{padding:7px 10px}}@media(max-width:720px){.techChips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.tech:nth-child(n+4){display:none}}@media(max-width:480px){.bottombar{padding:12px 14px}.tech{padding:5px 8px;font-size:11px}.iconBtn{padding:8px 10px}.iconBtn svg{width:14px;height:14px}}.page{height:100vh;width:100%;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;color:var(--text);background:radial-gradient(circle at 10% 12%,rgba(124,92,255,.22),transparent 45%),radial-gradient(circle at 88% 10%,rgba(77,225,255,.14),transparent 42%),radial-gradient(circle at 60% 90%,rgba(124,92,255,.14),transparent 48%),linear-gradient(135deg,#070a12,#0b1430 55%,#111a3c);background-attachment:fixed}.stage{padding:clamp(12px,2vh,20px) clamp(14px,2.5vw,28px);display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(14px,2vw,20px);min-height:0;min-width:0;align-items:stretch;overflow:hidden}.stage>*{min-width:0;min-height:0}.cameraColumn{display:flex;flex-direction:column;gap:clamp(8px,1.5vh,14px);min-height:0;min-width:0}.refColumn{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-height:0;min-width:0}.cameraHeader{flex:0 0 auto;padding:4px 2px 0}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:clamp(9px,1.2vw,11px);color:var(--muted);margin:0 0 6px}.headline{font-family:var(--display-font);font-weight:800;font-size:clamp(20px,2.5vw,38px);line-height:1.1;margin:0 0 6px}.subhead{margin:0;max-width:100%;color:#eaf0ffc7;line-height:1.4;font-size:clamp(12px,1.4vw,14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.glassCard{border-radius:clamp(16px,2vw,22px);background:#ffffff0b;border:1px solid rgba(255,255,255,.1);box-shadow:0 26px 60px #00000073,inset 0 0 0 1px #ffffff05;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-width:0;min-height:0;overflow:hidden}.cameraCard{flex:1 1 auto;min-height:0;padding:clamp(10px,1.5vw,14px);display:flex;flex-direction:column;gap:clamp(8px,1vh,12px)}.refCard{padding:clamp(10px,1.5vw,14px);display:flex;flex-direction:column;gap:clamp(8px,1vh,12px);max-height:100%}.cardTopRow{flex:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.cardTitle{font-family:var(--display-font);font-weight:700;letter-spacing:.01em;font-size:clamp(12px,1.3vw,14px);color:#eaf0ffeb}.cardCaption{margin-top:3px;color:#eaf0ff9e;font-size:clamp(11px,1.2vw,12.5px)}.chip{padding:6px 10px;border-radius:999px;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);color:#eaf0ffb8;font-size:clamp(10px,1.1vw,12px);white-space:nowrap}.chipStrong{color:#eaf0ffeb}.refHeader{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.refEyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:clamp(9px,1vw,10.5px);color:#eaf0ff8c}.refTitle{margin-top:4px;font-family:var(--display-font);font-weight:720;font-size:clamp(14px,1.4vw,16px)}.topControls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#ffffff0b;border:1px solid rgba(255,255,255,.1);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{display:none}.toggleTrack{width:32px;height:17px;border-radius:999px;position:relative;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);transition:background .16s ease}.toggleTrack:after{content:"";position:absolute;top:50%;left:3px;width:11px;height:11px;border-radius:999px;transform:translateY(-50%);background:#eaf0ffd9;transition:transform .16s ease}.toggle input:checked+.toggleTrack{background:#7c5cff59;border-color:#7c5cff73}.toggle input:checked+.toggleTrack:after{transform:translate(15px,-50%);background:#eaf0fff2}.toggleLabel{font-size:clamp(10px,1.1vw,12px);color:#eaf0ffbd}@media(max-width:960px){.stage{grid-template-columns:1.5fr 1fr;gap:12px}.chip:not(:first-of-type){display:none}}@media(max-width:720px){.page{height:auto;min-height:100vh;overflow:visible}.stage{grid-template-columns:1fr;grid-template-rows:auto auto;gap:20px;padding:14px;overflow:visible}.cameraColumn{order:1}.refColumn{order:2;justify-content:flex-start}.subhead{white-space:normal;overflow:visible;text-overflow:clip}.chip{display:none}}@media(max-width:480px){.stage{padding:10px;gap:16px}.cameraCard,.refCard{padding:10px}.cardTopRow{flex-direction:column;align-items:flex-start;gap:8px}.topControls{width:100%;justify-content:flex-end}}@media(max-height:700px)and (min-width:721px){.stage{padding-top:8px;padding-bottom:8px;gap:10px}.cameraColumn{gap:6px}.cameraHeader{padding-top:0}.eyebrow{margin-bottom:4px;font-size:9px}.headline{font-size:clamp(18px,2.2vw,28px);margin-bottom:4px}.subhead{font-size:12px}.cameraCard,.refCard{padding:10px;gap:8px}}@media(max-height:580px){.page{height:auto;min-height:100vh;overflow:visible}}:root{--display-font: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;--body-font: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;--text: #eaf0ff;--muted: rgba(234, 240, 255, .58);--cyan: #4de1ff;--violet: #7c5cff;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:var(--body-font);background:#070a12;overflow-x:hidden;overflow-y:auto}button,input,textarea{font-family:inherit}#root{min-height:100vh}
