:root{color:#f6f7f9;background:#101214;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#101214}button,input,textarea{font:inherit}button{border:1px solid #3e464d;border-radius:6px;background:#e5efe7;color:#141816;cursor:pointer;min-height:36px;padding:0 14px}button:hover{background:#f1f7f2}button:disabled{cursor:not-allowed;opacity:.48}button.active{border-color:#8bd59a;background:#8bd59a;color:#07120a}.app-shell{min-height:100vh}.login-panel{display:grid;align-content:center;gap:28px;margin:0 auto;min-height:100vh;max-width:360px;padding:24px}.login-panel h1{margin:0;font-size:32px;font-weight:700}.login-panel form{display:grid;gap:12px}.login-panel input,.input-strip textarea{width:100%;border:1px solid #3b444b;border-radius:6px;background:#171b1f;color:#f6f7f9;outline:none;padding:10px 12px}.error{margin:0;color:#ffb199}.remote-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh}.toolbar,.input-strip{display:flex;align-items:center;gap:12px;padding:10px 14px;border-color:#2b3136;background:#171b1f}.toolbar{border-bottom:1px solid #2b3136}.input-strip{border-top:1px solid #2b3136}.brand{font-weight:700;min-width:118px}.status-row{display:flex;align-items:center;gap:8px;color:#c9d0d5}.dot{width:10px;height:10px;border-radius:999px;background:#df7b58}.dot.online{background:#6fc17b}.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.zoom-control{display:inline-grid;grid-template-columns:36px minmax(56px,auto) 36px;align-items:center;border:1px solid #3e464d;border-radius:6px;overflow:hidden;background:#111519}.zoom-control button{min-height:34px;border:0;border-radius:0;padding:0}.zoom-control span{min-width:56px;color:#e8edf0;font-size:14px;text-align:center}.viewer{display:grid;place-items:center;min-height:0;overflow:auto;background:#0b0d0f}canvas{display:block;background:#050607;outline:none}.input-strip textarea{min-height:42px;resize:vertical}.input-strip button{white-space:nowrap}@media(max-width:720px){.toolbar{align-items:stretch;flex-wrap:wrap}.toolbar-actions{width:100%;margin-left:0}.toolbar-actions>button,.zoom-control{flex:1}.input-strip{align-items:stretch;flex-direction:column}}
