/* Windows 11 desktop, File Explorer, SmartScreen and the NSIS installer wizard */
.o-wall.win { background: radial-gradient(70% 90% at 75% 35%, #2a6fd0, #0d2a57 55%, #071426); }
.o-bar.win { background: #202124; }
.o-br.win .o-tool { background: #2b2c30; }
.o-br.win .o-tab { background: #2b2c30; }
.w-task { position: absolute; left: 0; right: 0; bottom: 0; height: 52px; display: flex; align-items: center; justify-content: center; background: rgba(32, 33, 38, 0.92); border-top: 1px solid rgba(255, 255, 255, 0.08); z-index: 30; }
.tk-c { display: flex; align-items: center; gap: 10px; }
.tk-c i { width: 36px; height: 36px; border-radius: 8px; background: #3a3d45; font-style: normal; }
.tk-c i.st { display: grid; place-items: center; background: none; }
.tk-c i.st svg { width: 22px; height: 22px; }
.tk-c i.sr { width: 220px; display: flex; align-items: center; padding: 0 16px; border-radius: 18px; background: #2f3138; color: #aaa; font-size: 13px; }
.tk-r { position: absolute; right: 20px; font-size: 12px; line-height: 1.3; text-align: right; color: #ddd; }

.w-exp { background: #202124; }
.w-cmd { display: flex; align-items: center; gap: 14px; height: 44px; padding: 0 14px; background: #2b2c30; color: #bbb; }
.w-cmd .o-url { max-width: none; border-radius: 6px; background: #1f2023; }
.w-search { width: 240px; padding: 7px 14px; border-radius: 6px; background: #1f2023; color: #888; }
.w-cmd.sub { height: 40px; background: #202124; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.w-cmd.sub i { width: 1px; height: 18px; background: rgba(255, 255, 255, 0.14); }
.w-cmd .mr { margin-left: auto; }
.ex-body { flex: 1; display: grid; grid-template-columns: 200px 1fr; min-height: 0; }
.ex-nav { padding: 12px 8px; color: #ccc; }
.ex-nav i { display: block; padding: 8px 12px; border-radius: 6px; font-style: normal; }
.ex-nav i.on { background: #33363c; color: #fff; }
.ex-nav hr { border: 0; height: 1px; margin: 8px 6px; background: rgba(255, 255, 255, 0.08); }
.ex-list { padding: 4px 12px; }
.ex-h, .ex-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 0.8fr; gap: 12px; align-items: center; padding: 0 12px; }
.ex-h { height: 34px; color: #999; font-size: 12.5px; }
.ex-grp { padding: 8px 12px; color: #eee; font-weight: 500; font-size: 13.5px; }
.ex-row { height: 42px; border-radius: 6px; color: #d6d6d6; transition: background 0.2s; }
.ex-row span:first-child { display: flex; align-items: center; gap: 10px; }
.ex-row .fi-svg { width: 20px; height: 20px; }
.ex-row.sel { background: #3a4a63; }

/* Microsoft Defender SmartScreen: tall blue dialog, light title, Don't run bottom-right */
.w-smart { z-index: 25; border-radius: 2px; background: #005a9e; border: 1px solid #1a75bb; box-shadow: 0 30px 90px rgba(0, 0, 0, 0.6); }
.ss-x { position: absolute; right: 14px; top: 10px; font-size: 14px; color: #cfe3f5; }
.ss-body { padding: 40px 34px 0; }
.ss-body h2 { margin: 0 0 22px; font: 300 30px/1.15 'Inter'; letter-spacing: -0.01em; color: #fff; }
.ss-body p { margin: 0 0 6px; font-size: 15.5px; line-height: 1.45; color: #e9f1f9; }
.ss-body a { display: inline-block; margin-top: 6px; color: #b8d4ee; font-size: 14.5px; }
.ss-info { margin-top: 22px; }
.ss-info p { margin: 0 0 6px; font-size: 15px; color: #fff; }
.ss-info b { font-weight: 600; margin-right: 6px; }
.ss-btns { position: absolute; right: 30px; bottom: 28px; display: flex; gap: 14px; }
.ssb { padding: 9px 20px; border: 2px solid #fff; color: #fff; font-size: 14.5px; font-weight: 600; }
.ssb.fill { background: #0078d7; }

/* NSIS (MUI2) wizard, as built by electron-builder with oneClick off */
.w-nsis { z-index: 22; border-radius: 0; background: #f0f0f0; color: #111; border: 1px solid #8a8a8a; font-family: 'Segoe UI', 'Inter', sans-serif; }
.ns-bar { display: flex; align-items: center; gap: 10px; height: 34px; padding-left: 10px; background: #fff; font-size: 13px; }
.ns-bar b { font-weight: 400; flex: 1; }
.ns-ic .mark { width: 16px; height: 16px; }
.ns-c { display: flex; }
.ns-c i { width: 46px; text-align: center; font-style: normal; color: #222; }
.ns-c i.dim { color: #bbb; }
.ns-head { display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 20px; background: #fff; border-bottom: 1px solid #c6c6c6; }
.ns-head b { display: block; font-size: 14.5px; }
.ns-head small { display: block; margin: 4px 0 0 14px; font-size: 13px; color: #222; }
.ns-hi .mark { width: 40px; height: 40px; }
.ns-page { flex: 1; padding: 22px 24px; font-size: 13.5px; line-height: 1.5; }
.ns-page p { margin: 0 0 30px; color: #222; }
.ns-page fieldset { margin: 0 0 22px; padding: 14px 16px 18px; border: 1px solid #d5d5d5; }
.ns-page legend { padding: 0 6px; font-size: 13px; }
.ns-path { display: flex; align-items: center; gap: 22px; }
.ns-path > span:first-child { flex: 1; padding: 6px 8px; background: #fff; border: 1px solid #7a7a7a; font-size: 13.5px; }
.ns-b { display: inline-block; min-width: 84px; padding: 6px 14px; text-align: center; background: #e1e1e1; border: 1px solid #adadad; font-size: 13.5px; }
.ns-b.def { border-color: #0078d7; box-shadow: inset 0 0 0 1px #0078d7; }
.ns-b.dim { color: #999; }
.ns-sp { font-size: 13.5px; color: #222; }
.ns-prog { display: block; height: 20px; margin-top: 26px; background: #e6e6e6; border: 1px solid #bcbcbc; overflow: hidden; }
.ns-prog u { display: block; height: 100%; width: 0; background: #06b025; text-decoration: none; transition: width 0.24s linear; }
.ns-page.fin { display: flex; gap: 0; padding: 0; background: #fff; }
.ns-side { width: 180px; display: grid; place-items: center; background: linear-gradient(180deg, #0a2a6c, #05123a); }
.ns-side .mark { width: 72px; height: 72px; }
.ns-fin { flex: 1; padding: 30px 26px; }
.ns-fin h4 { margin: 0 0 22px; font: 700 17px 'Segoe UI', 'Inter'; color: #000; }
.ns-fin p { margin: 0 0 40px; color: #222; }
.ns-fin label { display: flex; align-items: center; gap: 10px; font-size: 13.5px; }
.ns-cb { display: inline-grid; place-items: center; width: 16px; height: 16px; border: 1px solid #333; background: #fff; font-style: normal; font-size: 12px; }
.ns-foot { display: flex; align-items: center; height: 58px; padding: 0 22px; border-top: 1px solid #c6c6c6; background: #f0f0f0; }
.ns-foot small { flex: 1; color: #777; font-size: 12.5px; }
.ns-btns { display: flex; gap: 10px; }
