:root{color-scheme:light;--ink:#09255d;--brand:#2165f5;--muted:#647ba3;--line:#d9e4f7;--pale:#f0f5ff;--paper:#fff;--danger:#b42336;--ok:#00886a;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-height:100%;background:#edf2fb}body{margin:0;min-height:100vh;min-height:100dvh;background:linear-gradient(145deg,#eef3fc 0%,#f7f9fd 50%,#e9effa 100%);color:var(--ink);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}button,input{font:inherit}button{touch-action:manipulation}.app-shell{width:min(100%,780px);min-height:100vh;min-height:100dvh;margin:0 auto;background:#f8faff;box-shadow:0 12px 50px #122a5b12}.topbar{height:66px;padding:8px 18px;display:flex;align-items:center;gap:11px;background:#10295e;color:#fff}.brand-icon{width:42px;height:42px;border-radius:12px}.brand-copy{display:grid;gap:2px;flex:1}.brand-copy strong{font-size:14px;letter-spacing:.035em}.brand-copy span{font-size:11px;color:#d2e1ff}.button{min-height:46px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font-size:14px;font-weight:700;padding:10px 15px;text-align:center;cursor:pointer;transition:transform .12s ease,filter .12s ease}.button:active{transform:scale(.985);filter:brightness(.96)}.button:disabled{opacity:.48;cursor:default}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 5px 12px #2165f52b}.button.quiet{min-height:40px;padding:8px 13px;background:#ffffff14;color:white;border-color:#ffffff4d}.button.light{background:#fff}.button.danger{color:var(--danger);border-color:#f0cad0;background:#fff}.full{width:100%}.link-button{display:flex;align-items:center;justify-content:center;text-decoration:none}.home-view{padding:18px 16px 28px}.welcome{position:relative;overflow:hidden;border-radius:23px;padding:24px 23px;margin-bottom:14px;background:linear-gradient(135deg,#0b1e4b 0%,#173d8c 72%,#2464d5 100%);color:#fff}.welcome:after{content:"";position:absolute;width:175px;height:175px;right:-50px;top:-70px;border:1px solid #ffffff20;border-radius:50%;box-shadow:0 0 0 22px #ffffff0c,0 0 0 48px #ffffff08}.eyebrow{margin:0 0 7px;color:#56719f;font-size:10px;letter-spacing:.09em;font-weight:800}.welcome .eyebrow{color:#b8d0ff}.welcome h1{position:relative;z-index:1;margin:8px 0 10px;font-size:36px;line-height:1.02;letter-spacing:-.035em}.welcome>p:last-child{position:relative;z-index:1;max-width:530px;margin:0;color:#e1eaff;font-size:13px;line-height:1.55}.card{margin:12px 0;padding:19px;border:1px solid var(--line);border-radius:19px;background:var(--paper);box-shadow:0 7px 20px #18366c08}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2,.card h2{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.02em}.identity-card{background:var(--pale);border-color:#d9e6ff}.identity-card .eyebrow{margin-bottom:4px}.status-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#c0cadb;box-shadow:0 0 0 5px #c0cadb22}.status-dot.online{background:#12a17c;box-shadow:0 0 0 5px #12a17c20}.status-dot.error{background:#dc5661;box-shadow:0 0 0 5px #dc566120}.id-row{display:flex;gap:9px;align-items:center;margin-top:13px}.device-code{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;font-size:clamp(25px,7vw,34px);letter-spacing:.055em;color:#0b2d70}.status-message{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.connect-card{padding:20px}.connect-card>.eyebrow{margin-bottom:5px}.connect-card h2{margin-bottom:16px}.field-label{display:block;margin:13px 0 7px;color:#526b96;font-size:12px;font-weight:700}.text-input{display:block;width:100%;min-height:49px;padding:11px 13px;border:1px solid #cbd9f1;border-radius:12px;background:#fff;color:var(--ink);font-size:16px;outline:none}.text-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2165f51c}.remote-code{text-align:center;font:700 27px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.check-row{display:flex;align-items:center;gap:9px;margin:13px 0;font-size:13px;color:#334d7d}.check-row input{width:18px;height:18px;accent-color:var(--brand)}.password-wrap{margin-bottom:12px}.connect-card .full+.full{margin-top:8px}.hint{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.install-help{display:grid;gap:5px;margin:14px 1px;padding:14px 15px;border:1px solid #dce7f8;border-radius:15px;background:#f1f6ff;font-size:12px;line-height:1.45}.install-help strong{font-size:13px}.install-help span{color:var(--muted)}footer{padding:12px 2px 2px;color:#7589aa;font-size:10px;line-height:1.6}.session-view{display:flex;min-height:calc(100dvh - 66px);flex-direction:column;padding:14px 12px 18px;gap:12px}.session-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-header h1{margin:0;font-size:18px;line-height:1.25}.session-header .eyebrow{margin-bottom:3px}.session-header .status-message{margin-top:3px}.screen-stage{min-height:210px;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:15px;background:#080e1b;color:#d3def2}.screen-placeholder{padding:20px;text-align:center;font-size:13px;line-height:1.5}.remote-canvas{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 255px);object-fit:contain;touch-action:none;user-select:none;-webkit-user-select:none}.control-panel{padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 5px 17px #18366c0a}.control-row{display:flex;flex-wrap:wrap;gap:7px}.quick-keys .button{min-height:40px;flex:1 1 auto;padding:8px 10px;font-size:12px}.text-entry{display:flex;gap:8px;margin-top:11px}.text-entry .text-input{min-width:0;flex:1}.text-entry .button{min-width:82px}.control-panel .hint{margin-bottom:0}.dialog{width:min(calc(100% - 24px),470px);max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:20px;background:transparent;color:var(--ink)}.dialog::backdrop{background:#08183c8a;backdrop-filter:blur(3px)}.dialog-card{display:grid;gap:10px;overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 20px 70px #071b4360}.dialog-card>.hint{margin-top:0}.license-summary{padding:12px;border-radius:13px;background:var(--pale);font-size:13px;line-height:1.5}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:24px;line-height:1}.dialog-card .field-label{margin-top:4px}@media(min-width:700px){.home-view{padding:28px 34px 36px}.welcome{padding:30px 32px}.welcome h1{font-size:42px}.session-view{padding:20px 24px 26px}.remote-canvas{max-height:calc(100dvh - 275px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
