/* ═══════════════════════════════════════════════════════════════════
   macOS Apps Styles
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Finder ─────────────────────────────────────────────────────── */
.finder {
  display: flex;
  width: 100%;
  height: 100%;
}

.finder-sidebar {
  width: 200px;
  background: rgba(40,40,40,0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 0.5px solid rgba(255,255,255,0.08);
  padding: 8px 0;
  overflow-y: auto;
  flex-shrink: 0;
}

.finder-sidebar-section {
  padding: 4px 12px;
  margin-top: 8px;
}

.finder-sidebar-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 8px;
}

.finder-sidebar-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 13px;
  transition: background 0.1s;
}

.finder-sidebar-item:hover {
  background: rgba(255,255,255,0.06);
}

.finder-sidebar-item.active {
  background: var(--accent);
  color: white;
}

.finder-sidebar-item .icon {
  font-size: 15px;
  width: 20px;
  text-align: center;
}

.finder-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.finder-toolbar {
  height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  background: rgba(50,50,50,0.4);
  flex-shrink: 0;
}

.finder-toolbar-btn {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.1s;
  color: var(--text-secondary);
  font-size: 14px;
}

.finder-toolbar-btn:hover {
  background: rgba(255,255,255,0.08);
  color: var(--text-primary);
}

.finder-toolbar-btn.disabled {
  opacity: 0.3;
  pointer-events: none;
}

.finder-path {
  flex: 1;
  font-size: 12px;
  color: var(--text-secondary);
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finder-view-toggle {
  display: flex;
  gap: 1px;
  background: rgba(255,255,255,0.06);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.finder-view-btn {
  width: 28px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 11px;
  transition: background 0.1s;
  color: var(--text-secondary);
}

.finder-view-btn.active {
  background: rgba(255,255,255,0.12);
  color: var(--text-primary);
}

.finder-view-btn:hover {
  background: rgba(255,255,255,0.08);
}

.finder-files {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.finder-files.grid-view {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 4px;
}

.finder-file {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background 0.1s;
}

.finder-file:hover {
  background: rgba(255,255,255,0.06);
}

.finder-file.selected {
  background: rgba(0,122,255,0.2);
}

.finder-file-icon {
  font-size: 40px;
  line-height: 1;
}

.finder-file-name {
  font-size: 11px;
  text-align: center;
  word-break: break-word;
  line-height: 1.3;
  max-width: 80px;
}

/* List view */
.finder-files.list-view {
  display: flex;
  flex-direction: column;
}

.finder-file.list-item {
  flex-direction: row;
  padding: 4px 8px;
  border-radius: var(--radius-sm);
}

.finder-file.list-item .finder-file-icon {
  font-size: 18px;
}

.finder-file.list-item .finder-file-name {
  flex: 1;
  text-align: left;
  max-width: none;
  font-size: 13px;
}

.finder-file.list-item .finder-file-date {
  font-size: 11px;
  color: var(--text-tertiary);
  width: 120px;
  text-align: right;
}

.finder-file.list-item .finder-file-size {
  font-size: 11px;
  color: var(--text-tertiary);
  width: 80px;
  text-align: right;
}

.finder-statusbar {
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: var(--text-tertiary);
  border-top: 0.5px solid rgba(255,255,255,0.06);
  background: rgba(40,40,40,0.3);
  flex-shrink: 0;
}

/* ─── Safari ─────────────────────────────────────────────────────── */
.safari {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.safari-toolbar {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  background: rgba(45,45,45,0.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}

.safari-nav-btn {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-secondary);
  font-size: 16px;
  transition: background 0.1s;
}

.safari-nav-btn:hover {
  background: rgba(255,255,255,0.08);
}

.safari-nav-btn.disabled {
  opacity: 0.3;
  pointer-events: none;
}

.safari-url-bar {
  flex: 1;
  height: 30px;
  background: rgba(255,255,255,0.08);
  border: 0.5px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: text;
  transition: all 0.2s;
}

.safari-url-bar:focus-within {
  background: rgba(255,255,255,0.12);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(0,122,255,0.2);
}

.safari-url-bar .lock-icon {
  font-size: 11px;
  color: var(--text-tertiary);
}

.safari-url-bar input {
  flex: 1;
  background: transparent;
  border: none;
  font-size: 13px;
  color: var(--text-primary);
}

.safari-url-bar input::placeholder {
  color: var(--text-tertiary);
}

.safari-toolbar-right {
  display: flex;
  gap: 4px;
}

.safari-content {
  flex: 1;
  background: #1a1a1a;
  position: relative;
  overflow: hidden;
}

.safari-content iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.safari-start-page {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 40px;
}

.safari-start-page h2 {
  font-size: 24px;
  font-weight: 300;
  color: var(--text-secondary);
}

.safari-favorites {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 400px;
}

.safari-favorite {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 12px;
  border-radius: var(--radius-md);
  transition: background 0.15s;
}

.safari-favorite:hover {
  background: rgba(255,255,255,0.06);
}

.safari-favorite-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  background: rgba(255,255,255,0.08);
}

.safari-favorite-label {
  font-size: 11px;
  color: var(--text-secondary);
  text-align: center;
}

/* ─── Notes ──────────────────────────────────────────────────────── */
.notes {
  display: flex;
  width: 100%;
  height: 100%;
}

.notes-sidebar {
  width: 220px;
  background: rgba(40,40,40,0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 0.5px solid rgba(255,255,255,0.08);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.notes-sidebar-header {
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.notes-sidebar-title {
  font-size: 14px;
  font-weight: 700;
}

.notes-new-btn {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--accent);
  font-size: 16px;
  transition: background 0.1s;
}

.notes-new-btn:hover {
  background: rgba(255,255,255,0.08);
}

.notes-search {
  padding: 0 12px 8px;
}

.notes-search input {
  width: 100%;
  height: 28px;
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 0 8px;
  font-size: 12px;
}

.notes-list {
  flex: 1;
  overflow-y: auto;
  padding: 0 8px;
}

.notes-list-item {
  padding: 10px 8px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.1s;
  border-bottom: 0.5px solid rgba(255,255,255,0.04);
}

.notes-list-item:hover {
  background: rgba(255,255,255,0.06);
}

.notes-list-item.active {
  background: var(--accent);
  color: white;
}

.notes-list-item-title {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notes-list-item-preview {
  font-size: 11px;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notes-list-item.active .notes-list-item-preview {
  color: rgba(255,255,255,0.7);
}

.notes-list-item-date {
  font-size: 10px;
  color: var(--text-tertiary);
  margin-top: 2px;
}

.notes-list-item.active .notes-list-item-date {
  color: rgba(255,255,255,0.5);
}

.notes-editor {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: rgba(30,30,30,0.5);
}

.notes-editor-toolbar {
  height: 36px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 12px;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
}

.notes-toolbar-btn {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 13px;
  color: var(--text-secondary);
  transition: background 0.1s;
}

.notes-toolbar-btn:hover {
  background: rgba(255,255,255,0.08);
}

.notes-editor-content {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
}

.notes-editor-content textarea {
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  resize: none;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-primary);
}

.notes-editor-content textarea::placeholder {
  color: var(--text-tertiary);
}

/* ─── Calculator ─────────────────────────────────────────────────── */
.calculator {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: rgba(30,30,30,0.95);
}

.calc-display {
  padding: 20px 24px 12px;
  text-align: right;
  flex-shrink: 0;
}

.calc-expression {
  font-size: 14px;
  color: var(--text-tertiary);
  min-height: 20px;
  margin-bottom: 4px;
}

.calc-result {
  font-size: 48px;
  font-weight: 200;
  font-family: var(--font-system);
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.calc-buttons {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  padding: 1px;
  background: rgba(255,255,255,0.03);
}

.calc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 400;
  cursor: pointer;
  transition: background 0.1s;
  background: rgba(50,50,50,0.8);
  min-height: 54px;
  border: none;
  color: var(--text-primary);
  outline: none;
}

.calc-btn:hover {
  background: rgba(70,70,70,0.8);
}

.calc-btn:active {
  background: rgba(90,90,90,0.8);
}

.calc-btn.fn {
  background: rgba(65,65,65,0.8);
  color: var(--text-primary);
  font-size: 16px;
}

.calc-btn.op {
  background: var(--accent);
  color: white;
  font-size: 24px;
}

.calc-btn.op:hover {
  background: var(--accent-hover);
}

.calc-btn.op.active {
  background: white;
  color: var(--accent);
}

.calc-btn.zero {
  grid-column: span 2;
  justify-content: flex-start;
  padding-left: 24px;
}

/* ─── Calendar ───────────────────────────────────────────────────── */
.calendar-app {
  display: flex;
  width: 100%;
  height: 100%;
}

.calendar-sidebar {
  width: 200px;
  background: rgba(40,40,40,0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 0.5px solid rgba(255,255,255,0.08);
  padding: 12px;
  flex-shrink: 0;
}

.calendar-mini {
  width: 100%;
}

.calendar-mini-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
}

.calendar-mini-nav {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 12px;
  transition: background 0.1s;
}

.calendar-mini-nav:hover {
  background: rgba(255,255,255,0.08);
}

.calendar-mini-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
  text-align: center;
}

.calendar-mini-day-header {
  font-size: 10px;
  color: var(--text-tertiary);
  padding: 4px 0;
  font-weight: 600;
}

.calendar-mini-day {
  font-size: 11px;
  padding: 4px 0;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.1s;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.calendar-mini-day:hover {
  background: rgba(255,255,255,0.08);
}

.calendar-mini-day.today {
  background: var(--accent);
  color: white;
  font-weight: 600;
}

.calendar-mini-day.other-month {
  opacity: 0.3;
}

.calendar-mini-day.selected {
  background: rgba(0,122,255,0.3);
}

.calendar-main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.calendar-header {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
}

.calendar-header h2 {
  font-size: 20px;
  font-weight: 600;
}

.calendar-views {
  display: flex;
  gap: 2px;
  background: rgba(255,255,255,0.06);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.calendar-view-btn {
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.1s;
  border-radius: var(--radius-sm);
}

.calendar-view-btn.active {
  background: rgba(255,255,255,0.12);
}

.calendar-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 24px repeat(6, 1fr);
  gap: 0.5px;
  padding: 8px;
}

.calendar-day-header {
  font-size: 11px;
  color: var(--text-tertiary);
  text-align: center;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.calendar-day {
  border: 0.5px solid rgba(255,255,255,0.04);
  padding: 4px 6px;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.1s;
  border-radius: var(--radius-sm);
  min-height: 60px;
}

.calendar-day:hover {
  background: rgba(255,255,255,0.04);
}

.calendar-day.today .calendar-day-num {
  background: var(--accent);
  color: white;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.calendar-day.other-month {
  opacity: 0.3;
}

.calendar-day-num {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 2px;
}

.calendar-event {
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-bottom: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ─── System Settings ────────────────────────────────────────────── */
.settings {
  display: flex;
  width: 100%;
  height: 100%;
}

.settings-sidebar {
  width: 240px;
  background: rgba(40,40,40,0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 0.5px solid rgba(255,255,255,0.08);
  overflow-y: auto;
  padding: 8px;
  flex-shrink: 0;
}

.settings-search {
  padding: 4px 4px 8px;
}

.settings-search input {
  width: 100%;
  height: 28px;
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 0 8px;
  font-size: 12px;
}

.settings-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.1s;
  font-size: 13px;
}

.settings-item:hover {
  background: rgba(255,255,255,0.06);
}

.settings-item.active {
  background: var(--accent);
  color: white;
}

.settings-item-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.settings-content {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
}

.settings-content h2 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
}

.settings-group {
  background: rgba(255,255,255,0.04);
  border-radius: var(--radius-md);
  padding: 4px;
  margin-bottom: 16px;
}

.settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  min-height: 44px;
}

.settings-row:not(:last-child) {
  border-bottom: 0.5px solid rgba(255,255,255,0.04);
}

.settings-row-label {
  font-size: 13px;
}

.settings-row-value {
  font-size: 13px;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Toggle Switch */
.toggle {
  width: 38px;
  height: 22px;
  border-radius: 11px;
  background: rgba(255,255,255,0.15);
  cursor: pointer;
  position: relative;
  transition: background 0.2s;
}

.toggle.on {
  background: var(--green);
}

.toggle::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: white;
  transition: transform 0.2s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.toggle.on::after {
  transform: translateX(16px);
}

/* ─── Terminal ───────────────────────────────────────────────────── */
.terminal {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.85);
  font-family: var(--font-mono);
}

.terminal-titlebar {
  height: 32px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  background: rgba(40,40,40,0.9);
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}

.terminal-title {
  flex: 1;
  text-align: center;
  font-size: 12px;
  color: var(--text-secondary);
}

.terminal-body {
  flex: 1;
  padding: 8px 12px;
  overflow-y: auto;
  font-size: 13px;
  line-height: 1.5;
}

.terminal-line {
  white-space: pre-wrap;
  word-break: break-all;
}

.terminal-line .prompt {
  color: var(--green);
}

.terminal-line .path {
  color: var(--teal);
}

.terminal-line .command {
  color: var(--text-primary);
}

.terminal-line .output {
  color: var(--text-secondary);
}

.terminal-line .error {
  color: var(--red);
}

.terminal-input-line {
  display: flex;
  align-items: center;
  gap: 0;
}

.terminal-input-line .prompt {
  color: var(--green);
  white-space: pre;
}

.terminal-input-line .path {
  color: var(--teal);
  white-space: pre;
}

.terminal-input {
  flex: 1;
  background: transparent;
  border: none;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  caret-color: var(--green);
}

/* ─── Photos ─────────────────────────────────────────────────────── */
.photos {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.photos-toolbar {
  height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  background: rgba(40,40,40,0.4);
  flex-shrink: 0;
}

.photos-toolbar-title {
  font-size: 14px;
  font-weight: 600;
}

.photos-toolbar-spacer {
  flex: 1;
}

.photos-toolbar-btn {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-secondary);
  transition: background 0.1s;
}

.photos-toolbar-btn:hover {
  background: rgba(255,255,255,0.08);
}

.photos-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 2px;
  padding: 2px;
  overflow-y: auto;
}

.photos-item {
  aspect-ratio: 1;
  border-radius: 2px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.15s;
  position: relative;
}

.photos-item:hover {
  transform: scale(1.02);
  z-index: 1;
}

.photos-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photos-item-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
}

/* ─── Music ──────────────────────────────────────────────────────── */
.music {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: rgba(20,20,20,0.95);
}

.music-sidebar {
  width: 200px;
  background: rgba(30,30,30,0.8);
  border-right: 0.5px solid rgba(255,255,255,0.06);
  padding: 8px;
  overflow-y: auto;
  flex-shrink: 0;
}

.music-sidebar-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 13px;
  transition: background 0.1s;
}

.music-sidebar-item:hover {
  background: rgba(255,255,255,0.06);
}

.music-sidebar-item.active {
  background: rgba(255,255,255,0.08);
}

.music-sidebar-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 8px 4px;
}

.music-main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.music-content {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

.music-header {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
}

.music-album-art {
  width: 180px;
  height: 180px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}

.music-album-art-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  background: linear-gradient(135deg, #1a1a2e, #16213e);
}

.music-header-info {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.music-header-title {
  font-size: 28px;
  font-weight: 700;
}

.music-header-artist {
  font-size: 16px;
  color: var(--text-secondary);
  margin-top: 4px;
}

.music-header-meta {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 8px;
}

.music-tracklist {
  display: flex;
  flex-direction: column;
}

.music-track {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.1s;
}

.music-track:hover {
  background: rgba(255,255,255,0.04);
}

.music-track.playing {
  color: var(--accent);
}

.music-track-num {
  width: 24px;
  font-size: 13px;
  color: var(--text-tertiary);
  text-align: center;
}

.music-track-title {
  flex: 1;
  font-size: 14px;
}

.music-track-duration {
  font-size: 12px;
  color: var(--text-tertiary);
}

.music-player {
  height: 72px;
  background: rgba(30,30,30,0.9);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border-top: 0.5px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  padding: 0 16px;
  gap: 16px;
  flex-shrink: 0;
}

.music-player-info {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 200px;
  flex-shrink: 0;
}

.music-player-art {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  overflow: hidden;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1a1a2e, #16213e);
}

.music-player-text {
  min-width: 0;
}

.music-player-title {
  font-size: 13px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.music-player-artist {
  font-size: 11px;
  color: var(--text-secondary);
}

.music-player-controls {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.music-player-buttons {
  display: flex;
  align-items: center;
  gap: 16px;
}

.music-player-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-primary);
  transition: all 0.1s;
}

.music-player-btn.play {
  width: 36px;
  height: 36px;
  background: white;
  color: black;
  font-size: 16px;
}

.music-player-btn.play:hover {
  transform: scale(1.05);
}

.music-player-progress {
  width: 100%;
  max-width: 400px;
  height: 4px;
  background: rgba(255,255,255,0.15);
  border-radius: 2px;
  overflow: hidden;
  cursor: pointer;
}

.music-player-progress-bar {
  height: 100%;
  background: var(--text-primary);
  border-radius: 2px;
  width: 35%;
  transition: width 0.1s;
}

.music-player-volume {
  width: 100px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.music-player-volume input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 4px;
  background: rgba(255,255,255,0.2);
  border-radius: 2px;
  outline: none;
}

.music-player-volume input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: white;
  cursor: pointer;
}

/* ─── Messages ───────────────────────────────────────────────────── */
.messages {
  display: flex;
  width: 100%;
  height: 100%;
}

.messages-sidebar {
  width: 240px;
  background: rgba(40,40,40,0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-right: 0.5px solid rgba(255,255,255,0.08);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.messages-sidebar-header {
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.messages-sidebar-title {
  font-size: 14px;
  font-weight: 700;
}

.messages-new-btn {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--accent);
  font-size: 16px;
  transition: background 0.1s;
}

.messages-new-btn:hover {
  background: rgba(255,255,255,0.08);
}

.messages-search {
  padding: 0 12px 8px;
}

.messages-search input {
  width: 100%;
  height: 28px;
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 0 8px;
  font-size: 12px;
}

.messages-list {
  flex: 1;
  overflow-y: auto;
  padding: 0 8px;
}

.messages-contact {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.1s;
}

.messages-contact:hover {
  background: rgba(255,255,255,0.06);
}

.messages-contact.active {
  background: rgba(0,122,255,0.2);
}

.messages-contact-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.messages-contact-info {
  flex: 1;
  min-width: 0;
}

.messages-contact-name {
  font-size: 13px;
  font-weight: 600;
}

.messages-contact-preview {
  font-size: 11px;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messages-contact-time {
  font-size: 10px;
  color: var(--text-tertiary);
  flex-shrink: 0;
}

.messages-chat {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.messages-chat-header {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}

.messages-chat-body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.message-bubble {
  max-width: 65%;
  padding: 8px 12px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.4;
  animation: msg-appear 0.2s var(--ease-spring);
}

@keyframes msg-appear {
  from { opacity: 0; transform: translateY(8px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.message-bubble.sent {
  background: var(--accent);
  color: white;
  align-self: flex-end;
  border-bottom-right-radius: 4px;
}

.message-bubble.received {
  background: rgba(255,255,255,0.1);
  align-self: flex-start;
  border-bottom-left-radius: 4px;
}

.message-time {
  font-size: 10px;
  color: var(--text-tertiary);
  text-align: center;
  margin: 4px 0;
}

.messages-chat-input {
  padding: 8px 12px;
  border-top: 0.5px solid rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  gap: 8px;
}

.messages-input {
  flex: 1;
  height: 32px;
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 0 14px;
  font-size: 13px;
}

.messages-input:focus {
  border-color: var(--accent);
  background: rgba(255,255,255,0.08);
}

.messages-send-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: white;
  transition: all 0.15s;
}

.messages-send-btn:hover {
  background: var(--accent-hover);
  transform: scale(1.05);
}

/* ─── App Store ──────────────────────────────────────────────────── */
.appstore {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.appstore-toolbar {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}

.appstore-search {
  flex: 1;
  height: 28px;
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 0 10px;
  font-size: 12px;
}

.appstore-content {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

.appstore-section {
  margin-bottom: 24px;
}

.appstore-section-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}

.appstore-featured {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.appstore-card {
  background: rgba(255,255,255,0.04);
  border-radius: var(--radius-lg);
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.15s;
}

.appstore-card:hover {
  transform: scale(1.02);
}

.appstore-card-img {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
}

.appstore-card-info {
  padding: 10px 12px;
}

.appstore-card-title {
  font-size: 14px;
  font-weight: 600;
}

.appstore-card-desc {
  font-size: 11px;
  color: var(--text-secondary);
  margin-top: 2px;
}

.appstore-apps-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.appstore-app-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background 0.1s;
}

.appstore-app-row:hover {
  background: rgba(255,255,255,0.04);
}

.appstore-app-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}

.appstore-app-info {
  flex: 1;
  min-width: 0;
}

.appstore-app-name {
  font-size: 14px;
  font-weight: 500;
}

.appstore-app-cat {
  font-size: 11px;
  color: var(--text-secondary);
}

.appstore-app-get {
  padding: 5px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,0.1);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.1s;
  border: none;
  color: var(--accent);
}

.appstore-app-get:hover {
  background: rgba(255,255,255,0.15);
}

/* ─── Maps ───────────────────────────────────────────────────────── */
.maps {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.maps-search-bar {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  background: rgba(40,40,40,0.6);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}

.maps-search-input {
  flex: 1;
  height: 28px;
  background: rgba(255,255,255,0.06);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 0 10px;
  font-size: 12px;
}

.maps-content {
  flex: 1;
  background: #1a2332;
  position: relative;
  overflow: hidden;
}

.maps-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--text-tertiary);
  font-size: 14px;
}

.maps-placeholder .icon {
  font-size: 48px;
  opacity: 0.5;
}

/* ─── Weather ────────────────────────────────────────────────────── */
.weather-app {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #1a3a5c 0%, #2d5a87 50%, #4a8ab5 100%);
}

.weather-header {
  padding: 16px;
  text-align: center;
}

.weather-city {
  font-size: 28px;
  font-weight: 300;
}

.weather-temp {
  font-size: 72px;
  font-weight: 100;
  line-height: 1;
  margin: 8px 0;
}

.weather-desc {
  font-size: 18px;
  color: rgba(255,255,255,0.8);
}

.weather-hl {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  margin-top: 4px;
}

.weather-hourly {
  display: flex;
  gap: 0;
  overflow-x: auto;
  padding: 12px 16px;
  border-top: 0.5px solid rgba(255,255,255,0.1);
  border-bottom: 0.5px solid rgba(255,255,255,0.1);
  scrollbar-width: none;
}

.weather-hourly::-webkit-scrollbar { display: none; }

.weather-hour {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  flex-shrink: 0;
}

.weather-hour-time {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
}

.weather-hour-icon {
  font-size: 20px;
}

.weather-hour-temp {
  font-size: 16px;
  font-weight: 500;
}

.weather-daily {
  flex: 1;
  overflow-y: auto;
  padding: 8px 16px;
}

.weather-day {
  display: flex;
  align-items: center;
  padding: 10px 0;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
}

.weather-day-name {
  width: 80px;
  font-size: 14px;
}

.weather-day-icon {
  width: 30px;
  font-size: 18px;
  text-align: center;
}

.weather-day-bar {
  flex: 1;
  height: 4px;
  background: rgba(255,255,255,0.15);
  border-radius: 2px;
  margin: 0 12px;
  position: relative;
  overflow: hidden;
}

.weather-day-bar-fill {
  position: absolute;
  height: 100%;
  background: linear-gradient(90deg, #5ac8fa, #ff9500);
  border-radius: 2px;
}

.weather-day-low, .weather-day-high {
  width: 30px;
  font-size: 14px;
  text-align: right;
}

.weather-day-low {
  color: rgba(255,255,255,0.5);
}

/* ─── Added by Antigravity for enhancements ─── */
.device-glow-light {
  animation: glow-pulse-yellow 2s infinite ease-in-out;
}
.device-glow-ac {
  animation: glow-pulse-blue 2s infinite ease-in-out;
}
.device-glow-lock {
  animation: glow-pulse-green 2s infinite ease-in-out;
}
.device-glow-camera {
  animation: glow-pulse-red 2s infinite ease-in-out;
}

@keyframes glow-pulse-yellow {
  0%, 100% { box-shadow: 0 4px 12px rgba(251, 191, 36, 0.15); }
  50% { box-shadow: 0 8px 28px rgba(251, 191, 36, 0.35); }
}
@keyframes glow-pulse-blue {
  0%, 100% { box-shadow: 0 4px 12px rgba(56, 189, 248, 0.15); }
  50% { box-shadow: 0 8px 28px rgba(56, 189, 248, 0.35); }
}
@keyframes glow-pulse-green {
  0%, 100% { box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15); }
  50% { box-shadow: 0 8px 28px rgba(16, 185, 129, 0.35); }
}
@keyframes glow-pulse-red {
  0%, 100% { box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15); }
  50% { box-shadow: 0 8px 28px rgba(239, 68, 68, 0.35); }
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* FaceTime styling adjustments */
.facetime-video {
  position: relative;
  overflow: hidden;
}

/* QuickTime Player adjustments */
.quicktime-screen {
  position: relative;
  overflow: hidden;
}
.quicktime-player-media {
  background: black;
}

@keyframes draw-line {
  to {
    stroke-dashoffset: 0;
  }
}

/* Clock stopwatch & timezone updates */
.clock-app-modern {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #1e1e1e;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.clock-header-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.05);
  padding: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.clock-tab-btn {
  background: transparent;
  border: none;
  color: #aaa;
  padding: 6px 16px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s;
}
.clock-tab-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.clock-tab-btn.active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.clock-tab-content {
  flex: 1;
  overflow: hidden;
  display: none;
}
.clock-tab-content.active {
  display: flex;
}

/* World Clock styles */
.world-clock-pane {
  flex-direction: column;
  padding: 16px;
  height: 100%;
  overflow-y: auto;
  box-sizing: border-box;
}
.world-clock-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.world-clock-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.world-clock-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 14px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: all 0.2s;
}
.world-clock-card:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.09);
}
.world-clock-card .city-name {
  font-size: 16px;
  font-weight: 600;
}
.world-clock-card .time-offset {
  font-size: 11px;
  color: #888;
}
.world-clock-card .time-display {
  font-size: 24px;
  font-weight: 700;
  font-family: monospace;
  margin-top: 8px;
}
.world-clock-card .date-display {
  font-size: 12px;
  color: #bbb;
}
.world-clock-card .delete-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(255, 59, 48, 0.15);
  color: #ff453a;
  border: none;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
}
.world-clock-card:hover .delete-btn {
  opacity: 1;
}

/* Stopwatch styles */
.stopwatch-pane {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  height: 100%;
  box-sizing: border-box;
}
.stopwatch-time {
  font-size: 54px;
  font-weight: 300;
  font-family: monospace;
  margin-bottom: 24px;
  color: #fff;
  letter-spacing: 1px;
}
.stopwatch-controls {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
}
.stopwatch-btn {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.stopwatch-btn.start {
  background: rgba(48, 209, 88, 0.15);
  color: #30d158;
}
.stopwatch-btn.start:hover {
  background: rgba(48, 209, 88, 0.25);
}
.stopwatch-btn.stop {
  background: rgba(255, 69, 58, 0.15);
  color: #ff453a;
}
.stopwatch-btn.stop:hover {
  background: rgba(255, 69, 58, 0.25);
}
.stopwatch-btn.lap {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.stopwatch-btn.lap:hover {
  background: rgba(255, 255, 255, 0.15);
}
.stopwatch-laps-list {
  width: 100%;
  max-width: 320px;
  max-height: 180px;
  overflow-y: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.stopwatch-lap-item {
  display: flex;
  justify-content: space-between;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 13px;
}
.stopwatch-lap-item span {
  font-family: monospace;
}

/* Weather double column layout */
.weather-app-split {
  display: flex;
  height: 100%;
  background: #111;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}
.weather-left-sidebar {
  width: 220px;
  background: rgba(255, 255, 255, 0.03);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.weather-sidebar-title {
  padding: 16px 16px 8px;
  font-size: 11px;
  color: #888;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.weather-city-btn {
  display: flex;
  flex-direction: column;
  padding: 12px 16px;
  background: transparent;
  border: none;
  color: #fff;
  text-align: left;
  cursor: pointer;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
  transition: background 0.2s;
}
.weather-city-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}
.weather-city-btn.active {
  background: rgba(10, 132, 255, 0.15);
  border-left: 3px solid #0a84ff;
}
.weather-city-btn .row1 {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  font-size: 14px;
}
.weather-city-btn .row2 {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #aaa;
  margin-top: 4px;
}
.weather-detail-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  box-sizing: border-box;
  transition: background 0.8s ease;
}

/* Weather gradients */
.w-grad-sunny { background: linear-gradient(135deg, #1d3557, #457b9d, #f1faee); }
.w-grad-rainy { background: linear-gradient(135deg, #2b2d42, #8d99ae, #4a4e69); }
.w-grad-snowy { background: linear-gradient(135deg, #3a506b, #5bc0be, #c0d6df); }
.w-grad-night { background: linear-gradient(135deg, #0b0c10, #1f2833, #3f4e4f); }

/* Stocks Indices Banner */
.stocks-indices-banner {
  display: flex;
  gap: 10px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  overflow-x: auto;
}
.stocks-indices-banner::-webkit-scrollbar { display: none; }
.index-mini-card {
  flex: 1;
  min-width: 140px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.index-mini-card.up { border-color: rgba(50, 215, 75, 0.2); }
.index-mini-card.down { border-color: rgba(255, 69, 58, 0.2); }
.index-mini-card .name { font-size: 11px; color: #888; font-weight: 500; }
.index-mini-card .val { font-size: 14px; font-weight: 700; font-family: monospace; }
.index-mini-card .chg { font-size: 10px; font-weight: 600; }

/* Stock Details and chart selectors */
.stock-chart-tabs {
  display: flex;
  gap: 6px;
  margin: 10px 0;
}
.stock-chart-tab-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #aaa;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.stock-chart-tab-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.stock-chart-tab-btn.active {
  background: #0a84ff;
  color: #fff;
  border-color: #0a84ff;
}

/* Stocks grid panel */
.stock-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 16px;
}
.stock-stat-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 8px 12px;
}
.stock-stat-box .lbl { font-size: 11px; color: #888; margin-bottom: 4px; }
.stock-stat-box .val { font-size: 14px; font-weight: 600; font-family: monospace; }

/* Flashing price feedback */
.flash-text-up {
  color: #32d74b !important;
  transition: color 0.1s;
}
.flash-text-down {
  color: #ff453a !important;
  transition: color 0.1s;
}

/* Activity Monitor Enhancements */
.am-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 18px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}
.am-kill-btn {
  background: #ff453a;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: background 0.2s;
}
.am-kill-btn:hover { background: #ff3b30; }
.am-kill-btn:disabled {
  background: rgba(255, 69, 58, 0.2);
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
}

/* Processes table */
.am-table-container {
  flex: 1;
  overflow-y: auto;
  border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}
.am-proc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  text-align: left;
}
.am-proc-table th {
  position: sticky;
  top: 0;
  background: #2a2a2a;
  padding: 8px 12px;
  font-weight: 600;
  color: #aaa;
  border-bottom: 1px solid rgba(128, 128, 128, 0.2);
  user-select: none;
}
.am-proc-table td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(128, 128, 128, 0.05);
  color: #eee;
  white-space: nowrap;
}
.am-proc-table tr {
  cursor: pointer;
}
.am-proc-table tr:hover {
  background: rgba(255, 255, 255, 0.04);
}
.am-proc-table tr.selected {
  background: #0a84ff !important;
}
.am-proc-table tr.selected td {
  color: white;
}

/* Settings Apple ID banner & search */
.settings-search-container {
  padding: 10px 14px 6px;
}
.settings-search-box {
  width: 100%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: white;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 12px;
  outline: none;
  box-sizing: border-box;
}
.settings-search-box:focus {
  border-color: #0a84ff;
  background: rgba(0, 0, 0, 0.2);
}
.settings-apple-id-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  cursor: pointer;
  transition: background 0.2s;
  text-align: left;
}
.settings-apple-id-banner:hover {
  background: rgba(255, 255, 255, 0.06);
}
.settings-apple-id-banner img,
.settings-apple-id-banner .avatar-fallback {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0a84ff, #bf5af2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  color: white;
}
.settings-apple-id-banner .info h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
}
.settings-apple-id-banner .info p {
  margin: 2px 0 0 0;
  font-size: 10px;
  color: #888;
}

/* ─── macOS Tahoe 视觉深度美化增强规则 ─── */

/* 1. 统一 macOS 精致滚动条样式 */
.sidebar::-webkit-scrollbar,
.settings-main::-webkit-scrollbar,
.world-clock-pane::-webkit-scrollbar,
.stopwatch-laps-list::-webkit-scrollbar,
.weather-left-sidebar::-webkit-scrollbar,
.weather-detail-main::-webkit-scrollbar,
.weather-hourly-real::-webkit-scrollbar,
.stocks-list::-webkit-scrollbar,
.stock-detail::-webkit-scrollbar,
.am-table-container::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.sidebar::-webkit-scrollbar-track,
.settings-main::-webkit-scrollbar-track,
.world-clock-pane::-webkit-scrollbar-track,
.stopwatch-laps-list::-webkit-scrollbar-track,
.weather-left-sidebar::-webkit-scrollbar-track,
.weather-detail-main::-webkit-scrollbar-track,
.weather-hourly-real::-webkit-scrollbar-track,
.stocks-list::-webkit-scrollbar-track,
.stock-detail::-webkit-scrollbar-track,
.am-table-container::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar::-webkit-scrollbar-thumb,
.settings-main::-webkit-scrollbar-thumb,
.world-clock-pane::-webkit-scrollbar-thumb,
.stopwatch-laps-list::-webkit-scrollbar-thumb,
.weather-left-sidebar::-webkit-scrollbar-thumb,
.weather-detail-main::-webkit-scrollbar-thumb,
.weather-hourly-real::-webkit-scrollbar-thumb,
.stocks-list::-webkit-scrollbar-thumb,
.stock-detail::-webkit-scrollbar-thumb,
.am-table-container::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}

.sidebar::-webkit-scrollbar-thumb:hover,
.settings-main::-webkit-scrollbar-thumb:hover,
.world-clock-pane::-webkit-scrollbar-thumb:hover,
.stopwatch-laps-list::-webkit-scrollbar-thumb:hover,
.weather-left-sidebar::-webkit-scrollbar-thumb:hover,
.weather-detail-main::-webkit-scrollbar-thumb:hover,
.weather-hourly-real::-webkit-scrollbar-thumb:hover,
.stocks-list::-webkit-scrollbar-thumb:hover,
.stock-detail::-webkit-scrollbar-thumb:hover,
.am-table-container::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* 2. 原生输入框/下拉菜单样式 (.field) */
input.field, select.field {
  background: rgba(255, 255, 255, 0.08);
  border: 0.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  color: #fff;
  padding: 4px 10px;
  font-size: 13px;
  outline: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}

input.field:focus, select.field:focus {
  background: rgba(0, 0, 0, 0.2);
  border-color: #0a84ff;
  box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.25);
}

select.field option {
  background: #1e1e1e;
  color: #fff;
}

/* 3. 通用按钮与主按钮样式 (.tool-button / .primary) */
.tool-button {
  background: rgba(255, 255, 255, 0.08);
  border: 0.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  color: #fff;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  outline: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  transition: background 0.15s, border-color 0.15s, transform 0.1s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.tool-button:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.2);
}

.tool-button:active {
  background: rgba(255, 255, 255, 0.05);
  transform: scale(0.97);
}

.tool-button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}

.tool-button.primary {
  background: #0a84ff;
  border-color: #0a84ff;
  color: #fff;
  font-weight: 600;
}

.tool-button.primary:hover {
  background: #0070e3;
  border-color: #0070e3;
}

.tool-button.primary:active {
  background: #005bb7;
}

/* 4. 天气新版双栏及气象细节卡片样式 */
.weather-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 24px 16px;
  background: rgba(0, 0, 0, 0.15);
  border-radius: 16px;
  margin: 16px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 0.5px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.weather-section-title {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  margin: 20px 16px 8px;
  letter-spacing: 0.5px;
}

.weather-hourly-real {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  margin: 0 16px;
  border: 0.5px solid rgba(255, 255, 255, 0.05);
}

.weather-hour-real {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 64px;
  flex-shrink: 0;
  font-size: 12px;
  text-align: center;
}

.weather-hour-real div:first-child {
  opacity: 0.6;
}

.weather-hour-real b {
  font-size: 14px;
}

.weather-hour-real span {
  font-size: 10px;
  opacity: 0.5;
}

.weather-daily-real {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  margin: 0 16px;
  border: 0.5px solid rgba(255, 255, 255, 0.05);
}

.weather-day-real {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.05);
  font-size: 13px;
}

.weather-day-real:last-child {
  border-bottom: none;
}

.weather-day-real span:nth-child(2) {
  flex: 1;
  text-align: center;
  opacity: 0.8;
}

.weather-day-real span:nth-child(3) {
  width: 100px;
  text-align: right;
  font-family: monospace;
}

.weather-day-real span:nth-child(4) {
  width: 60px;
  text-align: right;
  opacity: 0.6;
  font-size: 11px;
}

.weather-cards {
  display: grid;
  gap: 12px;
  padding: 0 16px 24px;
  margin: 0;
}

.weather-card {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border: 0.5px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.2s;
}

.weather-card:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.08);
}

/* 5. 股市折线图样式与补全 */
.stock-path {
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 2px 8px rgba(50, 215, 75, 0.3));
}

.stock-detail svg {
  background: rgba(0, 0, 0, 0.2) !important;
  border: 0.5px solid rgba(255, 255, 255, 0.06);
}

/* 6. 活动监视器进程表格美化 */
.am-proc-table tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.015);
}

.am-proc-table tr.selected {
  background: #0a84ff !important;
}

/* 7. 系统设置自定义下拉菜单 (.mac-select) 与头像选择器 (.avatar-choice) */
.mac-select {
  position: relative;
  display: inline-block;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  user-select: none;
}

.mac-select-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 0.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 12px;
  color: #fff;
  cursor: pointer;
  height: 24px;
  box-sizing: border-box;
  transition: background 0.15s, border-color 0.15s;
}

.mac-select-trigger:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
}

.mac-select-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mac-select-arrow {
  font-size: 9px;
  margin-left: 6px;
  opacity: 0.6;
}

.mac-select-options {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  width: 100%;
  max-height: 200px;
  overflow-y: auto;
  background: rgba(30, 30, 30, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 0.5px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  z-index: 1000;
  padding: 4px;
  box-sizing: border-box;
}

.mac-select-option {
  padding: 5px 8px;
  font-size: 12px;
  color: #ddd;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.1s, color 0.1s;
  text-align: left;
}

.mac-select-option:hover {
  background: #0a84ff;
  color: #fff;
}

.mac-select-option.selected {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-weight: 500;
}

.mac-select-option.selected:hover {
  background: #0a84ff;
}

.avatar-choice {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  transition: transform 0.15s, border-color 0.15s;
}

.avatar-choice:hover {
  transform: scale(1.1);
}

.avatar-choice.active {
  border-color: #0a84ff;
  box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.4);
}

/* ─── 第三阶段深度修复样式 ─── */

/* 1. 时钟、Safari、天气、股市等 flex 项拉伸填充，消除分屏/塌陷空白 */
.clock-app-modern,
.safari-real,
.weather-app-split,
.stocks-app {
  width: 100% !important;
  height: 100% !important;
  flex: 1 !important;
}

/* 2. 股市详情栏及列表细节 */
.stock-detail {
  overflow-y: auto !important;
  height: 100% !important;
}

/* 3. 系统设置侧栏与主面板精致化 */
.settings-sidebar-modern {
  width: 254px !important;
  background: rgba(35, 35, 35, 0.35) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
  display: flex !important;
  flex-direction: column !important;
}
.light-mode .settings-sidebar-modern {
  background: rgba(235, 235, 240, 0.35) !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.settings-main {
  flex: 1 !important;
  min-width: 0 !important;
  background: rgba(30, 30, 30, 0.2) !important;
  overflow-y: auto !important;
  padding: 28px 34px 40px !important;
}
.light-mode .settings-main {
  background: rgba(255, 255, 255, 0.45) !important;
}

/* 侧边栏按钮胶囊化与悬浮态 */
.settings-sidebar-modern .side-item {
  margin: 2px 8px !important;
  width: calc(100% - 16px) !important;
  box-sizing: border-box !important;
  border: none !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border-radius: 8px !important;
  transition: background-color 0.12s, color 0.12s !important;
  height: 32px !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 13px !important;
  cursor: pointer !important;
}
.settings-sidebar-modern .side-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
.settings-sidebar-modern .side-item.active {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}
.light-mode .settings-sidebar-modern .side-item {
  color: rgba(0, 0, 0, 0.75) !important;
}
.light-mode .settings-sidebar-modern .side-item:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}
.light-mode .settings-sidebar-modern .side-item.active {
  background: rgba(0, 0, 0, 0.08) !important;
  color: #000000 !important;
}

/* 侧边栏图标 */
.settings-side-icon {
  width: 20px !important;
  height: 20px !important;
  border-radius: 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  color: white !important;
  flex: 0 0 auto !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
}
.settings-side-icon svg {
  width: 12px !important;
  height: 12px !important;
  stroke: currentColor !important;
}

/* Apple ID Banner卡片悬浮设计 */
.settings-apple-id-banner {
  margin: 12px 10px 8px !important;
  padding: 12px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
}
.settings-apple-id-banner:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
.light-mode .settings-apple-id-banner {
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
}
.light-mode .settings-apple-id-banner:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}
.settings-apple-id-banner .info h3 {
  color: #fff !important;
}
.light-mode .settings-apple-id-banner .info h3 {
  color: #000 !important;
}

/* 搜索框图标与对齐 */
.settings-search-container {
  padding: 0 10px 8px !important;
}
.settings-search-box {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
  border-radius: 8px !important;
  padding: 6px 10px 6px 28px !important;
  font-size: 13px !important;
  color: #fff !important;
  box-sizing: border-box !important;
}
.light-mode .settings-search-box {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.05) !important;
  color: #000 !important;
}

/* 选项卡组外观 */
.settings-group {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
  border-radius: 10px !important;
  margin-bottom: 20px !important;
  overflow: visible !important;
}
.light-mode .settings-group {
  background: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}
.settings-row {
  min-height: 40px !important;
  padding: 8px 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}
.light-mode .settings-row {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
  color: #000000 !important;
}
.settings-row:last-child {
  border-bottom: none !important;
}
.settings-group .sep {
  display: none !important;
}
.settings-title {
  font-size: 26px !important;
  font-weight: 700 !important;
  margin: 0 0 16px 0 !important;
  color: #ffffff !important;
}
.light-mode .settings-title {
  color: #000000 !important;
}

/* Settings overview — a compact device control surface. */
.settings-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 22px}.settings-overview-head h1{margin:3px 0 4px;font-size:30px;line-height:1.05;letter-spacing:-.045em}.settings-overview-head p{margin:0;color:#92929a;font-size:13px}.settings-eyebrow{color:#7d7d88;font-size:9px;font-weight:800;letter-spacing:.17em}.settings-update-pill{height:34px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid #ffffff12;border-radius:999px;background:#ffffff0a;color:#c7c7cc;font-size:11px}.settings-update-pill i{width:7px;height:7px;border-radius:50%;background:#30d158;box-shadow:0 0 0 4px #30d15818}.settings-update-pill b{font-size:17px;font-weight:400}.settings-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.settings-status-card{min-width:0;height:132px;display:flex;flex-direction:column;align-items:flex-start;padding:14px;border:1px solid #ffffff12;border-radius:17px;color:white;text-align:left;box-shadow:inset 0 1px #ffffff18,0 10px 24px #00000012;transition:transform .18s,filter .18s}.settings-status-card:hover{transform:translateY(-2px);filter:brightness(1.08)}.settings-status-card.blue{background:linear-gradient(145deg,#137bda,#0a4d9a)}.settings-status-card.violet{background:linear-gradient(145deg,#7a58dd,#46319b)}.settings-status-card.indigo{background:linear-gradient(145deg,#5359b8,#303472)}.settings-status-card.green{background:linear-gradient(145deg,#36a85a,#18753b)}.settings-status-icon{width:28px;height:28px;display:grid;place-items:center;margin-bottom:auto;border-radius:9px;background:#ffffff25;font-size:17px}.settings-status-card small{opacity:.68;font-size:10px}.settings-status-card b{max-width:100%;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.settings-status-card em{margin-top:3px;opacity:.7;font-size:10px;font-style:normal}.settings-section-label{margin:22px 2px 9px;color:#85858d;font-size:11px;font-weight:700}.settings-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.settings-quick-control{height:62px;display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid #ffffff10;border-radius:14px;background:#ffffff08;color:#ededf0;text-align:left;transition:background .16s,border-color .16s,transform .16s}.settings-quick-control:hover{transform:translateY(-1px);background:#ffffff0d}.settings-quick-control.active{border-color:#0a84ff55;background:#0a84ff14}.settings-quick-control>span:last-child{display:grid;gap:2px}.settings-quick-control b{font-size:12px}.settings-quick-control small{color:#8e8e98;font-size:10px}.settings-quick-glyph{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#3a3a40;color:#b9b9c0;font-size:18px}.settings-quick-control.active .wifi,.settings-quick-control.active .bluetooth{background:#0a84ff;color:white}.settings-quick-control.active .focus{background:#5e5ce6;color:white}.settings-quick-control.active .power{background:#30d158;color:white}.settings-recommendation{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:13px 15px;border:1px solid #ffffff10;border-radius:15px;background:linear-gradient(120deg,#ffffff08,#5e5ce60d);cursor:pointer}.settings-recommendation>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#5e5ce6;color:white;font-size:18px}.settings-recommendation div{display:grid;gap:2px}.settings-recommendation b{font-size:12px}.settings-recommendation small{color:#8d8d96;font-size:10px}.settings-recommendation i{color:#8e8e93;font-size:20px;font-style:normal}.settings-page-intro{margin:-8px 0 18px;color:#8e8e93;font-size:12px}.settings-accessibility-hero{height:76px;display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:0 18px;border:1px solid #ffffff12;border-radius:17px;background:linear-gradient(120deg,#147ce520,#5e5ce61a)}.settings-accessibility-hero>span{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#0a84ff;color:white}.settings-accessibility-hero>span:after{content:'人';font-size:20px;font-weight:800}.settings-accessibility-hero div{display:grid;gap:3px}.settings-accessibility-hero b{font-size:14px}.settings-accessibility-hero small{color:#92929a;font-size:11px}.light-mode .settings-update-pill,.light-mode .settings-quick-control,.light-mode .settings-recommendation,.light-mode .settings-accessibility-hero{border-color:#0000000d;background-color:#ffffffa8;color:#1d1d1f}.light-mode .settings-quick-control{background:#ffffffa8}.light-mode .settings-quick-control.active{background:#0a84ff12}.light-mode .settings-overview-head h1,.light-mode .settings-recommendation b,.light-mode .settings-accessibility-hero b{color:#1d1d1f}@media(max-width:900px){.settings-status-grid{grid-template-columns:repeat(2,1fr)}.settings-status-card{height:112px}.settings-sidebar-modern{width:224px!important}.settings-main{padding:24px!important}}

/* Sleek macOS Sonoma style toggle */
.toggle {
  width: 30px !important;
  height: 18px !important;
  border-radius: 9px !important;
  background: rgba(120, 120, 128, 0.32) !important;
  position: relative !important;
  transition: background-color 0.2s ease, box-shadow 0.15s ease !important;
  cursor: pointer !important;
  border: none !important;
  flex-shrink: 0 !important;
}
.toggle::after {
  content: "" !important;
  position: absolute !important;
  width: 14px !important;
  height: 14px !important;
  top: 2px !important;
  left: 2px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
  transition: transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}
.toggle.on {
  background: #34c759 !important;
}
.toggle.on::after {
  transform: translateX(12px) !important;
}

/* 显示器缩放选择按钮 */
.scale-choice-btn {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
}
.scale-choice-btn.active {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: #0a84ff !important;
  box-shadow: 0 0 0 1px #0a84ff !important;
}
.light-mode .scale-choice-btn {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  color: #000000 !important;
}
.light-mode .scale-choice-btn.active {
  background: rgba(0, 0, 0, 0.08) !important;
  border-color: #0a84ff !important;
  box-shadow: 0 0 0 1px #0a84ff !important;
}

/* 4. 信息应用 (.chat) 弹性纵向拉伸与穿模修复 */
.chat {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  background: rgba(30, 30, 30, 0.2) !important;
}
.chat-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  height: 48px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  flex-shrink: 0 !important;
}
.chat-head b {
  font-size: 14px;
  font-weight: 600;
}
.chat-body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
.messages-list {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
#msg-list {
  flex: 1 !important;
  overflow-y: auto !important;
}

/* 5. Safari 浏览器原生化、暗黑模式支持与白屏防透视 */
.safari-real {
  background: #1e1e1e !important;
  color: #ffffff !important;
}
.safari-tabs {
  background: #151515 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
.safari-tab {
  background: #282828 !important;
  color: #cccccc !important;
  border: none !important;
  outline: none !important;
}
.safari-tab.active {
  background: #1e1e1e !important;
  color: #ffffff !important;
  box-shadow: inset 0 2px 0 #0a84ff !important;
}
.safari-tab i {
  color: #aaaaaa !important;
}
.safari-tab i:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}
.safari-new-tab {
  background: transparent !important;
  color: #ffffff !important;
  border: none !important;
}
.safari-new-tab:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
.safari-real-toolbar {
  background: #1e1e1e !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
.safari-real-toolbar .tool-button {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  color: #ffffff !important;
}
.safari-real-toolbar .tool-button:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}
.safari-address {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
}
.safari-address input {
  color: #ffffff !important;
}
.safari-page {
  background: #1e1e1e !important;
}
.safari-start {
  background: linear-gradient(180deg, #1e1e1e, #141414) !important;
  color: #ffffff !important;
}
.safari-compass {
  box-shadow: 0 14px 28px rgba(10, 132, 255, 0.15) !important;
}
.safari-favorite {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}
.safari-favorite:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
.safari-favorite b {
  color: #ffffff !important;
}

/* Light mode overrides for Safari */
.light-mode .safari-real {
  background: #f5f6f7 !important;
  color: #111111 !important;
}
.light-mode .safari-tabs {
  background: rgba(230, 234, 238, 0.88) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.light-mode .safari-tab {
  background: #e0e4e8 !important;
  color: #444444 !important;
}
.light-mode .safari-tab.active {
  background: #f5f6f7 !important;
  color: #111111 !important;
  box-shadow: inset 0 2px 0 #0a84ff !important;
}
.light-mode .safari-tab i {
  color: #555555 !important;
}
.light-mode .safari-tab i:hover {
  background: rgba(0, 0, 0, 0.1) !important;
}
.light-mode .safari-new-tab {
  color: #333333 !important;
}
.light-mode .safari-new-tab:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}
.light-mode .safari-real-toolbar {
  background: rgba(245, 247, 250, 0.92) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.light-mode .safari-real-toolbar .tool-button {
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  color: #222222 !important;
}
.light-mode .safari-real-toolbar .tool-button:hover {
  background: rgba(0, 0, 0, 0.08) !important;
}
.light-mode .safari-address {
  background: rgba(0, 0, 0, 0.06) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}
.light-mode .safari-address input {
  color: #111111 !important;
}
.light-mode .safari-page {
  background: #ffffff !important;
}
.light-mode .safari-start {
  background: linear-gradient(180deg, #f8fafc, #e5e7eb) !important;
  color: #111111 !important;
}
.light-mode .safari-favorite {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  color: #111111 !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}
.light-mode .safari-favorite:hover {
  background: #f0f4f8 !important;
}
.light-mode .safari-favorite b {
  color: #111111 !important;
}

/* Final UI repair layer: clock, calendar, settings avatar, weather, Safari */
#win-safari.window,
#win-weather.window,
#win-clock.window {
  background: #1f232b !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate;
}

#win-safari > .titlebar,
#win-weather > .titlebar,
#win-clock > .titlebar {
  background: linear-gradient(180deg, #303540, #252a32) !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
}

#win-safari .window-body,
#win-weather .window-body,
#win-clock .window-body {
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #14171c !important;
  display: flex !important;
  align-items: stretch !important;
}

#win-safari .window-body::before,
#win-weather .window-body::before,
#win-clock .window-body::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #14171c;
}

.clock-fixed {
  position: relative;
  overflow: hidden;
  background: #181818;
  min-height: 0;
}

.clock-world-layout {
  width: 100%;
  height: auto;
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  gap: 18px;
  padding: 20px;
  box-sizing: border-box;
  background: #181818;
}

.clock-world-layout.clock-tab-content {
  display: none;
}

.clock-world-layout.clock-tab-content.active {
  display: grid;
}

.clock-face-panel,
.clock-city-panel {
  min-width: 0;
  min-height: 0;
}

.clock-face-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 20%, rgba(255,255,255,.09), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.08);
}

.clock-face-restored {
  width: min(240px, 72vw) !important;
  height: min(240px, 72vw) !important;
  flex: 0 0 auto;
}

.clock-local-readout {
  display: grid;
  gap: 4px;
  text-align: center;
}

.clock-local-readout b {
  font-size: 25px;
  font-variant-numeric: tabular-nums;
}

.clock-local-readout span {
  color: rgba(255,255,255,.62);
  font-size: 12px;
}

.clock-city-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.world-clock-toolbar {
  flex: 0 0 auto;
}

.world-clock-grid {
  flex: 1 1 auto !important;
  min-height: 0;
  overflow: auto;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: 104px !important;
  align-content: start !important;
  gap: 10px !important;
  padding: 0 2px 8px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.22) transparent;
}

.world-clock-card {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 104px !important;
  box-sizing: border-box;
  gap: 3px !important;
  padding: 12px 14px !important;
}

.world-clock-grid::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.world-clock-grid::-webkit-scrollbar-track {
  background: transparent;
}

.world-clock-grid::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.20);
  border-radius: 999px;
}

.world-clock-card .city-name,
.world-clock-card .time-offset,
.world-clock-card .time-display,
.world-clock-card .date-display {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-clock-card .city-name {
  padding-right: 22px;
  font-size: 15px !important;
}

.world-clock-card .time-display {
  margin-top: 4px !important;
  font-size: 23px !important;
  line-height: 1.1 !important;
}

.world-clock-card .date-display {
  font-size: 11px !important;
}

.clock-add-popover {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.clock-add-popover.hidden {
  display: none !important;
}

.clock-add-card {
  width: min(360px, calc(100% - 44px));
  padding: 18px;
  border-radius: 16px;
  background: rgba(32,34,40,.94);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 22px 60px rgba(0,0,0,.45);
}

.clock-add-title {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 750;
}

.clock-add-card select {
  width: 100%;
  height: 34px;
}

.clock-add-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}

.clock-stopwatch-fixed {
  min-height: 0;
  overflow: hidden;
  justify-content: flex-start;
  padding: 28px 34px 20px;
  background: radial-gradient(circle at 50% 10%, #26282d 0, #181818 48%);
}

.clock-stopwatch-fixed.active {
  display: flex;
}

.stopwatch-dial {
  display: grid;
  justify-items: center;
  gap: 8px;
  width: 100%;
  margin: 6px 0 20px;
}

.stopwatch-kicker {
  color: rgba(255,255,255,.48);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .12em;
}

.clock-stopwatch-fixed .stopwatch-time {
  margin: 0;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: clamp(44px, 7vw, 64px);
  font-weight: 300;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.055em;
}

.clock-stopwatch-fixed .stopwatch-controls {
  width: min(340px, 100%);
  justify-content: space-between;
  margin-bottom: 22px;
}

.clock-stopwatch-fixed .stopwatch-btn {
  width: 68px;
  height: 68px;
  border: 3px solid #181818;
  outline: 1px solid rgba(255,255,255,.14);
}

.clock-stopwatch-fixed .stopwatch-btn:disabled {
  cursor: default;
  opacity: .38;
}

.stopwatch-laps-head,
.clock-stopwatch-fixed .stopwatch-lap-item {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  width: min(520px, 100%);
  box-sizing: border-box;
}

.stopwatch-laps-head {
  padding: 0 12px 8px;
  color: rgba(255,255,255,.42);
  font-size: 11px;
}

.stopwatch-laps-head span:not(:first-child),
.clock-stopwatch-fixed .stopwatch-lap-item span {
  text-align: right;
}

.clock-stopwatch-fixed .stopwatch-laps-list {
  width: min(520px, 100%);
  max-width: none;
  max-height: none;
  flex: 1 1 auto;
  min-height: 0;
}

.clock-stopwatch-fixed .stopwatch-lap-item {
  padding: 10px 12px;
  font-variant-numeric: tabular-nums;
}

.stopwatch-empty {
  padding: 34px 12px;
  color: rgba(255,255,255,.38);
  text-align: center;
  font-size: 12px;
}

.calendar-fixed {
  width: 100%;
  height: 100%;
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr);
  background: rgba(28,30,36,.88);
}

.calendar-fixed-sidebar {
  min-width: 0;
  padding: 18px;
  border-right: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  box-sizing: border-box;
}

.calendar-fixed-sidebar h1 {
  margin: 0 0 16px;
  font-size: 24px;
}

.calendar-fixed-main {
  min-width: 0;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.calendar-fixed-grid {
  flex: 1;
  min-width: 0;
  min-height: 0;
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-template-rows: 30px repeat(6, minmax(62px, 1fr));
  gap: 2px;
  box-sizing: border-box;
}

.calendar-fixed-grid .cal-head {
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  color: rgba(255,255,255,.58);
}

.calendar-fixed-grid .cal-day {
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.86);
  text-align: left;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
}

.calendar-fixed-grid .cal-day:hover {
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.18);
}

.calendar-fixed-grid .cal-day.other-month {
  opacity: .38;
}

.calendar-fixed-grid .cal-num {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-weight: 700;
  flex: 0 0 auto;
}

.calendar-fixed-grid .cal-day.today .cal-num {
  background: #ff453a;
  color: white;
}

.calendar-fixed-grid .cal-events {
  display: grid;
  gap: 3px;
  margin-top: 6px;
  min-height: 0;
  overflow: auto;
}

.calendar-fixed-grid .cal-event {
  display: block;
  max-width: 100%;
  padding: 2px 5px;
  border-radius: 5px;
  background: rgba(10,132,255,.28);
  color: white;
  font-size: 11px;
  font-style: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-prompt-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.32);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.calendar-prompt-card {
  width: min(380px, calc(100vw - 44px));
  padding: 18px;
  border-radius: 16px;
  background: rgba(32,34,40,.96);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 22px 60px rgba(0,0,0,.45);
}

.calendar-prompt-card h2 {
  margin: 0 0 4px;
}

.calendar-prompt-card p {
  margin: 0 0 12px;
  color: rgba(255,255,255,.58);
  font-size: 12px;
}

.calendar-prompt-card input {
  width: 100%;
  height: 34px;
  box-sizing: border-box;
}

.calendar-prompt-card > div:last-child {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}

.settings-profile-avatar,
.settings-profile-avatar.avatar-image,
.avatar-fallback,
.avatar-choice {
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.settings-profile-avatar,
.settings-profile-avatar.avatar-image {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  min-height: 76px !important;
}

.settings-apple-id-banner .avatar-fallback {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  display: grid !important;
  place-items: center !important;
}

.avatar-choice {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
}

.weather-app-split {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 176px minmax(0, 1fr) !important;
  overflow: hidden !important;
  background: #101216 !important;
  isolation: isolate;
}

.weather-left-sidebar {
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.weather-sidebar-title {
  padding: 10px 14px 6px !important;
}

.weather-city-btn {
  min-width: 0 !important;
  min-height: 56px !important;
  padding: 9px 34px 9px 14px !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.weather-city-btn .row1,
.weather-city-btn .row2 {
  min-width: 0 !important;
  gap: 8px !important;
}

.weather-city-btn .row1 span:first-child,
.weather-city-btn .row2 span:first-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.weather-city-btn .row1 span:last-child,
.weather-city-btn .row2 span:last-child {
  flex: 0 0 auto !important;
}

.weather-city-delete {
  position: absolute !important;
  right: 8px !important;
  top: 9px !important;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  opacity: 0 !important;
  transform: scale(.92) !important;
  transition: opacity .14s ease, transform .14s ease, background .14s ease !important;
}

.weather-city-btn:hover .weather-city-delete,
.weather-city-btn.active .weather-city-delete {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.weather-city-delete:hover {
  background: rgba(255,69,58,.9) !important;
  color: white !important;
}

.weather-city-delete:disabled {
  display: none !important;
}

.weather-detail-main {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 18px !important;
  overscroll-behavior: contain !important;
}

.weather-toolbar {
  flex-wrap: nowrap !important;
  align-items: center !important;
  padding: 12px 14px 0 !important;
  gap: 8px !important;
  display: flex !important;
}

.weather-toolbar input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 32px !important;
}

.weather-search-wrap {
  position: relative !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.weather-search-wrap input {
  width: 100% !important;
}

.weather-suggestions {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 20;
  display: none;
  max-height: 238px;
  overflow: auto;
  padding: 6px;
  border-radius: 12px;
  background: rgba(29, 33, 40, .98);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 18px 48px rgba(0,0,0,.42);
}

.weather-suggestions.show {
  display: grid;
  gap: 4px;
}

.weather-suggestion-item {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(255,255,255,.9);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  text-align: left;
  cursor: pointer;
}

.weather-suggestion-item:hover,
.weather-suggestion-item.active {
  background: rgba(10,132,255,.24);
}

.weather-suggestion-name,
.weather-suggestion-meta {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.weather-suggestion-name {
  font-size: 13px;
  font-weight: 700;
}

.weather-suggestion-meta {
  color: rgba(255,255,255,.54);
  font-size: 11px;
}

.weather-toolbar .tool-button {
  flex: 0 0 auto !important;
  height: 32px !important;
  white-space: nowrap !important;
}

.weather-hero {
  margin: 12px 14px !important;
  padding: 16px 14px !important;
  flex: 0 0 auto !important;
}

.weather-temp {
  font-size: clamp(50px, 7vw, 72px) !important;
  line-height: .95 !important;
  white-space: nowrap !important;
}

.weather-section-title {
  margin: 12px 16px 8px !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

.weather-hourly-real {
  margin: 0 14px !important;
  padding: 8px !important;
  min-height: 108px !important;
  box-sizing: border-box !important;
  display: flex !important;
  gap: 7px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: auto !important;
  scroll-snap-type: none !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,.22) transparent !important;
}

.weather-hourly-real::-webkit-scrollbar {
  height: 6px !important;
}

.weather-hourly-real::-webkit-scrollbar-track {
  background: transparent !important;
}

.weather-hourly-real::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.22) !important;
  border-radius: 999px !important;
}

.weather-hour-real {
  flex: 0 0 78px !important;
  min-width: 78px !important;
  width: 78px !important;
  padding: 7px 5px !important;
  min-height: 86px !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  gap: 3px !important;
  scroll-snap-align: none !important;
}

.weather-hour-real div,
.weather-hour-real b,
.weather-hour-real span {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.weather-daily-real {
  margin: 0 14px !important;
  padding: 8px !important;
  display: grid !important;
  gap: 5px !important;
}

.weather-day-real {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 54px minmax(92px, 1fr) minmax(76px, max-content) minmax(50px, max-content) !important;
  gap: 7px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.11) !important;
  box-sizing: border-box !important;
}

.weather-day-real span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.weather-day-real span:nth-child(3),
.weather-day-real span:nth-child(4) {
  text-align: right !important;
  font-size: 12px !important;
}

.weather-day-real span:nth-child(4) {
  opacity: .74 !important;
}

.weather-cards {
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)) !important;
  padding: 0 14px 18px !important;
}

.safari-fixed,
.safari-webview,
.safari-webviews-container,
.safari-webview-item {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.safari-fixed {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #1e1e1e !important;
  isolation: isolate;
}

.safari-tabs {
  flex: 0 0 34px !important;
  min-height: 34px !important;
}

.safari-fixed-toolbar {
  flex: 0 0 48px !important;
  min-height: 48px !important;
}

.safari-progress {
  flex: 0 0 2px !important;
}

.safari-page {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #1e1e1e !important;
}

#win-safari .safari-start,
#win-safari .safari-start-fixed {
  background: #151515 !important;
}

#win-safari .safari-tabs,
#win-safari .safari-real-toolbar,
#win-safari .safari-progress {
  background-color: #151515 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#win-clock .clock-header-tabs,
#win-clock .clock-world-layout,
#win-clock .clock-fixed,
#win-clock .clock-face-panel,
#win-clock .world-clock-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.safari-webview {
  display: flex !important;
  flex: 1 1 auto !important;
  background: #fff !important;
}

.safari-start-fixed {
  min-height: 100%;
  padding: 38px 46px !important;
  box-sizing: border-box;
}

.safari-start-section-head {
  max-width: 760px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.safari-start-section-head h2 {
  margin: 0;
  font-size: 18px;
}

.safari-favorite {
  position: relative;
  overflow: hidden;
}

.safari-favorite i {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.14);
  color: inherit;
  font-style: normal;
  opacity: 0;
}

.safari-favorite:hover i {
  opacity: 1;
}

.mock-webpage {
  width: 100%;
  height: 100%;
  overflow: auto;
  box-sizing: border-box;
}

.bilibili-mock {
  background: #f6f8fb;
  color: #18191c;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.apple-mock {
  background: #f5f5f7;
  color: #1d1d1f;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mock-apple-nav {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 0 28px;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(0,0,0,.08);
  position: sticky;
  top: 0;
  z-index: 2;
}

.mock-apple-nav b {
  font-size: 18px;
}

.mock-apple-nav nav {
  min-width: 0;
  flex: 1;
  display: flex;
  gap: 24px;
  overflow: hidden;
  color: #424245;
  font-size: 13px;
}

.mock-apple-hero {
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 34px 22px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 82%, rgba(10,132,255,.22), transparent 34%),
    linear-gradient(180deg, #fff, #f5f5f7);
}

.mock-apple-hero p,
.mock-apple-hero h1,
.mock-apple-hero span {
  margin: 0;
}

.mock-apple-hero p {
  font-size: 28px;
  font-weight: 760;
}

.mock-apple-hero h1 {
  font-size: 52px;
  line-height: 1.02;
  font-weight: 820;
}

.mock-apple-hero span {
  color: #5d6270;
  font-size: 18px;
}

.mock-apple-hero > div {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

.mock-apple-grid {
  padding: 18px 22px 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.mock-apple-grid article {
  min-height: 210px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  padding: 18px;
}

.mock-apple-device {
  width: 118px;
  height: 72px;
  border-radius: 14px;
  margin-bottom: 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.35), transparent 36%),
    linear-gradient(135deg, #111827, #475569);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.22), 0 18px 36px rgba(15,23,42,.2);
}

.mock-apple-grid h2 {
  margin: 0 0 6px;
  font-size: 22px;
}

.mock-apple-grid p {
  margin: 0;
  color: #6e7480;
  font-size: 13px;
  line-height: 1.45;
}

.mock-bili-header {
  height: 56px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 22px;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid #e6e8ef;
  position: sticky;
  top: 0;
  z-index: 1;
}

.mock-bili-header b {
  color: #00aeec;
  font-size: 24px;
}

.mock-bili-header nav {
  flex: 1;
  display: flex;
  gap: 14px;
  font-size: 13px;
  color: #4b5563;
  overflow: hidden;
}

.mock-bili-header button,
.mock-bili-login {
  background: #00aeec;
  color: white;
  border-radius: 9px;
  padding: 8px 12px;
  font-weight: 700;
}

.mock-bili-banner {
  margin: 18px 22px;
  min-height: 132px;
  border-radius: 16px;
  background: linear-gradient(135deg, #dff7ff, #eef3ff 48%, #ffe5f0);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  box-sizing: border-box;
}

.mock-bili-banner h1 {
  margin: 0 0 6px;
}

.mock-bili-banner p {
  margin: 0;
  color: #526070;
}

.mock-bili-grid {
  padding: 0 22px 28px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}

.mock-bili-grid article {
  min-width: 0;
  border-radius: 12px;
  background: white;
  box-shadow: 0 8px 20px rgba(15,23,42,.07);
  overflow: hidden;
}

.mock-bili-grid .thumb {
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #89d8ff, #f6a5cf);
  color: white;
  font-size: 28px;
  font-weight: 800;
}

.mock-bili-grid h3 {
  margin: 10px 12px 4px;
  font-size: 14px;
}

.mock-bili-grid p {
  margin: 0 12px 12px;
  color: #7b8494;
  font-size: 12px;
}

.safari-readable-fallback {
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #20232a, #111318);
  color: white;
  padding: 28px;
}

.fallback-card {
  max-width: 520px;
  text-align: center;
}

.fallback-card > span {
  width: 72px;
  height: 72px;
  margin: 0 auto 16px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #64d2ff, #0a84ff);
  font-size: 30px;
  font-weight: 800;
}

.fallback-card h1 {
  margin: 0 0 10px;
}

.fallback-card p {
  margin: 0 auto 18px;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
}

@media (max-width: 760px) {
  .clock-world-layout,
  .calendar-fixed,
  .weather-app-split {
    grid-template-columns: 1fr !important;
  }

  .calendar-fixed-sidebar,
  .weather-left-sidebar {
    display: none !important;
  }

  .clock-face-panel {
    display: none;
  }

  .safari-start-fixed {
    padding: 28px 18px !important;
  }

  .safari-start-section-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Pro app suite: Preview, Home, Keynote, Xcode, App Store */
#win-preview .window-body, #win-home .window-body, #win-keynote .window-body, #win-xcode .window-body, #win-appstore .window-body,
[id^="win-preview-"] .window-body { min-width:0; min-height:0; overflow:hidden; }

.preview-pro { width:100%; height:100%; min-height:0; display:flex; flex-direction:column; background:#45474b; color:#f5f5f7; }
.pv-toolbar { height:42px; flex:0 0 auto; display:flex; align-items:center; gap:5px; padding:0 10px; background:linear-gradient(#484b50,#3c3f44); border-bottom:1px solid #27292c; }
.pv-tool,.pv-zoom { min-width:28px; height:27px; border-radius:6px; color:#eceef1; background:transparent; font-size:15px; }
.pv-tool:hover,.pv-tool.active { background:rgba(255,255,255,.13); }.pv-zoom{font-size:11px;min-width:45px}.pv-separator{width:1px;height:18px;background:rgba(255,255,255,.14);margin:0 4px}.pv-spacer{flex:1}
.pv-markupbar{height:0;overflow:hidden;display:flex;align-items:center;gap:7px;padding:0 12px;background:#f2f2f3;color:#28282b;transition:height .18s}.pv-markupbar.show{height:38px;border-bottom:1px solid #c8c8ca}.pv-markupbar button{width:26px;height:25px;border-radius:5px;background:#fff;border:1px solid #c9c9cb;color:#222}.pv-markupbar span{margin-left:auto;color:#777;font-size:11px}
.pv-workspace{display:flex;flex:1;min-height:0}.pv-sidebar{width:158px;flex:0 0 auto;padding:12px 10px;overflow:auto;background:#323438;border-right:1px solid #25272a;transition:width .18s,padding .18s}.pv-sidebar.collapsed{width:0;padding-left:0;padding-right:0}.pv-side-title{padding:0 6px 10px;color:#aaa;font-size:11px;font-weight:650}
.pv-thumb{width:100%;display:grid;grid-template-columns:1fr 18px;gap:7px;align-items:start;padding:5px;border-radius:7px;background:transparent;color:#ddd;text-align:center}.pv-thumb.active{background:#0a84ff}.pv-thumb-sheet{height:88px;padding:8px;display:grid;place-items:center;background:white;color:#222;box-shadow:0 2px 8px #0005}.pv-thumb-sheet i{font-style:normal;font-size:9px;font-weight:800}.pv-thumb b{font-size:10px}.pv-stage{flex:1;min-width:0;overflow:auto;display:grid;place-items:start center;padding:34px;background:#55585d}
.pv-paper{--pv-scale:1;--pv-rotation:0deg;width:560px;min-height:735px;box-sizing:border-box;padding:58px 60px 36px;background:#fff;color:#151515;box-shadow:0 18px 48px #0007;transform:scale(var(--pv-scale)) rotate(var(--pv-rotation));transform-origin:top center;transition:transform .18s}.pv-paper-kicker{font-size:10px;letter-spacing:.2em;color:#70757d}.pv-paper h1{max-width:430px;margin:18px 0 12px;font-size:39px;line-height:1.03;letter-spacing:-.045em}.pv-lead{font:17px/1.55 Georgia,serif;color:#50545a}.pv-photo{height:250px;margin:32px 0 28px;border-radius:2px;display:flex;flex-direction:column;justify-content:end;padding:26px;color:white;background:linear-gradient(180deg,transparent,#03182acc),url('../assets/wallpaper_tahoe.jpg') center/cover}.pv-photo span{font-size:34px;font-weight:800;letter-spacing:.2em}.pv-photo small{opacity:.75}.pv-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pv-columns b{font-size:11px;letter-spacing:.05em}.pv-columns p{font:12px/1.55 Georgia,serif;color:#555}.pv-paper footer{margin-top:35px;padding-top:12px;border-top:1px solid #ddd;color:#888;font-size:10px}.pv-media{--pv-scale:1;--pv-rotation:0deg;max-width:90%;max-height:90%;box-shadow:0 18px 50px #0008;transform:scale(var(--pv-scale)) rotate(var(--pv-rotation));transform-origin:top center}.pv-status{height:25px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;background:#34363a;border-top:1px solid #242629;color:#aaa;font-size:10px}

.home-pro{width:100%;height:100%;min-width:0;min-height:0;display:flex;background:#f5f5f7;color:#171719}.hm-sidebar{width:190px;flex:0 0 auto;padding:14px 10px;background:rgba(232,232,235,.88);border-right:1px solid #cfd0d3}.hm-home-select{display:flex;align-items:center;gap:9px;padding:7px 8px 14px}.hm-home-select .hm-house{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#ffb739,#ff7b22);color:white;font-size:20px}.hm-home-select div{display:grid;flex:1}.hm-home-select small{color:#888;font-size:10px}.hm-home-select i{font-style:normal;color:#888}.hm-sidebar nav{display:grid;gap:3px}.hm-nav{width:100%;height:34px;display:flex;align-items:center;gap:10px;padding:0 9px;border-radius:7px;background:transparent;color:#2b2b2e;text-align:left}.hm-nav span{width:20px;color:#777}.hm-nav:hover{background:#dddde0}.hm-nav.active{background:#0a84ff;color:white}.hm-nav.active span{color:white}.hm-sidebar-section{margin:22px 9px 6px;color:#8a8a8e;font-size:10px;font-weight:700;text-transform:uppercase}
.hm-main{flex:1;min-width:0;overflow:auto;padding:26px 28px 40px}.hm-main header{display:flex;justify-content:space-between;align-items:end}.hm-main header small{color:#8b8b91;font-size:12px}.hm-main h1{margin:2px 0 0;font-size:34px;letter-spacing:-.04em}.hm-header-actions{display:flex;gap:8px}.hm-header-actions button{height:30px;padding:0 13px;border-radius:15px;background:#e4e4e7;color:#333}.hm-header-actions .primary{width:30px;padding:0;background:#0a84ff;color:white;font-size:18px}.hm-scenes{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;margin:22px 0 26px}.hm-scenes button{height:72px;display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:white;color:#202023;text-align:left;box-shadow:0 1px 1px #0001,0 7px 18px #0000000c}.hm-scenes button:hover{box-shadow:0 8px 22px #0002;transform:translateY(-1px)}.hm-scenes i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#ff9f0a;color:white;font-style:normal;font-size:20px}.hm-scenes span{display:grid}.hm-scenes small{margin-top:3px;color:#888;font-size:10px}.hm-section-title{display:flex;justify-content:space-between;margin-bottom:9px}.hm-section-title span{color:#888;font-size:11px}.hm-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}.hm-device{min-width:0;height:112px;position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:15px;background:#fff;color:#27272a;text-align:left;box-shadow:0 1px 1px #0001,0 8px 20px #0000000b}.hm-device:hover{box-shadow:0 10px 25px #0002}.hm-device.on .hm-device-icon{background:#ff9f0a;color:white}.hm-device-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#e8e8eb;color:#777;font-size:18px}.hm-device-icon.温控{background:#2ba9ff!important}.hm-device-icon.音频{background:#7c5cff!important}.hm-device-icon.安防,.hm-device-icon.摄像头{background:#36b39a!important}.hm-device-copy{display:grid;min-width:0;margin-top:2px}.hm-device-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.hm-device-copy small{margin-top:4px;color:#8a8a90;font-size:10px}.hm-power{position:absolute;right:11px;bottom:10px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#eee;color:#999;font-style:normal;font-size:12px}.hm-power.on{color:#0a84ff;background:#e6f3ff}
.hm-inspector{width:0;flex:0 0 auto;overflow:hidden;background:#fafafa;border-left:0 solid #d6d6d8;transition:width .22s,padding .22s}.hm-inspector.show{width:240px;padding:32px 22px;border-left-width:1px;box-sizing:border-box}.hm-close{float:right;width:25px;height:25px;border-radius:50%;background:#e5e5e7;color:#666}.hm-inspector-icon{width:62px;height:62px;margin:26px auto 15px;display:grid;place-items:center;border-radius:50%;background:#ff9f0a;color:white;font-size:28px}.hm-inspector>small,.hm-inspector>h2{display:block;text-align:center}.hm-inspector>small{color:#999}.hm-inspector h2{margin:3px 0 25px}.hm-switch,.hm-info-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid #e5e5e7;font-size:12px}.hm-switch input{display:none}.hm-switch i{width:38px;height:22px;border-radius:11px;background:#c7c7ca;position:relative}.hm-switch i:after{content:'';position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:white;box-shadow:0 1px 3px #0004;transition:left .15s}.hm-switch input:checked+i{background:#34c759}.hm-switch input:checked+i:after{left:18px}.hm-slider-value{text-align:center;margin:20px 0 8px;font-size:36px;font-weight:300}.hm-slider{width:100%;accent-color:#ff9f0a}.hm-info-row{color:#777}.hm-info-row b{color:#333;font-weight:500}

.keynote-pro{width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template:44px 1fr/170px 1fr 230px;background:#37393d;color:#efeff0}.kn-toolbar{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:0 10px;background:linear-gradient(#4a4c50,#3b3d41);border-bottom:1px solid #2a2c2f}.kn-toolbar button{height:28px;padding:0 11px;border-radius:6px;background:#55585d;color:white;font-size:11px}.kn-toolbar span{width:1px;height:18px;background:#666}.kn-toolbar i{flex:1}.kn-toolbar .kn-play{background:#20a44a}.kn-slides{overflow:auto;padding:12px 9px;background:#292b2e;border-right:1px solid #202225}.kn-thumb{width:100%;display:grid;grid-template-columns:17px 1fr;gap:5px;margin-bottom:9px;background:transparent;color:#bbb;text-align:right}.kn-thumb b{font-size:10px}.kn-mini{aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6px;border:2px solid transparent;background:#111;color:white;text-align:center}.kn-thumb.active .kn-mini{border-color:#0a84ff}.kn-mini strong{font-size:8px}.kn-mini small{font-size:5px;margin-top:3px;opacity:.7}.kn-mini.light{background:#f5f2eb;color:#222}.kn-mini.blue{background:#0055be}.kn-mini.ink{background:#17171b}.kn-add-thumb{width:100%;height:34px;border:1px dashed #666;background:transparent;color:#aaa}.kn-stage{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;background:#3f4145}.kn-canvas{width:min(100%,620px);aspect-ratio:16/9;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;box-sizing:border-box;background:radial-gradient(circle at 70% 20%,#2b9ec8,#063b66 45%,#081321);color:white;box-shadow:0 18px 44px #0007}.kn-canvas h1{position:relative;margin:0;font-size:58px;letter-spacing:-.05em;outline:none}.kn-canvas p{position:relative;font-size:18px;opacity:.75;outline:none}.kn-orbit{position:absolute;width:370px;height:370px;border:54px solid #5ee7d755;border-radius:50%;right:-150px;top:-170px}.kn-canvas.light{background:#f4f0e7;color:#212123}.kn-canvas.blue{background:linear-gradient(135deg,#1377e8,#532fc8)}.kn-canvas.ink{background:#141418;color:#f2c86b}.kn-notes{width:min(100%,620px);height:28px;margin-top:13px;padding:8px 10px;box-sizing:border-box;background:#2f3135;border:1px solid #242629;color:#888;font-size:10px;outline:none}.kn-inspector{overflow:auto;padding:14px;background:#efeff1;color:#2b2b2d;border-left:1px solid #bfc0c3}.kn-inspector-tabs{display:flex;justify-content:space-around;margin:-7px -7px 18px;padding:7px;border-bottom:1px solid #d2d2d4;color:#777;font-size:11px}.kn-inspector-tabs b{color:#0a84ff}.kn-inspector label{display:grid;gap:5px;margin-bottom:16px;color:#777;font-size:10px}.kn-inspector input{height:28px;padding:0 7px;border:1px solid #c6c6c8;border-radius:5px;background:white;color:#222}.kn-label{margin-bottom:7px;color:#777;font-size:10px}.kn-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:18px}.kn-themes button{aspect-ratio:1.5;background:radial-gradient(circle,#5ee7d7,#063b66)}.kn-themes button[data-theme=light]{background:#f4f0e7}.kn-themes button[data-theme=blue]{background:#2868db}.kn-themes button[data-theme=ink]{background:#141418}.kn-present{position:absolute;inset:0;z-index:20;display:none;place-items:center;text-align:center;background:#061b2c;color:white}.kn-present.show{display:grid}.kn-present h1{font-size:72px;margin:0}.kn-present p{font-size:24px;opacity:.7}.kn-present small{display:block;margin-top:70px;opacity:.35}

.xcode-pro{width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template:44px minmax(0,1fr)/190px minmax(360px,1fr) 250px 210px;background:#1e1f22;color:#d5d6d8;font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.xc-toolbar{grid-column:1/-1;display:flex;align-items:center;gap:6px;padding:0 9px;background:linear-gradient(#3f4145,#323438);border-bottom:1px solid #202124}.xc-toolbar button{width:30px;height:27px;border-radius:6px;background:#4c4f53;color:#eee}.xc-toolbar .xc-run{color:#45dc72}.xc-toolbar select{height:27px;border:0;border-radius:6px;background:#282a2d;color:#ddd;padding:0 8px}.xc-toolbar .xc-status{margin-left:8px;color:#aaa}.xc-toolbar i{flex:1}.xc-navigator{min-width:0;overflow:auto;background:#27282b;border-right:1px solid #17181a}.xc-nav-icons{height:33px;padding:10px 12px 0;box-sizing:border-box;border-bottom:1px solid #1b1c1e;color:#999}.xc-project{display:grid;padding:10px 7px;gap:2px}.xc-project>b{padding:5px}.xc-project button{height:25px;padding:0 8px 0 20px;border-radius:5px;background:transparent;color:#c0c1c3;text-align:left;white-space:nowrap}.xc-project button span{display:inline-block;width:18px;color:#ff8f3d}.xc-project button.active{background:#0a72d8;color:white}.xc-editor{min-width:0;min-height:0;display:flex;flex-direction:column}.xc-breadcrumb{height:32px;flex:0 0 auto;display:flex;align-items:center;padding:0 12px;background:#27282b;border-bottom:1px solid #17181a;color:#999}.xc-editor textarea{flex:1;min-height:0;resize:none;padding:16px 18px;border:0;outline:0;background:#1e1f22;color:#d5d6d8;font:12px/1.55 "SFMono-Regular",Consolas,monospace;tab-size:4}.xc-debug{height:135px;flex:0 0 auto;border-top:1px solid #111;background:#202124}.xc-debug>div{height:29px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;border-bottom:1px solid #18191b;color:#999}.xc-debug pre{margin:0;padding:9px 12px;color:#bfc0c2;font:10px/1.5 "SFMono-Regular",monospace;overflow:auto}.xc-canvas{min-width:0;overflow:hidden;background:#2a2b2e;border-left:1px solid #17181a;display:flex;flex-direction:column;align-items:center}.xc-canvas-head{width:100%;height:32px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;box-sizing:border-box;border-bottom:1px solid #1d1e20}.xc-canvas-head button{color:#aaa}.xc-device{width:154px;height:315px;margin:25px auto 12px;padding:7px;box-sizing:border-box;border:2px solid #666;border-radius:29px;background:#060608;box-shadow:0 12px 30px #0008}.xc-island{width:45px;height:9px;margin:2px auto;border-radius:6px;background:#1c1c1e}.xc-device #xc-preview{height:calc(100% - 15px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:21px;background:#f5f5f7;color:#222}.xc-device #xc-preview>span{color:#0a84ff;font-size:34px}.xc-device h3{margin:10px 0;font-size:15px}.xc-device label{font-size:8px}.xc-preview-status{color:#888;font-size:9px}.xc-preview-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#34c759}.xc-inspector{min-width:0;overflow:auto;background:#27282b;border-left:1px solid #17181a}.xc-inspector-tabs{padding:10px;text-align:center;border-bottom:1px solid #1b1c1e;color:#aaa}.xc-inspector h3{padding:0 12px}.xc-inspector>div:not(.xc-inspector-tabs){padding:12px;border-top:1px solid #1b1c1e}.xc-inspector>div>span{display:block;margin-bottom:10px;color:#aaa;font-weight:650}.xc-inspector label{display:grid;gap:5px;margin-bottom:9px;color:#999}.xc-inspector input,.xc-inspector select{height:25px;padding:0 5px;border:1px solid #444;border-radius:4px;background:#1d1e20;color:#ddd}.xc-navigator.collapsed,.xc-inspector.collapsed{display:none}

#win-appstore.window{background:#202124!important}.appstore-pro{width:100%;height:100%;min-width:0;min-height:0;display:flex;background:#202124;color:#f5f5f7}.as-sidebar{width:190px;flex:0 0 auto;display:flex;flex-direction:column;padding:13px 10px;background:#292a2d;border-right:1px solid #17181a}.as-search{height:29px;display:flex;align-items:center;gap:6px;padding:0 8px;margin-bottom:13px;border-radius:7px;background:#3b3c40;color:#aaa}.as-search input{width:100%;border:0;outline:0;background:transparent;color:white}.as-sidebar nav{display:grid;gap:3px}.as-sidebar nav button{height:34px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:7px;background:transparent;color:#d2d2d4;text-align:left}.as-sidebar nav button span{width:19px;color:#8ab8ff}.as-sidebar nav button.active{background:#0a84ff;color:white}.as-account{margin-top:auto;display:flex;align-items:center;gap:9px;padding:13px 7px 4px;border-top:1px solid #3a3b3e}.as-account i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#22a6b3;font-style:normal}.as-account span{display:grid}.as-account small{color:#888}.as-main{flex:1;min-width:0;overflow:auto;padding:28px 34px 50px}.as-date{color:#8e8e93;font-size:11px;font-weight:700;text-transform:uppercase}.as-main h1{margin:4px 0 22px;font-size:36px;letter-spacing:-.04em}.as-main h2{margin:26px 0 12px;font-size:20px}.as-hero{width:100%;height:245px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:30px 36px;border-radius:19px;background:linear-gradient(120deg,#4827a5,#6b46e6 55%,#ad75ff);color:white;text-align:left}.as-hero>span{width:48%;display:grid;gap:10px;position:relative;z-index:1}.as-hero small{text-transform:uppercase;letter-spacing:.12em;opacity:.7}.as-hero b{font-size:27px;line-height:1.05}.as-hero em{font-style:normal;line-height:1.45;opacity:.76}.as-hero-code{width:42%;height:160px;padding:16px;box-sizing:border-box;border-radius:12px;background:#17171be8;transform:rotate(-3deg);box-shadow:0 20px 40px #0005}.as-hero-code i{display:inline-block;width:7px;height:7px;margin-right:3px;border-radius:50%;background:#ff5f57}.as-hero-code i:nth-child(2){background:#ffbd2e}.as-hero-code i:nth-child(3){background:#28c840}.as-hero-code code{display:block;margin-top:18px;color:#d7b5ff;font:10px/1.7 "SFMono-Regular",monospace}.as-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:0 22px}.as-grid article{min-width:0;height:86px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:11px;border-bottom:1px solid #37383b;cursor:pointer}.as-grid article:hover{background:#ffffff05}.as-grid article img{width:54px;height:54px;object-fit:contain;border-radius:13px}.as-grid article>div{min-width:0;display:grid}.as-grid article b,.as-grid article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-grid article small{margin:3px 0 5px;color:#8e8e93}.as-grid article span{color:#ffb02e;font-size:9px}.as-grid article span i{color:#888;font-style:normal}.as-grid article button,.as-detail-head button{min-width:58px;height:25px;padding:0 13px;border-radius:13px;background:#3a3b3f;color:#42a0ff;font-weight:700}.as-grid article button:hover,.as-detail-head button:hover{background:#0a84ff;color:white}.as-empty{grid-column:1/-1;padding:80px;text-align:center;color:#888}.as-detail{width:0;flex:0 0 auto;overflow:hidden;background:#26272a;border-left:0 solid #17181a;transition:width .22s,padding .22s}.as-detail.show{width:350px;padding:24px;box-sizing:border-box;border-left-width:1px;overflow:auto}.as-detail-close{float:right;width:26px;height:26px;border-radius:50%;background:#3b3c40;color:#bbb;font-size:18px}.as-detail-head{display:flex;gap:15px;margin:32px 0 20px}.as-detail-head img{width:86px;height:86px;object-fit:contain;border-radius:19px}.as-detail-head h2{margin:5px 0 3px;font-size:21px}.as-detail-head p{margin:0 0 12px;color:#999}.as-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:13px 0;border-top:1px solid #3a3b3e;border-bottom:1px solid #3a3b3e}.as-stats span{display:grid;text-align:center;border-right:1px solid #3a3b3e}.as-stats span:last-child{border:0}.as-stats b{font-size:18px;color:#bbb}.as-stats small{color:#777}.as-shot{height:150px;margin:20px 0;padding:22px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:end;border-radius:13px;background:linear-gradient(135deg,#0a84ff,#5138cc);color:white}.as-shot b{font-size:18px}.as-shot span{margin-top:5px;opacity:.7}.as-description{color:#aaa;line-height:1.55}.as-info{display:grid;border-top:1px solid #3a3b3e}.as-info span{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #3a3b3e;color:#888}.as-info b{max-width:60%;color:#bbb;text-align:right;font-weight:500}

@media (max-width:900px){.hm-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.hm-inspector.show{position:absolute;right:0;top:0;bottom:0;z-index:5;box-shadow:-15px 0 35px #0002}.keynote-pro{grid-template-columns:140px 1fr}.kn-inspector{display:none}.xcode-pro{grid-template-columns:160px minmax(340px,1fr) 220px}.xc-inspector{display:none}.as-detail.show{position:absolute;right:0;top:0;bottom:0;z-index:5;box-shadow:-20px 0 40px #0006}}

.as-grid article img { display:none !important; }
.as-grid article::before,
.as-detail-head::before { content:"A"; width:54px; height:54px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(145deg,#43b9ff,#0a63d8); color:white; font-size:24px; font-weight:800; box-shadow:inset 0 1px 0 #fff6,0 7px 16px #0004; }
.as-detail-head img { display:none !important; }
.as-detail-head::before { width:86px; height:86px; flex:0 0 auto; border-radius:19px; font-size:38px; }

/* App Store titlebar and icon repair */
#win-appstore > .titlebar {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  height: 38px !important;
  min-height: 38px !important;
  flex: 0 0 38px !important;
  background: linear-gradient(180deg,#36383d,#2d2f33) !important;
  border-bottom: 1px solid #1b1c1f !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#win-appstore > .titlebar .window-title { display:block !important; }
#win-appstore > .window-body { flex:1 1 auto !important; min-height:0 !important; }
#win-appstore .as-sidebar { padding-top:13px !important; }
#win-appstore .as-search { margin-top:0; }
.as-grid article::before,.as-detail-head::before { content:none !important; }
.as-grid article img { display:block !important; width:54px; height:54px; object-fit:contain; border-radius:13px; }
.as-detail-head img { display:block !important; width:86px; height:86px; object-fit:contain; border-radius:19px; flex:0 0 auto; }

/* Tahoe Arcade */
.tetris-app{width:100%;height:100%;display:grid;grid-template-columns:minmax(310px,1fr) 250px;gap:24px;padding:24px 30px;box-sizing:border-box;background:radial-gradient(circle at 22% 15%,#263252,#101321 52%,#090b13);color:white;outline:0}.tetris-board-wrap{position:relative;min-height:0;display:grid;place-items:center}.tetris-grid{height:min(100%,580px);aspect-ratio:1/2;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(20,1fr);gap:2px;padding:7px;border:1px solid #ffffff1c;border-radius:9px;background:#080a12;box-shadow:0 24px 60px #0009,inset 0 0 35px #000}.tetris-grid i,.tetris-next i{display:block;border-radius:2px;background:#141827;box-shadow:inset 0 0 0 1px #ffffff06}.tetris-grid i:not(:empty),.tetris-next i:not(:empty){box-shadow:inset 2px 2px 0 #ffffff52,inset -2px -2px 0 #0004,0 0 9px currentColor}.tetris-grid .cyan,.tetris-next .cyan{background:#25d5f2;color:#25d5f2}.tetris-grid .yellow,.tetris-next .yellow{background:#ffd33d;color:#ffd33d}.tetris-grid .purple,.tetris-next .purple{background:#a65cff;color:#a65cff}.tetris-grid .green,.tetris-next .green{background:#55dc68;color:#55dc68}.tetris-grid .red,.tetris-next .red{background:#fa4b64;color:#fa4b64}.tetris-grid .blue,.tetris-next .blue{background:#3e7cff;color:#3e7cff}.tetris-grid .orange,.tetris-next .orange{background:#ff9e36;color:#ff9e36}.tetris-side{display:flex;flex-direction:column;padding:8px 0}.game-brand{display:grid}.game-brand span{color:#47dcf4;font-size:10px;font-weight:900;letter-spacing:.32em}.game-brand b{margin:4px 0;font-size:29px;letter-spacing:-.04em}.game-brand small{color:#737a94;font-size:9px;letter-spacing:.2em}.tetris-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:22px 0}.tetris-stats span{display:grid;gap:4px;padding:10px;border-radius:9px;background:#ffffff0b;border:1px solid #ffffff0c}.tetris-stats small{color:#777f97;font-size:9px}.tetris-stats b{font:700 17px "SFMono-Regular",Consolas,monospace}.next-label{color:#777f97;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.tetris-next{width:100px;height:76px;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:24px;gap:2px;margin:8px 0 18px;padding:8px;border-radius:8px;background:#090b13}.tetris-help{display:grid;gap:7px;padding:14px 0;border-top:1px solid #ffffff12;color:#8f96aa;font-size:10px}.tetris-help b{color:#d6d9e4}.game-new{height:36px;margin-top:auto;border-radius:9px;background:#386cf5;color:white;font-weight:700}.tetris-mobile{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.tetris-mobile button{height:31px;border-radius:7px;background:#ffffff0d;color:#d8dbe5}.tetris-mobile button:last-child{grid-column:2/4}.game-overlay{position:absolute;inset:0;z-index:5;display:none;place-items:center;align-content:center;gap:10px;border-radius:9px;background:#080a12d9;backdrop-filter:blur(7px);color:white;text-align:center}.game-overlay.show{display:grid}.game-overlay b{font-size:26px}.game-overlay small{color:#a2a7b8}.game-overlay button{height:34px;padding:0 16px;border-radius:17px;background:#0a84ff;color:white}

.game2048-app{width:100%;height:100%;box-sizing:border-box;padding:22px 34px;overflow:hidden;background:#faf8ef;color:#776e65;outline:0}.game2048-app header{display:flex;align-items:end;justify-content:space-between;max-width:430px;margin:0 auto}.game2048-app h1{margin:0;font:900 54px/1 Arial,sans-serif;letter-spacing:-.06em}.game2048-app header p{margin:4px 0 0}.game2048-app header section{display:flex;gap:7px}.game2048-app header section span{min-width:64px;padding:7px 9px;border-radius:5px;background:#bbada0;color:white;text-align:center;display:grid}.game2048-app header small{color:#eee4da;font-size:9px;font-weight:800;text-transform:uppercase}.game2048-app header b{font-size:17px}.g2048-toolbar{max-width:430px;margin:11px auto 8px;display:flex;align-items:center;justify-content:space-between}.g2048-toolbar button{height:32px;padding:0 15px;border-radius:5px;background:#8f7a66;color:white;font-weight:800}.g2048-toolbar span{font-size:11px}.g2048-board{position:relative;width:min(100%,430px);aspect-ratio:1;margin:0 auto;padding:10px;box-sizing:border-box;border-radius:9px;background:#bbada0}.g2048-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px}.g2048-tile{display:grid;place-items:center;border-radius:7px;background:#cdc1b4;color:#776e65;font:900 clamp(22px,4vw,39px) Arial,sans-serif;transition:transform .12s,background .12s}.g2048-tile:not(.empty){animation:g2048-pop .14s ease-out}.g2048-tile.n2{background:#eee4da}.g2048-tile.n4{background:#ede0c8}.g2048-tile.n8{background:#f2b179;color:#f9f6f2}.g2048-tile.n16{background:#f59563;color:#fff}.g2048-tile.n32{background:#f67c5f;color:#fff}.g2048-tile.n64{background:#f65e3b;color:#fff}.g2048-tile.n128{background:#edcf72;color:#fff;font-size:32px}.g2048-tile.n256{background:#edcc61;color:#fff;font-size:32px}.g2048-tile.n512{background:#edc850;color:#fff;font-size:32px}.g2048-tile.n1024{background:#edc53f;color:#fff;font-size:25px}.g2048-tile.n2048,.g2048-tile.super{background:#edc22e;color:#fff;font-size:25px;box-shadow:0 0 24px #edc22e99}.g2048-controls{display:grid;grid-template-columns:repeat(3,42px);gap:4px;justify-content:center;margin-top:8px}.g2048-controls button{height:28px;border-radius:6px;background:#bbada0;color:white;font-weight:900}@keyframes g2048-pop{from{transform:scale(.75)}to{transform:scale(1)}}

@media(max-width:760px){.tetris-app{grid-template-columns:1fr;padding:16px}.tetris-side{display:none}.game2048-app{padding:20px}.g2048-grid{gap:7px}.g2048-board{padding:7px}}
.game2048-app header,.g2048-toolbar{max-width:380px}.g2048-board{width:min(100%,380px)}
.g2048-board{width:min(100%,350px)}

/* Tahoe Arcade menus and refined play states */
.arcade-menu{position:absolute;inset:0;z-index:12;display:none;grid-template-columns:minmax(360px,1.06fr) minmax(280px,.94fr);overflow:hidden;background:#0a0d18;color:#f7f9ff}.arcade-menu.show{display:grid}.arcade-menu-card{display:flex;flex-direction:column;justify-content:center;padding:42px 52px;background:linear-gradient(145deg,#10182b,#0a0d18 72%)}.arcade-mark{color:#4be5ff;font-size:10px;font-weight:900;letter-spacing:.3em}.arcade-mark.warm{color:#c47f51}.arcade-menu h1{margin:10px 0 13px;font:950 58px/.82 Arial,sans-serif;letter-spacing:-.075em}.arcade-menu h1 em{color:#4be5ff;font-style:normal}.arcade-menu p{max-width:420px;margin:0 0 20px;color:#99a4bd;font-size:13px;line-height:1.65}.arcade-menu h2{margin:24px 0 14px;font-size:14px}.arcade-menu label{margin:12px 0 7px;color:#6f7991;font-size:10px;font-weight:800;letter-spacing:.08em}.arcade-primary{width:165px;height:42px;border-radius:11px;background:linear-gradient(135deg,#2f85ff,#4cdfff);color:white;font-weight:850;box-shadow:0 9px 26px #168cff48}.arcade-primary.warm{background:linear-gradient(135deg,#8f6548,#c88b5b);box-shadow:0 9px 26px #8f65484a}.setting-segments{display:flex;gap:6px}.setting-segments button{height:32px;padding:0 13px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff08;color:#aab2c4;font-size:11px}.setting-segments button.active{border-color:#45dff0;background:#1a6273;color:white;box-shadow:inset 0 0 0 1px #73efff33}.setting-segments.warm button{border-color:#5f4a3a22;background:#6c51431a;color:#806b5e}.setting-segments.warm button.active{border-color:#b48361;background:#9c6d4e;color:white;box-shadow:none}.arcade-toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.arcade-toggles button{display:grid;gap:8px;padding:10px;border:1px solid #ffffff0b;border-radius:9px;background:#ffffff06;color:#818ba1;text-align:left;font-size:10px}.arcade-toggles button i{width:28px;height:16px;position:relative;border-radius:9px;background:#313749}.arcade-toggles button i:after{content:"";position:absolute;width:12px;height:12px;left:2px;top:2px;border-radius:50%;background:#9ca3b5;transition:.18s}.arcade-toggles button.active{color:#e7faff}.arcade-toggles button.active i{background:#14a8c0}.arcade-toggles button.active i:after{left:14px;background:white}.arcade-menu-art{position:relative;overflow:hidden;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 45% 40%,#1c416c,#10162a 52%,#090b14)}.arcade-menu-art:before{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:38px 38px;transform:perspective(500px) rotateX(55deg) scale(1.5);opacity:.55}.arcade-menu-art>b{position:relative;margin-top:300px;color:#6ae9ff;font-size:11px;letter-spacing:.35em}.arcade-menu-art>small{position:relative;margin-top:8px;color:#657089}.falling-blocks{position:absolute;width:250px;height:330px;transform:rotate(-8deg)}.falling-blocks i{position:absolute;width:42px;height:42px;border-radius:5px;background:#3ad9ef;box-shadow:44px 0 #3ad9ef,88px 0 #3ad9ef,0 44px #3ad9ef,0 0 25px #31dcef66}.falling-blocks i:nth-child(1){left:62px;top:25px}.falling-blocks i:nth-child(2){left:118px;top:125px;background:#a75cff;box-shadow:44px 0 #a75cff,44px 44px #a75cff,88px 44px #a75cff,0 0 25px #a75cff55}.falling-blocks i:nth-child(3){left:15px;top:220px;background:#ffce3b;box-shadow:44px 0 #ffce3b,0 44px #ffce3b,44px 44px #ffce3b}.falling-blocks i:nth-child(n+4){display:none}.tetris-grid .ghost{opacity:.2;filter:saturate(.6)}.tetris-grid.no-grid{gap:0}.tetris-next-block.hidden{visibility:hidden}.tetris-help kbd{display:inline-grid;min-width:19px;height:18px;place-items:center;margin-right:2px;border:1px solid #ffffff18;border-radius:4px;background:#ffffff0b;color:#dce4f7;font:9px inherit}.game-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto}.game-actions button{height:34px;border-radius:8px;background:#ffffff0c;color:#b8c1d5}.game-overlay>div{display:flex;gap:7px}.game-overlay>div button+button{background:#ffffff16}.g2048-menu{grid-template-columns:.9fr 1.1fr;background:#f6f1e6;color:#665a51}.g2048-menu .arcade-menu-card{background:#f6f1e6;padding:38px 55px}.g2048-menu h1{font-size:74px;color:#776e65}.g2048-menu p{color:#8c7f74}.g2048-menu-art{background:linear-gradient(145deg,#c7aa90,#9b765d)}.g2048-menu-art:before{display:none}.g2048-menu-art>span{position:absolute;bottom:50px;color:#f6ede2;font-size:10px;font-weight:900;letter-spacing:.25em}.number-stack{width:270px;height:270px;display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:rotate(-5deg);filter:drop-shadow(0 25px 24px #563b2e44)}.number-stack i{display:grid;place-items:center;border-radius:16px;background:#eee4da;color:#776e65;font:900 48px Arial;font-style:normal}.number-stack i:nth-child(2){background:#ede0c8}.number-stack i:nth-child(3){background:#f2b179;color:white}.number-stack i:nth-child(4){background:#f59563;color:white}.arcade-note{margin-top:18px;padding:12px;border-radius:9px;background:#eadfce;color:#8a786a;font-size:10px;line-height:1.5}.g2048-toolbar>div{display:flex;gap:6px}.g2048-toolbar>div button+button{background:#b7a99c}.g2048-grid.no-animation .g2048-tile{animation:none!important;transition:none!important}.dock-item[data-dock-kind="running"] .dock-tooltip:after{content:"正在运行";display:block;margin-top:2px;color:#8e8e93;font-size:9px;font-weight:400}

@media(max-width:760px){.arcade-menu{grid-template-columns:1fr}.arcade-menu-art,.g2048-menu-art{display:none}.arcade-menu-card,.g2048-menu .arcade-menu-card{padding:28px}.arcade-menu h1{font-size:48px}}
.tetris-app,.game2048-app{position:relative}

/* 2026 usability pass: Safari, Maps and scientific Calculator */
#win-safari .window-body{background:transparent!important}.safari-fixed{background:#edf1f5!important;color:#17202b!important}.safari-fixed .safari-tabs{order:2;height:36px;padding:4px 12px 3px;background:rgba(221,228,235,.9)!important;border:0!important;gap:5px}.safari-fixed .safari-tab{height:29px;min-width:120px;max-width:220px;border:0!important;border-radius:8px!important;background:transparent!important;color:#53606d!important;box-shadow:none!important}.safari-fixed .safari-tab.active{background:rgba(255,255,255,.82)!important;color:#17202b!important;box-shadow:0 1px 5px #20304018,inset 0 1px #fff!important}.safari-fixed .safari-fixed-toolbar{order:1;height:52px!important;padding:8px 12px!important;gap:7px;background:rgba(238,243,247,.88)!important;border-bottom:1px solid #ffffffb8!important;backdrop-filter:blur(30px) saturate(160%)}.safari-fixed .safari-fixed-toolbar .tool-button{width:32px;height:32px;border:0!important;border-radius:9px!important;background:transparent!important;color:#364453!important;font-size:15px}.safari-fixed .safari-fixed-toolbar .tool-button:hover{background:#ffffffa8!important}.safari-fixed .safari-address{max-width:680px;height:34px!important;margin:0 auto;border:1px solid #ffffffc7!important;border-radius:11px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 2px 10px #24384b12,inset 0 0 0 .5px #536b8014}.safari-fixed .safari-address input{color:#1e2a36!important;font-size:13px!important}.safari-fixed .safari-address .lock{color:#7391a8}.safari-fixed .safari-progress{order:3}.safari-fixed .safari-page{order:4;background:#c7d5df!important}.safari-start-fixed{position:relative;padding:48px 9% 72px!important;background:linear-gradient(180deg,#b8d1e1 0,#dce7ed 42%,#eef1f2 100%)!important;color:#182634!important}.safari-start-fixed:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 15%,#fff9 0 7%,transparent 29%),linear-gradient(155deg,transparent 0 45%,#7aa9bf24 46% 47%,transparent 48%);pointer-events:none}.safari-start-fixed>*{position:relative}.safari-start-fixed .safari-hero{margin:0 0 40px!important;text-align:left!important}.safari-start-fixed .safari-compass{display:none}.safari-start-fixed .safari-hero h1{margin:0;font-size:38px;letter-spacing:-.045em}.safari-start-fixed .safari-hero p{margin:4px 0;color:#5e7180}.safari-start-section-head{max-width:none!important}.safari-start-section-head h2,.safari-reading-row h2{font-size:18px!important;color:#253746!important}.safari-start-fixed .safari-favorites{max-width:none!important;grid-template-columns:repeat(auto-fill,minmax(88px,1fr))!important;gap:18px!important}.safari-start-fixed .safari-favorite{height:96px!important;border:0!important;border-radius:16px!important;background:rgba(255,255,255,.62)!important;color:#253441!important;box-shadow:0 10px 26px #48667815,inset 0 1px #fff!important;backdrop-filter:blur(18px)}.safari-start-fixed .safari-favorite span{width:46px!important;height:46px!important;border-radius:13px!important;background:linear-gradient(145deg,#55b9f8,#1688e7)!important}.safari-privacy-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;margin-top:34px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.58);box-shadow:inset 0 1px #fff}.safari-privacy-card>span{font-size:26px}.safari-privacy-card div{display:grid;gap:3px}.safari-privacy-card small{color:#647786}.safari-privacy-card em{font:700 28px/1 -apple-system;color:#397ba7}.safari-reading-row{margin-top:28px}.safari-reading-row>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.safari-reading-row button{display:grid;gap:4px;padding:15px;border-radius:15px;background:#ffffff8a;color:#263746;text-align:left}.safari-reading-row small{color:#71818d}

.maps-rich{width:100%;height:100%;display:grid;grid-template-columns:310px 1fr;background:#dce8e0;color:#152332}.maps-sidebar{position:relative;z-index:5;min-width:0;padding:12px;background:rgba(246,249,250,.92);border-right:1px solid #7f948a33;box-shadow:8px 0 30px #25382d12;backdrop-filter:blur(28px);overflow:auto}.maps-search-shell{height:38px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;padding:0 5px 0 10px;border:1px solid #64788a22;border-radius:11px;background:white;box-shadow:0 4px 16px #26425a0d}.maps-search-shell span{color:#6f7e89;font-size:19px}.maps-search-shell input{min-width:0;border:0;outline:0;background:transparent;color:#162330}.maps-search-shell button,.maps-primary{height:29px;padding:0 12px;border-radius:8px;background:#0a84ff;color:white;font-weight:700}.maps-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:11px 0 15px;padding:3px;border-radius:10px;background:#dfe5e8}.maps-segments button{height:27px;border-radius:7px;background:transparent;color:#66737c;font-size:11px}.maps-segments button.active{background:white;color:#182633;box-shadow:0 2px 7px #1b2e3f18}.maps-panel-title{display:flex;align-items:baseline;justify-content:space-between;margin:2px 4px 10px}.maps-panel-title h2,.maps-place-detail h2,.maps-route-form h2,.maps-route-result h2{margin:0;font-size:22px;letter-spacing:-.035em}.maps-panel-title span,.maps-place-detail>small,.maps-route-result>small{color:#788892;font-size:11px}.maps-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:20px}.maps-category-grid button{height:66px;display:grid;place-items:center;align-content:center;gap:4px;border:1px solid #71889717;border-radius:12px;background:#fff;color:#3b4c58;font-size:11px}.maps-category-grid i{font-size:19px;font-style:normal}.maps-panel>h3{margin:0 4px 8px;font-size:13px}.maps-place-row{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:9px 7px;border-bottom:1px solid #6b7e8918;background:transparent;color:#1e2e39;text-align:left}.maps-place-row>i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e7edf0;color:#2877a9;font-style:normal}.maps-place-row span{min-width:0;display:grid}.maps-place-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b8992}.maps-place-row em{color:#94a0a7;font-style:normal;font-size:20px}.maps-canvas{position:relative;overflow:hidden}.maps-canvas:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 15px 0 25px #2b493914}.maps-map-tools{position:absolute;z-index:1001;right:14px;top:14px;display:grid;gap:5px}.maps-map-tools button{width:38px;height:36px;border:1px solid #71828e24;border-radius:10px;background:#fffffff0;color:#273b49;box-shadow:0 6px 16px #263f4e24;font-weight:700}.maps-map-tools button.active{background:#ef4f43;color:white}.maps-layer-picker{position:absolute;z-index:1001;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:3px;padding:4px;border-radius:12px;background:#f8fafae8;box-shadow:0 8px 25px #263f4e28;backdrop-filter:blur(18px)}.maps-layer-picker button{height:28px;padding:0 12px;border-radius:8px;background:transparent;color:#61717a;font-size:11px}.maps-layer-picker button.active{background:#fff;color:#172733;box-shadow:0 2px 7px #263f4e18}.maps-route-form label{height:40px;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:7px;margin-top:13px;padding:0 10px;border-radius:10px;background:white}.maps-route-form label i{width:8px;height:8px;border-radius:50%;background:#35b65a}.maps-route-form label i.end{background:#ef4b43}.maps-route-form input{border:0;outline:0;background:transparent}.maps-route-line{display:block;width:2px;height:12px;margin:-1px 0 -12px 17px;background:#9eabb2}.maps-travel-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:15px 0}.maps-travel-modes button{height:34px;border-radius:9px;background:#e3e9ec;color:#68757d;font-size:11px}.maps-travel-modes button.active{background:#d9ecff;color:#0875d1}.maps-route-form>.maps-primary,.maps-route-result>.maps-primary{width:100%;height:36px}.maps-place-photo{height:120px;display:grid;place-items:center;margin-bottom:13px;border-radius:16px;background:linear-gradient(145deg,#badbc6,#91b9cf);color:white;font-size:38px}.maps-place-detail p{color:#65757f;font-size:12px}.maps-place-detail>div:nth-of-type(2){display:flex;gap:6px}.maps-place-detail>div:nth-of-type(2) button{height:33px;padding:0 13px;border-radius:9px;background:#e5ebee;color:#31434f}.maps-place-detail>div:nth-of-type(2) .maps-primary{background:#0a84ff;color:white}.maps-place-detail dl{display:grid;grid-template-columns:55px 1fr;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #71818a22;font-size:12px}.maps-place-detail dt{color:#82919a}.maps-place-detail dd{margin:0}.maps-route-summary{display:grid;gap:3px;margin:14px 0;padding:15px;border-radius:13px;background:#e0f2e5}.maps-route-summary b{font-size:25px;color:#22834a}.maps-route-summary span{color:#65766c;font-size:11px}.maps-step{display:grid;grid-template-columns:18px 1fr;gap:8px;padding:9px 0}.maps-step i{width:9px;height:9px;margin-top:4px;border:3px solid #3b9c63;border-radius:50%}.maps-step span{display:grid}.maps-step small{color:#7c8990}

.calc-scientific{height:100%;box-sizing:border-box;padding:13px!important;background:linear-gradient(160deg,#2e343c,#171a1f)!important}.calc-mode{height:28px;display:flex;align-items:center;justify-content:space-between;color:#aab2ba;font-size:11px}.calc-mode b{color:#f2f5f7;font-size:12px}.calc-expression{width:100%;height:34px;box-sizing:border-box;margin:2px 0 4px;padding:0 10px;border:1px solid #ffffff14;border-radius:8px;background:#0c0e11;color:#bdc8d2;outline:0;font:12px SFMono-Regular,Consolas,monospace}.calc-scientific .calc-display{height:64px;display:flex;align-items:end;justify-content:end;padding:0 8px 8px;box-sizing:border-box;font-size:34px}.calc-workbench{display:grid;grid-template-columns:1fr 1.15fr;gap:8px}.calc-science-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-scientific .calc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-scientific .calc-key{min-width:0;height:48px;border-radius:10px;font-size:14px}.calc-key.science{background:#454b53;color:#edf2f5;font:12px SFMono-Regular,Consolas,monospace}.calc-key.science:hover{background:#58616b}.missioncontrol-icon-glyph{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:9px;box-sizing:border-box}.missioncontrol-icon-glyph i{border-radius:4px;background:linear-gradient(#d8e8f7,#7190af);box-shadow:0 2px 4px #0004}.missioncontrol-icon-glyph i:nth-child(2){transform:translateY(5px)}
