/* Dream mist glass visual system: soft aurora, translucent surfaces, crisp type. */
.icon-defs { display: none; }
:root {
  --ink: #35495c;
  --muted: #71869a;
  --paper: #f7fbff;
  --line: #dce8f1;
  --lilac: #7789bb;
  --pink: #e8a9bd;
  --coral: #df8f9e;
  --green: #70a99d;
  --shadow: 0 32px 90px #364b6630;
  --screen-bg: #eaf4fc;
  --wallpaper: radial-gradient(ellipse at 12% 9%, #bce7f7 0, transparent 37%), radial-gradient(ellipse at 88% 35%, #f4dce9 0, transparent 39%), radial-gradient(ellipse at 43% 88%, #ced5f2 0, transparent 40%), linear-gradient(145deg, #e5f5fc, #f6eaf4 60%, #e4e8fa);
  --glass: #ffffffa8;
  --glass-strong: #ffffffd4;
  --glass-line: #ffffffd9;
  --glass-shadow: 0 12px 28px #718ba31a, inset 0 1px #ffffffed;
  --accent: #6e9fc4;
  --accent-deep: #547d9f;
  --accent-soft: #d8eaf6;
}

body {
  color: var(--ink);
  background: radial-gradient(ellipse at 50% 8%, #e2f2fb 0, transparent 45%), linear-gradient(135deg, #e9eff8, #f8eaf0 56%, #e8edf8);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.stage { gap: clamp(24px, 5vw, 70px); }
.intro h1, .feature-note h2 { color: #536d88; }
.eyebrow, .note-kicker { color: #7795ad; }
.intro p, .feature-note p { color: #71879b; }
.local-note { border-color: #cbdde9; color: #8093a5; }
.local-note span { color: #d48fa7; }
.version span { color: #6d8298; background: #ffffff9c; }
.feature-note { color: #71869a; }
.note-line { background: linear-gradient(90deg, #e4a9bd, #9bc9e2, transparent); }

.device {
  position: relative;
  padding: 10px;
  border-radius: 48px;
  background: linear-gradient(145deg, #ffffff, #b9d7e9 28%, #efcbd9 67%, #fff);
  box-shadow: 0 34px 95px #536b8830, 0 0 0 1px #ffffffb8, inset 0 0 0 1px #ffffff;
}
.phone-shell {
  background: var(--screen-bg);
  box-shadow: inset 0 0 0 1px #ffffffb8;
}
.statusbar, .home-indicator { background: var(--screen-bg); }
.island { background: #2d3d4c; }
.screen, .page { background: var(--screen-bg); }
.wallpaper {
  background-color: #eaf4fc;
  background-image: radial-gradient(ellipse at 12% 6%, #ffffffa8 0, transparent 28%), radial-gradient(ellipse at 90% 29%, #fff9 0, transparent 29%), var(--wallpaper);
  background-attachment: local;
}

.date-big { color: #587797; }
.date-small { color: #71889e; }
.home-head .icon-button, .icon-button {
  color: #6085a5;
  background: linear-gradient(145deg, #ffffffdd, #eaf5f9b8);
  border: 1px solid #ffffffd9;
  box-shadow: 0 5px 14px #617f991a, inset 0 1px #fff;
  backdrop-filter: blur(14px);
}
.icon-button svg { width: 19px; height: 19px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.relationship-card, .quote-card, .dock, .contact-card, .usage-card, .guide-hero,
.calendar-banner, .book-cover, .album-art {
  border: 1px solid var(--glass-line);
  background: linear-gradient(135deg, #ffffffc9, #e9f5f8a8 52%, #fbeaf1bd);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(18px) saturate(1.2);
}
.relationship-card { border-radius: 22px; padding: 15px; }
.portrait, .top-avatar {
  background: linear-gradient(145deg, #c7e9f3, #e8c8d9 58%, #d8d7f0);
  box-shadow: 0 4px 12px #67859a22, inset 0 1px #fff;
}
.relation-copy b { color: #405b73; }
.relation-copy small, .affection small { color: #7d91a2; }
.affection { color: #d27e99; }
.quote-card { border-radius: 20px; }
.quote-card small { color: #748ba0; }
.quote-card p, .quote-text { color: #536d84; }
.quote-card>span, .quote-weather { color: #d596b0; }
.section-label { color: #536d84; }
.section-label small { color: #8799a8; }

.app { color: #526d84; }
.app-icon {
  width: 56px;
  height: 56px;
  border-radius: 19px;
  color: #5f829f;
  border: 1px solid #ffffffd9;
  background: linear-gradient(145deg, #ffffffd9, #e1f0f7c9 60%, #f7e5edc9);
  box-shadow: 0 8px 18px #45657c1c, inset 0 1px #fff;
  backdrop-filter: blur(12px);
}
.app-icon svg { width: 25px; height: 25px; display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.app:nth-child(4n + 2) .app-icon { color: #bb718d; background: linear-gradient(145deg, #fff, #f9e3eb 75%); }
.app:nth-child(4n + 3) .app-icon { color: #668e9e; background: linear-gradient(145deg, #fff, #dceff2 75%); }
.app:nth-child(4n) .app-icon { color: #8178ad; background: linear-gradient(145deg, #fff, #e8e4f7 75%); }
.app:active .app-icon { transform: scale(.93); }
.mini-apps button {
  border-color: #ffffffd0;
  background: #ffffff80;
  color: #647d92;
  border-radius: 13px;
  backdrop-filter: blur(12px);
}
.mini-apps:not(.custom-app-shortcuts) button {
  min-height: 58px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 3px;
  border-radius: 16px;
  background: linear-gradient(145deg, #ffffffc9, #e9f4f8a8 62%, #f9eaf2b8);
  box-shadow: inset 0 1px #fff, 0 3px 9px #5e789014;
  font-size: 9px;
}
.mini-apps:not(.custom-app-shortcuts) button svg {
  width: 20px;
  height: 20px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mini-apps:not(.custom-app-shortcuts) button:nth-child(4n + 2) { color: #b66e8b; }
.mini-apps:not(.custom-app-shortcuts) button:nth-child(4n + 3) { color: #638a99; }
.mini-apps:not(.custom-app-shortcuts) button:nth-child(4n) { color: #8177a9; }
.dock {
  bottom: 14px;
  height: 66px;
  border-radius: 24px;
  background: linear-gradient(120deg, #ffffffc9, #ebf6f8c9 50%, #fbeaf1cc);
}
.dock button { color: #5d7891; }
.dock button svg { width: 21px; height: 21px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dock button:hover { background: #ffffffa8; }

.topbar, .chat-tabs, .composer-tools, .composer, .typing {
  background: #f4f9fc;
}
.topbar { border-bottom-color: #dfeaf1; }
.back, .top-action, .page-back { color: #62819c; }
.page-back { background: linear-gradient(145deg, #fff, #e8f2f7); box-shadow: 0 3px 10px #68849a1a; }
.top-title b, .page-heading h2 { color: #405b73; }
.top-title small, .page-heading small { color: #8094a5; }
.chat-tabs button.selected { color: #547d9f; border-bottom-color: #75a9cd; }
.chat-log { background: linear-gradient(180deg, #eaf5fb, #f4edf4); }
.chat-stamp { color: #8397a7; }
.msg-avatar { background: linear-gradient(145deg, #d9eef5, #f2dce7); }
.msg-name { color: #778da0; }
.bubble {
  color: #3e5367;
  background: #ffffffdf;
  box-shadow: 0 4px 14px #55708614, inset 0 1px #fff;
  border: 1px solid #ffffffd6;
}
.mine .bubble {
  color: #fff;
  background: linear-gradient(135deg, #7baecd, #8b9dc9 58%, #c27f9a);
  border-color: #ffffff6b;
  box-shadow: 0 5px 14px #718bb52b, inset 0 1px #ffffff40;
}
.composer textarea {
  background: #ffffffed;
  color: #40566b;
  box-shadow: inset 0 0 0 1px #dce8ef, 0 3px 12px #7891a314;
}
.composer>button, .primary-btn {
  color: #fff;
  background: linear-gradient(135deg, #78abc9, #879bc9 60%, #bc809d);
  box-shadow: 0 5px 13px #6e91b12e, inset 0 1px #ffffff55;
}
.secondary-btn { color: #57748e; background: #e6f0f5; }
.composer-tools { color: #748a9d; }
.composer-tools button { color: #62819b; }
.home-indicator button { background: #536678; }

.scroll-page, .scroll-content, .gallery-grid { scrollbar-color: #b7ccd9 transparent; }
.game-tabs button, .diary-filter button, .theme-swatch, .wallpaper-options button {
  border-color: #dce8ef;
  color: #627c91;
  background: #ffffffb8;
}
.game-tabs button.selected, .diary-filter button.selected {
  color: #4c7595;
  border-color: #c6dfec;
  background: linear-gradient(135deg, #dceef5, #eee8f4);
}
.game-card, .inventory-card, .setting-card, .setting-group, .moment-card, .diary-entry,
.guide-step, .book-row, .memory-item, .character-choice, .custom-app-card, .device-card {
  color: #40576c;
  border-color: #ffffffd4;
  background: linear-gradient(145deg, #ffffffed, #f2f8f9e8);
  box-shadow: 0 7px 20px #536f8412, inset 0 1px #fff;
  backdrop-filter: blur(14px);
}
.setting-group button { border-bottom-color: #e5edf1; }
.setting-group button span:last-child { color: #8aa0b1; }
.form-label { color: #71879a; }
.form-label input, .form-label textarea, .form-label select,
.guess-form input, .modal textarea, .modal input {
  color: #40566b;
  border-color: #dce8ef;
  background: #ffffffdc;
}
.switch-row { color: #5e7589; }
.switch-row input:checked { background: #75a8c6; }
.theme-swatch.selected { border-color: #79a8c2; box-shadow: 0 0 0 2px #d9edf5; }
.theme-swatch[data-theme=blush] i { background: linear-gradient(135deg, #bfe5f2, #e7bdd0); }
.theme-swatch[data-theme=sage] i { background: #dbe7de; }
.theme-swatch[data-theme=lavender] i { background: #e2d9f0; }
.theme-swatch[data-theme=night] i { background: #53475f; }
.round-add { color: #5f829f; background: linear-gradient(145deg, #fff, #dcebf3); box-shadow: 0 4px 12px #536e831a; }
.usage-card { color: #4f6b82; }
.usage-bar { background: #d5e4ec; }
.usage-bar i { background: linear-gradient(90deg, #71b3ce, #9b96c6, #d58da9); }
.inventory-item, .memory-tag, .guide-step>i { color: #58748b; background: #e8f1f5; }
.guide-step button, .feed-tools button { color: #5c7890; background: #e5f0f5; }
.guide-step button:hover, .setting-group button:hover, .app:hover { filter: brightness(.98); }
.modal-shade { background: #3446586e; backdrop-filter: blur(5px); }
.modal { color: #40576c; background: linear-gradient(145deg, #ffffff, #edf5f8); box-shadow: 0 14px 50px #263c5238; }
.modal-top button { color: #58758e; background: #e5eff4; }
.toast { background: #344b60ed; }
.house-scene { box-shadow: inset 0 0 0 1px #ffffff80, 0 8px 22px #536d8220; }
.album-art { color: #6787a1; }

body.theme-sage {
  --ink: #405c55;
  --muted: #7a9187;
  --screen-bg: #eff7f1;
  --wallpaper: radial-gradient(ellipse at 10% 10%, #ccebdc 0, transparent 40%), radial-gradient(ellipse at 90% 60%, #e9e5f3 0, transparent 38%), linear-gradient(145deg, #e8f5ee, #f5f3ec 58%, #e5eff1);
  --accent: #70a99d;
}
body.theme-lavender {
  --ink: #514d70;
  --muted: #8582a2;
  --screen-bg: #f4f2fc;
  --wallpaper: radial-gradient(ellipse at 9% 12%, #d5eafa 0, transparent 39%), radial-gradient(ellipse at 85% 25%, #efd8ee 0, transparent 42%), linear-gradient(145deg, #e7effb, #f5e8f5 58%, #e8e8f8);
  --accent: #8b89bd;
}
body.theme-ice {
  --ink: #3d5368;
  --muted: #7e93a5;
  --screen-bg: #f2f8fc;
  --wallpaper: radial-gradient(ellipse at 8% 7%, #d9eff8 0, transparent 42%), radial-gradient(ellipse at 90% 45%, #e7edf4 0, transparent 38%), linear-gradient(145deg, #f8fcff, #e9f3f8 58%, #f4f5fa);
  --accent: #83abc5;
  --glass-line: #fff;
  --glass-shadow: 0 10px 25px #718ba31a, inset 0 1px #fff;
}
body.wall-meadow { --wallpaper: radial-gradient(ellipse at 15% 5%, #dff1d9 0, transparent 40%), radial-gradient(ellipse at 85% 50%, #f5e8d6 0, transparent 42%), linear-gradient(145deg, #e8f2dd, #f4f2e5 60%, #deeee9); }
body.wall-dusk { --wallpaper: radial-gradient(ellipse at 15% 10%, #f8d5dc 0, transparent 42%), radial-gradient(ellipse at 88% 72%, #dacdf0 0, transparent 44%), linear-gradient(145deg, #f6dfe5, #f4e9f1 55%, #dce6f5); }
body.wall-paper { --wallpaper: radial-gradient(ellipse at 12% 8%, #d2edf6 0, transparent 40%), radial-gradient(ellipse at 87% 60%, #f3dfe9 0, transparent 42%), linear-gradient(145deg, #edf7fb, #f8edf4 62%, #e9eafb); }

body.theme-night {
  --ink: #e9eaf2;
  --muted: #adb7c8;
  --screen-bg: #242b39;
  --wallpaper: radial-gradient(ellipse at 16% 9%, #32475a 0, transparent 40%), radial-gradient(ellipse at 88% 64%, #4b3b58 0, transparent 44%), linear-gradient(145deg, #252e3e, #393143 60%, #29384a);
  --glass: #30394acc;
  --glass-strong: #374254e8;
  --glass-line: #b5c7dc30;
  --glass-shadow: 0 12px 28px #0a111e55, inset 0 1px #ffffff1c;
  --accent: #91b9d8;
  --accent-deep: #b3cde4;
  --accent-soft: #3c4c62;
  background: radial-gradient(ellipse at 50% 6%, #465365 0, transparent 42%), linear-gradient(135deg, #1e2633, #2b2b39 58%, #222d38);
}
body.theme-night, body.theme-night .page, body.theme-night .screen,
body.theme-night .statusbar, body.theme-night .topbar, body.theme-night .chat-log,
body.theme-night .chat-tabs, body.theme-night .composer, body.theme-night .composer-tools,
body.theme-night .typing, body.theme-night .home-indicator { color: var(--ink); background-color: var(--screen-bg); }
body.theme-night .phone-shell { background: var(--screen-bg); }
body.theme-night .topbar, body.theme-night .chat-tabs, body.theme-night .composer,
body.theme-night .composer-tools, body.theme-night .typing { background: #283140; }
body.theme-night .relationship-card, body.theme-night .quote-card, body.theme-night .dock,
body.theme-night .contact-card, body.theme-night .usage-card, body.theme-night .guide-hero,
body.theme-night .calendar-banner, body.theme-night .book-cover, body.theme-night .album-art,
body.theme-night .game-card, body.theme-night .inventory-card, body.theme-night .setting-card,
body.theme-night .setting-group, body.theme-night .moment-card, body.theme-night .diary-entry,
body.theme-night .guide-step, body.theme-night .book-row, body.theme-night .memory-item,
body.theme-night .character-choice, body.theme-night .custom-app-card, body.theme-night .device-card {
  color: #e8eaf2;
  background: linear-gradient(145deg, #374355e8, #313949e8);
  border-color: #c5d8e32b;
  box-shadow: var(--glass-shadow);
}
body.theme-night .date-big, body.theme-night .section-label, body.theme-night .top-title b,
body.theme-night .page-heading h2, body.theme-night .relation-copy b, body.theme-night .quote-text,
body.theme-night .quote-card p, body.theme-night .app, body.theme-night .affection,
body.theme-night .setting-group button, body.theme-night .form-label,
body.theme-night .switch-row, body.theme-night .moment-text, body.theme-night .diary-entry h3,
body.theme-night .game-card h3 { color: #e5eaf2; }
body.theme-night .date-small, body.theme-night .relation-copy small, body.theme-night .section-label small,
body.theme-night .top-title small, body.theme-night .page-heading small, body.theme-night .setting-copy,
body.theme-night .safety-note, body.theme-night .local-pill, body.theme-night .form-label,
body.theme-night .moment-foot, body.theme-night .diary-entry p { color: #b2bdca; }
body.theme-night .app-icon, body.theme-night .icon-button, body.theme-night .page-back,
body.theme-night .round-add, body.theme-night .mini-apps button, body.theme-night .dock button,
body.theme-night .game-tabs button, body.theme-night .diary-filter button,
body.theme-night .theme-swatch, body.theme-night .wallpaper-options button,
body.theme-night .secondary-btn, body.theme-night .guide-step button {
  color: #dce8f1;
  background: linear-gradient(145deg, #465368, #394456);
  border-color: #d2e2ee2b;
}
body.theme-night .bubble:not(.mine), body.theme-night .composer textarea,
body.theme-night .form-label input, body.theme-night .form-label textarea,
body.theme-night .form-label select, body.theme-night .guess-form input,
body.theme-night .modal textarea, body.theme-night .modal input {
  color: #e5eaf1;
  background: #2a3443;
  border-color: #71819755;
}
body.theme-night .mine .bubble { color: #fff; background: linear-gradient(135deg, #557895, #71658f 65%, #98677f); }
body.theme-night .chat-log { background: linear-gradient(180deg, #293646, #332f3e); }
body.theme-night .modal { color: #e8eaf2; background: linear-gradient(145deg, #354154, #2b3443); }
body.theme-night .modal-top b, body.theme-night .modal>p { color: #dce4ed; }
body.theme-night .home-indicator button { background: #d6dfeb; }
body.theme-night .toast { background: #111923ed; }
body.theme-night .theme-swatch.selected { border-color: #91b9d8; box-shadow: 0 0 0 2px #91b9d833; }

/* Shared glass surfaces for secondary pages and generated content. */
.care-card, .todo-row, .memory-intro, .smart-status, .device-card,
.character-choice, .custom-app-card, .install-banner, .peek-line {
  border-color: #ffffffd4;
  background: linear-gradient(145deg, #ffffffd9, #edf6f9dc);
  box-shadow: 0 6px 18px #536f8412, inset 0 1px #fff;
  backdrop-filter: blur(14px) saturate(1.12);
}
.care-card { color: #40576c; }
.care-card>span, .smart-status>span { filter: saturate(.78); }
.care-card small, .device-card small, .smart-status small,
.custom-app-card small, .character-choice small, .todo-row,
.peek-line, .music-now small { color: #71879a; }
.house-scene { border: 1px solid #ffffffd0; }
.house-art { box-shadow: 0 8px 20px #536b8830; }
.diary-date { background: linear-gradient(145deg, #e5f1f7, #eee6f3); color: #597894; }
.memory-intro { color: #58748b; }
.memory-intro small { color: #7d91a2; }
.memory-item p, .peek-line b { color: #435d73; }
.memory-tag { border: 1px solid #fff; }
.feed-empty { color: #71879a; }
.moment-foot { border-color: #e4edf2; color: #8193a3; }
.contact-card b, .smart-status b, .custom-app-card b,
.character-choice b, .music-now b { color: #405b73; }
.setting-group button { color: #435c72; }
.setting-group button span:last-child { color: #7790a3; }
.todo-row { border-color: #e4edf2; }
.todo-row input { accent-color: #6e9fc4; }
.install-banner { border-color: #d8e7ef; }
.install-banner b, .install-step b { color: #405b73; }
.install-banner small, .install-step { color: #71879a; }
.install-step i { background: #e3eff5; color: #587a95; }
.character-choice.selected { border-color: #9dbed0; background: linear-gradient(145deg, #fff, #e7f3f7); }
.character-remove { color: #b76e87; background: #fae9ee; }
.custom-app-card>span { color: #6489a6; background: #e4f0f5; }
.custom-app-card button { color: #55758e; background: #e5f0f5; }
.custom-app-card button:last-child { color: #ad6d85; background: #f9e7ec; }
.device-card.on { background: linear-gradient(145deg, #e4f2ed, #edf6f4); border-color: #cadfd9; }
.device-card.on i { background: #6fa899; }
.album-art { border-radius: 28px; }
.music-controls button { color: #5d7891; }
.music-controls .play-button { background: linear-gradient(135deg, #78abc9, #879bc9 60%, #bc809d); }
.music-progress { background: #dce8ef; }
.music-progress i { background: linear-gradient(90deg, #71b3ce, #9b96c6, #d58da9); }
#page-customize .theme-options { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.modal .theme-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.theme-swatch { min-width: 0; padding: 7px 2px; white-space: nowrap; font-size: 8px; }
.theme-swatch[data-theme=ice] i { background: linear-gradient(135deg, #eaf7fc, #b9d4e4); }
.theme-swatch[data-theme=night] i { background: linear-gradient(135deg, #263344, #78889a); }
.theme-swatch[data-theme=lavender] i { background: linear-gradient(135deg, #f5e5ee, #d4bedf); }
.theme-swatch[data-theme=sage] i { background: linear-gradient(135deg, #e3eee4, #a8c0b2); }
.wallpaper-options button:focus-visible, .theme-swatch:focus-visible,
.dock button:focus-visible, .app:focus-visible .app-icon { outline-color: #709fc0; }
.page, .wallpaper { background-color: var(--screen-bg); }
.page-heading, .page-heading h2, .scroll-page, .scroll-content { color: var(--ink); }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline-color: var(--accent);
  outline-offset: 3px;
}

body.theme-night .care-card, body.theme-night .todo-row, body.theme-night .memory-intro,
body.theme-night .smart-status, body.theme-night .install-banner, body.theme-night .peek-line,
body.theme-night .character-choice, body.theme-night .custom-app-card {
  color: #e8eaf2;
  background: linear-gradient(145deg, #374355e8, #313949e8);
  border-color: #c5d8e32b;
  box-shadow: var(--glass-shadow);
}
body.theme-night .care-card, body.theme-night .care-card b,
body.theme-night .setting-group button, body.theme-night .device-card b,
body.theme-night .custom-app-card b, body.theme-night .character-choice b,
body.theme-night .contact-card b, body.theme-night .smart-status b,
body.theme-night .music-now b, body.theme-night .memory-item p,
body.theme-night .peek-line b { color: #e5eaf2; }
body.theme-night .care-card small, body.theme-night .device-card small,
body.theme-night .smart-status small, body.theme-night .custom-app-card small,
body.theme-night .character-choice small, body.theme-night .todo-row,
body.theme-night .peek-line, body.theme-night .memory-intro small,
body.theme-night .music-now small, body.theme-night .install-banner small,
body.theme-night .install-step { color: #b2bdca; }
body.theme-night .todo-row { border-color: #4a5667; }
body.theme-night .memory-intro { color: #dce8f1; }
body.theme-night .device-card.on { background: linear-gradient(145deg, #354e4c, #35434c); border-color: #6f9994; }
body.theme-night .character-choice.selected { background: #3e4b5d; border-color: #91b9d8; }
body.theme-night .character-remove, body.theme-night .custom-app-card button:last-child { color: #f0c2d0; background: #594350; }
body.theme-night .custom-app-card button { color: #dce8f1; background: #465368; }
body.theme-night .diary-date, body.theme-night .inventory-item,
body.theme-night .memory-tag, body.theme-night .guide-step>i { color: #dce8f1; background: #465368; }
body.theme-night .moment-foot { color: #b2bdca; border-color: #465264; }
body.theme-night .music-controls button { color: #dce8f1; }
body.theme-night .music-progress { background: #4a586b; }
body.theme-night .theme-swatch { color: #dce8f1; }

body.theme-ice .relationship-card, body.theme-ice .quote-card,
body.theme-ice .setting-card, body.theme-ice .setting-group,
body.theme-ice .moment-card, body.theme-ice .diary-entry,
body.theme-ice .care-card, body.theme-ice .device-card {
  background: linear-gradient(145deg, #ffffffed, #f1f7f9e8);
  border-color: #fff;
}

@media (max-width: 900px) {
  .stage { gap: 20px; }
  .intro h1 { font-size: 28px; }
}
@media (max-width: 650px) {
  body { background: var(--screen-bg); }
  .device { padding: 0; border-radius: 0; background: none; box-shadow: none; }
  .phone-shell { border-radius: 0; box-shadow: none; }
  .wallpaper { padding-top: 12px; }
  .dock { bottom: max(14px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: no-preference) {
  .app-icon, .dock, .relationship-card, .quote-card, .primary-btn, .secondary-btn {
    transition: transform .18s ease, box-shadow .2s ease, filter .2s ease;
  }
  .app:hover .app-icon { transform: translateY(-2px); box-shadow: 0 12px 22px #45657c25, inset 0 1px #fff; }
  .relationship-card:hover, .quote-card:hover { box-shadow: 0 15px 32px #718ba326, inset 0 1px #fff; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
