/* Translucent surfaces with opaque fallbacks where blur is unavailable. */
:root {
  --glass:rgba(255,255,255,.58);
  --glass-strong:rgba(255,255,255,.7);
  --glass-toolbar:rgba(255,255,255,.48);
  --glass-edge:rgba(255,255,255,.9);
  --glass-shadow:0 12px 32px rgba(39,51,44,.07), inset 0 1px 0 rgba(255,255,255,.7);
}
:root[data-mode="dark"] {
  --glass:rgba(34,44,39,.65);
  --glass-strong:rgba(34,44,39,.8);
  --glass-toolbar:rgba(34,44,39,.5);
  --glass-edge:rgba(255,255,255,.14);
  --glass-shadow:0 12px 32px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.1);
}
body { isolation:isolate; }
body::before {
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse at 8% 12%,color-mix(in srgb,var(--sage) 32%,transparent),transparent 52%),radial-gradient(ellipse at 96% 45%,color-mix(in srgb,var(--apricot) 26%,transparent),transparent 48%),radial-gradient(ellipse at 24% 90%,color-mix(in srgb,var(--sage) 24%,transparent),transparent 50%);
}
.crest-mark { width:36px; height:36px; border-radius:11px; object-fit:contain; box-shadow:0 3px 10px #08254220; }
.card,.mini-card,.library-card,.theme-choice,.hero,.entry-dialog { box-shadow:var(--glass-shadow); border:1px solid var(--glass-edge); }
.hero { background:linear-gradient(130deg,color-mix(in srgb,var(--sage-soft) 82%,transparent),var(--glass-strong)); }
.card,.mini-card,.library-card,.theme-choice,.entry-dialog { background:var(--paper); }
.tabbar { background:var(--glass-strong); border-color:var(--glass-edge); box-shadow:var(--glass-shadow); }
.entry-dialog { border-radius:24px; }
.app-shell { padding-bottom:calc(112px + env(safe-area-inset-bottom)); }
.profile-control { position:relative; z-index:20; }
.profile-dropdown { position:absolute; top:calc(100% + 12px); right:0; width:210px; padding:14px 10px 8px; border:1px solid var(--glass-edge); border-radius:19px; background:var(--paper); box-shadow:var(--glass-shadow); }
.profile-dropdown .eyebrow { padding:0 10px 8px; }
.profile-option { display:flex; align-items:center; gap:12px; width:100%; padding:13px 10px; background:transparent; color:var(--ink); border:0; border-radius:11px; text-align:left; font-size:14px; }
.profile-option:hover,.profile-option:focus-visible { background:color-mix(in srgb,var(--sage-soft) 70%,transparent); }
.tool-link { display:block; margin-top:18px; color:var(--sage-dark); font-size:12px; font-weight:700; }
.household-tools .mini-card { min-height:190px; }
.household-tools .card-icon { margin-bottom:14px; }
.more-hero { margin-bottom:4px; }
.tabbar { right:auto; left:50%; bottom:calc(12px + env(safe-area-inset-bottom)); width:calc(100% - 24px); max-width:460px; transform:translateX(-50%); gap:0; padding:8px; border:1px solid var(--glass-edge); border-radius:25px; background:var(--paper); box-shadow:0 12px 38px #17261d25,inset 0 1px 0 #ffffff75; }
.nav-item { flex:1; min-width:0; padding:8px 2px; border-radius:17px; gap:5px; color:var(--muted); transition:background .15s; }
.nav-item.active { background:color-mix(in srgb,var(--sage-soft) 65%,transparent); color:var(--sage-dark); box-shadow:inset 0 1px 0 #ffffff45; }
.floating-add { bottom:calc(98px + env(safe-area-inset-bottom)); }
.pill:not(.active),.quick-button,.day-pill,.date-chip:not(.selected),.icon-button { background:var(--paper); border:1px solid var(--glass-edge); }
.setting-row { width:100%; background:transparent; color:var(--ink); border-right:0; border-left:0; border-top:0; text-align:left; }
.avatar-button { background:color-mix(in srgb,var(--sage-soft) 60%,transparent); border-color:var(--glass-edge); }
.sticky-note { background:rgba(251,239,189,.65); border:1px solid rgba(255,255,255,.65); box-shadow:var(--glass-shadow); }
.sticky-1 { background:rgba(226,236,213,.65); }.sticky-2 { background:rgba(242,220,232,.65); }
:root[data-mode="dark"] .sticky-note { background:rgba(75,67,46,.67); border-color:var(--glass-edge); }
:root[data-mode="dark"] .sticky-1 { background:rgba(52,70,50,.67); }:root[data-mode="dark"] .sticky-2 { background:rgba(80,58,72,.67); }
.countdown { background:linear-gradient(130deg,rgba(53,73,59,.83),rgba(53,73,59,.63)); border:1px solid var(--glass-edge); box-shadow:var(--glass-shadow); }
.budget-card,.message-bubble { background:color-mix(in srgb,var(--sage-soft) 88%,var(--paper)); }
.library-card p { color:var(--muted); }
.theme-choice.chosen { border-color:var(--sage-dark); }
.primary-button,.quick-button,.pill,.avatar-button { box-shadow:inset 0 1px 0 #ffffff22; }
:root[data-mode="dark"] .hero { background:linear-gradient(130deg,var(--sage-soft),var(--glass)); }
:root[data-mode="dark"] .library-card { background:var(--glass); }
:root[data-mode="dark"] .tabbar { background:var(--paper); }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .card,.mini-card,.library-card,.theme-choice { background:var(--glass); -webkit-backdrop-filter:blur(16px) saturate(130%); backdrop-filter:blur(16px) saturate(130%); }
  .hero { -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
  .tabbar,:root[data-mode="dark"] .tabbar { background:var(--glass-toolbar); -webkit-backdrop-filter:blur(30px) saturate(165%); backdrop-filter:blur(30px) saturate(165%); }
  .entry-dialog,.profile-dropdown { background:var(--glass-strong); -webkit-backdrop-filter:blur(24px) saturate(140%); backdrop-filter:blur(24px) saturate(140%); }
  .sticky-note,.countdown,.avatar-button { -webkit-backdrop-filter:blur(16px) saturate(125%); backdrop-filter:blur(16px) saturate(125%); }
  .pill:not(.active),.quick-button,.day-pill,.date-chip:not(.selected),.icon-button { background:var(--glass); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
  :root[data-mode="dark"] .quick-button,:root[data-mode="dark"] .day-pill { background:var(--glass); }
}
@media(prefers-reduced-transparency:reduce) {
  .card,.mini-card,.library-card,.theme-choice,.hero,.tabbar,.entry-dialog,.profile-dropdown,.pill,.quick-button,.day-pill,.date-chip,.icon-button,.avatar-button { background:var(--paper) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  .sticky-note,.countdown { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
}
