body[data-wallpaper="dawn"] .mac-screen { background: radial-gradient(circle at 75% 20%, #ffe8af 0, transparent 27%), radial-gradient(circle at 22% 72%, #f4a8bd 0, transparent 38%), linear-gradient(135deg, #7b8bc6, #e9b8bd 55%, #ffd9aa) !important; }
body[data-wallpaper="night"] .mac-screen { background: radial-gradient(circle at 74% 19%, #719cd8 0, transparent 22%), radial-gradient(circle at 28% 73%, #393d82 0, transparent 43%), linear-gradient(135deg, #111c45, #2d4875 58%, #4d67a3) !important; }
body[data-os-theme="windows"] .calculator-window .window-controls::before, body[data-os-theme="ubuntu"] .calculator-window .window-controls::before { content: "计算器"; }
body[data-os-theme="windows"] .settings-window .window-controls::before, body[data-os-theme="ubuntu"] .settings-window .window-controls::before { content: "系统设置"; }
body[data-os-theme="windows"] .activity-window .window-controls::before, body[data-os-theme="ubuntu"] .activity-window .window-controls::before { content: "活动监视器"; }
body[data-os-theme="windows"] .paint-window .window-controls::before, body[data-os-theme="ubuntu"] .paint-window .window-controls::before { content: "画板"; }

.calculator-window { left: 51%; top: 17%; width: min(310px, calc(100vw - 24px)); padding: 48px 16px 16px; }
.calculator-window h2 { margin: 0 0 12px; font-size: 17px; }
.calculator-display { display: block; min-height: 68px; overflow: hidden; padding: 12px 8px; border-radius: 9px; background: rgb(15 27 42 / 76%); color: #fff; font-size: 38px; font-variant-numeric: tabular-nums; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.calculator-keys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
.calculator-keys button { min-height: 46px; border: 1px solid rgb(100 110 130 / 25%); border-radius: 8px; background: rgb(255 255 255 / 58%); color: var(--ink); cursor: pointer; font-size: 20px; }
.calculator-keys button:hover { background: rgb(255 255 255 / 88%); }
.calculator-keys button:nth-child(4n), .calculator-keys button[data-calc-key="="] { background: #edaa5d; color: #202631; }
.calculator-keys button[data-calc-key="="] { background: #f5bf78; }
.calculator-zero { grid-column: span 2; }
.calculator-hint { margin: 11px 0 0; color: var(--muted); font-size: 11px; text-align: center; }

.settings-window { left: 46%; top: 13%; width: min(540px, calc(100vw - 24px)); max-height: min(78vh, 680px); overflow: auto; padding: 50px 24px 24px; }
.settings-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.settings-heading img { width: 46px; height: 46px; }
.settings-heading h2 { margin: 0; font-size: 20px; }
.settings-heading p, .settings-note, .settings-overview p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.settings-section { padding: 14px 0; border-top: 1px solid rgb(100 110 130 / 18%); }
.settings-section h3 { margin: 0 0 10px; font-size: 14px; }
.settings-options, .settings-wallpapers { display: flex; flex-wrap: wrap; gap: 8px; }
.settings-options button, .settings-wallpapers button { border: 1px solid rgb(100 110 130 / 24%); border-radius: 9px; background: rgb(255 255 255 / 52%); color: var(--ink); cursor: pointer; font: inherit; }
.settings-options button { padding: 8px 12px; font-size: 13px; }
.settings-options button[aria-pressed="true"], .settings-wallpapers button[aria-pressed="true"] { border-color: #3f8bd8; box-shadow: 0 0 0 2px rgb(63 139 216 / 20%); }
.settings-wallpapers button { display: grid; gap: 5px; min-width: 90px; padding: 5px; font-size: 12px; text-align: center; }
.wallpaper-swatch { display: block; width: 78px; height: 48px; border-radius: 5px; }
.system-swatch { background: linear-gradient(135deg, #245ba2, #b7d4eb 55%, #eabf90); }
.dawn-swatch { background: linear-gradient(135deg, #7b8bc6, #e9b8bd 55%, #ffd9aa); }
.night-swatch { background: linear-gradient(135deg, #111c45, #2d4875 58%, #4d67a3); }
.settings-overview .secondary-action { margin-top: 8px; }
.settings-note { margin-top: 12px; }
body.dark-desktop .settings-window h2, body.dark-desktop .settings-window h3, body.dark-desktop .calculator-window h2 { color: #fff; }
body.dark-desktop .settings-heading p, body.dark-desktop .settings-note, body.dark-desktop .settings-overview p, body.dark-desktop .calculator-hint { color: rgb(255 255 255 / 74%); }
body.dark-desktop .settings-options button, body.dark-desktop .settings-wallpapers button, body.dark-desktop .calculator-keys button:not([data-calc-key="="]):not(:nth-child(4n)) { background: rgb(255 255 255 / 12%); color: #fff; }
@media (max-width: 780px) { .settings-window, .calculator-window { left: 50%; top: 50%; transform: translate(-50%, -50%); max-height: min(85vh, 700px); } }

.lock-screen { position: fixed; inset: 0; z-index: 6000; display: grid; place-items: center; background: rgb(8 19 38 / 50%); color: #fff; text-align: center; backdrop-filter: blur(22px) saturate(1.3); }
.lock-screen-content { display: grid; justify-items: center; gap: 10px; padding: 24px; text-shadow: 0 2px 16px rgb(0 0 0 / 32%); }
.lock-screen-mark { display: grid; width: 68px; height: 68px; place-items: center; border: 1px solid rgb(255 255 255 / 42%); border-radius: 20px; background: rgb(255 255 255 / 18%); font-size: 34px; font-weight: 800; }
.lock-screen time { margin-top: 12px; font-size: clamp(64px, 12vw, 112px); font-weight: 300; letter-spacing: -0.05em; line-height: 1; }
.lock-screen p { margin: 0; font-size: 18px; }
.lock-screen strong { margin: 22px 0 3px; font-size: 16px; }
.lock-screen button { min-width: 150px; border: 1px solid rgb(255 255 255 / 65%); border-radius: 12px; padding: 11px 20px; background: rgb(255 255 255 / 22%); color: #fff; cursor: pointer; font-weight: 700; backdrop-filter: blur(10px); }
.lock-screen button:hover { background: rgb(255 255 255 / 32%); }
.lock-screen button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.lock-screen small { color: rgb(255 255 255 / 78%); font-size: 12px; }

.activity-window { left: 45%; top: 20%; width: min(490px, calc(100vw - 32px)); max-height: min(75vh, 640px); overflow: auto; padding: 48px 22px 20px; }
.paint-window { left: 30%; top: 10%; width: min(660px, calc(100vw - 32px)); max-height: min(84vh, 760px); overflow: auto; padding: 48px 18px 16px; }
.system-tool-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.system-tool-heading img { width: 44px; height: 44px; }
.system-tool-heading h2 { margin: 0; font-size: 19px; }
.system-tool-heading p, .system-tool-note { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.system-tool-note { margin-top: 12px; }
.activity-summary { display: flex; align-items: baseline; gap: 6px; padding: 10px 0; border-top: 1px solid rgb(100 110 130 / 18%); border-bottom: 1px solid rgb(100 110 130 / 18%); font-size: 13px; }
.activity-summary strong { font-size: 22px; }
.activity-summary button { margin-left: auto; border: 0; background: none; color: #267be8; cursor: pointer; }
.activity-list { display: grid; gap: 7px; max-height: 310px; overflow: auto; padding: 10px 0; }
.activity-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid rgb(100 110 130 / 18%); border-radius: 9px; background: rgb(255 255 255 / 32%); }
.activity-row strong, .activity-row small { display: block; }
.activity-row strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.activity-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.activity-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.activity-actions button { border: 1px solid rgb(100 110 130 / 24%); border-radius: 6px; padding: 5px 7px; background: rgb(255 255 255 / 54%); color: var(--ink); cursor: pointer; font-size: 11px; }
.activity-actions button:last-child { color: #a32727; }
.activity-empty { margin: 12px 0; color: var(--muted); font-size: 13px; text-align: center; }

.paint-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 12px; }
.paint-toolbar button, .paint-toolbar label { display: inline-flex; align-items: center; gap: 5px; min-height: 33px; border: 1px solid rgb(100 110 130 / 24%); border-radius: 7px; padding: 4px 8px; background: rgb(255 255 255 / 54%); color: var(--ink); font-size: 12px; }
.paint-toolbar button { cursor: pointer; }
.paint-toolbar button[aria-pressed="true"] { border-color: #3f8bd8; background: rgb(63 139 216 / 16%); }
.paint-toolbar button:disabled { opacity: .45; cursor: not-allowed; }
.paint-toolbar input[type="color"] { width: 28px; height: 23px; border: 0; padding: 0; background: none; }
.paint-toolbar input[type="range"] { width: 75px; accent-color: #267be8; }
.paint-window canvas { display: block; width: 100%; aspect-ratio: 8 / 5; border: 1px solid rgb(100 110 130 / 25%); border-radius: 5px; background: #fff; cursor: crosshair; touch-action: none; }
body.dark-desktop .system-tool-heading h2, body.dark-desktop .activity-summary, body.dark-desktop .activity-row strong { color: #fff; }
body.dark-desktop .system-tool-heading p, body.dark-desktop .system-tool-note, body.dark-desktop .activity-row small, body.dark-desktop .activity-empty { color: rgb(255 255 255 / 72%); }
body.dark-desktop .activity-row, body.dark-desktop .activity-actions button, body.dark-desktop .paint-toolbar button, body.dark-desktop .paint-toolbar label { background: rgb(255 255 255 / 11%); color: #fff; }
@media (max-width: 780px) { .activity-window, .paint-window { left: 50%; top: 50%; transform: translate(-50%, -50%); max-height: min(85vh, 740px); } .activity-row { grid-template-columns: 1fr; } .activity-actions { justify-content: flex-start; } }
