/* Firmware, Windows Setup, OOBE, ESP and sign-in screens */
.vm.su{user-select:none;cursor:default}
.su-dots{display:flex;gap:9px;justify-content:center;margin:18px 0}
.su-dots i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:sudot 1.3s infinite ease-in-out}
.su-dots i:nth-child(2){animation-delay:.12s}.su-dots i:nth-child(3){animation-delay:.24s}.su-dots i:nth-child(4){animation-delay:.36s}.su-dots i:nth-child(5){animation-delay:.48s}
@keyframes sudot{0%,60%,100%{opacity:.15;transform:scale(.8)}30%{opacity:1;transform:scale(1.15)}}
/* firmware */
.vm.fw{background:#000;color:#d7dde6;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Consolas,"DejaVu Sans Mono",Menlo,monospace;font-size:14px;gap:18px}
.fw-logo{display:flex;flex-direction:column;align-items:center;gap:8px}
.fw-logo b{font:600 30px "Segoe UI",system-ui,sans-serif;color:#fff;letter-spacing:.02em}
.fw-logo em{font-style:normal;color:#8a95a5}
.fw-keys,.bm-btn{display:flex;gap:14px}
.fw-key{border:1px solid #5b6675;padding:6px 14px;border-radius:3px;cursor:pointer;color:#fff}
.fw-key:hover{background:#1e2a3a}
.fw-auto{color:#8a95a5;max-width:80%;text-align:center}
.fw-wait{color:#fff;font:15px "Segoe UI",system-ui,sans-serif}
.fw-text{color:#c8d0da;white-space:pre-wrap;align-self:flex-start;margin:30px}
.bm-box{border:2px solid #aab4c0;background:#0a2a6b;min-width:min(620px,90%);color:#fff}
.bm-title{background:#aab4c0;color:#000;padding:4px 12px;text-align:center}
.bm-list{padding:10px 0}
.bm-item{padding:5px 16px;cursor:pointer;white-space:nowrap}
.bm-item.on{background:#fff;color:#0a2a6b}
.bm-help{border-top:1px solid #aab4c0;padding:6px 12px;color:#c9d6ef;font-size:12px;white-space:pre-wrap;text-align:center}
/* lock / sign-in */
.vm.lock{background:radial-gradient(ellipse 60% 80% at 50% 110%,#3d8fff 0,#1c4fb8 45%,#0b1f55 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Segoe UI",system-ui,sans-serif}
.lk-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:340px;text-align:center}
.lk-av{width:150px;height:150px;border-radius:50%;background:#ffffff30;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:600}
.lk-card h2{font-size:26px;font-weight:400;margin:6px 0}
.lk-row{display:flex;width:290px}
.vm .lk-row input{flex:1;height:34px;border:2px solid #ffffff80;background:#00000040;color:#fff;padding:0 10px;font-size:14px;outline:none;border-radius:4px 0 0 4px;min-width:0;user-select:text}
.vm .lk-row input:only-child{border-radius:4px}
.lk-row input::placeholder{color:#ffffffb0}
.vm .lk-row button{width:36px;border:2px solid #ffffff80;border-left:none;background:#ffffff30;color:#fff;font-size:16px;cursor:pointer;border-radius:0 4px 4px 0}
.lk-err{min-height:18px;font-size:13px;color:#ffe08a}
.lk-note,.lk-dom{font-size:13px;color:#ffffffd0;line-height:1.45;margin:4px 0}
.lk-dom span{font-size:12px;opacity:.8}
.lk-power{position:absolute;right:22px;bottom:18px}
.vm .lk-power button{background:#00000040;border:1px solid #ffffff60;color:#fff;border-radius:4px;padding:7px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px}
/* Windows Setup */
.vm.wsetup{background:linear-gradient(135deg,#3b1d6e 0,#5b2a9a 45%,#2a1352 100%);display:flex;align-items:center;justify-content:center;font-family:"Segoe UI",system-ui,sans-serif;font-size:13px;color:#111}
.ws-win{width:min(660px,94%);height:min(480px,90%);background:#f0f0f0;border:1px solid #777;box-shadow:0 14px 50px #000a;display:flex;flex-direction:column}
.ws-title{height:30px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 10px;font-size:12px;flex:none}
.ws-x{margin-left:auto;cursor:pointer;padding:4px 8px}
.ws-x:hover{background:#c42b1c;color:#fff}
.ws-body{flex:1;padding:18px 28px 6px;overflow:auto;background:#fff;user-select:text}
.ws-body h3{font-size:17px;font-weight:400;color:#1e4e9c;margin:0 0 12px}
.ws-body p{margin:8px 0;line-height:1.45}
.ws-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid #dcdcdc;min-height:46px}
.ws-back{margin-right:auto;font-size:18px;cursor:pointer;width:30px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.ws-back:hover{background:#ddd}
.ws-hero{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px 0 28px}
.ws-hero b{font-size:34px;font-weight:300;color:#1e4e9c}
.ws-form{display:grid;grid-template-columns:auto 300px;gap:10px 14px;justify-content:center;align-items:center}
.ws-form label{text-align:right}
.ws-note{color:#555;font-size:12px;text-align:center}
.ws-center{display:flex;justify-content:center;margin:40px 0}
.ws-center .wbutton{height:34px;padding:0 26px;font-size:14px}
.ws-link{color:#0066cc;cursor:pointer;display:block;margin:10px 0}
.ws-link.left{margin:0 auto 0 0}
.ws-list{border:1px solid #999;height:190px;overflow:auto;background:#fff}
.ws-eula{border:1px solid #999;height:190px;overflow:auto;padding:10px;white-space:pre-wrap;line-height:1.45;margin-bottom:10px;background:#fff}
.ws-opt{border:1px solid transparent;padding:10px 12px;margin:6px 0;cursor:pointer}
.ws-opt:hover{background:#e5f1fb;border-color:#99c9ef}
.ws-opt b{color:#1e4e9c;font-weight:600}
.ws-tools{display:flex;gap:18px;flex-wrap:wrap;margin:10px 2px}
.ws-tool{color:#0066cc;cursor:pointer}
.ws-tool.dis{color:#9a9a9a;cursor:default}
.ws-step{display:flex;gap:8px;padding:3px 0 3px 18px;color:#777}
.ws-step .tk{width:16px;color:#107c10;font-weight:700}
.ws-step.on{color:#000;font-weight:600}
.ws-step.done{color:#000}
.ws-step em{font-style:normal}
.ws-alert{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:20}
.ws-abox{background:#f0f0f0;border:1px solid #777;width:min(430px,90%);box-shadow:0 10px 40px #0009}
.ws-abox p{padding:16px 18px;margin:0;line-height:1.45;background:#fff}
.ws-abtn{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px}
.ws-f10{position:absolute;left:14px;bottom:10px;color:#ffffffb0;font-size:12px;cursor:pointer;border:1px solid #ffffff40;border-radius:3px;padding:3px 8px}
.ws-f10:hover{background:#ffffff1f;color:#fff}
.ws-con{position:absolute;left:6%;top:8%;width:min(640px,88%);height:min(360px,70%);background:#0c0c0c;border:1px solid #777;display:flex;flex-direction:column;z-index:15;box-shadow:0 10px 40px #000c}
.wc-scr{flex:1;overflow:auto;color:#ccc;font:13px/1.3 Consolas,"DejaVu Sans Mono",Menlo,monospace;padding:4px 6px;white-space:pre-wrap;user-select:text;cursor:text}
.wc-line{display:flex}
.vm .wc-in{flex:1;background:none;border:none;outline:none;color:#ccc;font:inherit;padding:0;min-width:0}
/* OOBE */
.vm.oobe,.vm.hello{background:radial-gradient(ellipse 70% 90% at 80% 110%,#8fc3ff 0,#8fc3ff00 70%),radial-gradient(ellipse 60% 80% at 10% -10%,#cfe6ff 0,#cfe6ff00 70%),linear-gradient(160deg,#eaf3fd,#d5e6fb);display:flex;align-items:center;justify-content:center;font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;color:#1b1b1b;font-size:14px}
.ob-card{width:min(860px,94%);height:min(520px,88%);display:flex;background:#ffffffd9;border-radius:10px;box-shadow:0 20px 60px #1b3a6b33;overflow:hidden}
.ob-art{width:38%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#dcebfc,#c4dcf8);color:#0067c0}
.ob-main{flex:1;display:flex;flex-direction:column;padding:34px 34px 20px;min-width:0}
.ob-main h1{font-size:25px;font-weight:600;margin:0 0 8px;line-height:1.2}
.ob-sub{color:#444;margin:0 0 10px;line-height:1.45}
.ob-body{flex:1;overflow:auto;min-height:0;padding:4px 2px}
.ob-foot{display:flex;align-items:center;gap:10px;padding-top:12px}
.ob-foot .grow{flex:1}
.vm .ob-btn{height:32px;min-width:110px;padding:0 18px;border-radius:4px;border:1px solid #c5c5c5;background:#fbfbfb;font-size:14px;cursor:pointer}
.vm .ob-btn.primary{background:#0067c0;border-color:#0067c0;color:#fff}
.vm .ob-btn.primary:hover{background:#1975c5}
.ob-link{color:#0067c0;cursor:pointer;font-size:13px}
.ob-link:hover{text-decoration:underline}
.ob-list{border:1px solid #d6d6d6;border-radius:4px;background:#fff;max-height:240px;overflow:auto}
.ob-li{padding:9px 14px;cursor:pointer}
.ob-li:hover{background:#f2f6fb}
.ob-li.on{background:#0067c0;color:#fff}
.ob-net{display:flex;gap:14px;align-items:center;border:1px solid #d6d6d6;border-radius:4px;padding:12px 14px;background:#fff}
.vm .ob-in{width:100%;height:34px;border:none;border-bottom:2px solid #0067c0;background:#fff;padding:0 10px;font-size:15px;outline:none;margin:6px 0;user-select:text;border-radius:4px 4px 0 0}
.ob-err{color:#c42b1c;font-size:13px;min-height:18px;line-height:1.4}
.ob-hint{color:#666;font-size:12px;line-height:1.4}
.ob-choice{border:1px solid #d6d6d6;border-radius:6px;padding:12px 14px;margin-bottom:10px;background:#fff;cursor:pointer}
.ob-choice:hover{border-color:#0067c0}
.ob-choice.on{border-color:#0067c0;box-shadow:0 0 0 1px #0067c0;background:#f2f8ff}
.ob-choice b{font-weight:600}
.ob-choice p{margin:4px 0 0;color:#555;font-size:13px;line-height:1.4}
.ob-org{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;margin:0 0 10px}
.ob-priv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ob-priv>div{display:flex;justify-content:space-between;align-items:center;border:1px solid #e0e0e0;border-radius:6px;padding:8px 10px;background:#fff;gap:8px}
.ob-priv .seg{display:inline-flex;border:1px solid #8a8886;border-radius:2px;overflow:hidden;font-size:12px}
.ob-priv .seg span{padding:2px 10px}.ob-priv .seg span.on{background:#0067c0;color:#fff}
.ob-tray{position:absolute;right:18px;bottom:14px;display:flex;gap:14px;color:#333}
.ob-wait{text-align:center;color:#0067c0;font-size:17px}
.ob-wait p{color:#1b1b1b}
.vm.hello{flex-direction:column;gap:6px;color:#0067c0;text-align:center}
.hello h1{font-size:44px;font-weight:300;color:#1b1b1b;margin:0}
.hello p{color:#333;max-width:520px}
.esp{width:min(760px,92%);background:#ffffffd9;border-radius:10px;padding:30px 36px;box-shadow:0 20px 60px #1b3a6b33}
.esp h1{font-size:25px;font-weight:600;margin:0 0 6px}
.esp>p{color:#444;margin:0 0 16px;line-height:1.45}
.esp-ph{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid #dfe6ee}
.esp-ic{width:22px;height:22px;border-radius:50%;border:2px solid #b8c4d2;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff}
.esp-ph.on .esp-ic{border-color:#0067c0;border-top-color:transparent;animation:spin .9s linear infinite}
.esp-ph.done .esp-ic{background:#107c10;border-color:#107c10}
.esp-ph .grow{flex:1}
.esp-st{color:#555;font-size:13px;white-space:nowrap}
.esp-items{color:#444;font-size:13px;margin-top:6px;line-height:1.6}
.esp-note{font-size:12px!important;color:#666!important;margin-top:12px!important}
