:root{
  color-scheme:dark;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --bg:#040918;
  --panel:#0b1428;
  --panel-2:#101d35;
  --line:#263b62;
  --text:#f7f9ff;
  --muted:#9babca;
  --blue:#4b91ff;
  --green:#31d68a;
  --purple:#b68cff;
  --red:#ff7887;
}

*{box-sizing:border-box}
html, body{
  margin:0;
  min-height:100%;
  background:var(--bg);
  color:var(--text);
}
body{
  min-height:100dvh;
  background-image: linear-gradient(165deg,#0b1d3e 0 16%, #040918 16% 100%);
}
button, input {font:inherit}

.hidden{display:none!important}

.app-shell{
  width:min(1400px, 100%);
  min-height:100dvh;
  margin:0 auto;
  padding:
    max(18px, env(safe-area-inset-top))
    max(22px, env(safe-area-inset-right))
    max(18px, env(safe-area-inset-bottom))
    max(22px, env(safe-area-inset-left));
  display:flex;
  flex-direction:column;
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:58px;
}
.topbar-actions{display:flex;align-items:center;gap:12px}
.viewer-language{
  height:40px;
  max-width:170px;
  padding:0 32px 0 11px;
  border:1px solid #334d76;
  border-radius:6px;
  background:#0b1830;
  color:#e9f1ff;
  font-size:13px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  font-size:19px;
  font-weight:850;
}
.brand img{
  width:38px;
  height:38px;
  border-radius:8px;
}

.live-indicator{
  display:flex;
  align-items:center;
  gap:8px;
  color:#a8f7cd;
  font-size:13px;
  font-weight:800;
}
.live-indicator span, .status-dot{
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--green);
  box-shadow: 0 0 14px #31d68a;
}

main{
  flex:1;
  display:grid;
  place-items:center;
}

.login-view{
  width:min(1100px, 100%);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  align-items:center;
  gap:58px;
  padding:58px 0;
}
.login-copy h1{
  font-size:clamp(42px, 6vw, 78px);
  line-height:1.02;
  margin:0 0 24px;
  letter-spacing:0;
}
.login-copy p{max-width:640px;color:var(--muted);font-size:18px;line-height:1.7;margin:0 0 10px}
.login-copy .bullet{font-size:15px;color:#b8c7e2}
.login-copy .bullet{display:flex;align-items:flex-start;gap:7px}
.eyebrow{
  margin:0 0 10px;
  color:#71a9ff;
  font-size:12px;
  font-weight:850;
  letter-spacing:.12em;
}

.login-card{
  background:rgba(11,20,40,.96);
  border:1px solid var(--line);
  border-radius:8px;
  padding:30px;
  box-shadow:0 24px 80px rgba(0,0,0,.32);
}
label{
  display:block;
  margin:0 0 8px;
  font-size:13px;
  font-weight:750;
  color:#cbd6eb;
}
input{
  width:100%;
  height:54px;
  margin:0 0 18px;
  padding:0 15px;
  border:1px solid #33496f;
  border-radius:6px;
  background:#071023;
  color:#fff;
  font-size:17px;
  outline:none;
}
input:focus{
  border-color:#6ba4ff;
  box-shadow:0 0 0 3px rgba(75,145,255,.15);
}
.primary, .secondary, .relay-button, .center-action{
  border:0;
  border-radius:6px;
  cursor:pointer;
  font-weight:800;
}
.primary{
  width:100%;
  height:54px;
  background:#3985f5;
  color:#fff;
}
.primary:disabled{opacity:.55}
.security-note{
  margin:14px 0 0;
  color:#7888a5;
  font-size:11px;
  line-height:1.5;
}
.form-error{
  margin:0 0 12px;
  padding:11px;
  border:1px solid #7d3242;
  background:#351923;
  color:#ffc3ca;
  border-radius:6px;
  font-size:13px;
}

.viewer-view{
  width:100%;
  align-self:stretch;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:18px;
  align-items:stretch;
  padding:18px 0;
}
.detection-toast{position:fixed;z-index:30;top:max(18px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:min(92vw,520px);padding:13px 18px;border:1px solid #fbbf24;background:#261c08;color:#fef3c7;border-radius:7px;box-shadow:0 12px 34px #0009;font-weight:800;text-align:center}

.video-shell{display:flex; flex-direction:column; gap:12px; min-width:0}
.video-stage{
  position:relative;
  overflow:hidden;
  min-height:min(74vh, 850px);
  background:#000;
  border:1px solid var(--line);
  border-radius:8px;
  display:grid;
  place-items:center;
}
video{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
}

.video-topline{
  position:absolute;
  z-index:3;
  top:0; left:0; right:0;
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:linear-gradient(#020817d9, transparent);
}
.video-topline > div{display:flex; align-items:center; gap:9px; font-weight:800}

.connection-badge{
  padding:6px 9px;
  border-radius:5px;
  background:#25324b;
  color:#d8e1f4;
  font-size:11px;
  font-weight:850;
}
.connection-badge.direct{
  background:#123d75;
  color:#b9d7ff;
}
.connection-badge.turn{
  background:#3e2865;
  color:#e4d4ff;
}

.video-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
  background:#020510;
  color:#fff;
  text-align:center;
  padding:20px;
}
.video-placeholder span{color:var(--muted); text-align:center;}
.spinner{
  width:28px;
  height:28px;
  border:3px solid #30405f;
  border-top-color:#5b9cff;
  border-radius:50%;
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.center-action{
  position:absolute;
  z-index:4;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  padding:13px 18px;
  background:#fff;
  color:#091229;
}

.video-controls{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  padding:7px;
  background:#071024d9;
  border:1px solid #2a3b5c;
  border-radius:8px;
  backdrop-filter:blur(12px);
}
.icon-button{
  min-width:108px;
  height:48px;
  border:0;
  border-radius:6px;
  background:#13203a;
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.icon-button.danger{border-color:#7f1d1d;color:#fecaca}
.icon-button.danger.active{background:#7f1d1d;border-color:#ef4444;color:#fff}
.camera-health{margin-top:14px;padding-top:12px;border-top:1px solid #263553}
.icon-button span{font-size:19px}
.icon-button b{font-size:12px}
.icon-button.active{
  background:#155d45;
  color:#b9f8d8;
}
.icon-button.talk-active{
  background:#b53a48;
  color:#fff;
}
.icon-button:disabled{opacity:.58;cursor:wait}

.viewer-side{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.status-card, .ad-slot{
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  padding:20px;
}

.status-card h2{
  font-size:25px;
  margin:0 0 18px;
}
.status-card dl{margin:0}
.status-card dl > div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid #22324e;
}
.status-card dt{color:var(--muted)}
.status-card dd{margin:0;font-weight:750}

.connection-message, .relay-copy{
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.secondary, .relay-button{
  width:100%;
  min-height:46px;
  margin-top:9px;
  border:1px solid #344664;
  background:#17233a;
  color:#fff;
}
.camera-list-button{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;border-color:#45638f;background:#0e1a30;color:#dce9ff}
.camera-list-button span:first-child{font-size:19px;line-height:1}
.camera-list-button:disabled{opacity:.55;cursor:wait}
.relay-button{
  background:#4b3472;
  border-color:#7657a4;
}

.ad-slot{
  min-height:258px;
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#6e7f9d;
  border-style:dashed;
}
.ad-slot span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
}
.ad-slot small{margin-top:6px}
.mobile-ad{display:none}

.viewer-view:fullscreen,
.video-stage:fullscreen{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
}
.video-stage.pseudo-fullscreen{
  position:fixed;
  inset:0;
  z-index:100;
  width:100vw;
  height:100dvh;
  border:0;
  border-radius:0;
}
.video-stage.pseudo-fullscreen ~ *{visibility:hidden}

footer{
  display:flex;
  justify-content:center;
  gap:23px;
  flex-wrap:wrap;
  padding:22px 0 4px;
}
footer a{
  color:#8090ad;
  text-decoration:none;
  font-size:12px;
}

@media (max-width: 960px){
  .app-shell{
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
  }
  .login-view{
    grid-template-columns:1fr;
    gap:30px;
    padding:36px 0;
    text-align:center;
  }
  .login-copy{justify-self:stretch}
  .login-copy h1{font-size:clamp(40px, 10vw, 58px)}
  .login-card{width:min(500px,100%); justify-self:center}

  .viewer-view{
    grid-template-columns:1fr;
    padding:10px 0;
  }
  .video-stage{
    min-height:56dvh;
    aspect-ratio:16/10;
  }
  .viewer-side{display:block}
  .viewer-side .ad-slot{display:none}
  .mobile-ad{display:flex; min-height:110px}
  .status-card dl{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
  }
  .status-card dl > div{
    display:block;
    border:0;
    background:var(--panel-2);
    padding:10px;
    border-radius:6px;
  }
  .status-card dt{font-size:11px}
  .status-card dd{margin-top:5px}
  .video-controls{bottom:max(12px, env(safe-area-inset-bottom))}
  .icon-button{min-width:96px}
  .topbar{min-height:50px}
  .brand{font-size:16px}
  .brand img{width:32px; height:32px}
}

@media (max-width: 430px){
  .app-shell{
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:max(10px,env(safe-area-inset-bottom));
  }
  .login-view{padding:20px 0}
  .login-copy h1{font-size:34px;line-height:1.12}
  .login-copy p{font-size:15px}
  .login-card{padding:19px}
  .viewer-language{width:88px;padding:0 24px 0 8px;font-size:12px}
  .video-stage{min-height:49dvh; aspect-ratio:3/4}
  .video-topline{padding:13px}
  .status-card h2{font-size:20px}
  .status-card dl{grid-template-columns:1fr 1fr 1fr}
  .icon-button{
    min-width:90px;
    height:45px;
  }
  .icon-button b{display:none}
  footer{gap:15px}
}

@media(orientation: landscape) and (max-height:650px){
  .app-shell{padding:0}
  .topbar, footer, .viewer-side, .mobile-ad{display:none}
  .viewer-view{padding:0; display:block}
  .video-stage{
    width:100vw;
    height:100dvh;
    min-height:100dvh;
    border:0;
    border-radius:0;
  }
  .video-controls{
    left:auto;
    right:max(10px, env(safe-area-inset-right));
    transform:none;
  }
  .video-topline{padding-top:max(12px, env(safe-area-inset-top))}
}

@media(prefers-reduced-motion:reduce){
  .spinner{animation:none}
}

.saved-view{width:min(920px,100%);margin:48px auto 64px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(340px,1fr);gap:42px;align-items:start}
.saved-heading h1{margin:8px 0 14px;font-size:clamp(34px,5vw,58px);line-height:1.04}
.saved-heading>p:last-child{max-width:520px;color:var(--muted);font-size:18px;line-height:1.65}
.saved-card{background:rgba(12,29,58,.86);border:1px solid rgba(135,170,219,.18);box-shadow:0 22px 70px rgba(0,0,0,.28);padding:24px}
.saved-camera-list{display:grid;gap:10px}
.saved-camera-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid rgba(135,170,219,.16);background:#0a1830}
.saved-camera-open{display:flex;align-items:center;gap:13px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.saved-camera-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#143567;color:#78aefc;font-size:19px}
.saved-camera-copy{min-width:0}.saved-camera-copy strong,.saved-camera-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saved-camera-copy strong{font-size:16px}.saved-camera-copy small{margin-top:5px;color:var(--muted);font-size:12px}
.saved-camera-status{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:#aabbd5;font-size:12px}.saved-camera-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#ef5350;box-shadow:0 0 0 4px rgba(239,83,80,.1)}.saved-camera-status.online::before{background:#39d98a;box-shadow:0 0 0 4px rgba(57,217,138,.1)}
.saved-camera-tools{display:flex;align-items:center;gap:2px}.edit-camera,.forget-camera{width:38px;height:38px;border:0;background:transparent;color:#8ea3c2;font-size:20px;cursor:pointer}.edit-camera:hover{color:#78aefc}.forget-camera:hover{color:#ff8a91}
.saved-actions{display:grid;gap:8px;margin-top:16px}.text-button{min-height:44px;border:0;background:transparent;color:#9fbbea;font:inherit;font-weight:700;cursor:pointer}.text-button:hover{color:#fff}
.remember-row{display:flex!important;align-items:flex-start;gap:11px;margin:2px 0 4px!important;padding:13px;border:1px solid rgba(135,170,219,.15);background:rgba(5,16,34,.4);cursor:pointer}.remember-row input{width:19px;height:19px;margin:2px 0 0;accent-color:#3f8cff}.remember-row span{display:grid;gap:3px}.remember-row b{font-size:14px}.remember-row small{color:var(--muted);font-size:12px;line-height:1.45}
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(1,7,18,.82);backdrop-filter:blur(8px)}
.modal-card{width:min(440px,100%);padding:26px;background:#0d1d38;border:1px solid rgba(135,170,219,.22);box-shadow:0 30px 90px rgba(0,0,0,.5)}.modal-card h2{margin:14px 0 10px;font-size:24px}.modal-card p{margin:0;color:var(--muted);line-height:1.65}.modal-card label{display:block;margin:18px 0 7px;font-size:13px;font-weight:750;color:#c7d5eb}.modal-card input{width:100%;height:50px;border:1px solid #344664;background:#071329;color:#fff;padding:0 13px;font:inherit}.modal-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,190,73,.14);color:#ffc65c;font-weight:900;font-size:22px}.rename-icon{background:rgba(63,140,255,.14);color:#78aefc}.modal-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin-top:22px}
@media(max-width:760px){.saved-view{display:block;margin:24px auto 42px}.saved-heading{margin-bottom:22px}.saved-heading h1{font-size:36px}.saved-card{padding:16px}.modal-actions{grid-template-columns:1fr}}

.video-transform{width:100%;height:100%;display:grid;place-items:center;transform-origin:center;will-change:transform}
.video-stage.pan-enabled{touch-action:none;cursor:grab}.video-stage.pan-enabled:active{cursor:grabbing}
.viewer-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;border:1px solid var(--line);background:#081126;border-radius:8px}
.viewer-tab{min-height:44px;border:0;border-radius:5px;background:transparent;color:#96a8c7;font-weight:800;cursor:pointer}.viewer-tab.active{background:#173664;color:#eaf3ff;box-shadow:inset 0 0 0 1px #315e9c}
.tool-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:18px}
.tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tool-field{display:grid;align-content:start;gap:7px;margin:0}.tool-field>span,.settings-grid label>span{color:#9fb0cd;font-size:12px;font-weight:750}
.tool-field select,.settings-grid select,.select-row select{width:100%;height:44px;border:1px solid #314867;border-radius:6px;background:#08152b;color:#fff;padding:0 10px;font:inherit}
.inline-range{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:8px;height:44px;padding:0 10px;border:1px solid #314867;border-radius:6px;background:#08152b}.inline-range input{height:auto;margin:0;padding:0;accent-color:#4b91ff}.inline-range output{text-align:right;color:#fff;font-size:12px}
.tool-button,.compact-button{min-height:44px;border:1px solid #344b6d;border-radius:6px;background:#14243e;color:#f4f7ff;font:inherit;font-weight:750;cursor:pointer}.tool-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.tool-button b{font-size:13px}.compact-button{padding:0 14px}.compact-button:disabled{opacity:.55;cursor:not-allowed}.danger-text{border-color:#6f3846!important;color:#ffabb4!important;background:#24151e!important}
.zoom-row{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:12px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #203250}
.segmented{display:flex;padding:4px;border:1px solid #304565;border-radius:6px;background:#071226}.segmented button{min-height:38px;border:0;border-radius:4px;background:transparent;color:#91a3c2;padding:0 12px;cursor:pointer}.segmented button.active{background:#275fa8;color:#fff}.segmented button span:first-child{margin-right:6px}
.zoom-slider{display:grid;grid-template-columns:auto 1fr 48px;gap:10px;align-items:center;margin:0;color:#b8c6dc}.zoom-slider input{height:auto;margin:0;padding:0;accent-color:#4b91ff}.zoom-slider output{text-align:right;color:#fff;font-variant-numeric:tabular-nums}
.tool-help{margin:10px 0 0;color:#8192af;font-size:12px;line-height:1.55}
.notification-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px;padding:13px;border:1px solid #263b5d;background:#0a172c}.notification-row>div{display:grid;gap:4px}.notification-row small{color:#91a1bd;line-height:1.45}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.panel-heading h2,.settings-copy h2{margin:0 0 7px;font-size:19px}.panel-heading p,.settings-copy p{margin:0;color:#8fa0bc;font-size:13px;line-height:1.55}.panel-actions{display:flex;gap:7px;flex:0 0 auto}
.panel-status{margin:14px 0 0;padding:11px 13px;border:1px solid #284a73;background:#0b203c;color:#bcd9ff;font-size:13px}.panel-status.error{border-color:#763846;background:#2c151e;color:#ffc0c7}
.recordings-list{display:grid;gap:8px;margin-top:12px}.recording-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #263954;background:#09162b}.recording-copy{min-width:0;display:grid;gap:6px}.recording-heading{display:flex;align-items:center;gap:9px;min-width:0}.recording-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recording-copy small{color:#91a2be}.recording-badge,.event-marker{display:inline-flex;align-items:center;border-radius:4px;padding:4px 7px;font-size:10px;font-weight:850}.recording-badge.motion{background:#163e62;color:#9bd4ff}.recording-badge.continuous{background:#254735;color:#aef0c6}.recording-events{display:flex;flex-wrap:wrap;gap:5px}.event-marker.motion{background:#273a59;color:#bfd2ef}.event-marker.person{background:#3d3158;color:#ddc8ff}.event-marker.animal{background:#163f35;color:#9ff0d0}.event-marker.sound{background:#4d3b21;color:#ffd79b}.recording-actions{display:flex;gap:7px}
.settings-section{padding-bottom:18px}.settings-section+.settings-section{padding-top:18px;border-top:1px solid #223451}.recording-mode-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.recording-mode-options label{margin:0;cursor:pointer}.recording-mode-options input{position:absolute;opacity:0;pointer-events:none}.recording-mode-options span{display:grid;gap:5px;min-height:76px;padding:13px;border:1px solid #2d4262;background:#0a172d}.recording-mode-options small{color:#8b9bb7;font-weight:500;line-height:1.35}.recording-mode-options input:checked+span{border-color:#4e92f3;background:#112f59;box-shadow:inset 0 0 0 1px #4e92f3}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 0;border-top:1px solid #223451}.settings-grid label{display:grid;gap:7px;margin:0}.detection-settings{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,.7fr));gap:10px;align-items:stretch;padding-top:18px;border-top:1px solid #223451}.switch-row,.select-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px;border:1px solid #2a3e5d;background:#09162b}.switch-row span,.select-row span{display:grid;gap:4px}.switch-row small{color:#8192ae;font-weight:500}.switch-row input{width:22px;height:22px;margin:0;accent-color:#3d8af7}.select-row{display:grid}.select-row select{margin-top:8px}.settings-apply{width:min(320px,100%);margin:16px 0 0}
.recording-player-card{width:min(900px,96vw)}.recording-player-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.recording-player-heading h2{margin:0}.close-button{width:42px;height:42px;border:1px solid #3a4e6d;background:#14223a;color:#fff;font-size:25px;cursor:pointer}.recording-player-card video{width:100%;max-height:68vh;margin-top:16px;background:#000}
.remote-sound-backdrop{place-items:end center;padding:12px;background:rgba(1,7,18,.2);backdrop-filter:none}.remote-sound-card{width:min(720px,100%);max-height:min(46vh,440px);overflow:auto}.modal-eyebrow{color:#78aefc;font-weight:850}.remote-sound-card h2{margin:4px 0 0}.remote-sound-playing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid #14866e;background:#082d2a}.remote-sound-playing small{color:#72ead0;font-weight:850}.remote-sound-playing strong{font-size:16px}.remote-sound-playing button{grid-column:2;grid-row:1/3}.danger-button{background:#8d2634!important;border-color:#e65763!important}.remote-sound-group{margin-top:12px}.remote-sound-group h3{margin:0 0 7px;color:#a9b9d2;font-size:12px}.remote-sound-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.remote-sound-grid button{min-width:150px;min-height:44px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #344b6d;border-radius:6px;background:#111f37;color:#eef5ff;cursor:pointer;text-align:left}.remote-sound-grid button:hover,.remote-sound-grid button.active{border-color:#36c9aa;background:#123f3b}.remote-sound-grid button span{color:#76d9c5;font-size:18px}.remote-sound-grid button b{font-size:13px}.remote-sound-note{margin-top:12px!important;font-size:12px}

@media(max-width:1050px){.tool-grid{grid-template-columns:repeat(2,1fr)}.detection-settings{grid-template-columns:1fr 1fr}.detection-settings .settings-copy{grid-column:1/-1}}
@media(max-width:680px){.tool-panel{padding:14px}.tool-grid{grid-template-columns:1fr 1fr}.zoom-row{grid-template-columns:1fr}.segmented{display:grid;grid-template-columns:1fr 1fr}.notification-row,.panel-heading{display:grid}.panel-actions{display:grid;grid-template-columns:1fr 1fr}.recording-mode-options{grid-template-columns:1fr}.settings-grid,.detection-settings{grid-template-columns:1fr}.recording-row{grid-template-columns:1fr}.recording-actions{display:grid;grid-template-columns:1fr 1fr}.recording-actions .compact-button{width:100%}}
@media(max-width:480px){.remote-sound-card{max-height:44vh;padding:14px}.remote-sound-grid button{min-width:138px}}
@media(max-width:430px){.viewer-tabs{position:sticky;top:max(6px,env(safe-area-inset-top));z-index:10}.viewer-tab{font-size:12px}.tool-grid{grid-template-columns:1fr}.notification-row .compact-button{width:100%}}
