:root{font-family:system-ui,sans-serif;color:#e8eef7;background:#101724;color-scheme:dark}*{box-sizing:border-box}body{margin:0}main{max-width:1320px;margin:auto;padding:20px}.login{max-width:480px;margin:7vh auto}.dashboard{max-width:820px;margin:28px auto}h1{font-size:29px;margin:8px 0}h2{font-size:22px;margin:10px 0}p,li{line-height:1.55}header,nav,.inputrow,.keys,.actions,.copyrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}header{justify-content:space-between}input,button,.button{font:inherit;border-radius:10px;padding:12px;border:1px solid #506078}input:not([type=checkbox]){width:100%;background:#192336;color:inherit}button,.button{cursor:pointer;background:#ff7043;color:#111827;border-color:#ff7043;font-weight:600;text-decoration:none;min-height:44px}.secondary,.keys button{background:#24334b;color:#edf3fa;border-color:#506078}.muted{font-size:14px;color:#b6c5da;overflow-wrap:anywhere}.notice{background:#22334c;padding:14px;border-radius:10px}.card{background:#192336;border:1px solid #2b3c55;padding:22px;border-radius:18px;margin:18px 0}.brand,.step{font-size:11px;letter-spacing:.12em;color:#c1d0e6;font-weight:700}.wide{width:100%;margin:12px 0}.hidden{display:none}.linkbutton{background:transparent;color:#b9c9df;border:0;text-decoration:underline;font-size:14px}.copyrow{background:#101724;padding:12px;border-radius:10px}.copyrow code{overflow-wrap:anywhere;flex:1;min-width:170px}a{color:#b7d1ff}.viewport{overflow:auto;background:#fff;min-height:120px;border-radius:10px}#screen{display:block;width:100%;height:auto;touch-action:pan-x pan-y;user-select:none}#screen.zoomed{width:200%;max-width:none}#screen.drag-mode{touch-action:none}.controls{margin-top:18px;padding:16px;background:#192336;border-radius:10px}.inputrow{margin:10px 0}.inputrow input{flex:1;min-width:200px}.keys{margin-top:12px}#status{min-height:24px;overflow-wrap:anywhere}nav{margin:16px 0}button:disabled{opacity:.5;cursor:wait}dialog{max-width:440px;background:#192336;color:#e8eef7;border:1px solid #506078;border-radius:18px;padding:24px}dialog::backdrop{background:#000a}@media(max-width:600px){main{padding:16px}.dashboard{margin:0 auto}.login{margin:4vh auto}h1{font-size:26px}.card{padding:18px}.viewport{max-height:70vh}.keys button{padding:9px}.actions>*{flex-grow:1;text-align:center}.copyrow{align-items:stretch}}
