/* Home and administration only: no radar overlay selectors. */
:root{--page-paper:#f9f8f8;--page-ink:#152443;--page-muted:#657084;--page-blue:#4176e6;--page-line:#e6e8ee;--page-soft:#edf2fd}
.nva-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nva-header-note{font-size:12px;color:var(--page-muted)}
.nva-home-page header{margin:0 auto;padding:26px 40px}
.nva-home-main{max-width:1080px;width:calc(100% - 48px);margin:0 auto;flex:1}
.nva-home-hero{max-width:660px;margin:64px auto 60px;text-align:center}
.nva-home-hero h1{font-size:46px;line-height:1.35;letter-spacing:-1.5px;font-weight:550;color:var(--page-ink);margin:0 0 18px}
.nva-home-description{color:var(--page-muted);font-size:14px;margin:0 0 30px;line-height:1.8}
.nva-room-entry{display:flex;align-items:center;gap:8px;max-width:520px;height:54px;margin:0 auto;padding:5px 6px 5px 18px;border:1px solid var(--page-line);border-radius:100px;background:#fff;box-sizing:border-box;box-shadow:0 4px 20px #15244304}
.nva-room-entry:focus-within{border-color:#a8bff2;box-shadow:0 0 0 3px #4176e60b}
.nva-room-entry input{flex:1;min-width:0;height:40px;font-size:16px;letter-spacing:2px;border:0;border-radius:100px;padding:6px 4px;background:transparent;color:var(--page-ink);font-family:Consolas,'Microsoft YaHei',monospace}
.nva-room-entry input::placeholder{font:14px 'Segoe UI','Microsoft YaHei',sans-serif;letter-spacing:0;color:#8b95a5}
.nva-room-entry input:focus-visible{outline:none}
.nva-room-entry button{height:42px;min-height:42px;padding:8px 19px;border-radius:100px;white-space:nowrap;gap:12px;background:var(--page-blue);font-size:13px;font-weight:500}
.nva-room-entry button:hover{background:#3267d8}.nva-room-entry button span{font-size:19px;line-height:1}
.nva-room-help{color:#7b8595;font-size:11px;margin:12px 0 0}
.nva-home-hero .notice{margin:0;min-height:0;font-size:12px}.nva-home-hero .notice:not(:empty){margin-top:12px}
.nva-home-overview{border-top:1px solid var(--page-line);padding:36px 0 0}
.nva-overview-heading{margin-bottom:24px}.nva-overview-heading>p{color:var(--page-blue);font-size:11px;margin:0 0 8px}.nva-overview-heading h2{color:var(--page-ink);font-size:24px;font-weight:550;letter-spacing:-.5px;margin:0}
.nva-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nva-feature-grid article{background:#fff9;border:1px solid var(--page-line);border-radius:20px;padding:24px}
.nva-feature-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--page-soft);color:var(--page-blue);font-size:23px;margin-bottom:20px}
.nva-feature-grid h3{font-size:16px;font-weight:550;color:var(--page-ink);margin:0 0 10px}
.nva-feature-grid p{color:var(--page-muted);font-size:12px;line-height:1.9;margin:0 0 20px}
.nva-feature-caption{font-size:11px;color:#7c8798}
.nva-start-guide{display:flex;align-items:center;gap:42px;margin:32px 0 48px;padding:24px 0;border-top:1px solid var(--page-line);border-bottom:1px solid var(--page-line)}
.nva-start-guide h2{font-size:15px;font-weight:550;white-space:nowrap;margin:0;color:var(--page-ink)}
.nva-start-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:0;list-style:none;counter-reset:steps;flex:1}
.nva-start-guide li{position:relative;padding-left:30px;counter-increment:steps}
.nva-start-guide li::before{content:counter(steps);position:absolute;left:0;top:1px;display:grid;place-items:center;width:20px;height:20px;background:var(--page-soft);color:var(--page-blue);font:11px Consolas,monospace;border-radius:50%}
.nva-start-guide b{display:block;font-size:12px;font-weight:550;color:var(--page-ink)}.nva-start-guide li span{display:block;font-size:11px;color:var(--page-muted);margin-top:3px}
.nva-home-page footer{display:flex;justify-content:space-between;gap:16px;max-width:1080px;width:calc(100% - 48px);margin:0 auto 24px;padding:0;text-align:left;font-size:11px}
.nva-admin{background:var(--page-paper);color:var(--page-ink);font-family:'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;min-height:100vh;display:flex;flex-direction:column}
.nva-admin header{background:#ffffff70;color:var(--page-ink);border-bottom:1px solid var(--page-line);padding:22px max(24px,calc((100vw - 1120px)/2));font-size:14px}
.nva-admin .nva-home{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--page-ink);font-weight:650;font-size:19px}
.nva-admin .nva-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--page-soft);color:var(--page-blue)}.nva-admin .nva-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}
.nva-admin-brand-sub{font-size:12px;font-weight:450;margin-left:12px;color:var(--page-muted)}
.nva-admin .nva-back-link{font-size:12px;color:var(--page-muted);padding:7px 13px;border:1px solid var(--page-line);border-radius:100px;background:#fff8}
.nva-admin .admin-layout{width:100%;max-width:1120px;margin:42px auto 32px;padding:0 24px;flex:1;box-sizing:border-box}
.nva-admin-heading{margin-bottom:34px}.nva-admin-heading>p,.nva-section-caption{font-size:11px;color:var(--page-blue);margin:0 0 9px}.nva-admin-heading h1{font-size:32px;font-weight:550;letter-spacing:-.8px;margin:0 0 10px;line-height:1.4}.nva-admin-heading>span{font-size:13px;color:var(--page-muted)}
.nva-admin .section{padding:28px;border-radius:20px;border-color:var(--page-line);box-shadow:0 3px 20px #15244303}.nva-admin .section h2{font-size:19px;font-weight:550;margin:0 0 22px}
.nva-admin .nva-login-card{max-width:440px;margin:38px auto 80px;padding:32px;text-align:center}
.nva-login-symbol{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 20px;background:var(--page-soft);color:var(--page-blue);border-radius:16px;font-size:23px}
.nva-admin .nva-login-card h2{font-size:23px;margin-bottom:9px}.nva-admin .nva-login-card>.help{margin:0 0 26px}
.nva-admin #login-form{text-align:left}.nva-admin #login-form label{display:block;font-size:12px;font-weight:500;margin-bottom:9px;color:var(--page-muted)}
.nva-admin input,.nva-admin textarea{border-color:var(--page-line);background:#f8f9fc;border-radius:12px;padding:11px 13px;font-size:14px;color:var(--page-ink)}
.nva-admin button{border-radius:100px;background:var(--page-blue);font-size:13px;font-weight:500;padding:10px 20px;gap:12px}.nva-admin button:hover{background:#3267d8}.nva-admin button.secondary{background:var(--page-soft);color:var(--page-blue)}
.nva-admin #login-form button{width:100%;margin-top:16px}.nva-token-help{font-size:11px;color:#7b8697;line-height:1.8;margin:20px 0 0}.nva-token-help code{color:var(--page-muted)}
.nva-admin .help{color:var(--page-muted);font-size:12px}.nva-admin .notice{min-height:0;margin:0;font-size:12px;color:#b3314a}.nva-admin .notice:not(:empty){margin-top:14px}
.nva-admin .admin-grid{gap:20px}.nva-admin .admin-grid .section{margin-bottom:20px}.nva-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.nva-admin .field label{font-size:12px;font-weight:500;color:var(--page-muted)}
.nva-admin textarea.codes{min-height:120px;resize:vertical;font:12px/1.8 Consolas,monospace}
.nva-device-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.nva-admin .nva-device-heading h2{margin-bottom:0}.nva-admin .nva-devices-section #counts{margin:15px 0 20px}
.nva-admin th{background:#f8f9fc;font-size:11px;color:var(--page-muted);padding:13px 14px}.nva-admin td{padding:15px 14px;border-color:var(--page-line);font-size:12px}.nva-admin td.code{font-size:10px;max-width:280px;color:var(--page-muted)}
.nva-admin td:first-child{font-family:Consolas,monospace;color:var(--page-blue);letter-spacing:1px}.nva-admin td button{white-space:nowrap;min-height:32px;padding:5px 12px;font-size:11px}
.nva-admin .table-wrap{border:1px solid var(--page-line);border-radius:14px}.nva-admin tbody tr:last-child td{border-bottom:0}.nva-admin table{min-width:680px}
.nva-admin footer{font-size:11px;color:#7b8697;margin:16px auto 24px;text-align:center}
.nva-admin :focus-visible,.nva-home-page :focus-visible{outline:2px solid var(--page-blue);outline-offset:3px}
@media(max-width:720px){.nva-home-page header{padding:20px}.nva-header-note{font-size:10px}.nva-home-main{width:calc(100% - 36px)}.nva-home-hero{margin:40px auto 38px}.nva-home-hero h1{font-size:35px}.nva-home-description{font-size:12px;margin-bottom:24px}.nva-room-entry{height:50px;padding-left:12px}.nva-room-entry input{font-size:15px}.nva-room-entry input::placeholder{font-size:12px}.nva-room-entry button{height:38px;min-height:38px;padding:7px 14px;font-size:12px}.nva-feature-grid{grid-template-columns:1fr;gap:12px}.nva-feature-grid article{padding:22px}.nva-feature-symbol{float:left;margin-right:14px;margin-bottom:0}.nva-feature-grid h3{padding-top:5px;margin-bottom:18px}.nva-feature-grid p{clear:both;margin-bottom:12px}.nva-start-guide{align-items:flex-start;flex-direction:column;gap:20px;padding:22px 0;margin:24px 0 32px}.nva-start-guide ol{grid-template-columns:1fr;gap:18px}.nva-home-page footer{width:calc(100% - 36px);flex-direction:column;gap:5px}.nva-overview-heading h2{font-size:22px}.nva-admin header{padding:18px 20px}.nva-admin .admin-layout{padding:0 18px;margin-top:28px}.nva-admin-heading h1{font-size:27px}.nva-admin .section{padding:23px 20px}.nva-admin .nva-login-card{padding:28px 23px;margin:24px auto 50px}.nva-admin .admin-grid{grid-template-columns:1fr;gap:0}.nva-form-grid{gap:14px}.nva-device-heading{gap:10px}.nva-admin .nva-device-heading h2{font-size:17px}.nva-admin .nva-device-heading button{font-size:11px;padding:8px 12px}.nva-admin footer{padding:0 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
