:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,"PingFang SC",sans-serif;color:#263443;font-synthesis:none;-webkit-font-smoothing:antialiased;--ink:#263443;--muted:#768391;--line:rgba(255,255,255,.78);--blue:#315f76;--shadow:0 24px 70px #354d6620,0 4px 15px #354d660c;--glass:linear-gradient(135deg,#ffffffb8,#ffffff68)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #5286a65c;outline-offset:4px}button svg,.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{color:inherit}a{color:inherit}button,input,textarea{border-radius:12px}button{border:0}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow),inset 0 1px 0 #fff;backdrop-filter:blur(40px) saturate(150%);-webkit-backdrop-filter:blur(40px) saturate(150%)}
.landscape{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 13% 20%,#fbf5ec 0,transparent 50%),radial-gradient(ellipse at 88% 85%,#d3e1e9 0,transparent 55%),#e9eff0;overflow:hidden}.landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,#ffffff40,transparent 50%,#ffffff30);backdrop-filter:blur(6px)}.flow{position:absolute;border-radius:50%;box-shadow:inset 1px 3px 3px #ffffffae,inset -20px -30px 60px #4b788127,20px 30px 80px #5f87951a;transform:rotate(-28deg)}.flow.one{width:105vw;height:44vw;left:-42vw;top:42%;background:linear-gradient(130deg,#f9e1cf38,#a9cbd67c 55%,#e7dcd382);border:1px solid #fff9}.flow.two{width:95vw;height:39vw;left:-23vw;top:49%;background:linear-gradient(30deg,#c0d7dc47,#e8edcf68 45%,#adcbdc80);border:1px solid #fff9}.flow.three{width:43vw;height:43vw;left:57%;top:-30%;background:radial-gradient(circle at 30% 30%,#fff9,#e8d7cb44 60%,#a5cad133);box-shadow:inset 1px 2px 2px #fff,inset -20px -20px 60px #5e8c9d15}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:18px;font-weight:650;letter-spacing:-.7px}.brand .brand-sub{font-weight:400;color:#7f8e99;letter-spacing:-.3px}.brandmark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#395b6c;background:linear-gradient(145deg,#ffffffdd,#ffffff48);border:1px solid #fffd;box-shadow:0 3px 10px #63859115,inset 0 1px #fff}.brandmark svg{width:22px;height:22px}.pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #ffffffb3;border-radius:999px;background:#ffffff40;color:#647b88;font-size:11px;letter-spacing:1.4px}.dot{width:6px;height:6px;border-radius:50%;background:#66a487;box-shadow:0 0 0 3px #66a48712}.login-body{min-height:100svh;display:flex;flex-direction:column;padding:32px 5vw}.login-nav{display:flex;align-items:center;justify-content:space-between}.login-layout{flex:1;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;max-width:1120px;width:100%;margin:70px auto;gap:70px}.intro{padding-bottom:25px}.eyebrow{font-size:11px;letter-spacing:3px;color:#7c9099;font-weight:600;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:24px;height:1px;background:#809ca8}.intro h1{font-weight:500;line-height:1.24;letter-spacing:-3px;font-size:clamp(44px,4.3vw,66px);margin:26px 0 24px}.intro h1 em{font-style:normal;color:#698a98}.intro p{font-size:15px;line-height:1.9;color:#7e8d97;max-width:350px}.intro-details{display:flex;gap:22px;margin-top:40px;font-size:12px;color:#6c8591}.intro-details span{display:flex;align-items:center;gap:7px}.intro-details svg{width:15px;height:15px}.login-card{justify-self:end;position:relative;width:100%;max-width:420px;border-radius:28px;padding:34px 36px 30px;isolation:isolate}.login-card:before{content:"";position:absolute;inset:6px;border:1px solid #ffffff43;pointer-events:none;border-radius:23px;z-index:-1}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.traffic{display:flex;gap:6px}.traffic i{width:8px;height:8px;border-radius:50%;background:#e5ada3}.traffic i:nth-child(2){background:#e4c890}.traffic i:nth-child(3){background:#a6c9b6}.card-note{font-size:10px;letter-spacing:2px;color:#97a3a9}.login-emblem{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#ffffffdc,#ffffff46);border:1px solid white;box-shadow:0 7px 20px #58788b12,inset 0 1px white;color:#658495;margin-bottom:22px}.login-emblem svg{width:28px;height:28px}.login-card h2{font-size:27px;letter-spacing:-1px;font-weight:550;margin:0 0 9px}.card-description{font-size:13px;color:#88959e;margin:0 0 29px;line-height:1.7}.field{margin-top:19px}.field label{font-size:12px;font-weight:550;display:block;margin:0 0 9px;color:#617581}.input-shell{position:relative}.input-shell>svg{position:absolute;top:15px;left:14px;color:#97a8b0;width:17px;height:17px}.input-shell input{width:100%;height:48px;border:1px solid #fff;background:#ffffff70;box-shadow:inset 0 1px 3px #486d8410;padding:0 44px 0 42px;font-size:14px;color:#354d5a;transition:.2s}.input-shell input:focus{background:#ffffffb8;border-color:#b1cbd8;outline:3px solid #9ebccb20;outline-offset:0}.input-shell input::placeholder{color:#a5afb5}.password-toggle{position:absolute;right:8px;top:7px;background:transparent;width:34px;height:34px;display:grid;place-items:center;color:#8a9fa9}.remember-row{display:flex;align-items:center;gap:7px;font-size:12px;color:#80929c;margin:19px 0 22px;cursor:pointer}.remember-row input{appearance:none;width:14px;height:14px;margin:0;border:1px solid #c0d0d9;border-radius:4px;background:#fffa;display:grid;place-items:center;cursor:pointer}.remember-row input:checked{background:#50788e;border-color:#50788e}.remember-row input:checked:after{content:'✓';font-size:10px;color:white}.primary{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;color:white;background:linear-gradient(130deg,#4c7083,#31556c);border:1px solid #335a6b;box-shadow:0 6px 15px #3b677b22,inset 0 1px 0 #ffffff2b;font-weight:550;font-size:14px;transition:.2s}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary:active{transform:translateY(0)}.primary svg{width:16px;height:16px}.login-error{font-size:12px;color:#a3544d;min-height:18px;margin:13px 0 0;line-height:1.5}.secure-note{border-top:1px solid #ffffff70;margin-top:12px;padding-top:20px;display:flex;justify-content:center;align-items:center;gap:6px;font-size:10px;color:#97a6af;letter-spacing:.3px}.secure-note svg{width:12px;height:12px}.login-footer{display:flex;justify-content:space-between;gap:20px;color:#8a9ba5;font-size:11px;letter-spacing:.2px}.login-footer span:last-child{color:#9aa8b0}
/* Desktop shell */
.viewer-body{height:100dvh;overflow:hidden;background:#e5edf0}.workspace{height:100%;display:flex;flex-direction:column;gap:10px;padding:12px}.topbar{position:relative;z-index:3;display:flex;align-items:center;min-height:62px;gap:16px;padding:10px 15px;border-radius:19px;flex-shrink:0;box-shadow:0 8px 28px #4c71800d,inset 0 1px #fff}.topbar .brand{font-size:16px;letter-spacing:-.5px}.topbar .brandmark{width:31px;height:31px;border-radius:10px}.separator{width:1px;height:24px;background:#bbccd34d}.connection{font-size:11px;color:#7d939c;display:flex;align-items:center;gap:8px;white-space:nowrap}.connection .dot{width:5px;height:5px}.connection[data-state=offline] .dot{background:#d0a46f}.connection[data-state=connecting] .dot{animation:pulse 1.5s ease-in-out infinite;background:#a2b8c0}@keyframes pulse{50%{opacity:.3}}.tools{display:flex;align-items:center;gap:4px;margin-left:auto}.tool{height:36px;padding:8px 11px;border-radius:11px;display:flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;font-size:12px;color:#667d8a;white-space:nowrap;transition:.15s}.tool:hover{background:#ffffffa0;border-color:#fff}.tool[aria-pressed=true]{background:#ffffffb0;border-color:#fff;color:#365f72;box-shadow:0 2px 6px #466a7f08}.tool.icon-only{width:36px;padding:8px;justify-content:center}.tool .shortcut{font-size:10px;color:#9aadb6;margin-left:3px}#screen{position:relative;flex:1;min-height:0;min-width:0;background:#e8edf2;border:1px solid #ffffffd9;border-radius:17px;overflow:hidden;box-shadow:0 8px 30px #47687d17}#screen>div{background:#e8edf2!important}#screen canvas{display:block}#notice{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:10;padding:12px 20px;max-width:min(90vw,560px);border-radius:14px;background:#ffffffce;border:1px solid #fff;box-shadow:0 8px 40px #2c4c6029;backdrop-filter:blur(25px);font-size:12px;line-height:1.6;color:#536f7f}#notice:empty{display:none}.popover-wrap{position:relative}.popover{position:absolute;right:0;top:46px;width:240px;border-radius:18px;padding:10px;z-index:8}.popover[hidden]{display:none}.popover-title{font-size:10px;letter-spacing:1.5px;color:#8c9da6;padding:9px 10px 12px}.menu-row{width:100%;display:flex;align-items:center;gap:10px;padding:11px 10px;background:transparent;border-radius:10px;text-align:left;color:#5c7482;font-size:12px}.menu-row:hover{background:#ffffffb0}.menu-row svg{width:17px;height:17px}.menu-row select{margin-left:auto;width:96px;background:#ffffff80;color:#5c7482;border:1px solid #fff;border-radius:7px;padding:4px;font-size:11px}.menu-row .key{margin-left:auto;color:#97a9b2;font-size:10px}.menu-divider{height:1px;background:#ffffff80;margin:7px 4px}.user-row{font-size:11px;color:#91a3ac;padding:9px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dialog{width:min(530px,calc(100vw - 32px));border-radius:25px;padding:26px;background:linear-gradient(140deg,#f7fafbf5,#e9f1f6ea);border:1px solid #fff;box-shadow:0 25px 120px #25475d30;backdrop-filter:blur(40px);color:#405d6e}dialog::backdrop{background:#233b4e2b;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-title{font-size:20px;font-weight:550;letter-spacing:-.5px}.dialog-sub{font-size:12px;color:#8094a0;line-height:1.8;margin:14px 0}.dialog-input{width:100%;height:170px;resize:vertical;padding:14px;background:#ffffffa8;border:1px solid #fff;color:#3a596b;line-height:1.8;outline:none;font-size:15px}.dialog-hint{font-size:11px;color:#96a5ae;margin:10px 0 20px;line-height:1.7}.dialog-actions{display:flex;gap:8px;align-items:center}.dialog-actions .primary{width:auto;margin-left:auto;padding:11px 17px;font-size:12px}.secondary{padding:11px 13px;font-size:12px;color:#6b8391;background:#ffffff86;border:1px solid #fff}.help-grid{display:grid;grid-template-columns:1fr auto;gap:13px;font-size:12px;color:#7a909e;margin:22px 0}.help-grid kbd{background:#fff8;padding:3px 8px;border-radius:5px;color:#557281;font-family:inherit;font-size:11px}.session-note{font-size:11px;color:#8ca0ab;line-height:1.8;margin:18px 0 0}.mini-badge{font-size:9px;letter-spacing:1px;padding:4px 7px;background:#e3f0ea;border:1px solid #c8e1d5;color:#6f9987;border-radius:6px}.empty-loader{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#8fa2af;font-size:13px}.empty-loader span{display:flex;align-items:center;gap:10px}.spinner{display:inline-block;width:15px;height:15px;border:1.5px solid #9bb0bd55;border-top-color:#6b8fa4;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){.login-layout{max-width:1200px;gap:120px}.intro h1{font-size:72px}.login-card{max-width:435px}}
@media(max-width:1000px){.topbar{gap:10px;padding:9px 11px}.topbar .brand-sub,.tool .shortcut{display:none}.connection{max-width:170px;overflow:hidden;text-overflow:ellipsis}.tool{padding:8px}.login-layout{gap:35px}.intro h1{font-size:48px}.login-card{padding:30px}.login-nav .pill{letter-spacing:1px}}
@media(max-width:760px){.login-body{padding:22px}.login-layout{display:flex;justify-content:center;margin:50px auto}.intro{display:none}.login-card{max-width:410px;padding:30px}.login-nav .pill{font-size:9px;padding:7px 9px}.login-footer{font-size:10px}.login-footer span:last-child{display:none}.flow.one{width:200vw;height:85vw;left:-80vw;top:50%}.flow.two{width:180vw;height:80vw;left:-60vw;top:57%}.flow.three{width:100vw;height:100vw;left:40%;top:-10%}.workspace{padding:8px;gap:8px}.topbar{min-height:55px;border-radius:16px;gap:8px}.topbar .brand{font-size:14px}.topbar .brandmark{width:28px;height:28px}.topbar>.separator,.connection{display:none}.tools{gap:0}.tool{padding:8px 7px}.tool .tool-text{display:none}.tool .keep-label{display:inline;font-size:11px}.tool svg{width:18px;height:18px}#screen{border-radius:12px}.dialog-actions{flex-wrap:wrap}.dialog-actions .primary{margin-left:auto}.topbar .mini-badge{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact first-level controls; native desktop pixels in control mode. */
.viewer-body .workspace{padding:0;gap:0}
.viewer-body .topbar{height:32px;min-height:32px;max-height:32px;padding:0 8px;gap:12px;border:0;border-bottom:1px solid #c4d3dc99;border-radius:0;box-shadow:inset 0 1px #ffffffa0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;flex-wrap:nowrap}
.viewer-body .topbar::-webkit-scrollbar{display:none}
.viewer-body .topbar .brand{font-size:13px;letter-spacing:-.6px;flex-shrink:0}
.viewer-body .connection{display:flex;flex-shrink:0;max-width:180px;font-size:10px;gap:6px}
.viewer-body .tools{display:flex;flex-shrink:0;gap:2px;min-width:max-content}
.viewer-body .tool{height:25px;min-height:25px;width:auto;padding:3px 7px;gap:4px;border-radius:6px;font-size:11px;line-height:17px;flex-shrink:0}
.viewer-body .tool svg,.viewer-body .quality-inline svg{width:14px;height:14px}
.viewer-body .quality-inline{display:flex;align-items:center;gap:4px;color:#667d8a;padding:0 4px}
.viewer-body .quality-inline select{height:24px;max-width:94px;padding:1px 3px;background:#ffffff60;border:1px solid #ffffffb0;border-radius:6px;color:#597584;font-size:11px;cursor:pointer}
.viewer-body #screen{border:0;border-radius:0;box-shadow:none}
@media(max-width:1000px){.viewer-body .topbar{gap:8px;padding:0 6px}.viewer-body .tool{padding:3px 5px}}
@media(max-width:760px){.viewer-body .topbar{height:32px;min-height:32px;max-height:32px;gap:9px}.viewer-body .connection{display:flex;max-width:105px}.viewer-body .tools{margin-left:0}.viewer-body .tool span{display:inline}.viewer-body .tool{padding:3px 7px}.viewer-body #screen{border-radius:0}}

/* On-screen editable caret anchor for the local macOS input method. */
.remote-ime{position:fixed;left:80px;top:100px;width:80px;height:26px;min-height:26px;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:transparent!important;caret-color:transparent;opacity:.015;pointer-events:none;resize:none;overflow:hidden;outline:none!important;box-shadow:none!important;font-size:16px;line-height:24px;z-index:2;white-space:pre}

.remote-ime.composing{opacity:1;color:#355568!important;background:#f5faf8f5!important;border:1px solid #b4cbd5!important;border-radius:5px!important;box-shadow:0 3px 16px #27465b20!important;backdrop-filter:blur(12px);height:28px;padding:1px 5px!important;caret-color:#355568}
