:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #08100e; color: #f4f8f6; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 20% 20%, #17362d 0, transparent 38%), radial-gradient(circle at 85% 80%, #173029 0, transparent 36%), #08100e; }
main { min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 7vw; max-width: 1180px; margin: auto; padding: 48px; }
.brand { display: flex; align-items: center; gap: 12px; color: #a8bdb5; font-weight: 650; letter-spacing: .02em; }
.mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; color: #07110d; background: #66e6ae; font-weight: 900; }
h1 { margin: 42px 0 24px; font-size: clamp(52px, 7vw, 92px); line-height: .96; letter-spacing: -.065em; }
.intro p { max-width: 590px; color: #a7bbb4; font-size: 19px; line-height: 1.65; }
.card { padding: 38px; border: 1px solid #29443b; border-radius: 28px; background: rgba(17, 31, 27, .88); box-shadow: 0 30px 90px rgba(0,0,0,.35); backdrop-filter: blur(20px); }
.eyebrow { color: #66e6ae; text-transform: uppercase; letter-spacing: .15em; font-size: 12px; font-weight: 800; }
h2 { margin: 12px 0 28px; font-size: 30px; }
label { display: block; margin-bottom: 10px; color: #9cb0a9; font-size: 14px; }
input { width: 100%; border: 1px solid #38554b; border-radius: 14px; padding: 18px; color: white; background: #0c1714; font: 700 25px ui-monospace, monospace; letter-spacing: .09em; outline: none; }
input[type="password"] { font: inherit; letter-spacing: normal; }
input:focus { border-color: #66e6ae; box-shadow: 0 0 0 4px rgba(102,230,174,.12); }
.remember { display: flex; align-items: center; gap: 9px; margin-top: 14px; color: #a5b8b1; cursor: pointer; }.remember input { width: 17px; height: 17px; margin: 0; accent-color: #66e6ae; }
button { border: 0; border-radius: 14px; padding: 17px 22px; color: #07110d; background: #66e6ae; font-weight: 800; cursor: pointer; }
form button { width: 100%; margin-top: 14px; font-size: 16px; }
button:hover { background: #84f2c2; }
.status { min-height: 24px; margin: 18px 0 0; color: #bcd0c9; text-align: center; }
.status.error { color: #ff8d8d; }
.saved-device { margin: 10px 0 0; color: #66e6ae; font-size: 12px; text-align: center; }
.privacy { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid #29443b; color: #7f958d; font-size: 13px; line-height: 1.5; }
.downloads { display: grid; gap: 8px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #29443b; }
.downloads span { margin-bottom: 4px; color: #9fb2ab; font-size: 12px; }
.downloads a { color: #66e6ae; font-size: 13px; text-decoration: none; }
.downloads a:hover { text-decoration: underline; }
.downloads small { margin-top: 6px; color: #71877f; line-height: 1.45; }
.hidden { display: none !important; }
.viewer { position: fixed; inset: 0; display: grid; grid-template-rows: 64px 1fr; background: #030605; z-index: 10; }
.viewer header { display: flex; align-items: center; gap: 20px; padding: 10px 18px; background: #101a17; border-bottom: 1px solid #263a33; }
.viewer header span { color: #94aaa2; margin-right: auto; }
.viewer header button { padding: 10px 14px; background: #3a2020; color: #ffadad; }
#stage { position: relative; display: grid; place-items: center; overflow: hidden; outline: none; }
#remote-video { width: 100%; height: 100%; object-fit: contain; }
.hint { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); padding: 8px 13px; border-radius: 20px; background: rgba(0,0,0,.65); color: #cad8d3; font-size: 12px; pointer-events: none; }
@media (max-width: 800px) { main { grid-template-columns: 1fr; padding: 28px 20px; gap: 40px; } h1 { margin-top: 28px; } .card { padding: 25px; } }
