/* One visual and motion vocabulary for the real Flask pages, never the cloud drive. */
:root {
  --andora-font: AndoraHand, AndoraFull, 'Microsoft YaHei', sans-serif;
  --andora-night: #0d182c;
  --andora-surface: #1b2b43;
  --andora-raised: #253953;
  --andora-ink: #f3f4f6;
  --andora-muted: #acbdd3;
  --andora-accent: #9fc6ed;
  --andora-line: #3d516b;
  --andora-control-line: #748aa5;
  --andora-feedback: 170ms;
  --andora-content: 280ms;
  --andora-stagger: 35ms;
  --andora-ease: cubic-bezier(.16, 1, .3, 1);
}
.andora-entry {font-family: var(--andora-font)}

body:is(.andora-live-home, .andora-page-body, .andora-legacy) {
  --font: var(--andora-font);
  --font-story: var(--andora-font);
  --night: var(--andora-night);
  --surface: var(--andora-surface);
  --surface-container: var(--andora-surface);
  --surface-container-high: var(--andora-raised);
  --surface-variant: var(--andora-raised);
  --primary-container: var(--andora-surface);
  --on-primary-container: var(--andora-ink);
  --on-surface: var(--andora-ink);
  --on-surface-variant: var(--andora-muted);
  --primary: var(--andora-accent);
  --on-primary: var(--andora-night);
  --outline: var(--andora-control-line);
  --ink: var(--andora-ink);
  --muted: var(--andora-muted);
  --gold: var(--andora-accent);
  --line: var(--andora-line);
  --error: #ffb8b3;
  --on-error: #471f25;
  background: var(--night);
  color: var(--ink);
  color-scheme: dark;
  font: 17px/1.75 var(--andora-font);
  accent-color: var(--andora-accent);
  caret-color: var(--andora-accent);
  scrollbar-color: var(--andora-line) var(--andora-night);
}

body:is(.andora-live-home, .andora-page-body, .andora-legacy, .andora-entry)
  :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,label,span,small,strong,time,summary,dialog) {
  font-family: var(--andora-font);
}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) :is(button,input,textarea,select) {
  font-size: inherit;
}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) :is(input,textarea,select) {
  color: var(--ink);
  caret-color: var(--andora-accent);
}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) ::placeholder {color: var(--muted); opacity: 1}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) ::selection {background: var(--andora-accent); color: var(--night)}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) :focus-visible {
  outline: 2px solid var(--andora-accent);
  outline-offset: 4px;
}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) a {text-underline-offset: .24em}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) :is(button,a[role=button],summary) {
  cursor: pointer;
  transition: background-color var(--andora-feedback), color var(--andora-feedback),
    scale var(--andora-feedback) var(--andora-ease);
}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) :is(button,a[role=button]):active {scale: .98}
body:is(.andora-live-home, .andora-page-body, .andora-legacy) :disabled {cursor: default; opacity: .6; scale: 1}

/* Preserve the full illustration; its lower edge now lands on the navy page ground. */
.andora-live-home .rooftop::after {background: linear-gradient(transparent, var(--andora-night))} /* taste-skill-ignore: retained illustration edge scrim, not a decorative surface */
.andora-live-home .life {
  --night: var(--andora-night); --ink: var(--andora-ink); --muted: var(--andora-muted);
  --gold: var(--andora-accent); --surface: var(--andora-surface); --line: var(--andora-line);
  background: var(--night); color: var(--ink);
}
.andora-live-home .life :is(button,a),
.andora-live-home .life :is(.section-title>a,#home-summary .anniversary a) {color: var(--ink)}
.andora-live-home .life :is(button,a):hover {color: var(--andora-accent)}
.andora-live-home .life .avatars :is(span,button),
.andora-live-home :is(.albums>a,.shortcuts>a,#div-render-countdown-card article) {
  background: var(--andora-surface); color: var(--andora-ink); border-color: var(--andora-line);
}
.andora-live-home .memory-rows>a {border-color: var(--andora-line)}
.andora-live-home .life footer {color: var(--andora-muted)}
.andora-live-home .life footer a {color: inherit}
.andora-live-home .life ::selection {background: var(--andora-accent); color: var(--andora-night)}

body.andora-page-body>header.andora-app-header {background: var(--night); color: var(--ink)}
.andora-page-body .andora-module-content :is(article,button),
.andora-settings article,
.andora-legacy article.primary-container {background: var(--surface); color: var(--ink)}
.andora-page-body .andora-module-content article,
.andora-settings article {border-radius: 12px; box-shadow: none}
.andora-page-body #detail-content p {color: var(--muted)}
.andora-page-body #detail-content .memory-content {color: var(--ink)}
.andora-page-body .module-subtitle, .andora-settings article>p {color: var(--muted)}
.andora-page-body #detail-content h1 {font-size: clamp(30px,5vw,42px)}
.andora-page-body .andora-module-content button:hover {background: var(--andora-raised)}
.andora-page-body .andora-module-content :is(details,form) {max-width: 70ch}
.andora-page-body .album-grid article {margin: 0}
.andora-page-body .album-grid>p {grid-column: 1 / -1}
.andora-page-body :is(.records,.album-form) :is(input,textarea) {border-color: var(--andora-control-line)}
.andora-legacy>header {background: var(--night); color: var(--ink); box-shadow: none}
.andora-legacy:not(.andora-settings)>main {padding-top: 32px}
.andora-legacy article.primary-container {padding: clamp(24px,5vw,40px); border-radius: 16px; box-shadow: none}
.andora-legacy article.primary-container :is(h1,h6) {font-size: 28px; line-height: 1.4; font-weight: 400; margin: 0 0 20px}
.andora-legacy article.primary-container button[type=submit] {min-width: 120px}
.andora-settings main.responsive {max-width: 960px; padding-inline: 24px}
.andora-settings article {padding: 28px; margin-block: 24px}
.andora-settings article h6 {font-size: 22px; margin-bottom: 20px}
.andora-settings article>p>img {vertical-align: middle; object-fit: cover; border-radius: 50%; margin-right: 10px}
.andora-settings :is(.field,form) {max-width: 65ch}
.andora-settings footer {position: static; background: transparent; color: var(--muted); margin-top: 48px}

body:is(.andora-live-home,.andora-page-body,.andora-legacy) dialog {
  background: var(--andora-surface); color: var(--andora-ink);
  border: 0; border-radius: 16px; padding: 24px;
  max-height: 85svh; overflow: auto;
  font: 17px/1.65 var(--andora-font);
}
.andora-live-home dialog input:not([type=checkbox]) {border-color: var(--andora-control-line)}
.andora-live-home dialog :is(button,a[role=button]) {background: var(--andora-raised); color: var(--andora-ink)}
body:is(.andora-live-home,.andora-page-body,.andora-legacy) dialog::backdrop {background: #050b18b8}
.andora-live-home #home-snackbar {background: var(--andora-raised); color: var(--andora-ink)}
.andora-live-home dialog #home-snackbar {position: static; margin-top: 20px}
body:is(.andora-live-home,.andora-page-body,.andora-legacy) :is([role=status],#upload-results) {
  color: var(--andora-accent); overflow-wrap: anywhere;
}
body:is(.andora-live-home,.andora-page-body,.andora-legacy) [role=status]:not(:empty) {
  margin-block: 16px; padding-block: 8px;
}
.andora-live-home progress.circle {
  appearance: none; width: 20px; height: 20px; vertical-align: middle;
  border: 2px solid var(--andora-control-line); border-top-color: var(--andora-accent);
  border-radius: 50%; background: transparent;
  animation: andora-busy 800ms linear infinite;
}
.andora-live-home progress.circle::-webkit-progress-inner-element {display: none}
@keyframes andora-busy {to {transform: rotate(1turn)}}
.andora-live-home .life .count {font-variant-numeric: tabular-nums}

/* Native close/focus restoration remains immediate; supporting browsers fade the top layer. */
@supports (transition-behavior: allow-discrete) {
  body:is(.andora-live-home,.andora-page-body,.andora-legacy) dialog {
    transition: opacity var(--andora-feedback), display var(--andora-feedback) allow-discrete,
      overlay var(--andora-feedback) allow-discrete;
  }
  body:is(.andora-live-home,.andora-page-body,.andora-legacy) dialog:not([open]) {opacity: 0}
}
html[data-andora-paused] body *, html[data-andora-paused] body *::before,
html[data-andora-paused] body *::after {animation-play-state: paused !important}
@media(max-width:600px) {
  .andora-settings main.responsive {padding-inline: 20px}
  .andora-settings article {padding: 20px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior: auto}
  body:is(.andora-live-home,.andora-page-body,.andora-legacy,.andora-entry) *,
  body:is(.andora-live-home,.andora-page-body,.andora-legacy,.andora-entry) *::before,
  body:is(.andora-live-home,.andora-page-body,.andora-legacy,.andora-entry) *::after {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
}
