/* Warm Utility — dark theme for YouAndMe.
   Applied after app.css. Keeps all existing behavior, changes the visual system. */

:root {
  color-scheme: dark;
  --bg: #17120f;
  --bg-2: #221a15;
  --card: rgba(247, 235, 221, 0.055);
  --card-2: rgba(247, 235, 221, 0.095);
  --line: rgba(232, 209, 186, 0.15);
  --ink: #f7efe5;
  --muted: #b8a695;
  --rose: #d98b68;
  --rose-2: #e6a27f;
  --peach: #efd0b5;
  --lilac: #b7c6a1;
  --gold: #e4b06f;
  --green: #a7bd98;
  --danger: #df746d;
  --hand: 'Fraunces', Georgia, serif;
  --sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --r: 19px;
  --shadow: 0 18px 45px rgba(0, 0, 0, 0.38);
}

body {
  background:
    radial-gradient(120% 85% at 8% -12%, rgba(111, 67, 48, 0.45) 0%, transparent 58%),
    radial-gradient(100% 72% at 100% 4%, rgba(78, 57, 39, 0.38) 0%, transparent 55%),
    linear-gradient(180deg, #241b15 0%, #19130f 46%, #120e0b 100%);
  color: var(--ink);
}

.aurora i:nth-child(1) { background: #c77a58; opacity: .28; }
.aurora i:nth-child(2) { background: #657a50; opacity: .2; }
.aurora i:nth-child(3) { background: #dca66a; opacity: .2; }

.hand, .hello h1, .splash-name, .section-title, .sheet-head h2,
.action .t, .wish-title, .places-where, .question-text, .mv-title,
.mv-row-t, .breath-circle span, .tk-place, .weekly-hero h3, .u-title,
.p-title, .hello h3 {
  font-family: var(--hand);
  letter-spacing: -.015em;
}

.hello h1 { color: var(--peach); font-weight: 600; }
.hello p, .pair-sub, .tiny, .hint { color: var(--muted); }
.section-title { color: var(--peach); }

/* surfaces */
.card, .event, .stat, .wish-card, .cal-card, .simple-card, .goal-card,
.reminder, .place-card, .ticket, .mv-row, .mini div, .panel,
.cal-empty, .mv-empty, .weekly-lines div {
  background: linear-gradient(155deg, rgba(247, 235, 221, .06), rgba(247, 235, 221, .025));
  border-color: var(--line) !important;
}
.hero {
  background:
    radial-gradient(120% 140% at 88% 4%, rgba(217, 139, 104, .28), transparent 56%),
    linear-gradient(150deg, rgba(247, 235, 221, .08), rgba(247, 235, 221, .025));
  border-color: rgba(232, 180, 143, .22);
}
.hero-heart { fill: var(--rose); filter: drop-shadow(0 4px 14px rgba(217, 139, 104, .4)); }
.list-row .lr-ico { background: rgba(247, 235, 221, .07); }
.list-row .chev, .cal-del, .reminder .del, .tiny { color: #9d8a7a; }
.event.unseen { border-color: rgba(217, 139, 104, .45); box-shadow: 0 0 0 1px rgba(217, 139, 104, .08) inset; }
.event .who b { color: var(--peach); }
.event .ttl, .wish-title, .cal-card-txt b, .simple-txt b, .goal-top b, .mv-row-t, .question-text { color: var(--ink); }

/* buttons */
.btn {
  background: linear-gradient(135deg, #d98b68, #e9b183 58%, #b7c6a1);
  color: #27170f;
  box-shadow: 0 10px 26px rgba(217, 139, 104, .22);
  border-radius: 14px;
  font-weight: 700;
}
.btn.ghost { background: rgba(247, 235, 221, .055); color: var(--ink); border: 1px solid var(--line); box-shadow: none; }
.btn.danger { background: linear-gradient(135deg, #d96c65, #b94d49); color: #fff; }
.btn:active, .action:active { transform: scale(.98); }
.quick button, .action {
  background: linear-gradient(155deg, rgba(247, 235, 221, .07), rgba(247, 235, 221, .025));
  border-color: var(--line);
  color: var(--ink);
}
.action { border-radius: 18px; }
.action::after { background: radial-gradient(circle, rgba(217, 139, 104, .25), transparent 70%); }
.action .s, .quick button, .small span { color: var(--muted); }
.hug {
  background: linear-gradient(120deg, #d98b68, #e1ae7e 55%, #b7c6a1);
  color: #29180f;
  box-shadow: 0 14px 30px rgba(147, 91, 59, .25);
}

/* home carousel */
.home-slider {
  border-color: rgba(232, 180, 143, .24);
  background:
    radial-gradient(120% 140% at 88% 4%, rgba(217, 139, 104, .26), transparent 58%),
    linear-gradient(150deg, rgba(247, 235, 221, .09), rgba(247, 235, 221, .025));
}
.home-symbol { background: radial-gradient(circle at 35% 30%, rgba(239, 208, 181, .22), rgba(183, 198, 161, .12) 70%); border-color: rgba(247, 235, 221, .14); }
.home-arrow { color: var(--peach); }
.home-dot { background: rgba(239, 208, 181, .3); }
.home-dot.active { background: var(--peach); }

/* bottom navigation */
.tabbar {
  grid-template-columns: repeat(5, 1fr);
  background: linear-gradient(180deg, rgba(33, 26, 21, .82), rgba(20, 15, 12, .98));
  border-top-color: rgba(232, 209, 186, .12);
}
.tabbar.has-admin { grid-template-columns: repeat(6, 1fr); }
.tab { color: #9d8b7b; font-size: 9px; }
.tab svg { width: 21px; height: 21px; }
.tab[aria-current="page"] { color: var(--peach); }
.tab[aria-current="page"] svg { filter: drop-shadow(0 3px 9px rgba(217, 139, 104, .45)); }
.badge { background: var(--rose); color: #27170f; }

/* sheet and forms */
.sheet { background: linear-gradient(180deg, #2a2019, #1c1510 58%, #15100c); border-top-color: rgba(239, 208, 181, .16); }
.sheet-back { background: rgba(247, 235, 221, .06); border-color: var(--line); color: var(--ink); }
.sheet-head h2 { color: var(--peach); }
.field > span { color: var(--muted); }
.field input, .field textarea, .field select {
  background: rgba(247, 235, 221, .06);
  border-color: var(--line);
  color: var(--ink);
}
.field input:focus, .field textarea:focus, .field select:focus { border-color: rgba(217, 139, 104, .7); }
.chip { background: rgba(247, 235, 221, .055); border-color: var(--line); color: var(--ink); }
.chip[aria-pressed="true"], .seg input:checked + label { background: rgba(217, 139, 104, .2); border-color: rgba(217, 139, 104, .6); color: #f3d7bf; }
.seg, .toggle-row .switch i { background: rgba(247, 235, 221, .06); }
.switch input:checked + i { background: linear-gradient(135deg, #d98b68, #b7c6a1); }
.toggle-row .tl span { color: var(--muted); }
.err { color: #f0a09a; }

/* wishlist */
.wish-card { border-radius: 13px; }
.wish-note, .cal-card-txt small, .simple-txt small { color: #c5b3a2; }
.wish-owner, .wish-place { color: var(--muted); }
.wish-prio-select.p3, .wish-prio.p3 { background: rgba(217, 139, 104, .2); color: #f1b08d; }
.wish-prio-select.p2, .wish-prio.p2 { background: rgba(228, 176, 111, .16); color: #e8c08c; }
.wish-prio-select.p1, .wish-prio.p1 { background: rgba(183, 198, 161, .14); color: #c1d0b0; }
.wish-cat, .wish-prio-select { background-color: rgba(247, 235, 221, .06); border-color: var(--line); color: var(--peach); }
.wish-reserve { border-color: rgba(228, 176, 111, .3); background: rgba(228, 176, 111, .1); color: #e8c08c; }
.wish-surprise { background: rgba(228, 176, 111, .12); border-color: rgba(228, 176, 111, .25); color: #e8c08c; }
.wish-surprise.mine { background: rgba(167, 189, 152, .1); border-color: rgba(167, 189, 152, .26); color: #c1d0b0; }

/* calendar */
.cal-day { background: rgba(247, 235, 221, .045); color: var(--ink); }
.cal-day.today { background: rgba(217, 139, 104, .22); color: #fff; }
.cal-day.has-event::after { background: var(--rose); box-shadow: 0 0 8px rgba(217, 139, 104, .6); }
.cal-weekday, .cal-toolbar > span, .cal-card-txt small, .cal-card-txt .cal-remind { color: #a39180; }
.cal-add { border-color: rgba(217, 139, 104, .35); background: rgba(217, 139, 104, .12); color: #f0c4a4; }
.cal-card-txt span { color: var(--peach); }
.cal-empty { color: var(--muted); }
.cal-card-ico { filter: sepia(.2); }

/* new daily sections */
.simple-card, .goal-card { border-radius: 14px; }
.simple-action { border-color: rgba(228, 176, 111, .3); background: rgba(228, 176, 111, .1); color: #e8c08c; }
.cl-check { border-color: rgba(239, 208, 181, .3); background: rgba(247, 235, 221, .04); color: #c1d0b0; }
.simple-card.done .simple-txt b, .goal-card.done { opacity: .62; }
.goal-bar { background: rgba(247, 235, 221, .09); }
.goal-bar i { background: linear-gradient(90deg, #d98b68, #b7c6a1); }
.weekly-hero h3, .question-type { color: var(--peach); }
.question-card {
  background:
    radial-gradient(circle at 80% 0%, rgba(217, 139, 104, .18), transparent 56%),
    linear-gradient(160deg, #2c211a, #19130f);
  border-color: rgba(239, 208, 181, .16);
}
.question-text { color: #f7efe5; }

/* movies and places */
.mv-tabs, .mini-tabs { background: rgba(247, 235, 221, .055); border-color: var(--line); }
.mv-tabs button, .mini-tabs button { color: #a39180; }
.mv-tabs button.active, .mini-tabs button.active { background: rgba(217, 139, 104, .2); color: #f3d7bf; }
.mv-card { background: linear-gradient(160deg, #30231b, #1b140f 60%, #15100c); border-color: rgba(239, 208, 181, .16); }
.mv-why, .mv-hint { color: #c0ae9e; }
.mv-meta { color: #a39180; }
.mv-btn { background: rgba(247, 235, 221, .07); border-color: var(--line); }
.mv-btn.yes { color: #c1d0b0; background: rgba(167, 189, 152, .12); border-color: rgba(167, 189, 152, .35); }
.mv-btn.no { color: #e8a09a; }
.place-card { border-color: var(--line); }
.place-card.flash { background: rgba(217, 139, 104, .18); border-color: rgba(217, 139, 104, .55); }
.place-source, .place-area, .pc-area { color: var(--muted); }

/* breathing */
.breath-circle { background: radial-gradient(circle at 35% 30%, rgba(217, 139, 104, .58), rgba(183, 198, 161, .16) 64%, rgba(28, 20, 15, .8)); border-color: rgba(239, 208, 181, .22); box-shadow: 0 0 55px rgba(217, 139, 104, .18), inset 0 0 35px rgba(255, 255, 255, .06); }
.breath-circle.partner { background: radial-gradient(circle at 35% 30%, rgba(183, 198, 161, .5), rgba(147, 166, 124, .14) 64%, rgba(28, 20, 15, .8)); box-shadow: 0 0 55px rgba(167, 189, 152, .14), inset 0 0 35px rgba(255, 255, 255, .05); }
.breath-hold { background: linear-gradient(135deg, #d98b68, #b7c6a1); color: #27170f; }

/* misc */
.gate-card, .onboard-card { background: linear-gradient(160deg, rgba(247, 235, 221, .08), rgba(247, 235, 221, .025)); }
.gate-heart { fill: var(--rose); }
.toast { background: #2c211a; border-color: var(--line); color: var(--ink); }
.invite-link { color: var(--peach); border-color: rgba(217, 139, 104, .35); }
.stat b { color: var(--peach); }
.stat span { color: var(--muted); }
.maintenance-card { background: linear-gradient(160deg, rgba(50, 37, 28, .98), rgba(26, 19, 15, .99)); }
.maint-heart, .maint-kicker { color: var(--rose); }
.admin-hero { background: radial-gradient(circle at 10% 20%, rgba(217, 139, 104, .16), rgba(247, 235, 221, .03)); border-color: rgba(217, 139, 104, .18); }
.admin-online b, .admin-mini b, .admin-service b { color: var(--ink); }
.admin-online span, .admin-mini span, .admin-service span { color: var(--muted); }
.admin-user { background: rgba(247, 235, 221, .04); border-color: var(--line); }
.admin-refresh { background: rgba(247, 235, 221, .06); border-color: var(--line); color: var(--peach); }

/* content headings from the old theme that were hard-coded pink */
.section-title, .hello h1, .sheet-head h2, .places-where,
.cal-top b, .weekly-hero h3, .u-title, .p-title { color: var(--peach); }
.mv-title, .picked-name, .cal-card-txt b, .simple-txt b, .goal-top b { color: var(--ink); }

/* theme toggle not needed: this build is dark Warm Utility */

/* Warm Utility — hubs */
.hub-head { margin: 8px 2px 16px; }
.hub-kicker { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: #d19a78; font-weight: 800; margin-bottom: 5px; }
.hub-head h1 { font-size: 32px; line-height: 1.02; margin: 0 0 5px; color: #f3ddc7; font-weight: 600; }
.hub-head p { margin: 0; font-size: 11.5px; line-height: 1.5; color: #b8a695; max-width: 330px; }
.hub-grid { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.hub-grid.two { display: grid; grid-template-columns: 1fr 1fr; }
.hub-card { width: 100%; display: flex; align-items: center; gap: 11px; text-align: left; border: 1px solid rgba(232,209,186,.15); background: linear-gradient(155deg, rgba(247,235,221,.065), rgba(247,235,221,.025)); border-radius: 16px; padding: 13px; color: #f7efe5; }
.hub-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(217,139,104,.15); border: 1px solid rgba(217,139,104,.24); font-size: 20px; flex: none; }
.hub-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.hub-txt b { font-family: Fraunces,Georgia,serif; font-size: 19px; line-height: 1.05; font-weight: 500; }
.hub-txt span { font-size: 9.5px; color: #b8a695; line-height: 1.3; }
.hub-arrow { color: #d8b28f; font-size: 24px; line-height: 1; }
.hub-note { margin-top: 2px; }
.hub-note b { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: #d19a78; }
.hub-note p { margin: 4px 0 0; font-size: 11px; line-height: 1.45; color: #b8a695; }
.plan-hero { width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; border: 1px solid rgba(217,139,104,.28); background: linear-gradient(135deg, rgba(217,139,104,.18), rgba(183,198,161,.09)); border-radius: 19px; padding: 13px; color: #f7efe5; margin-bottom: 12px; }
.plan-hero.empty { border-style: dashed; }
.plan-date { width: 48px; height: 51px; border-radius: 13px; background: rgba(247,235,221,.09); display: flex; flex-direction: column; align-items: center; justify-content: center; flex: none; font-family: Fraunces,Georgia,serif; font-size: 25px; line-height: .9; color: #f0c4a4; }
.plan-date small { font-family: Manrope,sans-serif; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; color: #b8a695; margin-top: 3px; }
.plan-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.plan-txt b { font-family: Fraunces,Georgia,serif; font-size: 21px; font-weight: 500; line-height: 1.05; }
.plan-txt span { font-size: 9.5px; color: #b8a695; }
.hub-list { border-top: 1px solid rgba(232,209,186,.14); }
.hub-row { display: flex; align-items: center; gap: 10px; padding: 10px 2px; border-bottom: 1px solid rgba(232,209,186,.1); }
.hub-dot { width: 7px; height: 7px; border-radius: 50%; background: #d98b68; box-shadow: 0 0 10px rgba(217,139,104,.45); flex: none; }
.hub-row b { display: block; font-size: 11px; }.hub-row span { display: block; font-size: 9px; color: #b8a695; margin-top: 1px; }
@media (max-width: 360px) { .hub-grid.two { grid-template-columns: 1fr; } .hub-head h1 { font-size: 29px; } }
