/* Nichols-Dixon family homepage — warm editorial, matches Recipe Manager tokens. */
:root{
  --cream:#FAF6EF; --paper:#FFFDF9; --ink:#2B2622; --muted:#8A7F72;
  --line:#E7DECF; --accent:#B5683F; --accent-soft:#F0E2D6; --olive:#6E7150;
  --display:'Fraunces','Hoefler Text',Georgia,serif;
  --body:'Source Serif 4',Georgia,serif;
  --maxw:880px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font-family:var(--body);line-height:1.6;
  -webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.site-header .bar{max-width:var(--maxw);margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:16px}
.brand{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.01em;color:var(--ink)}
.signout{margin-left:auto;color:var(--muted);font-size:14px}
.signout:hover{color:var(--accent);text-decoration:none}

/* Home */
.wrap{max-width:var(--maxw);margin:0 auto;padding:52px 24px 40px;width:100%;flex:1}

.bucket{margin-bottom:34px}
.bucket-label{font-family:var(--body);font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:13px;display:flex;align-items:center;gap:12px}
.bucket-label::after{content:"";flex:1;height:1px;background:var(--line)}

.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:10px}
.tile{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--paper);
  border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.tile:hover{text-decoration:none;border-color:var(--c);transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(43,38,34,.08)}
.tile .ico{width:25px;height:25px;flex:none;stroke:var(--c);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.tile .tile-name{font-family:var(--display);font-weight:500;font-size:15.5px;line-height:1.16;letter-spacing:-.01em}
.tile .soon-tag{margin-left:auto;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.7;white-space:nowrap}

/* Not-built-yet tile: grayed, dashed, non-interactive. */
.tile.coming{background:transparent;border-style:dashed;cursor:default;box-shadow:none}
.tile.coming:hover{transform:none;box-shadow:none;border-color:var(--line)}
.tile.coming .ico{stroke:#C2B9AB}
.tile.coming .tile-name{color:var(--muted)}

@media(max-width:560px){.wrap{padding-top:40px}.tiles{grid-template-columns:1fr 1fr;gap:8px}}

/* Footer */
.site-footer{max-width:var(--maxw);margin:0 auto;padding:24px;color:var(--muted);font-size:13px;font-style:italic;width:100%}

/* Login */
.login-shell{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:380px;background:var(--paper);border:1px solid var(--line);
  border-radius:16px;padding:40px 34px;box-shadow:0 2px 10px rgba(43,38,34,.05)}
.login-card .brand{display:block;text-align:center;font-size:28px;margin-bottom:26px}
.field{display:block;margin-bottom:16px}
.field input{width:100%;font-family:var(--body);font-size:16px;padding:13px 15px;border:1px solid var(--line);
  border-radius:10px;background:var(--cream);color:var(--ink);min-height:44px}
.field input:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-size:15px;
  background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:999px;padding:12px 22px;
  cursor:pointer;min-height:44px;width:100%}
.btn:hover{text-decoration:none;filter:brightness(.96)}
.error{background:var(--accent-soft);color:#7a3a22;border-radius:10px;padding:10px 14px;font-size:14px;
  margin-bottom:16px;text-align:center}
