body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#162d53;--bg-dark:#112240;--bg-card:#1d3866;--accent:#61dafb;--text:#cfe9f5;--muted:#8fb3c9;--danger:#ff8a80}body{background-color:var(--bg);color:var(--accent)}a{color:var(--accent)}h1{margin:0;font-size:clamp(1em,3vw,2em)}button,input,select,textarea{font-family:inherit;font-size:inherit}.Layout{flex-direction:column;min-height:100vh;font-family:monospace;display:flex}.Layout-header{background-color:var(--bg-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1em;padding:1em 2em;font-size:calc(10px + 1.2vmin);display:flex}.Layout-brand{text-decoration:none}.Layout-nav{gap:1.5em;display:flex}.Layout-nav a{border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}.Layout-nav a.active{border-bottom-color:var(--accent)}.Layout-main{flex-direction:column;flex:1;padding:2em 1em;display:flex}.Layout-footer{background-color:var(--bg-dark);justify-content:space-evenly;padding:1.5em 1em;display:flex}@media (width<=800px){.Layout-header{flex-direction:column;padding:1em}}.Auth{align-items:center;gap:.75em;font-size:.8em;display:flex}.Auth-error{color:var(--danger)}.Button{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:4px;padding:.3em .8em}.Button:hover:not(:disabled){background-color:var(--accent);color:var(--bg-dark)}.Button:disabled{opacity:.5;cursor:default}.Button--primary{background-color:var(--accent);color:var(--bg-dark)}.Button--danger{color:var(--danger);border-color:var(--danger)}.Button--danger:hover:not(:disabled){background-color:var(--danger);color:var(--bg-dark)}.Page-message{text-align:center;color:var(--muted);margin:2em auto}.Page-message .Button{margin-top:.5em}.Home{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5em;display:flex}.Home-tagline{color:var(--muted);margin:0}.Home-about{max-width:60ch;line-height:1.5}.Lists{width:100%;max-width:1100px;margin:0 auto}.Lists-header{justify-content:space-between;align-items:center;display:flex}.Lists-message{text-align:center;color:var(--muted);margin:2em auto}.Lists-message .Button{margin-top:.5em}.Lists-error{color:var(--danger)}.Lists-tabs{flex-wrap:wrap;gap:.5em;margin:1em 0 .75em;display:flex}.Lists-tab{color:var(--accent);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.3em .4em}.Lists-tab.is-active{border-bottom-color:var(--accent)}.Lists-count{color:var(--muted);font-size:.85em}.Lists-filters{flex-wrap:wrap;align-items:center;gap:.75em;margin-bottom:1.25em;display:flex}.Lists-filters input[type=search]{flex:1;min-width:12em}.Lists input,.Lists select,.Lists textarea{background-color:var(--bg-dark);color:var(--text);border:1px solid #2c4a7a;border-radius:4px;padding:.4em .5em}.Lists-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1em;margin:0;padding:0;list-style:none;display:grid}.ItemCard{background-color:var(--bg-card);color:var(--text);border-radius:8px;flex-direction:column;gap:.5em;padding:1em;display:flex}.ItemCard-top{justify-content:space-between;align-items:center;display:flex}.ItemCard-type{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85em}.Lists .ItemCard-status{padding:.15em .3em;font-size:.85em}.Lists .ItemCard-status--done{color:#6bd68a;border-color:#6bd68a}.Lists .ItemCard-status--have{color:#e6c260;border-color:#e6c260}.ItemCard-title{color:var(--accent);margin:0;font-size:1.1em}.ItemCard-rating{color:#e6c260;letter-spacing:.1em}.ItemCard-review{white-space:pre-wrap;margin:0;line-height:1.4}.ItemCard-tags{flex-wrap:wrap;gap:.4em;display:flex}.Tag{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #2c4a7a;border-radius:999px;padding:.1em .6em;font-size:.85em}.Tag:hover,.Tag.is-active{color:var(--accent);border-color:var(--accent)}.ItemCard-actions{justify-content:flex-end;gap:.5em;margin-top:auto;font-size:.85em;display:flex}.ItemForm{background-color:var(--bg-card);color:var(--text);border-radius:8px;flex-direction:column;gap:.75em;margin:1em 0;padding:1em;display:flex}.ItemForm label{flex-direction:column;gap:.3em;font-size:.9em;display:flex}.ItemForm-row{flex-wrap:wrap;gap:.75em;display:flex}.ItemForm-grow{flex:1;min-width:12em}.ItemForm-hint{color:var(--muted)}.ItemForm-error{color:var(--danger);margin:0}.ItemForm-actions{justify-content:flex-end;gap:.5em;display:flex}.ItemCard-year{color:var(--muted);font-weight:400}.ItemForm-year input{width:6em}.Lists-actions{gap:.5em;display:flex}.ImportPanel{background-color:var(--bg-card);color:var(--text);border-radius:8px;margin:1em 0;padding:1em}.ImportPanel h3{color:var(--accent);margin-top:0}.ImportPanel-hint{color:var(--muted);line-height:1.4}.ImportPanel-pick{display:inline-block}.ImportPanel-files{color:var(--muted);margin-left:.75em}.ImportPanel-list{border:1px solid #2c4a7a;border-radius:4px;max-height:18em;margin:0 0 1em;padding:0;list-style:none;overflow-y:auto}.ImportPanel-list li{border-bottom:1px solid #2c4a7a;justify-content:space-between;gap:1em;padding:.35em .6em;display:flex}.ImportPanel-list li:last-child{border-bottom:none}.ImportPanel-meta{color:var(--muted);white-space:nowrap}.Kitchen{width:100%;max-width:1100px;color:var(--text);margin:0 auto}.Kitchen h2,.Kitchen h3{color:var(--accent)}.Kitchen-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1em;margin-bottom:1em;display:flex}.Kitchen-tabs{gap:1.25em;display:flex}.Kitchen-tabs a{border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}.Kitchen-tabs a.active{border-bottom-color:var(--accent)}.Kitchen-count{color:var(--muted);font-size:.85em}.Kitchen-error{color:var(--danger)}.Kitchen input,.Kitchen select,.Kitchen textarea{background-color:var(--bg-dark);color:var(--text);border:1px solid #2c4a7a;border-radius:4px;padding:.4em .5em}.Kitchen input[type=checkbox]{padding:0}.Kitchen-toolbar{flex-wrap:wrap;align-items:center;gap:.75em;margin-bottom:1em;display:flex}.Kitchen-toolbar input[type=search]{flex:1;min-width:12em}.Kitchen-toggle{align-items:center;gap:.4em;display:flex}.Avail{white-space:nowrap;border:1px solid;border-radius:999px;padding:.1em .5em;font-size:.8em}.Avail--yes{color:#6bd68a}.Avail--no{color:#e6c260}.PantryForm{flex-wrap:wrap;align-items:center;gap:.5em;display:flex}.PantryForm input[aria-label=Ingredient]{flex:2;min-width:10em}.PantryForm input[aria-label=Quantity]{flex:1;min-width:6em}.PantryForm-date{color:var(--muted);align-items:center;gap:.4em;display:flex}.Pantry-alert{background-color:#e6c2601f;border-left:3px solid #e6c260;margin:1em 0;padding:.5em .75em}.Pantry-groups{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1em;margin-top:1em;display:grid}.Pantry-group{background-color:var(--bg-card);border-radius:8px;padding:.75em 1em}.Pantry-group h3{margin:0 0 .5em;font-size:1em}.Pantry-group ul{margin:0;padding:0;list-style:none}.Pantry-item{border-bottom:1px solid #2c4a7a;flex-wrap:wrap;align-items:center;gap:.5em;padding:.4em 0;display:flex}.Pantry-item:last-child{border-bottom:none}.Pantry-name{font-weight:700}.Pantry-qty{color:var(--muted)}.Pantry-actions{gap:.4em;margin-left:auto;font-size:.8em;display:flex}.Expiry{color:var(--muted);font-size:.8em}.Expiry--soon{color:#e6c260}.Expiry--expired{color:var(--danger)}.Recipes-list{flex-direction:column;gap:.75em;margin:0;padding:0;list-style:none;display:flex}.RecipeCard{background-color:var(--bg-card);border-radius:8px;padding:.75em 1em}.RecipeCard-summary{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1em;padding:0;display:flex}.RecipeCard-title{color:var(--accent);font-size:1.05em;font-weight:700}.RecipeCard-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75em;font-size:.85em;display:flex}.RecipeCard-missing{color:var(--muted);margin:.4em 0 0;font-size:.85em}.RecipeCard-body{margin-top:.75em}.RecipeCard-ingredients{columns:2 220px;margin:0 0 1em;padding:0;list-style:none}.RecipeCard-ingredients li{break-inside:avoid;padding:.15em 0}.RecipeCard-check{width:1.4em;display:inline-block}.RecipeCard-ingredients .has .RecipeCard-check{color:#6bd68a}.RecipeCard-ingredients .missing .RecipeCard-check{color:var(--danger)}.RecipeCard-amount,.RecipeCard-hint{color:var(--muted)}.RecipeCard-steps{white-space:pre-wrap;line-height:1.5}.RecipeCard-tags{color:var(--muted)}.RecipeCard-actions{justify-content:flex-end;gap:.5em;font-size:.85em;display:flex}.RecipeForm{background-color:var(--bg-card);border-radius:8px;flex-direction:column;gap:.75em;padding:1em;display:flex}.RecipeForm label{flex-direction:column;gap:.3em;font-size:.9em;display:flex}.RecipeForm-row{flex-wrap:wrap;gap:.75em;display:flex}.RecipeForm-grow{flex:1;min-width:12em}.RecipeForm-small input{width:6em}.RecipeForm-hint{color:var(--muted)}.RecipeForm-ingredients{border:1px solid #2c4a7a;border-radius:6px;flex-direction:column;gap:.5em;padding:.75em;display:flex}.RecipeForm-ingredients legend{padding:0 .4em;font-size:.9em}.RecipeForm-ingredient{align-items:center;gap:.5em;display:flex}.RecipeForm-ingredient input[aria-label^=Amount]{width:8em}.RecipeForm-ingredient input[aria-label^=Ingredient]{flex:1;min-width:0}.RecipeForm .RecipeForm-optional{color:var(--muted);flex-direction:row;align-items:center;gap:.3em;font-size:.8em}.RecipeForm-ingredientActions,.RecipeForm-actions{gap:.5em;display:flex}.RecipeForm-actions{justify-content:flex-end}.RecipeForm-paste{flex-direction:column;gap:.5em;display:flex}.Plan-weekNav{align-items:center;gap:.75em;margin-bottom:1em;display:flex}.Plan-weekLabel{color:var(--accent);font-weight:700}.Plan-layout{grid-template-columns:1fr 320px;align-items:start;gap:1em;display:grid}@media (width<=800px){.Plan-layout{grid-template-columns:1fr}}.Plan-days{flex-direction:column;gap:.5em;margin:0;padding:0;list-style:none;display:flex}.Plan-day{background-color:var(--bg-card);border-radius:8px;grid-template-columns:9em 1fr auto;align-items:center;gap:.75em;padding:.6em 1em;display:grid}@media (width<=600px){.Plan-day{grid-template-columns:1fr}}.Plan-day.is-today{outline:1px solid var(--accent)}.Plan-day h3{margin:0;font-size:.95em}.Plan-day ul{flex-wrap:wrap;gap:.4em;margin:0;padding:0;list-style:none;display:flex}.Plan-meal{background-color:var(--bg-dark);border-radius:999px;align-items:center;gap:.4em;padding:.2em .4em .2em .75em;display:flex}.Plan-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .2em}.Plan-remove:hover{color:var(--danger)}.Plan-day select{max-width:12em}.Plan-shopping{background-color:var(--bg-card);border-radius:8px;padding:.75em 1em}.Plan-shoppingHeader{justify-content:space-between;align-items:center;display:flex}.Plan-shopping h3{margin:0}.Plan-shopping ul{margin:.5em 0 0;padding:0;list-style:none}.Plan-shopItem{border-bottom:1px solid #2c4a7a;justify-content:space-between;align-items:center;gap:.5em;padding:.4em 0;display:flex}.Plan-shopItem:last-child{border-bottom:none}.Plan-shopItem .Button{font-size:.8em}.Plan-shopName{font-weight:700}.Plan-shopAmount{color:var(--muted)}.Plan-hint{color:var(--muted);font-size:.85em}
