/* ---- Start menu ---- */
.start-menu{position:absolute;bottom:0;left:0;z-index:9;display:flex;flex-direction:column;width:390px;max-width:calc(100% - 8px);border:1px solid #1d5ad8;border-bottom:0;border-radius:7px 7px 0 0;background:#fff;box-shadow:4px -2px 12px #17345260;font-size:12px}
.start-user{display:flex;align-items:center;gap:10px;height:62px;padding:6px 10px;border-radius:6px 6px 0 0;background:linear-gradient(#1868ce,#0e60cb 12%,#0e60cb 82%,#1a5cbf);color:#fff;font-size:15px;text-shadow:1px 1px 1px #0b3d91;position:relative}
.start-user::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(to right,#0e60cb,#f0a650 40%,#f0a650 60%,#0e60cb)}
.start-user img{border:2px solid #fff;border-radius:3px;box-shadow:1px 1px 3px #0b3d91;object-fit:cover;background:#fff}
.start-columns{display:flex;min-height:300px;border-top:2px solid transparent}
.start-left{position:relative;display:flex;flex-direction:column;flex:1.1;padding:6px 3px 0;background:#fff}
.start-right{display:flex;flex-direction:column;flex:1;padding:6px 3px;background:#d3e5fa;border-left:1px solid #95bdee}
.start-item{display:flex;align-items:center;gap:7px;width:100%;padding:4px 6px;border:0;border-radius:0;background:none;text-align:left;font-size:12px;line-height:1.25;color:#000}
.start-item img,.start-item svg{flex:none;object-fit:contain}
.start-item img.is-photo{object-fit:cover;border:1px solid #bbb}
.start-item strong{display:block;font-size:12px}
.start-item small{display:block;color:#7b7b7b}
.start-item.is-bold{font-weight:bold;color:#0a246a}
.start-right .start-item{color:#0a246a}
.start-item:hover,.start-item:focus-visible{background:#316ac5;color:#fff;outline:none}
.start-item:hover small,.start-item:focus-visible small{color:#fff}
.start-sep{height:1px;margin:4px 6px;background:linear-gradient(to right,transparent,#c5c2b2 20%,#c5c2b2 80%,transparent);flex:none}
.start-right .start-sep{background:linear-gradient(to right,transparent,#95bdee 20%,#95bdee 80%,transparent)}
.start-all{position:relative;margin-top:auto;padding:4px 0 6px;border-top:1px solid #e3e1d8}
.start-all-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:5px 6px;border:0;background:none;font-weight:bold;font-size:12px;color:#000}
.start-all-button:hover,.start-all-button:focus-visible,.start-all-button[aria-expanded="true"]{background:#316ac5;color:#fff;outline:none}
.start-all-arrow{width:18px;height:18px;border-radius:3px;background:linear-gradient(135deg,#7ad06f,#2f9a28);box-shadow:inset -1px -1px #1d6a18,inset 1px 1px #b6ecab;position:relative}
.start-all-arrow::after{content:"";position:absolute;left:7px;top:4px;border:5px solid transparent;border-left:6px solid #fff;border-right:0}
.start-programs{position:absolute;left:calc(100% - 4px);bottom:2px;z-index:2;min-width:220px;padding:2px;background:#fff;border:1px solid #9a9a9a;box-shadow:3px 3px 6px #0005}
.start-programs button{display:flex;align-items:center;gap:8px;width:100%;padding:4px 10px 4px 6px;border:0;background:none;text-align:left;font-size:12px;white-space:nowrap}
.start-programs button img{object-fit:cover}
.start-programs button:hover,.start-programs button:focus-visible{background:#316ac5;color:#fff;outline:none}
.start-footer{display:flex;justify-content:flex-end;gap:2px;padding:5px 6px;background:linear-gradient(#1868ce,#0e60cb 15%,#0e60cb 85%,#1a5cbf)}
.start-footer button{display:flex;align-items:center;gap:5px;padding:3px 8px;border:0;border-radius:3px;background:none;color:#fff;font-size:12px}
.start-footer button:hover,.start-footer button:focus-visible{background:#ffffff26;outline:none}
@media(max-width:600px){
  .start-left{flex:1}
  .start-programs{left:8px;right:8px;bottom:100%;min-width:0}
  .start-programs button{white-space:normal}
}

/* ---- Shared XP dialog ---- */
.xp-dialog{min-width:260px;max-width:min(560px,calc(100vw - 24px));padding:0;border:1px solid #0054e3;border-radius:8px 8px 0 0;background:#ece9d8;color:#111;font:12px Tahoma,"Segoe UI",sans-serif;box-shadow:4px 6px 16px #0006}
.xp-dialog::backdrop{background:#00000020}
.xp-dialog-title{padding:6px 9px;border-radius:7px 7px 0 0;background:linear-gradient(#0058ee,#3591ff 8%,#0666f8 25%,#0056ea 75%,#0340ad);color:#fff;font-weight:bold;font-size:13px;text-shadow:1px 1px #063682}
.xp-dialog-body{display:grid;gap:9px;padding:14px 16px}
.xp-dialog-body input[type="number"]{width:72px;margin:0 4px;padding:2px 4px;border:1px solid #7f9db9;font:inherit}
.xp-dialog-buttons{display:flex;justify-content:flex-end;gap:6px;padding:0 14px 14px}
.xp-dialog-buttons.is-centred{justify-content:center}
.xp-dialog-buttons button{min-width:75px;padding:3px 10px;border:1px solid #003c74;border-radius:3px;background:linear-gradient(#fff,#ece9d8 85%,#d6d0c5);font:inherit}
.xp-dialog-buttons button:hover,.xp-dialog-buttons button:focus-visible{box-shadow:inset 0 0 0 2px #f8b636;outline:none}
.xp-run-intro,.xp-error-body{display:flex;align-items:flex-start;gap:12px}
.xp-run-intro p,.xp-error-body p{margin:0;line-height:1.4;max-width:300px}
.xp-error-body svg{flex:none}
.xp-run-field{display:flex;align-items:center;gap:8px}
.xp-run-field input{flex:1;min-width:0;padding:3px 4px;border:1px solid #7f9db9;font:inherit}

/* ---- Fading to grey behind Log Off / Turn Off ---- */
.desktop,.taskbar{transition:filter 1.2s ease}
body.xp-dimmed .desktop,body.xp-dimmed .taskbar{filter:grayscale(1)}

/* ---- Log Off / Turn Off dialogs ---- */
.xp-off{width:312px;max-width:calc(100vw - 24px);padding:0;border:1px solid #001f7a;background:#5a7edc;color:#fff;font:12px Tahoma,"Segoe UI",sans-serif;box-shadow:6px 8px 20px #0008}
.xp-off::backdrop{background:transparent}
.xp-off-top{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 10px 0 12px;background:#00309c;font-size:19px;position:relative}
.xp-off-top::after,.xp-off-bottom::before{content:"";position:absolute;left:0;right:0;height:2px}
.xp-off-top::after{bottom:0;background:linear-gradient(to right,#00309c,#8fb2f5 50%,#00309c)}
.xp-off-main{display:flex;justify-content:space-evenly;padding:26px 8px 22px;background:linear-gradient(#7c9ce4,#5a7edc 60%,#4a6ed0)}
.xp-off-option{display:flex;flex-direction:column;align-items:center;gap:7px;width:80px;padding:4px;border:0;border-radius:4px;background:none;color:#fff;font-size:12px}
.xp-off-option:hover .xp-off-round,.xp-off-option:focus-visible .xp-off-round{filter:brightness(1.18);box-shadow:0 0 0 2px #fff8,inset 0 2px 3px #fff8}
.xp-off-option:focus-visible{outline:1px dotted #fff}
.xp-off-round{display:grid;place-items:center;width:34px;height:34px;border-radius:5px;border:1px solid #fff;box-shadow:inset 0 2px 3px #fff8,1px 1px 2px #0005}
.xp-off-round.is-red{background:linear-gradient(135deg,#f7865f,#e2421f 55%,#b52b0f)}
.xp-off-round.is-green{background:linear-gradient(135deg,#8fdc77,#3ca528 55%,#26801a)}
.xp-off-round.is-yellow{background:linear-gradient(135deg,#ffd970,#f0b020 55%,#c98b0c)}
.xp-off-round.is-orange{background:linear-gradient(135deg,#ffc070,#f08a20 55%,#c46a0c)}
.xp-off-bottom{display:flex;justify-content:flex-end;height:42px;align-items:center;padding:0 12px;background:#00309c;position:relative}
.xp-off-bottom::before{top:0;background:linear-gradient(to right,#00309c,#8fb2f5 50%,#00309c)}
.xp-off-cancel{min-width:70px;padding:3px 10px;border:1px solid #fff;border-radius:3px;background:linear-gradient(#fff,#ece9d8 85%,#d6d0c5);color:#000;font-size:12px}
.xp-off-cancel:hover,.xp-off-cancel:focus-visible{box-shadow:inset 0 0 0 2px #f8b636;outline:none}

/* ---- Full-screen session screens ---- */
.xp-session{position:fixed;inset:0;z-index:100;font-family:Tahoma,"Segoe UI",sans-serif;color:#fff}
.xp-screen{position:absolute;inset:0}
.xp-brand{margin:0;font:italic 700 36px/1 "Franklin Gothic Medium","Trebuchet MS",Arial,sans-serif;letter-spacing:-1px;text-shadow:1px 2px 2px #0005}
.xp-brand span{font-weight:400}
.xp-brand sup{margin-left:3px;color:#f7891f;font-size:20px;font-style:italic}
.xp-welcome{display:flex;flex-direction:column;background:#5a7edc}
.xp-welcome-top,.xp-welcome-bottom{flex:none;background:#00309c;position:relative}
.xp-welcome-top{height:12%;min-height:50px}
.xp-welcome-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(to right,#00309c,#c8d7f8 45%,#00309c)}
.xp-welcome-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:12px 4%;font-size:12px}
.xp-welcome-bottom::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(to right,#00309c,#f99736 45%,#00309c)}
.xp-welcome-bottom p{margin:0;text-align:right;line-height:1.5}
.xp-welcome-main{flex:1;display:flex;align-items:center;justify-content:center;gap:4%;padding:20px;background:radial-gradient(circle at 12% 18%,#9bb8f0 0,#5a7edc 38%)}
.xp-welcome-brand{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:10px;max-width:46%}
.xp-welcome-message{margin:0;font-size:17px}
.xp-welcome-divider{width:1px;align-self:stretch;margin:4% 0;background:linear-gradient(transparent,#fff 30%,#fff 70%,transparent)}
.xp-welcome-users{display:flex;flex-direction:column;max-width:46%}
.xp-welcome[data-mode="message"] .xp-welcome-divider,.xp-welcome[data-mode="message"] .xp-welcome-users,.xp-welcome[data-mode="message"] .xp-welcome-off,.xp-welcome[data-mode="message"] .xp-welcome-bottom p{visibility:hidden}
.xp-welcome[data-mode="message"] .xp-welcome-brand{align-items:center;text-align:center;max-width:none}
.xp-user{display:flex;align-items:center;gap:14px;padding:8px 40px 8px 8px;border:0;border-radius:6px;background:none;color:#fff;font-size:20px;text-align:left}
.xp-user img{border:2px solid #fff;border-radius:5px;object-fit:cover;box-shadow:1px 1px 3px #0005}
.xp-user:hover,.xp-user:focus-visible{background:linear-gradient(to right,#00309c,transparent);outline:none}
.xp-user:hover img,.xp-user:focus-visible img{border-color:#ffc94f}
.xp-welcome-off{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border:0;border-radius:4px;background:none;color:#fff;font-size:14px}
.xp-welcome-off:hover,.xp-welcome-off:focus-visible{text-decoration:underline;outline:none}
.xp-boot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:48px;background:#000;cursor:wait}
.xp-boot-logo{display:flex;align-items:center;gap:12px}
.xp-boot-bar{position:relative;width:126px;height:16px;border:2px solid #b2b2b2;border-radius:5px;overflow:hidden}
.xp-boot-bar span{position:absolute;top:2px;left:-36px;width:30px;height:8px;background:linear-gradient(to right,#2838c8 0 8px,transparent 8px 11px,#3c5ae8 11px 19px,transparent 19px 22px,#2838c8 22px 30px);animation:xp-boot 2s linear infinite}
@keyframes xp-boot{to{left:130px}}
.xp-safe{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;background:#000;cursor:pointer}
.xp-safe p{margin:0;color:#f7891f;font:700 clamp(22px,5vw,40px)/1.4 Tahoma,sans-serif;text-align:center}
.xp-safe small,.xp-standby small{color:#555;font-size:12px}
.xp-standby{display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;background:#000;cursor:pointer}
@media(max-width:600px){
  .xp-welcome-main{flex-direction:column;gap:18px}
  .xp-welcome-brand{align-items:center;text-align:center;max-width:none}
  .xp-welcome-divider{width:60%;height:1px;align-self:center;margin:0;background:linear-gradient(to right,transparent,#fff,transparent)}
  .xp-welcome-users{max-width:none}
  .xp-welcome-bottom p{display:none}
}
@media(prefers-reduced-motion:reduce){.desktop,.taskbar{transition:none}.xp-boot-bar span{animation-duration:6s}}

/* ---- Desktop right-click menu ---- */
.desktop-context{position:absolute;z-index:8;min-width:150px}
.desktop.is-refreshing>.desktop-shortcut{visibility:hidden}

/* ---- Display Properties ---- */
.display-body{padding:10px 12px 12px}
.display-props .xp-tab-panel{display:grid;justify-items:center;gap:12px;min-height:0}
.display-monitor{position:relative;width:184px;padding:10px 10px 14px;border-radius:6px 6px 2px 2px;background:linear-gradient(#e9e7dc,#c9c5b2);border:1px solid #8a8678;box-shadow:inset 1px 1px #fff}
.display-preview{height:112px;border:1px solid #444;background-color:#3a6ea5}
.display-stand{position:absolute;left:50%;bottom:-12px;width:60px;height:12px;transform:translateX(-50%);background:linear-gradient(#c9c5b2,#a9a593);border:1px solid #8a8678;border-top:0;border-radius:0 0 4px 4px}
.display-controls{display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;margin-top:6px}
.display-controls>label{grid-column:1/-1}
.display-controls select[size]{min-width:0;border:1px solid #7f9db9;font:12px Tahoma,sans-serif}
.display-side{display:grid;align-content:start;gap:8px}
.display-side label{display:grid;gap:3px}
.display-side select{border:1px solid #7f9db9;font:12px Tahoma,sans-serif}
.display-side input[type="color"]{width:70px;height:24px;padding:0;border:1px solid #7f9db9;background:#fff}
