*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--bg:#02040a;--panel:#050b14;--line:#0b75ff;--text:#f6fbff;--muted:#88a9cc;--green:#22ea76}
html,body{margin:0;min-height:100%;background:#02040a;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}
body{background:radial-gradient(circle at 50% -10%,#082650 0,#020711 30%,#02040a 70%);overflow-x:hidden}
button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.login-shell{max-width:430px;margin:0 auto;padding:70px 18px 30px}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.login-card{border:1px solid #0d6ce8;border-radius:18px;padding:18px;background:#06101f;box-shadow:0 0 20px #006eff1f,inset 0 0 25px #006eff0d}
.login-card input{width:100%;margin:14px 0;padding:15px;border-radius:10px;border:1px solid #1774e6;background:#020812;color:#fff;text-align:center;font-size:20px;letter-spacing:4px}.login-card small{display:block;text-align:center;color:#7798bb;margin-top:10px}.login-card input[type="password"],.login-card input[type="email"],.login-card input#accountUsername{font-size:16px;letter-spacing:1px;margin:9px 0}.login-link{width:100%;border:0;background:transparent;color:#65b8ff;font-size:11px;font-weight:800;padding:10px 4px}
#app{max-width:430px;margin:0 auto;padding:20px 9px 92px;min-height:100vh}
.hero{display:grid;grid-template-columns:102px 1fr 46px;align-items:center;gap:10px;margin-bottom:2px}
.avatar-shell{width:100px;height:100px;border-radius:20px;overflow:hidden;border:1px solid #0a78ff;background:#06142b;box-shadow:0 0 18px #006eff45}.avatar-shell.large{width:110px;height:110px}
.avatar{width:100%;height:100%;object-fit:cover;object-position:center 37%;transform:scale(1.18)}.brand-block{min-width:0}
.thif-logo{font-family:"Arial Black","Impact","Segoe UI Black",sans-serif;font-style:italic;font-weight:900;font-size:31px;letter-spacing:-1px;transform:skewX(-8deg);white-space:nowrap;background:linear-gradient(#d8f4ff,#49caff 35%,#0a71ff 70%,#b8ebff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 11px #078fff99}
.thif-sub{font-size:9px;letter-spacing:4px;text-align:center;margin-top:4px;color:#e7f6ff}.icon-btn{width:44px;height:44px;border-radius:10px;border:1px solid #146ccc;background:#071122;color:white;font-size:20px;box-shadow:0 0 12px #006cff2c}
.status-row{display:flex;justify-content:center;margin:7px 0 14px}.connection-pill{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:8px 18px;border:1px solid #0e70dc;border-radius:8px;background:#061325;color:var(--green);font-size:12px;font-weight:800;box-shadow:0 0 13px #0379ff24}
.screen-section{margin-bottom:10px}.field-label{font-size:11px;color:#68c8ff;margin:0 0 6px 3px}select{width:100%;padding:11px 13px;background:#040811;border:1px solid #0d65ce;border-radius:8px;color:white;outline:none}
.screen-frame{position:relative;margin-top:10px;aspect-ratio:1.34/1;background:#000;border:1px solid #1392ff;border-radius:8px;overflow:hidden;box-shadow:0 0 14px #007aff28}#screen{display:none;width:100%;height:100%;object-fit:contain;background:#000}
.screen-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#082a5a,#020711 65%),linear-gradient(135deg,#081122,#000)}.tf-mark{font-family:"Arial Black",Impact,sans-serif;font-size:72px;font-style:italic;color:#071325;-webkit-text-stroke:2px #0c6bea;text-shadow:0 0 20px #007bff}
.mini-fullscreen{position:absolute;right:9px;top:9px;width:34px;height:34px;border-radius:7px;border:1px solid #147ae5;background:#040b16;color:#fff;font-size:16px}.fullscreen-exit{position:absolute;right:14px;top:max(14px,env(safe-area-inset-top));z-index:40;width:44px;height:44px;border-radius:50%;border:1px solid #1e9fff;background:#020713dd;color:white;font-size:20px}
.control-grid{display:grid;gap:7px;margin-top:7px}.control-grid-2{grid-template-columns:repeat(2,1fr)}.control-grid-3{grid-template-columns:repeat(3,1fr)}.control-grid-4{grid-template-columns:repeat(4,1fr)}
.action{min-height:61px;border:1px solid #137cff;border-radius:9px;background:linear-gradient(180deg,#07162e,#030812);color:white;box-shadow:inset 0 0 18px #006eff16,0 0 9px #006eff12;padding:8px 4px}.action .ico{display:block;font-size:23px;line-height:1.15}.action>span:last-child{display:block;margin-top:5px;font-size:8px;font-weight:800}.action.small{min-height:58px}.action.small .ico{font-size:20px}
.wide-btn{width:100%;padding:13px 10px;border-radius:8px;border:1px solid #1688ff;background:linear-gradient(180deg,#0b3e7c,#031225);color:white;font-weight:900;letter-spacing:.5px;box-shadow:inset 0 0 18px #037cff20,0 0 10px #0070ff22}.fullscreen-main{margin-top:8px;font-family:"Arial Black",Impact,sans-serif;font-style:italic;font-size:16px}
.tab-page{display:none}.tab-page.active{display:block}.touchpad-panel{margin-top:10px}.touchpad{height:220px;border:1px solid #126edf;border-radius:10px;background:radial-gradient(circle at center,#0a2a5c,#040b18 65%);display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;user-select:none}.pad-title{font-family:"Arial Black",Impact,sans-serif;font-style:italic;font-size:26px;color:#7dcbff}.pad-sub{font-size:10px;color:#6f91b8;margin-top:7px;text-align:center;padding:0 15px}
.panel-card{border:1px solid #0e69d4;border-radius:12px;padding:14px;background:#050b15;box-shadow:0 0 14px #006cff18}.panel-title{font-family:"Arial Black",Impact,sans-serif;font-style:italic;color:#9dd9ff;margin-bottom:10px}textarea{width:100%;min-height:120px;padding:12px;border:1px solid #126bd4;border-radius:8px;background:#020711;color:white;resize:vertical;outline:none}.keyboard-grid{margin-top:10px}.files-placeholder{text-align:center;padding:35px 20px}.folder-icon{font-size:55px}.files-placeholder p{color:#7f9ab9;font-size:13px}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(430px,100%);height:72px;display:grid;grid-template-columns:repeat(4,1fr);background:#03060b;border-top:1px solid #14253b;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.nav-btn{background:transparent;border:0;border-right:1px solid #121d2a;color:#b9c6d3;padding:7px 3px}.nav-btn:last-child{border-right:0}.nav-btn span{display:block;font-size:24px}.nav-btn small{font-size:9px}.nav-btn.active{color:#10a7ff;text-shadow:0 0 8px #008cff}
body.screen-fullscreen{overflow:hidden}body.screen-fullscreen #screenFrame{position:fixed;z-index:999;inset:0;margin:0;border:0;border-radius:0;width:100vw;height:100dvh;aspect-ratio:auto;background:#000}body.screen-fullscreen #screen{display:block!important;width:100%;height:100%;object-fit:contain}body.screen-fullscreen #screenPlaceholder{display:none!important}body.screen-fullscreen #exitFullscreen{display:block!important}body.screen-fullscreen .mini-fullscreen{display:none}
@media(max-width:370px){.hero{grid-template-columns:88px 1fr 42px}.avatar-shell{width:86px;height:86px}.thif-logo{font-size:27px}.action{min-height:57px}.action .ico{font-size:20px}}

.touchpad-screen-card{margin-bottom:10px}
.touchpad-screen-frame{position:relative;margin-top:8px;aspect-ratio:16/9;background:#000;border:1px solid #1392ff;border-radius:8px;overflow:hidden;box-shadow:0 0 14px #007aff28}
#touchpadScreen{display:none;width:100%;height:100%;object-fit:contain;background:#000}
.touchpad-large{height:300px}
@media(max-width:370px){.touchpad-large{height:270px}}

.status-row{gap:7px;flex-wrap:wrap}
.audio-pill{border:1px solid #0e70dc;border-radius:8px;background:#061325;color:#9ab6d6;padding:8px 12px;font-size:10px;font-weight:800}
.audio-pill.active{color:#22ea76;box-shadow:0 0 10px #00a84a25}

.touchpad-screen-card{margin-bottom:8px}
.touchpad-screen-frame{position:relative;aspect-ratio:16/9;background:#000;border:1px solid #1392ff;border-radius:8px;overflow:hidden;box-shadow:0 0 14px #007aff28}
#touchpadScreen{display:none;width:100%;height:100%;object-fit:contain;background:#000}
.touchpad-large{height:320px}

.fullscreen-tools{position:fixed;z-index:1200;left:50%;transform:translateX(-50%);bottom:max(14px,env(safe-area-inset-bottom));display:flex;gap:8px;background:#020713d9;border:1px solid #0f67c9;border-radius:11px;padding:6px;backdrop-filter:blur(7px)}
.fs-tool{border:1px solid #126fd8;border-radius:8px;background:#061327;color:#d6ebff;padding:10px 14px;font-size:11px;font-weight:800}
.fs-tool.active{color:#27b8ff;box-shadow:0 0 11px #007eff45}

.fullscreen-touch-surface{position:fixed;z-index:1100;inset:0;touch-action:none;background:transparent}
.fullscreen-keyboard-panel{position:fixed;z-index:1300;left:8px;right:8px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 64px));background:#040a14ee;border:1px solid #1689ff;border-radius:12px;padding:10px;box-shadow:0 0 22px #006eff35;backdrop-filter:blur(9px)}
.fs-kbd-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:#8fd7ff}
.fs-kbd-top button{border:1px solid #285a8e;background:#06101d;color:white;border-radius:7px;padding:6px 10px}
#fullscreenText{min-height:70px;max-height:110px}
.fs-kbd-actions{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:6px;margin-top:7px}
.fs-kbd-actions button{border:1px solid #1478e4;background:#07162a;color:white;border-radius:7px;padding:9px 5px;font-size:10px;font-weight:800}

body.screen-fullscreen #fullscreenTools{display:flex!important}
body.screen-fullscreen.fullscreen-controls-hidden #exitFullscreen,
body.screen-fullscreen.fullscreen-controls-hidden #fullscreenTools{
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .25s ease;
}
body.screen-fullscreen #fullscreenTouchSurface{display:block!important}
body.screen-fullscreen.keyboard-open #fullscreenTouchSurface{display:none!important}
body.screen-fullscreen.keyboard-open #fullscreenKeyboardPanel{display:block!important}
body.screen-fullscreen.keyboard-open #fullscreenTools{bottom:auto;top:max(12px,env(safe-area-inset-top))}
body.screen-fullscreen.keyboard-open #exitFullscreen{top:max(58px,calc(env(safe-area-inset-top) + 48px))}

/* v0.4.6 — fullscreen controls must sit above touch/keyboard overlays */
.fullscreen-exit{
  position:fixed!important;
  z-index:2000!important;
  top:max(12px,env(safe-area-inset-top))!important;
  right:12px!important;
  width:auto!important;
  min-width:78px!important;
  height:42px!important;
  padding:0 13px!important;
  border-radius:9px!important;
  border:1px solid #27a9ff!important;
  background:#020713ee!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  box-shadow:0 0 14px #008cff55!important;
  pointer-events:auto!important;
}

body.screen-fullscreen #fullscreenTouchSurface{
  z-index:1100!important;
}

body.screen-fullscreen #fullscreenTools{
  z-index:1500!important;
}

body.screen-fullscreen #fullscreenKeyboardPanel{
  z-index:1600!important;
}

.install-hint{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:7px 0 10px;
  padding:10px 12px;
  border:1px solid #0e70dc;
  border-radius:9px;
  background:#061325;
  color:#b9ddff;
  box-shadow:0 0 12px #0078ff1f;
}
.install-hint strong{display:block;font-size:10px;color:#62c9ff}
.install-hint small{display:block;font-size:9px;color:#89a7c8;margin-top:3px}
.install-hint button{
  flex:0 0 auto;
  border:1px solid #245986;
  border-radius:7px;
  background:#08111f;
  color:white;
  width:34px;
  height:34px;
}

@media (display-mode: standalone) {
  .install-hint{display:none!important}
  body{padding-top:env(safe-area-inset-top)}
}

/* v0.4.7 — exit button is now a top-level element, above every touch layer */
body.screen-fullscreen #exitFullscreen{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:fixed!important;
  z-index:5000!important;
  top:max(12px,env(safe-area-inset-top))!important;
  right:12px!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

body.screen-fullscreen #fullscreenTouchSurface{z-index:2000!important}
body.screen-fullscreen #fullscreenTools{z-index:3000!important}
body.screen-fullscreen #fullscreenKeyboardPanel{z-index:4000!important}

/* Prevent invisible layers from intercepting taps after leaving fullscreen */
body:not(.screen-fullscreen) #fullscreenTouchSurface,
body:not(.screen-fullscreen) #fullscreenTools,
body:not(.screen-fullscreen) #fullscreenKeyboardPanel,
body:not(.screen-fullscreen) #exitFullscreen{
  display:none!important;
}

/* v0.4.9 — tela da aba Touchpad */
.touchpad-screen-frame{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:190px!important;
  background:#000!important;
}
#touchpadScreen{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  z-index:2!important;
  background:#000!important;
}
#touchpadScreenPlaceholder{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
}
#touchpadFullscreenBtn{
  z-index:5!important;
}

/* v0.4.10 — seletor de monitor na aba Touchpad */
.touchpad-monitor-bar{
  margin-bottom:8px;
}
#touchpadMonitorSelect{
  width:100%;
  padding:11px 13px;
  background:#040811;
  border:1px solid #0d65ce;
  border-radius:8px;
  color:white;
  outline:none;
}

/* v0.5.0 — conexão e latência */
.quality-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:86px;
  padding:8px 11px;
  border:1px solid #0e70dc;
  border-radius:8px;
  background:#061325;
  color:#8eb2d8;
  font-size:10px;
  font-weight:800;
  box-shadow:0 0 10px #0078ff18;
}
.quality-pill.good{color:#27e77b}
.quality-pill.medium{color:#ffd166}
.quality-pill.bad{color:#ff6b6b}
.connection-pill.reconnecting{color:#ffd166!important}

/* v0.5.1 — Arquivos PC <-> celular */
.files-panel{padding-bottom:18px}
.file-actions{display:grid;grid-template-columns:1fr;gap:8px}
.file-upload-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border:1px solid #1688ff;
  border-radius:8px;
  background:linear-gradient(180deg,#0b3e7c,#031225);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.4px;
  box-shadow:inset 0 0 18px #037cff20,0 0 10px #0070ff22;
}
.file-upload-btn input{display:none}
.wide-btn.secondary{
  background:linear-gradient(180deg,#09284e,#05101f);
  font-size:10px;
}
.shared-folder-info{
  margin:12px 0 8px;
  padding:10px 11px;
  border:1px solid #124d8b;
  border-radius:8px;
  background:#040a13;
}
.shared-folder-info strong{
  display:block;
  color:#78caff;
  font-size:9px;
}
.shared-folder-info small{
  display:block;
  margin-top:4px;
  color:#8fa8c3;
  font-size:9px;
  word-break:break-all;
}
.file-list{display:flex;flex-direction:column;gap:7px}
.file-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  border:1px solid #124d8b;
  border-radius:9px;
  padding:10px;
  background:linear-gradient(180deg,#071426,#030810);
}
.file-main{min-width:0}
.file-name{
  color:#e8f5ff;
  font-size:11px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.file-meta{
  margin-top:3px;
  color:#7692af;
  font-size:9px;
}
.file-buttons{display:flex;gap:5px}
.file-buttons button,
.file-buttons a{
  min-width:38px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #166bca;
  border-radius:7px;
  background:#07152a;
  color:#fff;
  text-decoration:none;
  font-size:16px;
}
.file-buttons .delete-file{border-color:#703543;color:#ff9dab}
.files-empty{
  padding:28px 10px;
  text-align:center;
  color:#7089a5;
  font-size:11px;
}
.upload-progress-wrap{
  margin:11px 0;
  padding:9px;
  border:1px solid #125ca9;
  border-radius:8px;
  background:#030a14;
}
.upload-progress-head{
  display:flex;
  justify-content:space-between;
  margin-bottom:6px;
  color:#a9d8ff;
  font-size:9px;
  font-weight:800;
}
.upload-progress{
  height:8px;
  overflow:hidden;
  border-radius:20px;
  background:#071426;
}
#uploadProgressBar{
  width:0%;
  height:100%;
  border-radius:20px;
  background:linear-gradient(90deg,#006cff,#2bd8ff);
  box-shadow:0 0 9px #009dff;
}

/* THIF DRIVE — armazenamento G: integrado sem substituir o compartilhamento SMB */
.drive-storage-card,.drive-breadcrumb{
  margin:0 0 10px;
  padding:10px 11px;
  border:1px solid #126bd4;
  border-radius:9px;
  background:linear-gradient(180deg,#071a31,#030811);
}
.drive-storage-head{display:flex;justify-content:space-between;gap:8px;color:#8fd6ff;font-size:9px}
.drive-storage-head span{text-align:right;color:#9db1c8}
.drive-storage-bar{height:8px;margin-top:8px;overflow:hidden;border-radius:20px;background:#071426}
#driveStorageUsed,#driveUploadBar{width:0;height:100%;border-radius:20px;background:linear-gradient(90deg,#006cff,#2bd8ff);box-shadow:0 0 9px #009dff}
.drive-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.drive-toolbar .file-upload-btn{min-height:42px}
.drive-breadcrumb strong{display:block;color:#78caff;font-size:9px}
.drive-breadcrumb small{display:block;margin-top:4px;color:#d4ebff;font-size:10px;word-break:break-all}
.drive-folder{cursor:pointer;border-color:#176fc4;background:linear-gradient(180deg,#08213e,#030b16)}
.drive-folder .file-name{color:#7fd6ff}
.file-buttons .rename-drive{border-color:#745e20;color:#ffd96b}
.smb-alternative{margin-top:14px;border-color:#264461}
.smb-note{margin:-2px 0 10px;color:#7794b1;font-size:9px}

/* v0.5.7.3 — manter conectado */
.remember-login{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin:10px 0 13px;
  padding:10px 12px;
  border:1px solid #123f70;
  border-radius:8px;
  background:#030914;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.remember-login input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.remember-box{
  position:relative;
  width:20px;
  height:20px;
  flex:0 0 20px;
  border:1px solid #1479df;
  border-radius:5px;
  background:#06101d;
  box-shadow:inset 0 0 9px rgba(0,112,255,.16);
}
.remember-login input:checked + .remember-box{
  background:linear-gradient(180deg,#0c95ff,#0869d9);
  border-color:#35c8ff;
  box-shadow:0 0 11px rgba(16,161,255,.42);
}
.remember-login input:checked + .remember-box:after{
  content:"✓";
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  color:white;
  font-size:14px;
  font-weight:900;
}
.remember-text{
  color:#9fc5e8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.remember-login:has(input:checked) .remember-text{
  color:#52c8ff;
}

/* v0.5.7.4 — cursor separado do vídeo */
.remote-cursor{
  position:absolute;
  width:0;
  height:0;
  z-index:25;
  pointer-events:none;
  filter:drop-shadow(1px 1px 1px rgba(0,0,0,.95));
}
.remote-cursor::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:14px;
  height:19px;
  background:white;
  clip-path:polygon(0 0,0 92%,27% 68%,46% 100%,62% 92%,44% 62%,82% 60%);
  filter:drop-shadow(0 0 1px #000);
}
.remote-cursor::after{
  content:"";
  position:absolute;
  left:1px;
  top:1px;
  width:13px;
  height:18px;
  background:#111;
  clip-path:polygon(0 0,0 92%,27% 68%,46% 100%,62% 92%,44% 62%,82% 60%);
  z-index:-1;
}
.fullscreen-cursor{
  position:fixed!important;
  z-index:4900!important;
}

/* v0.5.7.5 — fix cursor overlay positioning */
.screen-frame,
.touchpad-screen-frame,
.screen-card,
.touchpad-screen-card{
  position:relative;
}
#mainRemoteCursor,
#touchRemoteCursor{
  transform:translate(0,0);
}

/* v0.5.7.6 — cursor always above the streamed image */
#mainRemoteCursor,
#touchRemoteCursor,
#fullscreenRemoteCursor{
  display:block;
  z-index:9998;
}
#mainRemoteCursor.hidden,
#touchRemoteCursor.hidden,
#fullscreenRemoteCursor.hidden{
  display:none!important;
}

/* v0.5.8 — área de transferência */
.clipboard-card{
  margin-top:12px;
}
.clipboard-help{
  margin:4px 0 10px;
  color:#7895b3;
  font-size:10px;
  line-height:1.45;
}
.clipboard-text{
  width:100%;
  min-height:118px;
  resize:vertical;
  border:1px solid #125ca9;
  border-radius:8px;
  outline:none;
  padding:11px 12px;
  background:#020811;
  color:#ecf8ff;
  font-family:Consolas,monospace;
  font-size:12px;
  box-shadow:inset 0 0 16px rgba(0,91,200,.08);
}
.clipboard-text:focus{
  border-color:#1d9cff;
  box-shadow:0 0 10px rgba(0,132,255,.20),inset 0 0 16px rgba(0,91,200,.08);
}
.clipboard-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:9px;
}
.clipboard-copy-phone{
  margin-top:8px;
}
.clipboard-status{
  min-height:18px;
  margin-top:7px;
  color:#6f92b4;
  font-size:9px;
  text-align:center;
}
.clipboard-status.ok{color:#32e783}
.clipboard-status.error{color:#ff7884}

/* v0.5.9 — envio rápido global */
.quick-send-global{
  margin:8px 0 10px;
}
.quick-send-btn{
  width:100%;
  min-height:42px;
  border:1px solid #1595ff;
  border-radius:8px;
  background:linear-gradient(180deg,#0b4387,#06172d);
  color:#f3fbff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:inset 0 0 18px rgba(0,120,255,.12),0 0 10px rgba(0,112,255,.14);
}
.quick-send-btn:active{
  transform:scale(.99);
}
.quick-send-status{
  min-height:15px;
  padding-top:4px;
  text-align:center;
  color:#7698b9;
  font-size:9px;
}
.quick-send-status.ok{color:#32e783}
.quick-send-status.error{color:#ff7d89}


/* v0.6.2.0 — H264 Internet canvas */
.h264-screen{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
  display:block;
}
.h264-screen.hidden{display:none!important}
.screen-frame .h264-screen,
.touchpad-screen-frame .h264-screen{
  position:absolute;
  inset:0;
  z-index:2;
}
body.screen-fullscreen #h264Screen{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
}
body.screen-fullscreen #screen{
  z-index:1;
}

/* v0.6.2.2 — adaptive H264 profile label */
#qualityPill{
  white-space:nowrap;
  min-width:max-content;
}


/* v0.6.3.0 Beta — consolidated feature pack */
.reconnect-overlay{
  position:fixed;inset:0;z-index:9000;background:rgba(0,5,14,.78);
  backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center
}
.reconnect-overlay.hidden{display:none!important}
.reconnect-box{min-width:240px;text-align:center;padding:24px;border:1px solid #168ff8;border-radius:14px;background:#041020;box-shadow:0 0 30px rgba(0,119,255,.25)}
.reconnect-box strong{display:block;margin:12px 0 5px;color:#e9f7ff}
.reconnect-box small{color:#7fa7ca}
.reconnect-spinner{width:38px;height:38px;margin:auto;border:3px solid rgba(40,160,255,.2);border-top-color:#35bfff;border-radius:50%;animation:reconnectSpin .8s linear infinite}
@keyframes reconnectSpin{to{transform:rotate(360deg)}}
.thif-toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:9500;max-width:88vw;padding:10px 15px;border-radius:9px;background:#07182d;border:1px solid #188df0;color:#eaf7ff;box-shadow:0 0 20px rgba(0,105,225,.25);font-size:12px}
.thif-toast.hidden{display:none}
.compact-feature-card{margin-top:10px;padding:12px}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}
.segmented button,.mini-feature-btn,.power-grid button{min-height:38px;border:1px solid #145b9d;border-radius:7px;background:#07162a;color:#b9d7ee;font-weight:800;font-size:10px}
.segmented button.active{background:#0b5eae;color:#fff;border-color:#1ba8ff;box-shadow:0 0 12px rgba(0,140,255,.22)}
.audio-control-row{display:grid;grid-template-columns:1fr 48px 70px;gap:8px;align-items:center;margin:8px 0}
.audio-control-row input{width:100%}
.shortcut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.shortcut-grid button{min-height:42px;border:1px solid #145b9d;border-radius:7px;background:#06152a;color:#d5edff;font-size:10px;font-weight:800}
.shortcut-create{display:grid;grid-template-columns:1fr 1.2fr auto;gap:6px;margin-top:8px}
.shortcut-create input{min-width:0;background:#020a14;border:1px solid #155b9b;border-radius:6px;color:#fff;padding:8px;font-size:11px}
.security-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.trusted-list{margin-top:8px;display:flex;flex-direction:column;gap:5px}
.trusted-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #133e68;border-radius:7px;background:#04101f;font-size:10px}
.trusted-row button{border:1px solid #b93643;background:#211018;color:#ff7580;border-radius:6px;padding:6px}
.power-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.power-grid button.danger{border-color:#b82f3b;color:#ff717c}
.feature-toggle{display:flex;gap:8px;align-items:center;margin-top:10px;color:#87a9c8;font-size:10px}
.immersive-hint{position:fixed;left:50%;bottom:78px;transform:translateX(-50%);z-index:5002;background:rgba(2,10,20,.82);border:1px solid #136ec2;border-radius:8px;color:#a9d9ff;padding:7px 10px;font-size:9px;pointer-events:none}
.immersive-hint.hidden{display:none}
.video-recovery-status {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  z-index: 7;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(2, 8, 18, 0.88);
  color: #65e8ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.text-send-status {
  min-height: 22px;
  padding: 6px 2px 10px;
  color: #9edbea;
  font-size: 12px;
  line-height: 1.35;
}
