:root{font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#193347;background:#eef2f5;--blue:#205d92}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #cdd6de;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}h1{margin:0;font-size:23px}h1 span{font-size:15px;font-weight:400;margin-left:8px;color:#526a7b}header p{margin:0;font-size:13px}main{max-width:1400px;margin:auto;padding:20px 24px}h2{font-size:20px}button{font:inherit;border:1px solid var(--blue);background:var(--blue);color:#fff;padding:9px 14px;border-radius:5px;cursor:pointer}button.secondary{background:#fff;color:var(--blue)}button:disabled{opacity:.4;cursor:not-allowed}input,textarea{font:inherit}input[type=password],textarea{width:100%;padding:12px;border:1px solid #a9bac7;border-radius:5px;background:#fff}label{display:block;margin-bottom:7px}#pair-form{max-width:600px}#pair-form button{margin-top:12px}.toolbar,.view-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#status{margin:12px 0;font-size:14px;border-left:3px solid #7d9bb2;padding-left:10px}#viewport{height:min(64vh,780px);overflow:auto;background:#d4dee6;border:1px solid #9cabb6;position:relative;overscroll-behavior:contain}#screen,#video-screen{display:block;max-width:none;width:100%;height:auto;touch-action:pan-x pan-y pinch-zoom}#screen[hidden],#video-screen[hidden]{display:none}#empty{text-align:center;margin:100px 20px;color:#496577}.view-tools{padding-top:12px}.view-tools label{display:flex;align-items:center;gap:10px;margin:0}.hint{font-size:12px;color:#546c7d}#composer{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}#composer label{grid-column:1/-1;margin:0}#composer button{height:46px}#result{white-space:pre-wrap;font-size:14px;min-height:24px}details{font-size:13px;color:#526a7b}footer{padding:20px 24px;color:#526a7b;font-size:12px;border-top:1px solid #cdd6de}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #62a6d7;outline-offset:3px}@media(max-width:600px){header{padding:14px 16px}h1{font-size:20px}h1 span{display:block;font-size:12px;margin:0}main{padding:14px 12px}.toolbar{gap:8px}button{font-size:14px;padding:9px 11px}#viewport{height:48vh}.view-tools{gap:8px}#composer{grid-template-columns:1fr}#composer label{grid-column:auto}#composer button{justify-self:end}.hint{line-height:1.5}}

#source{display:block;max-width:100%;height:auto;background:#000}

.password-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#e7eef5}
.password-overlay[hidden]{display:none}
.password-card{width:min(100%,340px);text-align:center;background:#fff;border:1px solid #c3d0db;border-radius:12px;padding:28px 24px 18px}
.password-card h2{margin:0;font-size:22px;color:#193347}.password-card>p{font-size:14px;color:#526a7b}
.password-dots{display:flex;justify-content:center;gap:18px;margin:26px 0}.password-dot{width:14px;height:14px;border:2px solid #8fa5b7;border-radius:50%}.password-dot.filled{background:#205d92;border-color:#205d92}
.password-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.password-keypad button{min-height:62px;font-size:25px;background:#f2f6f9;color:#193347;border:1px solid #c3d0db;border-radius:7px;touch-action:manipulation}.password-keypad button:active{background:#d4e3f0}.password-keypad .key-function{font-size:21px;color:#526a7b}
#password-error{min-height:44px;margin:14px 0 0;color:#a12e30;font-size:14px}

#touchpad{height:110px;margin:14px 0 8px;border:1px dashed #77889c;border-radius:12px;background:#18232f;color:#c5d4e5;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;padding:16px;text-align:center}#composer{display:block}#composer label{display:block;margin-bottom:8px}#composer textarea{width:100%;box-sizing:border-box}
