:root{color-scheme:dark;--os-bg:#061120;--os-panel:#0d223d;--os-line:#2a557a;--os-text:#f4f8ff;--os-muted:#a4c9e5;--os-accent:#2bb9e8;--os-danger:#ee5b6b}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--os-text);background:radial-gradient(circle at 50% 0,#112e50 0,var(--os-bg) 48%)}button,input,select{font:inherit}.os-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:10px clamp(16px,3vw,44px);background:#061326;border-bottom:1px solid var(--os-line)}.os-brand{color:var(--os-text);text-decoration:none;font-size:20px;font-weight:800}.os-account{display:flex;align-items:center;gap:16px}.os-account nav{display:flex;gap:10px}.os-account a{color:var(--os-muted);text-decoration:none}.os-account a[aria-current=page]{color:#fff;font-weight:700}.os-account form{margin:0}.os-account button,.os-window-app button,.os-window-app input,.os-window-app select{color:var(--os-text);background:#07182c;border:1px solid var(--os-line);border-radius:9px}.os-account button,.os-window-app button{padding:9px 14px;cursor:pointer}.os-account button:hover,.os-window-app button:hover{border-color:var(--os-accent)}.os-launcher{width:min(1160px,calc(100% - 32px));margin:34px auto;padding:24px;border:1px solid var(--os-line);border-radius:17px;background:rgb(13 34 61 / 86%)}.os-launcher h1{margin:0 0 20px}.os-app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.os-app-grid>button{display:flex;align-items:center;gap:14px;min-height:82px;padding:14px;color:var(--os-text);text-align:left;background:#0a2039;border:1px solid var(--os-line);border-radius:14px;cursor:pointer}.os-app-grid>button:hover,.os-app-grid>button:focus-visible{border-color:var(--os-accent);outline:none;transform:translateY(-1px)}.os-app-grid>button>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#278eea,var(--os-accent));font-size:20px}.os-shell-recovery{display:none;gap:12px;max-width:720px;padding:20px;border:1px solid var(--os-danger);border-radius:14px;background:rgb(66 24 39 / 72%)}.os-shell-recovery h2,.os-shell-recovery p{margin:0}.os-shell-recovery__retry{justify-self:start;padding:9px 14px;color:var(--os-text);font-weight:700;text-decoration:none;background:#07182c;border:1px solid var(--os-line);border-radius:9px}.os-shell-recovery__retry:hover,.os-shell-recovery__retry:focus-visible{border-color:var(--os-accent);outline:2px solid transparent}.os-flash{position:relative;z-index:10;width:min(900px,calc(100% - 32px));margin:16px auto;padding:12px 16px;border:1px solid var(--os-line);border-radius:10px;background:#0d223d}.os-flash--error{border-color:var(--os-danger);background:#421827}.os-flash--success{border-color:#2bcf91}.os-window-app{min-height:100%;padding:18px;container-type:inline-size}.os-control-host{container-type:inline-size}.os-window-menu{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.os-window-menu button[aria-current=page]{border-color:var(--os-accent);background:#123653}.os-window-app section h2{margin-top:0}.os-card{display:grid;gap:10px;margin:12px 0;padding:16px;border:1px solid var(--os-line);border-radius:12px;background:var(--os-panel)}.os-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.os-form-grid label{min-width:0}.os-form-grid input,.os-form-grid select,.os-card input,.os-card select{width:100%;min-width:0;min-height:42px;padding:8px 10px}.os-row{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(160px,1fr) minmax(160px,1fr);gap:12px;align-items:center;padding:10px;border-bottom:1px solid var(--os-line)}.os-row span,.os-row time{color:var(--os-muted)}.os-break{overflow-wrap:anywhere;color:var(--os-muted)}code{user-select:all;color:#7eeaff}body[data-window-error=true] .os-launcher{border-color:var(--os-danger)}
.sv-window__body[data-workspace-recovery=true]{display:grid;place-items:center;padding:clamp(16px,4vw,34px);overflow:auto}.os-shell-recovery[data-managed-recovery=true]{display:grid;width:min(100%,720px);max-width:none}
.sv-window__body[data-scroll-owner=embedded]{overflow:hidden!important;overflow-block:hidden!important;overflow-inline:hidden!important;overscroll-behavior:none;scrollbar-gutter:auto;scrollbar-width:none}
.sv-window__body[data-scroll-owner=embedded]::-webkit-scrollbar{display:none;width:0;height:0}
.os-addon-frame{display:block;width:100%;min-width:0;height:100%;min-height:0;border:0;background:var(--os-bg);color-scheme:inherit}
.os-addon-frame[data-servver-presentation=pending],.os-addon-frame[data-servver-presentation=failed]{visibility:hidden;pointer-events:none}
.os-package-frame-status{position:absolute;z-index:2;inset:0;display:none;place-content:center;place-items:center;gap:10px;padding:24px;color:var(--os-text);background:var(--os-bg);text-align:center}
.os-addon-frame[data-servver-presentation=pending]+.os-package-frame-status,.os-addon-frame[data-servver-presentation=failed]+.os-package-frame-status{display:grid}
.os-package-frame-status__indicator{width:30px;height:30px;border:3px solid color-mix(in srgb,var(--os-accent) 22%,transparent);border-top-color:var(--os-accent);border-radius:50%;animation:os-package-frame-status-spin .8s linear infinite}
.os-package-frame-status[data-state=failed]{color:color-mix(in srgb,var(--os-danger) 82%,var(--os-text))}
.os-package-frame-status[data-state=failed] .os-package-frame-status__indicator{border-color:currentColor;animation:none}
.os-package-frame-status strong{font-size:14px}.os-package-frame-status span{color:var(--os-muted);font-size:12px}.os-package-frame-status button{margin-top:4px;padding:7px 12px;color:var(--os-text);background:var(--os-panel);border:1px solid var(--os-line);border-radius:8px;cursor:pointer}.os-package-frame-status button:hover,.os-package-frame-status button:focus-visible{border-color:var(--os-accent);outline:2px solid transparent}.os-package-frame-status button[hidden]{display:none}
@keyframes os-package-frame-status-spin{to{transform:rotate(1turn)}}
@media(prefers-reduced-motion:reduce){.os-package-frame-status__indicator{animation:none}}
.sv-desktop-shell-boot-pending .os-topbar,
.sv-desktop-shell-boot-pending .os-launcher,
.sv-desktop-shell-boot-pending .os-flash{visibility:hidden}
body[data-window-error=true] .os-topbar,
body[data-window-error=true] .os-launcher,
body[data-window-error=true] .os-flash{visibility:visible}
body[data-window-error=true] .os-shell-recovery{display:grid}
.os-recovery-codes{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:22px;color:var(--os-text);background:var(--os-panel);border:1px solid var(--os-accent);border-radius:16px}.os-recovery-codes::backdrop{background:rgb(1 8 18 / 78%)}.os-recovery-codes ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-left:28px}.os-recovery-codes code{font-size:14px}.os-recovery-codes__actions{display:flex;flex-wrap:wrap;gap:8px}.os-recovery-codes__actions button{padding:9px 14px;color:var(--os-text);background:#07182c;border:1px solid var(--os-line);border-radius:9px;cursor:pointer}@media(max-width:560px){.os-recovery-codes ol{grid-template-columns:1fr}}
.os-confirm-dialog {
  width: min(480px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: visible;
  color: var(--os-text);
  background: transparent;
  border: 0;
}
.os-confirm-dialog::backdrop {
  background: rgb(1 8 18 / 78%);
  backdrop-filter: blur(5px);
}
.os-confirm-dialog__surface {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 22px;
  background:
    linear-gradient(145deg, rgb(18 48 78 / 98%), rgb(7 24 44 / 99%));
  border: 1px solid color-mix(in srgb, var(--os-accent) 58%, var(--os-line));
  border-radius: 16px;
  box-shadow: 0 28px 80px rgb(0 0 0 / 58%),
    0 0 0 1px rgb(255 255 255 / 4%) inset;
  animation: os-confirm-dialog-enter 140ms ease-out;
}
.os-confirm-dialog__surface>header {
  display: flex;
  align-items: center;
  gap: 13px;
}
.os-confirm-dialog__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  color: #ffd9dd;
  background: color-mix(in srgb, var(--os-danger) 19%, var(--os-panel));
  border: 1px solid color-mix(in srgb, var(--os-danger) 72%, transparent);
  border-radius: 12px;
  font-size: 22px;
  font-weight: 850;
}
.os-confirm-dialog__heading {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.os-confirm-dialog__eyebrow {
  color: var(--os-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.os-confirm-dialog h2,
.os-confirm-dialog p {
  margin: 0;
}
.os-confirm-dialog h2 {
  font-size: 20px;
  line-height: 1.25;
}
.os-confirm-dialog p {
  color: var(--os-muted);
  line-height: 1.55;
}
.os-confirm-dialog__actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 9px;
}
.os-confirm-dialog__actions button {
  min-height: 42px;
  padding: 9px 14px;
  color: var(--os-text);
  background: #07182c;
  border: 1px solid var(--os-line);
  border-radius: 9px;
  cursor: pointer;
}
.os-confirm-dialog__actions button:hover,
.os-confirm-dialog__actions button:focus-visible {
  border-color: var(--os-accent);
  outline: 2px solid transparent;
}
.os-confirm-dialog__actions .os-confirm-dialog__confirm {
  color: #fff;
  background: color-mix(in srgb, var(--os-danger) 72%, #781f31);
  border-color: color-mix(in srgb, var(--os-danger) 86%, #fff);
  font-weight: 750;
}
.os-confirm-dialog__actions .os-confirm-dialog__confirm:hover,
.os-confirm-dialog__actions .os-confirm-dialog__confirm:focus-visible {
  background: color-mix(in srgb, var(--os-danger) 86%, #781f31);
  border-color: #ffd9dd;
}
@keyframes os-confirm-dialog-enter {
  from { opacity: 0; transform: translateY(8px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media(max-width:520px) {
  .os-confirm-dialog__surface { padding: 18px; }
  .os-confirm-dialog__actions { display: grid; grid-template-columns: 1fr; }
  .os-confirm-dialog__actions button { width: 100%; }
}
@media(prefers-reduced-motion:reduce) {
  .os-confirm-dialog__surface { animation: none; }
}
body[data-window-error=true] .os-app-grid,
body[data-window-error=true] [data-sv-system-start-sources]{display:none!important}
.sv-desktop-shell-active .os-launcher,
.sv-desktop-shell-active .os-flash{display:none}
.sv-desktop-shell-active .os-topbar{position:fixed;inset:0 0 auto;z-index:101;display:flex;height:40px;min-height:40px;padding:0 clamp(12px,2vw,24px);pointer-events:none;background:linear-gradient(180deg,rgb(3 13 26 / 88%),rgb(3 13 26 / 58%));border:0}
.sv-desktop-shell-active .os-brand,.sv-desktop-shell-active .os-account__user{pointer-events:auto;text-shadow:0 1px 5px rgb(0 0 0 / 72%)}
.sv-desktop-shell-active .os-brand{font-size:15px}
.sv-desktop-shell-active .os-account{min-width:0;margin-left:auto}
.sv-desktop-shell-active .os-account__user{display:block;max-width:min(42vw,24rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.sv-desktop-shell-active .os-account form{display:none}
.sv-desktop-shell-active #servver-window-layer{--sv-shell-top:40px}
.os-account button{display:flex;align-items:center;gap:8px}
.os-account button .sv-app-icon{width:20px;height:20px}
.os-control-layout{display:grid;grid-template-columns:minmax(196px,224px) minmax(0,1fr);min-height:100%;padding:0;container-type:normal}
.os-control-navigation{align-content:start;align-items:stretch;display:grid;gap:4px;margin:0;padding:10px;overflow-y:auto;background:rgb(5 20 37 / 78%);border-right:1px solid var(--os-line)}
.os-control-navigation button{display:flex;align-items:center;gap:9px;width:100%;min-height:39px;padding:7px 9px;text-align:left}
.os-control-navigation button[aria-current=page]{border-color:var(--os-accent);background:#123653}
.os-control-navigation__icon{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--os-accent)}
.os-control-navigation button span{min-width:0;overflow-wrap:anywhere}
.os-control-navigation-toggle{display:none}
.os-control-content{min-width:0;padding:20px;overflow:visible;container-type:inline-size}
.os-control-content>section>h2{margin-top:0}
.os-control-content>[data-route-panel]{inline-size:min(100%,1180px)}
.os-control-content>[data-route-panel=system],.os-control-content>[data-route-panel=security],.os-control-content>[data-route-panel=logs],.os-control-content>[data-route-panel=diagnostics]{max-inline-size:920px}
.os-control-content>[data-route-panel=language],.os-control-content>[data-route-panel=about],.os-control-content>[data-route-panel=extensions]{max-inline-size:720px}
.os-control-content>[data-route-panel=language]>.os-card{grid-template-columns:minmax(220px,560px) auto;align-items:end}
.os-control-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:18px 0 24px}
.os-control-tile-shell{--os-shortcut-control-top:8px;--os-shortcut-control-left:43px;position:relative;display:flex;min-width:0}
.os-control-tile-shell>.os-control-tile{width:100%;gap:22px}
.os-control-tile{display:flex;align-items:center;gap:13px;min-height:92px;padding:15px;text-align:left;border-color:var(--os-line);background:linear-gradient(145deg,rgb(17 54 83 / 92%),rgb(7 31 53 / 96%));box-shadow:0 12px 28px rgb(0 0 0 / 18%)}
.os-control-tile:hover{border-color:var(--os-accent);background:linear-gradient(145deg,rgb(20 70 106 / 96%),rgb(9 39 65 / 98%));transform:translateY(-1px)}
.os-control-tile__icon{width:38px;height:38px;flex:0 0 auto;padding:7px;border-radius:11px;background:rgb(27 183 239 / 13%);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--os-accent)}
.os-control-tile__text{display:grid;gap:4px;min-width:0}
.os-control-tile__text strong{font-size:.98rem;overflow-wrap:anywhere}
.os-control-tile__text small{color:var(--os-muted);font-size:.78rem}
.os-window-app .os-control-tile__shortcut{position:absolute;z-index:2;top:var(--os-shortcut-control-top,7px);left:var(--os-shortcut-control-left,42px);display:grid;place-items:center;width:20px;height:20px;min-height:20px;padding:0;border-color:transparent;border-radius:999px;color:var(--os-accent);font-size:14px;font-weight:800;line-height:1;background:transparent;box-shadow:none}
.os-window-app .os-control-tile__shortcut-icon{display:block;width:18px;height:18px;padding:2px;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;border:1px solid var(--os-line);border-radius:999px;background:var(--os-panel);box-shadow:0 4px 12px color-mix(in srgb,var(--os-bg) 65%,transparent)}
.os-window-app .os-control-tile__shortcut:hover{border-color:transparent;background:transparent}
.os-window-app .os-control-tile__shortcut:hover>.os-control-tile__shortcut-icon{border-color:var(--os-accent);transform:scale(1.06)}
.os-window-app .os-control-tile__shortcut:focus-visible{outline:3px solid color-mix(in srgb,var(--os-accent) 70%,var(--os-text));outline-offset:2px}
.os-window-app .os-control-tile__shortcut[aria-pressed=true]{color:var(--os-bg);background:transparent;border-color:transparent}
.os-window-app .os-control-tile__shortcut[aria-pressed=true]>.os-control-tile__shortcut-icon{background:var(--os-accent);border-color:color-mix(in srgb,var(--os-accent) 55%,var(--os-text))}
.os-window-app .os-control-tile__shortcut[aria-busy=true]{cursor:progress;opacity:.72}
.os-window-app .os-control-tile__shortcut:disabled{cursor:not-allowed;opacity:.55}
.os-control-profile-heading{margin:0 0 10px}
.os-account-settings{max-width:920px;margin:0 auto}.os-account-settings__header{display:flex;align-items:center;gap:14px;margin:0 0 18px}.os-account-settings__header>.sv-app-icon{width:44px;height:44px;padding:9px;border:1px solid var(--os-line);border-radius:12px;background:var(--os-panel);color:var(--os-accent)}.os-account-settings__header h2,.os-account-settings__header p,.os-account-settings [data-account-section]>h3{margin:0}.os-account-settings__header p,.os-account-settings [data-account-section]>p{color:var(--os-muted)}.os-account-settings [data-account-section]{scroll-margin-top:16px}.os-account-settings [data-account-section]:focus-within{border-color:var(--os-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--os-accent) 20%,transparent)}
.os-control-section{margin-block:20px}
.os-control-section>h3{margin:0 0 10px}
.os-control-content [data-control-module]{min-height:100%}
.sv-start-menu__logout .sv-app-icon{width:25px;height:25px;flex:0 0 auto}
.sv-desktop-context__actions .sv-start-menu__icon{width:27px;height:27px}
@media(max-width:720px){.os-topbar{align-items:flex-start;flex-direction:column}.os-account{width:100%;flex-wrap:wrap}.os-launcher{margin:16px auto;padding:16px}.os-form-grid{grid-template-columns:1fr}.os-row{grid-template-columns:1fr}.os-window-app{padding:12px}.os-window-menu{position:sticky;top:0;z-index:2;flex-wrap:nowrap;overflow-x:auto;padding:8px;background:var(--os-bg)}.os-window-menu button{white-space:nowrap}}
@media(max-width:720px){
  .sv-desktop-shell-active .os-topbar{align-items:center;flex-direction:row;gap:12px}
  .sv-desktop-shell-active .os-account{width:auto;flex-wrap:nowrap}
  .os-control-layout{display:block;padding:0}
  .os-control-navigation-toggle{position:sticky;top:8px;z-index:7;display:inline-flex;width:auto;max-width:calc(100% - 24px);align-items:center;gap:8px;margin:8px 12px 0;padding:8px 11px;border-radius:9px;background:var(--os-panel)}
  .os-control-navigation{position:static;display:none;width:auto;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 12px 0;padding:8px;border:1px solid var(--os-line);border-radius:12px;background:var(--os-panel);box-shadow:none}
  .os-control-navigation button{min-height:40px;padding:7px 9px}
  .os-control-layout[data-control-navigation-open=true]>.os-control-navigation{display:grid}
  .os-control-navigation button{white-space:normal}
  .os-control-content{padding:14px}
  .os-control-tile-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px;margin-block:13px 20px}
  .os-control-tile{min-height:78px;padding:11px}
  .os-window-app .os-control-tile__shortcut{top:var(--os-shortcut-control-top,7px);left:var(--os-shortcut-control-left,39px)}
}

@container (max-width:720px){
  .os-control-layout{position:relative;display:block;padding:0}
  .os-control-navigation-toggle{position:sticky;top:8px;z-index:7;display:inline-flex;width:auto;max-width:calc(100% - 24px);align-items:center;gap:8px;margin:8px 12px 0;padding:8px 11px;border-radius:9px;background:var(--os-panel)}
  .os-control-navigation{position:static;display:none;width:auto;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 12px 0;padding:8px;border:1px solid var(--os-line);border-radius:12px;background:var(--os-panel);box-shadow:none}
  .os-control-navigation button{min-height:40px;padding:7px 9px}
  .os-control-layout[data-control-navigation-open=true]>.os-control-navigation{display:grid}
  .os-control-navigation button{white-space:normal}
  .os-control-content{padding:14px 18px 18px}
  .os-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-row{grid-template-columns:1fr}
  .os-control-content>[data-route-panel=language]>.os-card{grid-template-columns:1fr}
  .os-control-tile-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px;margin-block:13px 20px}
  .os-control-tile{min-height:78px;padding:11px}
  .os-window-app .os-control-tile__shortcut{top:var(--os-shortcut-control-top,7px);left:var(--os-shortcut-control-left,39px)}
}
@container (max-width:460px){
  .os-form-grid{grid-template-columns:1fr}
  .os-control-navigation{grid-template-columns:1fr}
  .os-control-content{padding:12px}
}
.os-safe-workspace-banner {
  position: fixed;
  z-index: 2147483000;
  top: 46px;
  right: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(520px, calc(100vw - 36px));
  padding: 12px 14px;
  border: 1px solid #f59e0b;
  border-radius: 12px;
  background: color-mix(in srgb, #f59e0b 12%, #07192b);
  box-shadow: 0 18px 50px rgb(0 0 0 / 35%);
  color: #f8fafc;
}

.os-safe-workspace-banner > div {
  flex: 1;
  min-width: 0;
}

.os-safe-workspace-banner strong,
.os-safe-workspace-banner span {
  display: block;
}

.os-safe-workspace-banner strong {
  margin-bottom: 3px;
  font-size: 13px;
}

.os-safe-workspace-banner span {
  color: #cbd5e1;
  font-size: 11px;
  line-height: 1.4;
}

.os-safe-workspace-banner button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 6px 11px;
  border: 1px solid #f59e0b;
  border-radius: 8px;
  background: transparent;
  color: #f8fafc;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 620px) {
  .os-safe-workspace-banner {
    top: 54px;
    right: 10px;
    left: 10px;
    width: auto;
  }
}
body[data-theme=light]{color-scheme:light;--os-bg:#edf4fa;--os-panel:#fff;--os-line:#9db9cf;--os-text:#10253a;--os-muted:#49677f;--os-accent:#087fb2;--os-danger:#b6283b;background:radial-gradient(circle at 50% 0,#fff 0,var(--os-bg) 55%)}body[data-theme=light] .os-topbar{background:#f7fbff}body[data-theme=light] .os-launcher,body[data-theme=light] .os-card{background:rgb(255 255 255 / 92%)}body[data-theme=light] .os-app-grid>button,body[data-theme=light] .os-account button,body[data-theme=light] .os-window-app button,body[data-theme=light] .os-window-app input,body[data-theme=light] .os-window-app select{background:#f5faff;color:var(--os-text)}
body[data-density=compact] .os-topbar{min-height:50px;padding-block:6px}body[data-density=compact] .os-launcher{margin-top:20px;padding:16px}body[data-density=compact] .os-app-grid{gap:8px}body[data-density=compact] .os-app-grid>button{min-height:60px;padding:9px}body[data-density=compact] .os-window-app{padding:10px}body[data-density=compact] .os-card{margin:8px 0;padding:10px}body[data-density=compact] .os-row{padding:6px}
body[data-density=touch] button,body[data-density=touch] input,body[data-density=touch] select{min-height:50px}body[data-density=touch] .os-app-grid>button{min-height:104px}body[data-density=touch] .os-window-menu{gap:11px}body[data-density=touch] .os-window-menu button{padding:12px 18px}
body[data-layout=compact] .os-launcher{width:min(880px,calc(100% - 32px))}body[data-layout=compact] .os-app-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}body[data-layout=touch] .os-launcher{width:min(1280px,calc(100% - 24px))}body[data-layout=touch] .os-app-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media(prefers-color-scheme:light){body[data-theme=system]{color-scheme:light;--os-bg:#edf4fa;--os-panel:#fff;--os-line:#9db9cf;--os-text:#10253a;--os-muted:#49677f;--os-accent:#087fb2;--os-danger:#b6283b;background:radial-gradient(circle at 50% 0,#fff 0,var(--os-bg) 55%)}body[data-theme=system] .os-topbar{background:#f7fbff}body[data-theme=system] .os-launcher,body[data-theme=system] .os-card{background:rgb(255 255 255 / 92%)}body[data-theme=system] .os-app-grid>button,body[data-theme=system] .os-account button,body[data-theme=system] .os-window-app button,body[data-theme=system] .os-window-app input,body[data-theme=system] .os-window-app select{background:#f5faff;color:var(--os-text)}}

.os-account{position:relative;pointer-events:auto}
.os-account__trigger{display:flex;align-items:center;gap:8px;max-width:min(44vw,28rem);padding:5px 9px!important;background:transparent!important;border-color:transparent!important;font-weight:700}
.os-account__trigger:focus-visible,.os-account__trigger:hover{border-color:var(--os-line)!important;outline:2px solid transparent;background:rgb(31 75 115 / 42%)!important}
.os-account__trigger>.sv-app-icon{width:22px!important;height:22px!important;flex:0 0 auto}
.os-account__avatar{position:relative;display:grid;flex:0 0 auto;place-items:center;width:25px;height:25px;overflow:hidden;color:#fff;font-size:11px;font-weight:850;background:color-mix(in srgb,var(--os-accent) 72%,#10243b);border:1px solid color-mix(in srgb,var(--os-line) 72%,#fff);border-radius:50%}
.os-account__avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.os-account__avatar img[hidden],.os-account__avatar span[hidden]{display:none}
.os-account__chevron{width:7px;height:7px;margin:0 3px 3px 2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}
.os-account__trigger[aria-expanded=true] .os-account__chevron{margin-bottom:-2px;transform:rotate(225deg)}
.os-account__menu{position:absolute;z-index:240;inset:calc(100% + 5px) 0 auto auto;display:grid;min-width:236px;padding:7px;background:color-mix(in srgb,var(--os-bg) 96%,transparent);border:1px solid var(--os-line);border-radius:13px;box-shadow:0 18px 44px rgb(0 0 0 / 42%);backdrop-filter:blur(18px)}
.os-account__menu[hidden]{display:none}
.os-account__menu button{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:9px 10px;text-align:left;background:transparent;border-color:transparent;border-radius:8px}
.os-account__menu button:hover,.os-account__menu button:focus-visible{background:rgb(52 124 174 / 23%);border-color:var(--os-line);outline:none}
.os-account__menu .sv-app-icon{width:21px;height:21px}
.os-account__logout{margin-top:5px;border-top-color:color-mix(in srgb,var(--os-line) 70%,transparent)!important;border-radius:0 0 8px 8px!important;color:#ffb6be!important}
.sv-desktop-shell-active .os-account__trigger{height:34px}
.sv-desktop-shell-active .os-account__menu{top:35px}
body[data-theme=light] .os-account__menu{background:rgb(248 252 255 / 97%);box-shadow:0 18px 44px rgb(21 56 82 / 24%)}
@media(prefers-color-scheme:light){body[data-theme=system] .os-account__menu{background:rgb(248 252 255 / 97%);box-shadow:0 18px 44px rgb(21 56 82 / 24%)}}
@media(max-width:720px){.os-account__trigger{max-width:70vw}.os-account__menu{position:fixed;inset:48px 10px auto auto;max-width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Compact Desktop & Workspace control surface. */
[data-route-panel=desktop]{max-width:980px;font-size:13px}
[data-route-panel=desktop]>h2{margin-bottom:5px;font-size:20px;line-height:1.2}
[data-route-panel=desktop]>p{max-width:680px;margin:0 0 14px;color:var(--os-muted);font-size:13px}
.os-desktop-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:10px;border:1px solid var(--os-line);border-radius:10px;background:var(--os-panel)}
.os-desktop-setting{display:grid;align-content:start;gap:5px;min-width:0}
.os-desktop-setting h3,.os-desktop-applications>h3{margin:0;font-size:14px;line-height:1.25}
.os-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.os-choice-card{position:relative;display:grid;grid-template-rows:28px auto;gap:3px;place-items:center;min-width:0;min-height:56px;padding:5px 4px;border:1px solid var(--os-line);border-radius:7px;background:color-mix(in srgb,var(--os-panel) 92%,var(--os-bg));cursor:pointer;text-align:center}
.os-choice-card:hover{border-color:var(--os-accent)}
.os-choice-card:has(input:checked){border-color:var(--os-accent);box-shadow:inset 0 0 0 1px var(--os-accent),0 0 0 2px color-mix(in srgb,var(--os-accent) 18%,transparent);background:color-mix(in srgb,var(--os-accent) 16%,var(--os-panel))}
.os-choice-card__selected{position:absolute;top:3px;right:4px;width:14px;height:14px;color:var(--os-accent);opacity:0;pointer-events:none;transition:opacity .14s ease}
.os-choice-card:has(input:checked)>.os-choice-card__selected{opacity:1}
.os-choice-card:has(input:focus-visible){outline:2px solid var(--os-accent);outline-offset:2px}
.os-choice-card input{position:absolute;inline-size:1px;block-size:1px;opacity:0}
.os-choice-card strong{max-width:100%;font-size:12px;line-height:1.2;overflow-wrap:normal;word-break:normal;hyphens:none}
.os-choice-preview,.os-theme-preview,.os-density-preview{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:38px;height:26px;padding:3px;border:1px solid var(--os-line);border-radius:5px;background:color-mix(in srgb,var(--os-bg) 84%,var(--os-panel))}
.os-choice-preview i{display:block;width:8px;border-radius:2px;background:var(--os-accent)}
.os-choice-preview i:nth-child(1){height:10px}.os-choice-preview i:nth-child(2){height:20px}.os-choice-preview i:nth-child(3){height:15px}
.os-choice-card--layout-compact .os-choice-preview{gap:2px}.os-choice-card--layout-compact .os-choice-preview i{width:10px;height:19px}
.os-choice-card--layout-touch .os-choice-preview{gap:5px}.os-choice-card--layout-touch .os-choice-preview i{width:8px;height:14px}
.os-theme-preview{align-items:center;padding:0;overflow:hidden}
.os-theme-preview i{width:50%;height:100%;background:#07182a}.os-theme-preview i+ i{background:#163453}
.os-choice-card--theme-light .os-theme-preview i{background:#f4f8fc}.os-choice-card--theme-light .os-theme-preview i+ i{background:#d6e6f2}
.os-choice-card--theme-system .os-theme-preview i:first-child{background:#f4f8fc}.os-choice-card--theme-system .os-theme-preview i:last-child{background:#07182a}
.os-density-preview{display:grid;align-content:center;gap:2px}
.os-density-preview i{display:block;width:28px;height:3px;border-radius:2px;background:var(--os-accent)}
.os-choice-card--density-comfortable .os-density-preview{gap:4px}.os-choice-card--density-touch .os-density-preview{gap:6px}
.os-desktop-setting--background{grid-column:1/-1;padding-top:7px;border-top:1px solid var(--os-line)}
.os-desktop-setting--background>p{margin:0;color:var(--os-muted);font-size:11px}
.os-wallpaper-grid{display:grid;grid-template-columns:repeat(4,minmax(96px,1fr));gap:7px}
.os-wallpaper-card{position:relative;display:grid;gap:5px;min-width:0;padding:5px;color:var(--os-text);background:color-mix(in srgb,var(--os-panel) 92%,var(--os-bg));border:1px solid var(--os-line);border-radius:8px;cursor:pointer;text-align:center}
.os-wallpaper-card:hover{border-color:var(--os-accent)}
.os-wallpaper-card:has(input:checked){border-color:var(--os-accent);box-shadow:inset 0 0 0 1px var(--os-accent)}
.os-wallpaper-card:has(input:disabled){cursor:not-allowed;opacity:.48}
.os-wallpaper-card input{position:absolute;inline-size:1px;block-size:1px;opacity:0}
.os-wallpaper-card>span{display:block;min-height:54px;border:1px solid color-mix(in srgb,var(--os-line) 72%,transparent);border-radius:5px;background:#07182c}
.os-wallpaper-card>strong{font-size:11px;line-height:1.2}
.os-wallpaper-card--default>span{background:radial-gradient(circle at 18% 12%,rgb(32 126 186 / 28%),transparent 34%),linear-gradient(145deg,#061120,#0a2138 65%,#07182c)}
.os-wallpaper-card--dark-grid>span{background-color:#061321;background-image:linear-gradient(rgb(75 154 202 / 15%) 1px,transparent 1px),linear-gradient(90deg,rgb(75 154 202 / 15%) 1px,transparent 1px);background-size:13px 13px}
.os-wallpaper-card--soft-blue>span{background:radial-gradient(circle at 78% 18%,rgb(105 208 240 / 42%),transparent 28%),linear-gradient(145deg,#184f78,#0a2947 65%,#07182c)}
.os-wallpaper-card--custom>span{display:grid;place-items:center;background:linear-gradient(145deg,#0b243f,#07182c)}
.os-wallpaper-card--custom>span>img{display:none;width:100%;height:54px;object-fit:cover;border-radius:4px}
.os-wallpaper-card--custom>span::after{content:"+";color:var(--os-muted);font-size:22px;font-weight:300}
.os-wallpaper-card--custom.is-available>span>img{display:block}
.os-wallpaper-card--custom.is-available>span::after{content:""}
.os-wallpaper-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.os-wallpaper-upload{position:relative;display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;color:var(--os-text);background:#07182c;border:1px solid var(--os-line);border-radius:8px;cursor:pointer;font-weight:700}
.os-wallpaper-upload:hover,.os-wallpaper-upload:focus-within{border-color:var(--os-accent)}
.os-wallpaper-upload input{position:absolute;inline-size:1px;block-size:1px;opacity:0}
.os-wallpaper-actions button{min-height:34px;padding:6px 11px}
.os-wallpaper-actions button[hidden]{display:none}
[data-wallpaper-status]{min-height:18px;color:var(--os-muted);font-size:11px}
[data-wallpaper-status][data-state=failed]{color:var(--os-danger)}
.os-desktop-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px;border-top:1px solid var(--os-line)}
.os-desktop-actions button{min-height:34px;padding:6px 18px;font-size:13px}
.os-desktop-applications{margin-block:14px 0}
.os-app-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.os-app-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0;padding:9px 10px;border:1px solid var(--os-line);border-radius:9px;background:var(--os-panel)}
.os-app-card__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--os-accent) 18%,var(--os-panel));color:var(--os-accent)}
.os-app-card__icon .sv-app-icon{width:22px;height:22px}
.os-app-card__identity{display:grid;min-width:0}.os-app-card__identity strong{font-size:13px}.os-app-card__identity small{overflow:hidden;color:var(--os-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.os-app-card__status{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid #238864;border-radius:999px;color:#79e8bd;font-size:10px;white-space:nowrap}
.os-app-card__status i{width:6px;height:6px;border-radius:50%;background:#52dfa8}
@media(max-width:900px){.os-desktop-settings{grid-template-columns:1fr}.os-choice-grid{grid-template-columns:repeat(3,minmax(88px,1fr))}.os-app-card-grid{grid-template-columns:1fr}}
@media(max-width:560px){.os-choice-grid{grid-template-columns:1fr}.os-choice-card{grid-template-columns:42px 1fr;grid-template-rows:auto;justify-items:start;min-height:52px;text-align:left}.os-app-card{grid-template-columns:34px minmax(0,1fr)}.os-app-card__status{grid-column:2;justify-self:start}}
@container (max-width:760px){
  .os-desktop-settings{grid-template-columns:1fr}
  .os-choice-grid{grid-template-columns:repeat(3,minmax(96px,1fr))}
  .os-choice-grid--window-controls{grid-template-columns:repeat(2,minmax(96px,1fr))}
  .os-app-card-grid{grid-template-columns:1fr}
}
@container (max-width:380px){
  .os-choice-grid,.os-choice-grid--window-controls{grid-template-columns:1fr}
  .os-wallpaper-grid{grid-template-columns:repeat(2,minmax(96px,1fr))}
  .os-choice-card{grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto;justify-items:start;min-height:58px;text-align:left}
  .os-app-card{grid-template-columns:34px minmax(0,1fr)}
  .os-app-card__status{grid-column:2;justify-self:start}
}

@container (max-width:420px){.os-control-navigation{grid-template-columns:1fr}}

.os-trusted-device-form{grid-template-columns:minmax(240px,1fr) minmax(160px,.45fr)}
.os-trusted-device-form>.os-trusted-device-form__toggle{align-self:center;justify-self:start}
.os-trusted-device-form>p{grid-column:1/-1;margin:0;color:var(--os-muted)}
.os-trusted-device-form>button{grid-column:1/-1;justify-self:start}
.os-development-mode{border-color:color-mix(in srgb,var(--os-accent) 55%,var(--os-line));background:linear-gradient(135deg,color-mix(in srgb,var(--os-accent) 9%,var(--os-panel)),var(--os-panel))}
.os-development-mode>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.os-development-mode>header>span:not(.os-development-mode__icon){display:grid;gap:3px}.os-development-mode small,.os-development-mode>p{color:var(--os-muted)}
.os-development-mode>p{margin:0}.os-development-mode__icon{display:grid;place-items:center;inline-size:42px;block-size:42px;border:1px solid var(--os-line);border-radius:11px;background:color-mix(in srgb,var(--os-accent) 13%,transparent)}
.os-development-mode__icon svg{inline-size:24px;block-size:24px}.os-development-mode output{font-weight:700;color:var(--os-muted)}
.os-development-mode[data-enabled=true]{border-color:#37bf82}.os-development-mode[data-enabled=true] output{color:#65dea3}.os-development-mode output[data-error=true]{color:var(--os-danger)}
.os-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.os-switch>input{position:absolute;inline-size:1px!important;block-size:1px!important;opacity:0}.os-switch>span{position:relative;inline-size:44px;block-size:24px;border:1px solid var(--os-line);border-radius:999px;background:#07182c;transition:.15s ease}.os-switch>span::after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;inline-size:16px;block-size:16px;border-radius:50%;background:var(--os-muted);transition:.15s ease}.os-switch>input:checked+span{border-color:var(--os-accent);background:color-mix(in srgb,var(--os-accent) 38%,#07182c)}.os-switch>input:checked+span::after{inset-inline-start:23px;background:#fff}.os-switch>input:focus-visible+span{outline:3px solid var(--os-accent);outline-offset:2px}.os-switch>input:disabled~*{opacity:.55;cursor:not-allowed}
@container (max-width:560px){.os-development-mode>header{grid-template-columns:auto minmax(0,1fr)}.os-development-mode .os-switch{grid-column:1/-1;justify-self:start}}

/* Base owns user preferences; MiniBase consumes them through inherited UI tokens. */
body[data-theme=light] .sv-window-layer{
  --sv-window-bg:#f5f9fd;
  --sv-window-panel:#e4eef6;
  --sv-window-border:#8eacc2;
  --sv-window-text:#10253a;
  --sv-window-muted:#4b687d;
  --sv-window-accent:#087fb2;
  color:var(--sv-window-text);
  background:
    radial-gradient(circle at 18% 12%,rgb(88 173 216 / 18%),transparent 36%),
    linear-gradient(145deg,#edf5fb,#dbe9f4 64%,#cfdfeb);
}
body[data-theme=light] .sv-window__bar{background:linear-gradient(180deg,#f9fcff,var(--sv-window-panel))}
body[data-theme=light] .sv-window{box-shadow:0 22px 62px rgb(42 72 94 / 25%)}
body[data-theme=light] .sv-window[data-active=true]{box-shadow:0 24px 70px rgb(42 72 94 / 30%),0 0 0 1px rgb(8 127 178 / 18%)}
body[data-theme=light] .sv-start-menu,
body[data-theme=light] .sv-desktop-context,
body[data-theme=light] .sv-tray-menu{background:rgb(245 249 253 / 98%)}
body[data-theme=light] .sv-window-dock{
  background:rgb(228 238 246 / 72%);
  box-shadow:0 14px 42px rgb(42 72 94 / 24%);
  backdrop-filter:blur(18px) saturate(135%);
}
body[data-theme=light] .sv-desktop-tray{background:transparent}

body[data-density=compact] .sv-window-layer{--sv-window-dock-height:52px;font-size:13px}
body[data-density=compact] .sv-desktop-shortcut{width:74px;min-height:64px;padding:5px 4px}
body[data-density=compact] .sv-start-menu__applications,
body[data-density=compact] .sv-start-menu__system{gap:2px;padding:5px}

body[data-density=touch] .sv-window-layer{--sv-window-dock-height:74px;font-size:16px}
body[data-density=touch] .sv-desktop-shortcut{width:104px;min-height:94px;padding:10px 7px}
body[data-density=touch] .sv-start-menu{width:min(430px,calc(100% - 28px))}
body[data-density=touch] .sv-start-menu button{min-height:48px}

body[data-layout=compact] .sv-desktop-shortcut{width:72px;min-height:62px}
body[data-layout=compact] .sv-window-dock__item{flex-basis:36px}
body[data-layout=touch] .sv-desktop-shortcut{width:108px;min-height:98px}
body[data-layout=touch] .sv-window-dock__item{flex-basis:52px}

/*
 * System theme contract.
 *
 * Base always supplies a complete accessible palette. A package may override
 * --sv-app-* inside its own .sv-window only; omitted values inherit the active
 * system theme instead of falling back to a hard-coded dark colour.
 */
body{
  --sv-system-canvas:#061120;
  --sv-system-surface:#0d223d;
  --sv-system-surface-raised:#112e4e;
  --sv-system-border:#2a557a;
  --sv-system-text:#f4f8ff;
  --sv-system-muted:#a4c9e5;
  --sv-system-accent:#2bb9e8;
  --sv-system-danger:#ee5b6b;
  --sv-system-success:#2bcf91;
}
body[data-theme=light]{
  --sv-system-canvas:#edf4fa;
  --sv-system-surface:#ffffff;
  --sv-system-surface-raised:#e4eef6;
  --sv-system-border:#8eacc2;
  --sv-system-text:#10253a;
  --sv-system-muted:#49677f;
  --sv-system-accent:#087fb2;
  --sv-system-danger:#b6283b;
  --sv-system-success:#147a50;
}
@media(prefers-color-scheme:light){
  body[data-theme=system]{
    --sv-system-canvas:#edf4fa;
    --sv-system-surface:#ffffff;
    --sv-system-surface-raised:#e4eef6;
    --sv-system-border:#8eacc2;
    --sv-system-text:#10253a;
    --sv-system-muted:#49677f;
    --sv-system-accent:#087fb2;
    --sv-system-danger:#b6283b;
    --sv-system-success:#147a50;
  }
}
.sv-window-layer{
  --sv-window-bg:var(--sv-system-canvas);
  --sv-window-panel:var(--sv-system-surface);
  --sv-window-border:var(--sv-system-border);
  --sv-window-text:var(--sv-system-text);
  --sv-window-muted:var(--sv-system-muted);
  --sv-window-accent:var(--sv-system-accent);
  --sv-window-danger:var(--sv-system-danger);
  --sv-window-success:var(--sv-system-success);
}
.sv-window{
  --sv-window-bg:var(--sv-app-canvas,var(--sv-system-canvas));
  --sv-window-panel:var(--sv-app-surface,var(--sv-system-surface));
  --sv-window-border:var(--sv-app-border,var(--sv-system-border));
  --sv-window-text:var(--sv-app-text,var(--sv-system-text));
  --sv-window-muted:var(--sv-app-muted,var(--sv-system-muted));
  --sv-window-accent:var(--sv-app-accent,var(--sv-system-accent));
  --sv-window-danger:var(--sv-app-danger,var(--sv-system-danger));
  --sv-window-success:var(--sv-app-success,var(--sv-system-success));
  --os-bg:var(--sv-window-bg);
  --os-panel:var(--sv-window-panel);
  --os-line:var(--sv-window-border);
  --os-text:var(--sv-window-text);
  --os-muted:var(--sv-window-muted);
  --os-accent:var(--sv-window-accent);
  --os-danger:var(--sv-window-danger);
  color:var(--sv-window-text);
  background:var(--sv-window-bg);
  color-scheme:inherit;
}
body.sv-desktop-shell-active .sv-window{
  resize:none;
}
.sv-window__body{
  color:var(--sv-window-text);
  background:var(--sv-window-bg);
  margin-block-end:4px;
  border-end-start-radius:11px;
  border-end-end-radius:11px;
}
.sv-window__body[data-scroll-owner=window]{overflow:auto!important;overflow-block:auto!important;overflow-inline:auto!important;scrollbar-gutter:stable}
.sv-window :where(input,select,textarea){
  color:var(--sv-window-text);
  background:color-mix(in srgb,var(--sv-window-panel) 92%,var(--sv-window-bg));
  border-color:var(--sv-window-border);
}
.sv-window :where(input,select,textarea)::placeholder{
  color:var(--sv-window-muted);
  opacity:.78;
}
.os-choice-grid--window-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.os-window-controls-preview{
  position:relative;
  display:block;
  width:70px;
  height:42px;
  min-height:42px;
  margin-inline:auto;
  border:1px solid var(--os-line);
  border-radius:7px;
  background:var(--os-bg);
}
.os-window-controls-preview i{
  position:absolute;
  top:3px;
  right:3px;
  display:grid;
  width:17px;
  height:17px;
  border:1px solid var(--os-line);
  border-radius:4px;
  background:color-mix(in srgb,var(--os-panel) 82%,var(--os-bg));
}
.os-window-controls-preview i[data-action=maximize]{right:23px;background:color-mix(in srgb,#2bcf91 23%,var(--os-panel))}
.os-window-controls-preview i[data-action=minimize]{top:23px;background:color-mix(in srgb,#f2b84b 28%,var(--os-panel))}
.os-window-controls-preview i[data-action=close]{background:color-mix(in srgb,var(--os-danger) 40%,var(--os-panel))}
.sv-window__control[data-action=minimize]{background:color-mix(in srgb,#f2b84b 8%,var(--sv-window-panel))}
.sv-window__control[data-action=minimize]:hover,
.sv-window__control[data-action=minimize]:focus-visible{
  color:#fff8df;
  background:color-mix(in srgb,#f2b84b 34%,var(--sv-window-panel));
  border-color:#f2b84b;
  outline-color:#f2b84b;
}
.os-choice-card--controls-left .os-window-controls-preview i{right:auto;left:3px}
.os-choice-card--controls-left .os-window-controls-preview i[data-action=maximize]{left:23px}

body[data-density=touch] .os-control-navigation button{min-height:50px;padding:10px 11px}
body[data-density=touch] .os-control-navigation__icon{width:27px;height:27px}
body[data-density=touch] .os-choice-card{grid-template-rows:36px auto;gap:6px;min-height:76px;padding:8px 6px}
body[data-density=touch] .os-choice-preview,
body[data-density=touch] .os-theme-preview,
body[data-density=touch] .os-density-preview{width:46px;height:34px;padding:4px}
body[data-density=touch] .os-window-controls-preview{width:82px;height:50px;min-height:50px}

@media(prefers-color-scheme:light){
  body[data-theme=system] .sv-window-layer{
    --sv-window-bg:#f5f9fd;
    --sv-window-panel:#e4eef6;
    --sv-window-border:#8eacc2;
    --sv-window-text:#10253a;
    --sv-window-muted:#4b687d;
    --sv-window-accent:#087fb2;
    color:var(--sv-window-text);
    background:
      radial-gradient(circle at 18% 12%,rgb(88 173 216 / 18%),transparent 36%),
      linear-gradient(145deg,#edf5fb,#dbe9f4 64%,#cfdfeb);
  }
  body[data-theme=system] .sv-window__bar{background:linear-gradient(180deg,#f9fcff,var(--sv-window-panel))}
  body[data-theme=system] .sv-start-menu,
  body[data-theme=system] .sv-desktop-context,
  body[data-theme=system] .sv-tray-menu{background:rgb(245 249 253 / 98%)}
  body[data-theme=system] .sv-window-dock{
    background:rgb(228 238 246 / 72%);
    box-shadow:0 14px 42px rgb(42 72 94 / 24%);
    backdrop-filter:blur(18px) saturate(135%);
  }
  body[data-theme=system] .sv-desktop-tray{background:transparent}
}
.os-session-expired-page {
  min-height: 100vh;
  margin: 0;
  background: #061426;
  color: #f7fbff;
}

.os-session-expired {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
}

.os-session-expired__card {
  width: min(520px, 100%);
  padding: 24px;
  border: 1px solid #ef4f68;
  border-radius: 16px;
  background: #10233d;
  box-shadow: 0 24px 72px rgb(0 0 0 / 38%);
}

.os-session-expired__card h1 {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.os-session-expired__card p {
  margin: 0 0 18px;
  color: #bcd0e4;
}

.os-session-expired__card a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 0 16px;
  border: 1px solid #28b9f5;
  border-radius: 9px;
  color: #f7fbff;
  text-decoration: none;
}

[data-trusted-device].os-switch {
  display: inline-flex;
  width: min(100%, 320px);
  align-items: center;
  justify-self: center;
  justify-content: center;
  gap: 10px;
  color: var(--sv-auth-text);
  text-align: left;
  cursor: pointer;
  font-weight: 600;
}

[data-trusted-device].os-switch > input {
  width: 1px !important;
  height: 1px !important;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

[data-trusted-device].os-switch > b {
  min-width: 0;
  color: inherit;
  font: inherit;
}

.os-form-grid .os-checkbox-row {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  cursor: pointer;
}

.os-form-grid .os-checkbox-row input {
  width: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  accent-color: var(--os-accent);
}

/* Base-owned application tray surface. Packages only send validated state. */
.sv-desktop-tray__application {
  position: relative;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  padding: 5px;
  border: 0;
  border-radius: 8px;
  color: var(--sv-window-text);
  background: transparent;
  cursor: pointer;
}

.sv-desktop-tray__application svg,
.sv-desktop-tray__application img {
  width: 23px;
  height: 23px;
  overflow: visible;
  fill: color-mix(in srgb, var(--sv-window-accent) 22%, transparent);
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sv-desktop-tray__application:hover,
.sv-desktop-tray__application:focus-visible {
  background: color-mix(in srgb, var(--sv-window-accent) 14%, transparent);
  outline: 2px solid color-mix(in srgb, var(--sv-window-accent) 45%, transparent);
  outline-offset: 1px;
}

.sv-desktop-tray__application[data-state="playing"]::after,
.sv-desktop-tray__application[data-state="connecting"]::after {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 7px;
  height: 7px;
  border: 1px solid var(--sv-window-panel);
  border-radius: 50%;
  background: #3ddc97;
  content: "";
}

.sv-desktop-tray__application[data-state="connecting"]::after {
  background: #f7bd52;
}

.sv-desktop-tray__application[data-state="error"] {
  color: var(--sv-window-danger);
}

.sv-desktop-tray__application[hidden] {
  display: none;
}

.sv-desktop-tray__application-surface {
  position: absolute;
  bottom: 48px;
  z-index: 2147483002;
  transform: translateX(-50%);
  color: var(--sv-window-text);
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--sv-window-panel) 98%, transparent),
      color-mix(in srgb, var(--sv-window-bg) 96%, transparent)
    );
  border: 1px solid color-mix(in srgb, var(--sv-window-accent) 38%, var(--sv-window-border));
  border-radius: 12px;
  box-shadow:
    0 18px 48px rgb(0 0 0 / 42%),
    inset 0 1px rgb(255 255 255 / 6%);
}

.sv-desktop-tray__application-widget {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 28px;
  width: min(310px, calc(100vw - 20px));
  min-height: 74px;
  align-items: center;
  gap: 10px;
  padding: 10px;
}

.sv-desktop-tray__application-widget > img {
  width: 34px;
  height: 34px;
}

.sv-desktop-tray__application-widget-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.sv-desktop-tray__application-widget-copy small {
  color: var(--sv-window-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.sv-desktop-tray__application-widget-copy strong,
.sv-desktop-tray__application-widget-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sv-desktop-tray__application-widget-copy span {
  color: var(--sv-window-muted);
  font-size: 12px;
}

.sv-desktop-tray__application-widget-close {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: var(--sv-window-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
}

.sv-desktop-tray__application-widget-close:hover,
.sv-desktop-tray__application-widget-close:focus-visible {
  color: var(--sv-window-text);
  border-color: var(--sv-window-border);
  outline: none;
}

.sv-desktop-tray__application-menu {
  display: grid;
  gap: 2px;
  min-width: 190px;
  max-width: min(240px, calc(100vw - 20px));
  padding: 6px;
}

.sv-desktop-tray__application-menu-title {
  padding: 6px 9px 5px;
  color: var(--sv-window-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.sv-desktop-tray__application-menu button {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  color: inherit;
  font: inherit;
  font-size: 13px;
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
}

.sv-desktop-tray__application-menu button:hover,
.sv-desktop-tray__application-menu button:focus-visible {
  background: color-mix(in srgb, var(--sv-window-accent) 18%, transparent);
  border-color: var(--sv-window-border);
  outline: none;
}

.sv-desktop-tray__application-menu button[data-selected="true"] {
  color: color-mix(in srgb, var(--sv-window-accent) 72%, var(--sv-window-text));
  background: color-mix(in srgb, var(--sv-window-accent) 11%, transparent);
}

.sv-desktop-tray__application-menu button > span:first-child {
  color: var(--sv-window-accent);
  font-size: 10px;
  text-align: center;
}

.sv-desktop-tray__application-station-marker-icon {
  display: block;
  width: 14px;
  height: 14px;
  fill: currentColor;
  stroke: currentColor;
}

.sv-desktop-tray__application-station-state {
  grid-column: 2;
  overflow: hidden;
  color: var(--sv-window-muted);
  font-size: 10px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sv-desktop-tray__application-menu
button[data-selected="true"][data-playback-state="playing"]
.sv-desktop-tray__application-station-marker,
.sv-desktop-tray__application-menu
button[data-selected="true"][data-playback-state="muted"]
.sv-desktop-tray__application-station-marker {
  color: #35d595;
}

.sv-desktop-tray__application-menu
button[data-selected="true"][data-playback-state="connecting"]
.sv-desktop-tray__application-station-marker {
  color: #f0bd52;
}

.sv-desktop-tray__application-menu
button[data-selected="true"][data-playback-state="error"]
.sv-desktop-tray__application-station-marker {
  color: var(--os-danger);
}

.sv-desktop-tray__application-menu .sv-desktop-tray__application-settings {
  display: block;
  margin-top: 4px;
  padding-top: 9px;
  border-top-color: var(--sv-window-border);
  border-radius: 7px;
}

.sv-desktop-tray__application-volume {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) 30px;
  justify-items: center;
  gap: 8px;
  width: 48px;
  height: 180px;
  padding: 9px 7px 7px;
}

.sv-desktop-tray__application-volume output {
  color: var(--sv-window-muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.sv-desktop-tray__application-volume input[type="range"] {
  align-self: start;
  width: 16px;
  height: 104px;
  margin: 0;
  padding: 0;
  appearance: none;
  writing-mode: vertical-lr;
  direction: rtl;
  background: transparent;
  cursor: pointer;
}

.sv-desktop-tray__application-volume input[type="range"]::-webkit-slider-runnable-track {
  width: 4px;
  height: 100%;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sv-window-muted) 42%, transparent);
}

.sv-desktop-tray__application-volume input[type="range"]::-webkit-slider-thumb {
  width: 14px;
  height: 14px;
  margin-left: -5px;
  appearance: none;
  border: 2px solid var(--sv-window-panel);
  border-radius: 50%;
  background: var(--sv-window-accent);
  box-shadow: 0 1px 6px rgb(0 0 0 / 35%);
}

.sv-desktop-tray__application-volume input[type="range"]::-moz-range-track {
  width: 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sv-window-muted) 42%, transparent);
}

.sv-desktop-tray__application-volume input[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 2px solid var(--sv-window-panel);
  border-radius: 50%;
  background: var(--sv-window-accent);
  box-shadow: 0 1px 6px rgb(0 0 0 / 35%);
}

.sv-desktop-tray__application-mute {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  color: var(--sv-window-text);
  background: color-mix(in srgb, var(--sv-window-accent) 10%, transparent);
  border: 1px solid var(--sv-window-border);
  border-radius: 8px;
  cursor: pointer;
}

.sv-desktop-tray__application-mute-icon,
.sv-desktop-tray__application-widget-close-icon {
  width: 17px;
  height: 17px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sv-desktop-tray__application-mute[data-muted="true"] {
  color: var(--sv-window-danger);
}

.sv-desktop-tray__application-mute:hover,
.sv-desktop-tray__application-mute:focus-visible {
  color: var(--sv-window-accent);
  border-color: var(--sv-window-accent);
  outline: none;
}

.os-desktop-resource-shortcut__icon {
  display: grid;
  place-items: center;
  line-height: 1;
}

.os-desktop-resource-shortcut__icon svg {
  width: 30px;
  height: 30px;
}
.os-desktop-resource-shortcut[data-desktop-resource-available="false"] {
  opacity: .58;
}

.os-desktop-resource-prompt {
  position: absolute;
  z-index: 2147482500;
  display: grid;
  width: min(360px, calc(100% - 32px));
  max-width: 100%;
  gap: 14px;
  margin: 0;
  padding: 16px;
  translate: 0 8px;
  color: var(--sv-window-text);
  background: var(--sv-window-panel);
  border: 1px solid var(--sv-window-accent);
  border-radius: 12px;
  box-shadow: 0 18px 54px rgb(0 0 0 / 48%);
}

.os-desktop-resource-prompt h2 {
  margin: 0;
  font-size: 16px;
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__message {
  margin: 0;
  color: var(--sv-window-text);
  line-height: 1.5;
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__field {
  display: grid;
  gap: 7px;
  color: var(--sv-window-muted);
  font-size: 13px;
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__field input {
  width: 100%;
  min-height: 40px;
  padding: 8px 11px;
  color: var(--sv-window-text);
  font: inherit;
  background: color-mix(in srgb, var(--sv-window-panel) 82%, black);
  border: 1px solid var(--sv-window-border);
  border-radius: 9px;
  outline: none;
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__field input:focus {
  border-color: var(--sv-window-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--sv-window-accent) 20%, transparent);
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__actions button {
  min-height: 36px;
  padding: 7px 14px;
  color: var(--sv-window-text);
  font: inherit;
  background: transparent;
  border: 1px solid var(--sv-window-border);
  border-radius: 9px;
  cursor: pointer;
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__actions button.is-primary {
  color: var(--sv-window-panel);
  background: var(--sv-window-accent);
  border-color: var(--sv-window-accent);
  font-weight: 700;
}

.os-desktop-resource-prompt .os-desktop-resource-dialog__actions button.is-danger {
  color: #ff9aaa;
  border-color: #d7445d;
  background: rgb(215 68 93 / 10%);
  font-weight: 700;
}

/* Base-owned desktop backgrounds, matching the proven legacy choices. */
body[data-desktop-background="default"] .sv-window-layer {
  background:
    radial-gradient(circle at 18% 12%, rgb(32 126 186 / 20%), transparent 34%),
    linear-gradient(145deg, var(--sv-system-canvas), color-mix(in srgb, var(--sv-system-canvas) 78%, #123d60));
}
body[data-desktop-background="dark-grid"] .sv-window-layer {
  background-color: #061321;
  background-image:
    linear-gradient(rgb(75 154 202 / 10%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(75 154 202 / 10%) 1px, transparent 1px),
    radial-gradient(circle at 22% 10%, rgb(23 116 176 / 20%), transparent 36%);
  background-size: 42px 42px, 42px 42px, auto;
}
body[data-desktop-background="soft-blue"] .sv-window-layer {
  background:
    radial-gradient(circle at 78% 18%, rgb(105 208 240 / 34%), transparent 28%),
    radial-gradient(circle at 12% 84%, rgb(44 133 190 / 24%), transparent 30%),
    linear-gradient(145deg, #184f78, #0a2947 65%, #07182c);
}
body[data-desktop-background="custom"] .sv-window-layer {
  background-image:
    linear-gradient(rgb(3 12 24 / 24%), rgb(3 12 24 / 40%)),
    url("/desktop-wallpaper.php");
  background-color: #061120;
  background-position: center;
  background-size: cover;
}

.os-workspace-lock {
  position: fixed;
  z-index: 2147483647;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(3 14 29 / 96%);
  backdrop-filter: blur(12px);
}

.os-workspace-lock[hidden] { display: none; }

.os-workspace-lock__card {
  display: grid;
  width: min(390px, 100%);
  gap: 12px;
  padding: 28px;
  color: var(--text, #f4f8fd);
  background: #102641;
  border: 1px solid #3e7098;
  border-radius: 18px;
  box-shadow: 0 30px 90px rgb(0 0 0 / 48%);
}

.os-workspace-lock__mark {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(145deg, #42bce8, #336eff);
  border-radius: 14px;
}

.os-workspace-lock__card h1,
.os-workspace-lock__card p { margin: 0; }

.os-workspace-lock__card label { display: grid; gap: 6px; font-weight: 700; }

.os-workspace-lock__card input,
.os-workspace-lock__card button {
  min-height: 44px;
  padding: 8px 12px;
  color: inherit;
  background: #081a30;
  border: 1px solid #3e7098;
  border-radius: 10px;
}

.os-workspace-lock__card button {
  color: #fff;
  font-weight: 800;
  background: linear-gradient(90deg, #3c9bd0, #43b8e5);
}

.os-workspace-lock__error { min-height: 1.5em; color: #ff8fa0; }
