*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#061426;color:#eef7ff;font-family:Inter,Segoe UI,Arial,sans-serif}.wrap{width:min(1180px,92%);margin:auto}header{position:sticky;top:0;z-index:20;background:rgba(4,18,36,.92);backdrop-filter:blur(15px);border-bottom:1px solid #1c4164}.nav{height:72px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;font-weight:800;font-size:23px;margin-right:auto}.brand img{width:42px;height:42px;border-radius:12px}.brand span span,.iq{color:#19b7ff}nav{display:flex;gap:26px}nav a,footer a{color:#bed2e5;text-decoration:none;font-size:14px}.signin,.primary{border:0;border-radius:10px;background:linear-gradient(135deg,#078eff,#28d6f4);color:white;font-weight:700;padding:12px 20px;cursor:pointer}.hero{height:600px;position:relative;overflow:hidden}.hero-art{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,13,28,.93) 0%,rgba(2,13,28,.68) 35%,rgba(2,13,28,.08) 70%)}.hero-copy{position:absolute;inset:0;display:flex;align-items:center}.hero-text{max-width:580px}.eyebrow{color:#45cfff;font-weight:800;font-size:12px;letter-spacing:2.2px}.hero h1{font-size:60px;line-height:1.02;margin:13px 0}.hero h1 span{color:#33c8ff}.hero p,.section-title p,.brand-grid p{font-size:18px;line-height:1.65;color:#c3d3e1}.actions{display:flex;gap:12px;margin-top:28px}.secondary{border:1px solid #5d7e9c;border-radius:10px;padding:12px 20px;color:#eef7ff;text-decoration:none}.section{padding:90px 0}.section-title{max-width:720px;margin-bottom:38px}.section-title h2,.brand-grid h2{font-size:38px;margin:8px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article{background:#0b213a;border:1px solid #1e4669;border-radius:18px;padding:28px}.cards h3{font-size:21px;margin:15px 0 8px}.cards p{color:#aebfd0;line-height:1.6}.ico{width:43px;height:43px;border-radius:12px;background:#0a3558;color:#3bd3ff;display:grid;place-items:center;font-size:22px}.workspace{background:#081a30;padding:90px 0;border-block:1px solid #163a5b}.compact{margin-bottom:28px}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:530px;background:#071527;border:1px solid #235078;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px #0005}.app-shell aside{background:#0a2039;padding:20px;border-right:1px solid #214663}.side-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;margin-bottom:18px}.side-head button{background:#0d365a;color:#47d4ff;border:0;border-radius:8px;font-size:20px}.list-tab{width:100%;border:0;background:transparent;color:#dcecff;text-align:left;padding:14px;border-radius:10px;display:flex;justify-content:space-between;margin:4px 0}.list-tab small{color:#7f9db8}.list-tab.active{background:#0b3c62;border:1px solid #156398}.list-panel{padding:30px}.list-head{display:flex;justify-content:space-between;align-items:center}.list-head h3{font-size:28px;margin:5px 0}.sync{font-size:12px;color:#55dfba}.add-row{display:flex;gap:10px;margin:25px 0}.add-row input{flex:1;background:#0c2239;border:1px solid #285274;border-radius:10px;padding:14px;color:#fff}.add-row button{border:0;border-radius:10px;padding:0 22px}.items label{display:flex;align-items:center;gap:14px;padding:15px 8px;border-bottom:1px solid #183651}.items label span{display:flex;flex-direction:column;gap:4px}.items small{color:#829bb1}.items .done{opacity:.5}.locked{margin-top:28px;padding:18px;background:#0b2947;border:1px solid #1e5c88;border-radius:14px;display:flex;align-items:center;gap:14px}.locked img{width:48px;border-radius:12px}.locked div{display:flex;flex-direction:column;gap:4px;flex:1}.locked span{font-size:13px;color:#9eb7ca}.brand-section{padding:90px 0}.brand-grid{display:grid;grid-template-columns:330px 1fr;gap:65px;align-items:center}.brand-grid>img{width:100%;max-height:500px;object-fit:cover;object-position:center 36%;border-radius:24px;border:1px solid #275477}.note{font-size:14px!important;padding:14px;border-left:3px solid #24c9ef;background:#0a2139}footer{border-top:1px solid #183a58;padding:25px 0}.footer{display:flex;align-items:center;gap:30px;color:#7794ad;font-size:13px}.footer .mini{margin-right:auto;font-size:17px}.footer .mini img{width:30px;height:30px}.footer>div:last-child{display:flex;gap:18px}.modal{position:fixed;inset:0;background:#020a13d9;z-index:50;display:none;place-items:center}.modal.open{display:grid}.modal-card{width:min(440px,92%);background:#0a2038;border:1px solid #285678;border-radius:20px;padding:32px;position:relative;box-shadow:0 30px 80px #000}.modal-card>img{width:66px;border-radius:16px;margin-bottom:18px}.modal-card h2{font-size:32px;margin:7px 0}.modal-card p,.modal-card small{color:#9eb4c8;line-height:1.5}.modal-card label{display:block;margin:17px 0;font-size:13px;font-weight:700}.modal-card input{display:block;width:100%;margin-top:7px;padding:13px;border-radius:9px;border:1px solid #315574;background:#07182a;color:white}.wide{width:100%;margin:4px 0 16px}.close{position:absolute;right:16px;top:13px;background:none;border:0;color:#bdd2e4;font-size:28px;cursor:pointer}@media(max-width:800px){nav{display:none}.hero{height:570px}.hero-art{object-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(2,13,28,.94),rgba(2,13,28,.5))}.hero h1{font-size:43px}.cards{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.app-shell aside{display:none}.brand-grid{grid-template-columns:1fr}.brand-grid>img{max-height:430px}.footer{flex-wrap:wrap}.locked{align-items:flex-start;flex-wrap:wrap}.section{padding:65px 0}}
/* Phase 1.1 — preserve the approved banner artwork without overlay copy */
.hero{height:auto;position:relative;overflow:hidden;background:#061426}
.hero-art{display:block;width:100%;height:auto;object-fit:contain}
.hero-shade,.hero-copy{display:none}
.intro{padding:54px 0 64px;background:linear-gradient(180deg,#07182b,#061426);border-bottom:1px solid #173b5b}
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.intro h1{font-size:44px;line-height:1.08;margin:9px 0 12px}
.intro p{max-width:760px;margin:0;color:#bfd1e1;font-size:18px;line-height:1.65}
.intro .actions{margin:0;white-space:nowrap}
@media(max-width:800px){
 .hero{height:auto}
 .hero-art{height:auto;object-fit:contain;object-position:center}
 .intro{padding:42px 0 50px}
 .intro-grid{grid-template-columns:1fr;gap:24px}
 .intro h1{font-size:36px}
 .intro .actions{margin:0;white-space:normal;flex-wrap:wrap}
}
/* Phase 1B — Firebase account + live D1 list states */
.account-email{font-size:12px;color:#8fb0c9;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-error{min-height:18px;color:#ff9d9d;font-size:13px;line-height:1.4;margin-top:8px}.text-button{display:block;width:100%;border:0;background:transparent;color:#4ed1ff;cursor:pointer;padding:8px;font-weight:700}.text-button.subtle{color:#9db9cf;font-weight:500}.empty-state{padding:34px 12px;text-align:center;color:#829bb1;border:1px dashed #234763;border-radius:12px}.items input[type=checkbox]{width:18px;height:18px;accent-color:#19b7ff}.add-row button{background:#168fd5;color:#fff;font-weight:700;cursor:pointer}.add-row button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:800px){.account-email{display:none}}

/* Phase 1B.1 — public website + credential-protected My Lists */
[hidden]{display:none!important}.account-gate{display:grid;grid-template-columns:96px 1fr;gap:26px;align-items:center;background:linear-gradient(135deg,#0a2039,#0b2947);border:1px solid #24567d;border-radius:22px;padding:34px;box-shadow:0 24px 60px #0004}.account-gate>img{width:96px;height:96px;border-radius:22px}.account-gate h3{font-size:30px;margin:7px 0 8px}.account-gate p{max-width:760px;color:#aec4d7;line-height:1.65;margin:0}.gate-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.private-workspace{margin-top:0}.workspace .section-title.compact{max-width:800px}.workspace .section-title.compact p{font-size:16px}.auth-boundary-note{color:#8fb0c9;font-size:13px}
@media(max-width:800px){.account-gate{grid-template-columns:1fr;padding:26px}.account-gate>img{width:76px;height:76px}.account-gate h3{font-size:26px}}
/* Phase 1D.1 — unified Lists / Recipes / Plan web workspace */
.web-workspace{margin-top:0;background:#071527;border:1px solid #235078;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px #0005}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:#0a2039;border-bottom:1px solid #214663}.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap}.workspace-tab{border:1px solid transparent;background:transparent;color:#9fb8cc;padding:11px 15px;border-radius:10px;font-weight:800;cursor:pointer}.workspace-tab:hover{background:#0c2c49;color:#fff}.workspace-tab.active{background:#0b3c62;border-color:#156398;color:#fff}.workspace-tab span{color:#55d7ff}.workspace-view{display:none}.workspace-view.active{display:block}.web-workspace .app-shell{border:0;border-radius:0;box-shadow:none;min-height:510px}.view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:30px 30px 12px}.view-head h3{font-size:30px;margin:5px 0}.view-head p{color:#8fa9bd;margin:0}.refresh-button{border:1px solid #285c80;background:#0c2c49;color:#dff4ff;border-radius:9px;padding:10px 15px;cursor:pointer}.recipe-grid{padding:18px 30px 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.recipe-card{text-align:left;background:linear-gradient(145deg,#0b223a,#091a2e);border:1px solid #214b6c;border-radius:15px;padding:20px;color:#eef7ff;cursor:pointer;min-height:170px}.recipe-card:hover{border-color:#168fd5;transform:translateY(-1px)}.recipe-card h4{font-size:18px;line-height:1.3;margin:10px 0 8px}.recipe-card p{color:#8fb0c9;margin:0 0 14px}.recipe-card small{color:#718da5;line-height:1.45}.plan-grid{padding:18px 30px 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.plan-day{background:#0a1e34;border:1px solid #214b6c;border-radius:15px;padding:18px}.plan-day>h4{margin:0 0 14px;font-size:17px;color:#dff4ff}.plan-meal{display:flex;flex-direction:column;gap:5px;padding:13px;background:#0d2945;border-radius:10px;margin-top:9px;border:1px solid transparent}.plan-meal>span{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#49cdf8;font-weight:800}.plan-meal small{color:#7896ae}.plan-meal.clickable{cursor:pointer}.plan-meal.clickable:hover{border-color:#168fd5}.wide-empty{grid-column:1/-1}.recipe-detail-modal{position:fixed;inset:0;background:#020a13e8;z-index:60;display:none;place-items:center;padding:25px}.recipe-detail-modal.open{display:grid}.recipe-detail-card{width:min(960px,96vw);max-height:88vh;overflow:auto;background:#091d33;border:1px solid #2a5b7d;border-radius:20px;padding:32px;position:relative;box-shadow:0 30px 90px #000}.recipe-detail-card h2{font-size:32px;margin:8px 40px 5px 0}.recipe-meta{color:#8facbf;margin-bottom:25px}.detail-columns{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:35px;border-top:1px solid #1e405c;padding-top:20px}.detail-columns h4{font-size:18px;margin:0 0 12px}.detail-columns p{color:#bed0de;line-height:1.55;margin:8px 0}.source-link{display:inline-block;margin-top:22px}.sync[data-state="error"]{color:#ff9d9d}.sync[data-state="busy"]{color:#ffd77b}
@media(max-width:900px){.recipe-grid,.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-columns{grid-template-columns:1fr}.workspace-toolbar{align-items:flex-start;flex-direction:column}.web-workspace .app-shell{grid-template-columns:1fr}.web-workspace .app-shell aside{display:none}}
@media(max-width:600px){.recipe-grid,.plan-grid{grid-template-columns:1fr;padding:15px 18px 25px}.view-head{padding:24px 18px 8px}.workspace-toolbar{padding:13px}.workspace-tab{padding:9px 10px}.recipe-detail-card{padding:24px 18px}.recipe-detail-card h2{font-size:26px}}
