/* A calm, translucent Home. The full calendar stays in Schedule. */
body[data-screen='home'] {
  background:
    radial-gradient(ellipse at 16% 8%,#315b504a,transparent 55%),
    radial-gradient(ellipse at 88% 42%,#59507924,transparent 53%),
    radial-gradient(ellipse at 65% 100%,#23443a26,transparent 50%),#101716;
  background-attachment:fixed;
}
body[data-screen='home'] .shell { max-width:1050px; }
body[data-screen='home'] .shell header { padding-top:27px; padding-bottom:14px; }
body[data-screen='home'] .brand { font-size:25px; letter-spacing:-1px; }
body[data-screen='home'] .brand img { background:linear-gradient(140deg,#c8efd8,#97c7ad); border:1px solid #d7fce647; padding:6px; border-radius:14px; box-shadow:inset 0 1px 0 #fff5; }
body[data-screen='home'] .local { background:#b6d5c80a; border:1px solid #dbfff00f; color:#a7beb1; font-size:9px; max-width:none; }
body[data-screen='home'] #content { display:block; }
.home-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start; }
.home-welcome { grid-column:1/-1; padding:22px 2px 5px; }
.home-eyebrow { color:#9fb8ab; font-size:9px; font-weight:600; letter-spacing:1.5px; margin:0 0 10px; }
.home-welcome h1 { font-size:36px; line-height:1.12; letter-spacing:-1.5px; margin:0 0 11px; font-weight:550; }
.home-welcome > p:last-child { margin:0; font-size:14px; color:#9bb1a7; line-height:1.5; }
.glass-panel {
  background:linear-gradient(140deg,#edfff50c,#e6e6ff03),#17211ee6;
  border:1px solid #d5ffe51c;
  box-shadow:inset 0 1px 0 #f3fff20d,inset 0 -1px 0 #ffffff03,0 20px 60px #050d071c;
  -webkit-backdrop-filter:blur(24px) saturate(135%);
  backdrop-filter:blur(24px) saturate(135%);
  border-radius:28px;
}
.home-week { padding:24px; }
.week-topline { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.week-topline h2 { font-size:19px; letter-spacing:-.5px; font-weight:550; margin:0 0 5px; }
.week-topline p { font-size:12px; color:#9dafaa; margin:0; }
.week-arrows { display:flex; align-items:center; gap:0; }
.week-arrows button { display:grid; place-items:center; min-width:38px; min-height:44px; border-radius:14px; padding:6px; font-size:23px; font-weight:400; color:#b0c2b8; background:transparent; }
.week-arrows [data-today] { font-size:11px; padding:8px; }
.week-arrows button:hover { background:#d4ffe50a; }
.week-strip { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; margin:24px 0 16px; }
.week-date { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-width:0; min-height:96px; padding:13px 2px 10px; border-radius:19px; border:1px solid transparent; background:transparent; color:#96ada1; font-weight:400; transition:background .2s,border-color .2s,color .2s; }
.week-date > span { font-size:11px; }
.week-date > strong { font-size:19px; line-height:1; font-weight:550; color:#dae5dc; }
.week-date > i { height:4px; width:4px; border-radius:50%; background:transparent; }
.week-date.has-dinner > i { background:#a8e5bf; box-shadow:0 0 8px #a8e5bf55; }
.week-date.is-today:not(.selected) > strong { color:#bbf3d3; }
.week-date.selected { background:linear-gradient(155deg,#c7ffe122,#acffd307); border-color:#c2fddb30; color:#d8f7e8; box-shadow:inset 0 1px 0 #edfff614,0 4px 18px #0001; }
.week-date.selected > strong { color:#c5f4d8; }
.week-date:hover:not(.selected) { background:#d4ffe50a; }
.week-summary { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#899f91; font-size:11px; padding-bottom:16px; border-bottom:1px solid #ceffe311; }
.week-summary > span > strong { color:#c3d8ca; font-weight:500; }
.week-summary button { display:flex; align-items:center; gap:4px; min-height:36px; background:none; padding:4px 0 4px 10px; color:#b4cdbe; font-size:11px; font-weight:450; }
.week-summary svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.6; }
.selected-dinner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:24px; min-height:175px; }
.selected-dinner-copy { min-width:0; flex:1; }
.selected-dinner .home-eyebrow { font-size:8px; letter-spacing:1.4px; margin-bottom:9px; }
.selected-dinner h3 { font-size:25px; letter-spacing:-.75px; line-height:1.2; font-weight:550; margin:0 0 9px; overflow-wrap:anywhere; }
.selected-dinner-copy > p:not(.home-eyebrow) { color:#94ac9e; font-size:12px; line-height:1.6; margin:0; }
.dinner-edit { display:inline-flex; align-items:center; gap:12px; background:#d0ffe40b; color:#bee6cf; border:1px solid #cbffdf19; border-radius:12px; font-size:11px; font-weight:500; min-height:40px; padding:8px 13px; margin-top:17px; }
.dinner-edit svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.7; }
.dinner-edit span { font-size:17px; line-height:1; }
.dinner-mascot { display:grid; place-items:center; width:80px; height:80px; flex-shrink:0; border-radius:50%; background:radial-gradient(circle at 32% 24%,#d5f7df,#90c8ad); box-shadow:0 0 38px #9bd4b91a,inset 0 1px 0 #fff9; transform:rotate(5deg); }
.dinner-mascot img { width:59px; height:59px; object-fit:contain; }
.home-layout .home-chat { margin:0; padding:26px; background:linear-gradient(150deg,#d9d4ff0b,#d2ffdf03),#19221feb; border-color:#d7e6ff1c; }
.home-layout .chat-heading { display:flex; align-items:center; gap:8px; justify-content:space-between; }
.home-layout .ai-label { font-size:9px; letter-spacing:1.3px; color:#b5c9bf; font-weight:550; gap:8px; }
.ai-spark { width:26px; height:26px; display:grid; place-items:center; border:1px solid #dfd6ff26; border-radius:9px; background:linear-gradient(140deg,#b3f0d519,#bfa6f722); color:#d4c5f6; }
.ai-spark svg { width:15px; height:15px; }
.home-layout .chat-date { background:#e3d8ff09; border:1px solid #e5dfff0e; color:#acb8b1; padding:6px 9px; font-size:10px; }
.home-layout .home-chat h2 { font-size:32px; font-weight:550; letter-spacing:-1.2px; line-height:1.2; margin:23px 0 10px; }
.home-layout .chat-help { margin:0 0 22px; color:#9bb0a3; font-size:13px; line-height:1.7; }
.composer-glow { position:relative; isolation:isolate; border-radius:19px; padding:1.5px; background:linear-gradient(115deg,#96d6c3,#9fbfe8,#d5a8de,#edb6a6,#d2ddb0,#9adac8); background-size:300% 100%; animation:prism-drift 14s ease-in-out infinite alternate; }
.composer-glow::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:inherit; filter:blur(15px); opacity:.22; pointer-events:none; transition:opacity .3s; }
.composer-glow:focus-within::before { opacity:.44; }
.home-layout .chat-composer { position:relative; z-index:0; align-items:flex-end; padding:13px; gap:10px; border-radius:17.5px; background:linear-gradient(145deg,#23312b,#19231f); border:0; box-shadow:inset 0 1px 0 #ffffff07; }
.home-layout .chat-composer textarea { min-height:70px; max-height:200px; font-size:16px; line-height:1.55; padding:3px 2px; color:#e7f4ec; resize:vertical; border-radius:5px; }
.home-layout .chat-composer textarea::placeholder { color:#94a79a; }
.home-layout .chat-composer button { width:40px; height:40px; min-height:40px; background:linear-gradient(140deg,#d3f6df,#a2d2b6); color:#193d2a; box-shadow:0 3px 12px #0002,inset 0 1px 0 #fff6; padding:10px; }
.home-layout .chat-composer button:disabled { opacity:.45; }
.home-layout .chat-prompts { display:flex; gap:6px; flex-wrap:wrap; margin-top:16px; }
.chat-prompts button { background:#d6f4e306; border:1px solid #d1e9db13; color:#aebfb3; min-height:36px; padding:8px 11px; font-size:10px; font-weight:450; border-radius:30px; }
.chat-prompts button:hover { background:#d6f4e310; color:#def7e5; }
.chat-prompts button:disabled { opacity:.4; }
.home-layout .chat-bottom { margin-top:12px; }
.home-layout .chat-bottom > span { color:#8fa497; font-size:9px; line-height:1.7; }
.home-layout #home-chat-status { border:1px solid #c5f1d51c; color:#c3dacb; background:#162c2180; }
.home-layout #home-chat-status.chat-error { color:#efb5a8; border-color:#d99c8d24; background:#382a2680; }
.week-plan-action { border-top:1px solid #dce9e110; margin-top:22px; padding-top:21px; display:flex; justify-content:space-between; gap:10px; align-items:center; }
.week-plan-action strong { display:block; color:#d4e4d9; font-size:12px; font-weight:500; }
.week-plan-action span { display:block; color:#8fa598; font-size:10px; line-height:1.5; margin-top:5px; }
.week-plan-action button { flex-shrink:0; display:flex; align-items:center; justify-content:center; gap:6px; min-height:42px; border-radius:13px; padding:11px 13px; font-size:11px; font-weight:500; border:1px solid #b2e7c930; background:linear-gradient(135deg,#bcf1cf1a,#cfffe50b); color:#cbf1d8; }
.week-plan-action svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.5; }
.home-layout .unscheduled-link { grid-column:1/-1; margin:0; padding:2px; font-size:12px; }
body[data-screen='home'] .bottom-nav { background:linear-gradient(150deg,#d4f7e712,#d8daff04),#19221eda; border:1px solid #e3ffec26; box-shadow:inset 0 1px 0 #fff1,0 10px 30px #0004; -webkit-backdrop-filter:blur(25px) saturate(150%); backdrop-filter:blur(25px) saturate(150%); }
body[data-screen='home'] .bottom-nav button.active { background:linear-gradient(135deg,#ddffec1a,#eafff109); box-shadow:inset 0 1px 0 #effff315; color:#e1f6e8; }
body[data-screen='home'] .bottom-nav button { transition:background .2s,color .2s; }
@keyframes prism-drift { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@media(min-width:900px) { .home-layout { gap:23px; } .home-welcome { padding-top:31px; padding-bottom:11px; } .home-week { padding:29px; } }
@media(max-width:759px) {
  .home-layout { grid-template-columns:1fr; gap:16px; }
  .home-welcome { padding:10px 2px 3px; }
  .home-welcome h1 { font-size:28px; letter-spacing:-1px; margin-bottom:7px; }
  .home-welcome .home-eyebrow { display:none; }
  .home-welcome > p:last-child { font-size:12px; }
  .home-week { padding:18px; border-radius:25px; }
  .week-topline h2 { font-size:17px; }
  .week-topline p { font-size:11px; }
  .week-arrows button { min-width:32px; }
  .week-arrows [data-today] { font-size:10px; padding:7px; }
  .week-strip { gap:3px; margin:12px 0 3px; }
  .week-date { min-height:66px; gap:8px; border-radius:15px; padding:8px 1px 5px; }
  .week-date > span { font-size:10px; }
  .week-date > strong { font-size:17px; }
  .week-summary { padding-bottom:6px; font-size:10px; }
  .week-summary button { font-size:10px; }
  .selected-dinner { padding-top:16px; min-height:113px; gap:12px; }
  .selected-dinner h3 { font-size:21px; }
  .selected-dinner-copy > p:not(.home-eyebrow) { font-size:11px; }
  .selected-dinner.is-empty .selected-dinner-copy > p:not(.home-eyebrow) { display:none; }
  .dinner-mascot { height:61px; width:61px; }
  .dinner-mascot img { width:47px; height:47px; }
  .dinner-edit { margin-top:9px; }
  .home-layout .home-chat { padding:21px 19px; border-radius:25px; }
  .home-layout .home-chat h2 { font-size:29px; margin-top:19px; }
  .home-layout .chat-help { font-size:12px; margin-bottom:19px; }
  .home-layout .chat-composer { padding:11px; }
  .home-layout .chat-composer textarea { min-height:68px; }
  .home-layout .chat-prompts { gap:5px; margin-top:14px; }
  .chat-prompts button { padding:8px 10px; }
  .week-plan-action { margin-top:18px; padding-top:18px; }
  body[data-screen='home'] .shell header { padding-top:20px; padding-bottom:13px; }
  body[data-screen='home'] .brand { font-size:24px; }
  body[data-screen='home'] .local { max-width:85px; padding:6px 8px; font-size:8px; }
}
@media(max-width:359px) {
  .home-welcome h1 { font-size:25px; }
  .home-week { padding:15px; }
  .home-layout .home-chat { padding:20px 16px; }
  .week-plan-action { align-items:flex-start; flex-direction:column; }
  .week-plan-action button { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .composer-glow { animation:none; background-position:50% 50%; }
  .composer-glow::before,.week-date,body[data-screen='home'] .bottom-nav button { transition:none; }
}
