/* Brief boot, XP Welcome screen, and Search Companion. */
#desktop[inert] { pointer-events: none; }
.xp-boot { z-index: 7000; background: #000; font-family: Tahoma, sans-serif; }
.xp-boot-center { display: flex; flex-direction: column; align-items: center; margin-top: -6vh; }
.xp-brand { display: flex; align-items: center; gap: 20px; color: #fff; }
.xp-flag { display: grid; grid-template-columns: repeat(2, 43px); gap: 5px; transform: skewY(-8deg) rotate(9deg); filter: drop-shadow(2px 3px 2px #0004); }
.xp-flag i { display: block; height: 40px; background: linear-gradient(130deg,#ffb452,#ed4b27 75%); }
.xp-flag i:nth-child(2) { background: linear-gradient(130deg,#b9e65d,#51a51f 75%); }
.xp-flag i:nth-child(3) { background: linear-gradient(130deg,#70c6fa,#237ac8 75%); }
.xp-flag i:nth-child(4) { background: linear-gradient(130deg,#fff087,#fbb720 75%); }
.xp-wordmark { display: flex; flex-direction: column; font-family: 'Trebuchet MS',Tahoma,sans-serif; }
.xp-wordmark small { align-self: flex-start; color: inherit; font-size: 14px; margin: 0 0 1px 3px; }
.xp-wordmark strong { font-size: clamp(35px,5vw,52px); font-weight: 500; letter-spacing: -2px; white-space: nowrap; line-height: 1.1; }
.xp-wordmark sup { color: #f38b22; font-weight: 700; font-size: 25px; letter-spacing: -1px; vertical-align: super; margin-left: 2px; }
.xp-boot-loader { width: 160px; height: 17px; margin-top: 54px; border: 1px solid #919191; box-shadow: inset 0 0 0 1px #202020; border-radius: 4px; padding: 2px; overflow: hidden; }
.xp-boot-loader span { display: flex; width: 42px; gap: 2px; height: 11px; animation: xp-loading 1.1s linear infinite; }
.xp-boot-loader i { flex: 1; background: linear-gradient(#091d9b,#4c8ef6 48%,#2246c6); }
@keyframes xp-loading { from {transform: translateX(-45px);} to {transform: translateX(160px);} }
.xp-boot footer { position: absolute; bottom: 7vh; left: 7vw; right: 7vw; display: flex; align-items: center; justify-content: space-between; font-size: 14px; color: #aaa; }
.xp-boot footer button { padding: 8px 12px; color: #bbb; background: transparent; border: 1px solid #4c4c4c; border-radius: 3px; cursor: pointer; }
.xp-login { position: fixed; z-index: 7000; inset: 0; display: flex; flex-direction: column; color: white; background: radial-gradient(ellipse at 13% 16%,#91b1ef 0, #5b7edc 34%,#5275d0 78%); }
.xp-login-top { flex: 0 0 13vh; min-height: 35px; background: #00309a; border-bottom: 2px solid transparent; border-image: linear-gradient(90deg,#1543a5,#bfd5ff 45%,#386ac7) 1; }
.xp-login-main { display: grid; grid-template-columns: 1fr 1fr; align-items: center; flex: 1; min-height: 0; padding: 30px 10vw; }
.xp-login-brand { min-height: 245px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; padding: 24px 44px 24px 0; border-right: 1px solid #b7d0fa; }
.xp-login-brand .xp-brand { gap: 13px; }
.xp-login-brand .xp-flag { grid-template-columns: repeat(2,30px); gap: 4px; }
.xp-login-brand .xp-flag i { height: 29px; }
.xp-login-brand .xp-wordmark strong { font-size: 38px; }
.xp-login-brand p { font-size: 18px; margin: 27px 0 0; text-align: right; }
.xp-user-list { padding-left: 32px; }
.xp-login-status { max-width: 340px; margin: 16px 9px; font-size: 14px; line-height: 1.5; }
.xp-login-status:empty { display: none; }
.xp-switch-user { display: inline-block; margin: 15px 9px 0; color: #e5efff; font-size: 13px; }
#login-buy { margin: 0 9px; }
.xp-user > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.xp-user small { overflow-wrap: anywhere; }
.xp-user { width: min(100%,350px); display: flex; align-items: center; gap: 15px; border: 1px solid transparent; border-radius: 7px; text-align: left; color: white; background: linear-gradient(90deg,#255dc0b3,transparent); padding: 9px; cursor: pointer; }
.xp-user:hover, .xp-user:focus-visible { border-color: #d1e4ff; background: linear-gradient(90deg,#1c50b9e6,#557cdc33); }
.xp-user-avatar { display: grid; place-items: center; flex: 0 0 66px; height: 66px; font: italic 700 44px 'Trebuchet MS',sans-serif; background: radial-gradient(circle at 30% 20%,#a1d8fc,#1566b8 68%); color: #fff; border: 2px solid #f7eddb; border-radius: 6px; box-shadow: 2px 3px 4px #173b8580; }
.xp-user strong, .xp-user small { display: block; }
.xp-user strong { font-size: 21px; font-weight: 400; text-shadow: 1px 1px #3255a5; }
.xp-user small { margin-top: 7px; font-size: 13px; color: #dce8ff; }
.xp-user-arrow { margin-left: auto; padding: 1px 5px; color: #fff; background: linear-gradient(#86c96a,#318324); border: 1px solid #d1efba; border-radius: 4px; font-size: 23px; }
.xp-login-footer { flex: 0 0 13vh; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 6vw; background: #00319c; border-top: 2px solid transparent; border-image: linear-gradient(90deg,#fff2b7,#fbbe55 32%,#4167c6 75%) 1; }
.xp-login-footer button { display: flex; align-items: center; gap: 10px; padding: 7px 0; color: white; background: transparent; border: 0; font-size: 16px; cursor: pointer; }
.xp-login-footer button span { display: grid; place-items: center; width: 30px; height: 30px; background: linear-gradient(#f17d57,#c53120); border: 1px solid #fff; border-radius: 4px; font-size: 24px; }
.xp-login-footer label { display: flex; align-items: center; gap: 7px; font-size: 14px; }
.xp-login-footer input { width: 16px; height: 16px; accent-color: #255fd4; }
.xp-welcome { flex: 1; display: grid; place-content: center; outline: none; }
.xp-welcome h1 { color: #fff; font: italic 700 48px 'Trebuchet MS',sans-serif; text-shadow: 2px 3px #3158af; }
.no-script { position: fixed; inset: 0; z-index: 10000; display: grid; place-content: center; padding: 30px; background: #00319c; color: white; }
.logoff-icon { background: linear-gradient(#ffc467,#d87d06); padding: 1px 4px; border: 1px solid #ffe4ab; border-radius: 3px; }
.window--search { width: 760px; max-width: calc(100vw - 16px); }
.search-body { display: grid; grid-template-columns: 240px minmax(0,1fr); min-height: 490px; height: min(60vh,620px); }
.search-companion { display: flex; flex-direction: column; overflow-y: auto; padding: 0 16px 12px; border-right: 1px solid #819dc2; background: linear-gradient(#a6c4f6,#d9e9ff 78%); }
.search-companion h2 { font: 700 17px Tahoma,sans-serif; color: #143d88; margin: 0 -16px 14px; padding: 14px 16px; background: linear-gradient(100deg,#d7e7ff,#accbfa); border-bottom: 1px solid #8cb1e6; }
.search-companion form { display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.search-companion form p { font-weight: 700; color: #173776; line-height: 1.4; margin: 0 0 5px; }
.search-companion label { margin-top: 3px; }
.search-companion input, .search-companion select { width: 100%; min-width: 0; height: 30px; border: 1px solid #7f9db9; background: white; color: #111; padding: 3px 5px; font-size: 14px; border-radius: 0; }
.search-companion form button { align-self: flex-end; min-width: 82px; margin-top: 4px; }
.rover-balloon { position: relative; margin: 22px 0 0; padding: 10px 12px; background: #ffffe7; border: 1px solid #9a916c; border-radius: 9px; color: #2d2a21; font-size: 13px; line-height: 1.4; }
.rover-balloon::after { content: ''; position: absolute; bottom: -8px; left: 45px; width: 13px; height: 13px; background: #ffffe7; border-right: 1px solid #9a916c; border-bottom: 1px solid #9a916c; transform: rotate(45deg); }
.rover-pet { display: grid; place-items: center; flex: 0 0 148px; min-height: 148px; width: 100%; padding: 0; background: transparent; border: 0; cursor: pointer; }
.rover-character { display: block; width: 80px; height: 80px; background: url('./assets/search-puppy.png') no-repeat 0 0; transform: scale(1.8); image-rendering: pixelated; }
.rover-caption { text-align: center; font-size: 12px; color: #365884; }
.search-main { min-width: 0; overflow-y: auto; background: white; }
.search-column-head { display: flex; justify-content: space-between; position: sticky; top: 0; padding: 5px 18px; background: #ece9d8; border-bottom: 1px solid #b4b1a4; font-size: 13px; color: #222; }
.search-column-head span:last-child { width: 65px; border-left: 1px solid #b4b1a4; padding-left: 8px; }
.search-result { display: flex; align-items: center; width: 100%; gap: 11px; border: 0; border-bottom: 1px solid #eef1f5; padding: 12px 13px; text-align: left; background: white; cursor: pointer; }
.search-result:hover, .search-result:focus-visible { background: #e7f0ff; }
.search-result-icon { flex: 0 0 25px; color: #306db0; font-size: 27px; }
.search-result strong { display: block; color: #154681; font-size: 14px; font-weight: 400; }
.search-result small { display: block; color: #626c77; font-size: 12px; margin-top: 4px; line-height: 1.35; }
.search-result-type { margin-left: auto; flex: 0 0 65px; color: #737373; font-size: 12px; }
.search-empty { padding: 30px 20px; font-size: 14px; line-height: 1.5; }
@media (max-width: 720px) {
  .xp-login-main { padding: 24px 6vw; grid-template-columns: 1fr; align-content: center; gap: 25px; overflow-y: auto; }
  .xp-login-brand { border: 0; min-height: 0; padding: 0; align-items: center; }
  .xp-login-brand p { font-size: 16px; margin-top: 20px; text-align: center; }
  .xp-user-list { padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .xp-user { max-width: 330px; }
  .xp-login-footer { padding: 12px 5vw; flex-wrap: wrap; gap: 5px 15px; }
  .xp-login-footer button { font-size: 14px; }
  .xp-login-footer label { font-size: 13px; }
  .xp-boot .xp-brand { gap: 13px; }
  .xp-boot .xp-flag { grid-template-columns: repeat(2,30px); }
  .xp-boot .xp-flag i { height: 29px; }
  .window--search .search-body { height: calc(100svh - 154px); min-height: 0; grid-template-columns: 155px minmax(0,1fr); }
  .search-companion { padding: 0 10px 10px; }
  .search-companion h2 { margin-left: -10px; margin-right: -10px; padding: 12px 10px; font-size: 14px; }
  .search-companion form { font-size: 13px; }
  .search-companion input { font-size: 16px; }
  .rover-pet { flex-basis: 125px; min-height: 125px; }
  .rover-character { transform: scale(1.45); }
  .search-result { padding: 10px 8px; gap: 7px; }
  .search-result-icon { display: none; }
  .search-result-type, .search-column-head span:last-child { display: none; }
  .search-column-head { padding-left: 9px; }
}
@media (max-height: 480px) and (min-width: 600px) {
  .xp-login-main { grid-template-columns: 1fr 1fr; gap: 10px; padding: 15px 5vw; }
  .xp-login-brand .xp-flag { display: none; }
  .xp-login-brand p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .xp-boot-loader span { animation: none; transform: translateX(55px); } }

/* Native accounts keep the familiar Welcome screen on desktop and phone. */
.xp-login-main {overflow-y:auto;align-items:center;}
.xp-user-list {width:100%;min-width:0;max-width:410px;}
.native-login {width:100%;max-width:350px;padding:14px 9px 0;font:14px Tahoma,sans-serif;}
.native-login>label {display:flex;flex-direction:column;gap:5px;margin-bottom:11px;}
.native-login input:not([type=checkbox]),.account-security input {width:100%;min-width:0;border:1px solid #204b9a;border-radius:3px;background:#fff;color:#14234b;padding:7px 9px;font:16px Tahoma,sans-serif;box-shadow:inset 1px 1px 2px #63728e55;}
.native-login .auth-show {display:flex;flex-direction:row;align-items:center;font-size:12px;}
#auth-help {font-size:12px;line-height:1.5;color:#e5efff;margin:8px 0 13px;}
.auth-submit {display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;border:1px solid #c7edb5;border-radius:4px;color:white;background:linear-gradient(#66a650,#337922);font:bold 14px Tahoma,sans-serif;cursor:pointer;}
.auth-submit:disabled {opacity:.55;cursor:default;}
.auth-links {display:flex;justify-content:space-between;gap:12px;margin:14px 0 0;}
.auth-links button,.xp-switch-user {background:none;border:0;color:#fff;text-decoration:underline;font:12px Tahoma,sans-serif;padding:3px 0;cursor:pointer;}
.xp-welcome {text-align:center;gap:8px;}
.xp-welcome h1 {margin:0;}.xp-welcome p {font:14px Tahoma,sans-serif;}#startup-reload {justify-self:center;}
.account-security {padding:12px 18px;background:#ece9d8;color:#172f54;font:12px Tahoma,sans-serif;}
.account-security summary {cursor:pointer;}.account-security form {display:grid;gap:10px;margin-top:12px;}.account-security label {display:grid;gap:4px;}
@media(max-width:720px){.xp-login-top{flex-basis:6vh;}.xp-login-main{display:flex;flex-direction:column;justify-content:flex-start;gap:16px;padding:20px 6vw;}.xp-login-brand .xp-brand{transform:scale(.84);}.xp-login-brand p{margin:4px 0 0;font-size:14px;}.xp-user-list{max-width:350px;flex-shrink:0;}.xp-user{padding:6px;}.xp-user-avatar{height:48px;flex-basis:48px;font-size:32px;}.native-login{padding-top:10px;}.xp-login-footer{flex-basis:auto;min-height:64px;}}
