  :root {
    --mc-bg:#131210; --mc-bg-2:#1c1917; --mc-bg-3:#252220;
    --mc-line:rgba(255,255,255,0.07); --mc-line-2:rgba(255,255,255,0.13);
    --mc-text:#F4EFE7; --mc-text-2:#BEB5A6; --mc-text-3:#7A7060;
    --mc-accent:#C45E2A; --mc-accent-h:#D96A33;
    --mc-ok:#5DB87E; --mc-warn:#D9A83C; --mc-bad:#C96464; --mc-blue:#6BA0D9;
    --mc-radius:10px; --mc-radius-lg:16px;
    --mc-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    --mc-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --mc-display:"Bebas Neue","Arial Narrow",Impact,var(--mc-sans);
  }
  * { box-sizing:border-box; }
  html,body { margin:0; padding:0; background:var(--mc-bg); color:var(--mc-text); font-family:var(--mc-sans); font-weight:400; }
  a { color:var(--mc-accent); text-decoration:none; }
  em { font-style:normal; color:var(--mc-accent); }

  .mc-app { display:grid; grid-template-columns:240px 1fr; min-height:100vh; }
  .mc-side { background:var(--mc-bg-2); border-right:1px solid var(--mc-line); padding:22px 18px; position:relative; min-height:100vh; overflow-y:auto; }
  .mc-side__brand { display:flex; align-items:center; gap:10px; margin-bottom:24px; }
  .mc-side__brand img { width:36px; height:36px; opacity:1; filter:none; }
  .mc-side__brand-words { display:flex; flex-direction:column; line-height:1; }
  .mc-side__brand-eyebrow { font-family:var(--mc-mono); font-size:9px; letter-spacing:0.18em; color:var(--mc-text-3); text-transform:uppercase; }
  .mc-side__brand-wordmark { font-family:var(--mc-display); font-size:20px; letter-spacing:0.04em; color:var(--mc-text); }
  .mc-side__group { font-family:var(--mc-mono); font-size:10px; letter-spacing:.18em; color:var(--mc-text-3); margin:18px 4px 8px; }
  .mc-nav a { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; color:var(--mc-text-2); font-weight:500; font-size:13px; }
  .mc-nav a.is-active { background:rgba(196,94,42,0.12); color:var(--mc-text); }
  .mc-nav a:hover { background:var(--mc-bg-3); color:var(--mc-text); }
  .mc-side__foot { margin-top:32px; padding-top:14px; border-top:1px solid var(--mc-line); font-size:12px; color:var(--mc-text-3); }
  .mc-side__foot strong { color:var(--mc-ok); display:block; margin-bottom:4px; }

  .mc-main { padding:24px 28px 80px; max-width:1340px; }

  /* data quality pill */
  .mc-dq-pill { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-family:var(--mc-mono); font-size:11px; font-weight:500; border:1px solid var(--mc-line-2); color:var(--mc-text-3); }
  .mc-dq-pill[data-state="live"]  { color:var(--mc-ok); border-color:rgba(93,184,126,0.3); background:rgba(93,184,126,0.06); }
  .mc-dq-pill[data-state="mock"]  { color:var(--mc-warn); border-color:rgba(217,168,60,0.3); background:rgba(217,168,60,0.06); }
  .mc-dq-pill[data-state="demo"]  { color:var(--mc-warn); border-color:rgba(217,168,60,0.3); background:rgba(217,168,60,0.06); }
  .mc-dq-pill[data-state="error"] { color:var(--mc-bad); border-color:rgba(201,100,100,0.3); background:rgba(201,100,100,0.06); }

  /* household strip */
  .mc-house { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; padding:14px 18px; background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius-lg); margin-bottom:18px; }
  .mc-house__t { font-family:var(--mc-mono); font-size:11px; letter-spacing:0.14em; color:var(--mc-text-3); text-transform:uppercase; }
  .mc-house__n { font-family:var(--mc-display); font-size:20px; letter-spacing:0.04em; }
  .mc-house__members { display:flex; gap:8px; flex-wrap:wrap; }
  .mc-mem { display:flex; gap:8px; align-items:center; padding:6px 10px 6px 6px; background:var(--mc-bg-3); border:1px solid var(--mc-line); border-radius:999px; opacity:0.5; transition:opacity 0.15s, border-color 0.15s; cursor:pointer; }
  .mc-mem[data-here="true"] { opacity:1; border-color:var(--mc-accent); }
  .mc-mem:hover { opacity:0.9; }
  .mc-mem__avatar { width:26px; height:26px; border-radius:50%; background:var(--mc-accent); color:#0A0A0A; display:grid; place-items:center; font-weight:700; font-size:12px; font-family:var(--mc-mono); }
  .mc-mem__avatar[data-role="kid"] { background:var(--mc-blue); }
  .mc-mem__name { font-size:13px; font-weight:500; }
  .mc-mem__age { color:var(--mc-text-3); font-weight:300; }
  .mc-mem__diet { font-size:11px; color:var(--mc-text-3); }
  .mc-house__cuisines { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }

  /* hero */
  .mc-hero { display:grid; grid-template-columns:1fr auto; gap:22px; align-items:start; padding:22px 0 22px; border-bottom:1px solid var(--mc-line); margin-bottom:22px; }
  .mc-hero__eyebrow { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.18em; color:var(--mc-text-3); text-transform:uppercase; margin-bottom:10px; }
  .mc-hero__eyebrow em { color:var(--mc-accent); }
  .mc-hero h1 { font-family:var(--mc-display); font-size:56px; line-height:1; margin:0 0 10px; letter-spacing:0.04em; }
  .mc-hero__sub { color:var(--mc-text-2); font-size:14px; max-width:480px; line-height:1.5; margin-bottom:18px; }
  .mc-hero__ctas { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
  .mc-hero__ctas .mc-btn { font-size:13px; padding:10px 18px; }
  .mc-stream-status { margin-top:10px; display:grid; gap:6px; }
  .mc-stream-line { font-family:var(--mc-mono); font-size:11px; color:var(--mc-text-3); }
  .mc-stream-line[data-state="progress"] { color:var(--mc-blue); display:flex; align-items:center; gap:6px; }
  .mc-stream-line[data-state="progress"]::before {
    content:""; width:10px; height:10px; border-radius:50%;
    border:2px solid rgba(107,160,217,0.25); border-top-color:var(--mc-blue);
    animation:mc-spin .8s linear infinite; flex:0 0 auto;
  }
  .mc-stream-line[data-state="done"] { color:var(--mc-ok); }
  .mc-stream-line[data-state="error"] { color:var(--mc-bad); }
  @keyframes mc-spin { to { transform:rotate(360deg); } }

  /* tabs */
  .mc-tabs { display:flex; gap:4px; border-bottom:1px solid var(--mc-line); margin-bottom:22px; flex-wrap:wrap; }
  .mc-tab { background:none; border:none; color:var(--mc-text-2); padding:10px 14px; font-family:var(--mc-sans); font-size:13px; font-weight:500; cursor:pointer; border-bottom:2px solid transparent; letter-spacing:0.02em; }
  .mc-tab.is-active { color:var(--mc-text); border-bottom-color:var(--mc-accent); }
  .mc-tab:hover:not(.is-active) { color:var(--mc-text); }

  /* sections */
  .mc-section { margin-bottom:36px; }
  .mc-section__head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; gap:14px; flex-wrap:wrap; }
  .mc-section__head h2 { font-size:18px; margin:0; letter-spacing:-0.01em; font-weight:500; }
  .mc-section__head h2 span { color:var(--mc-text-3); font-weight:300; margin-left:8px; font-size:14px; }
  .mc-section__head .mc-meta { color:var(--mc-text-3); font-size:12px; font-family:var(--mc-mono); }
  .mc-grid { display:grid; gap:14px; }
  .mc-grid--2 { grid-template-columns:repeat(2,1fr); }
  .mc-grid--3 { grid-template-columns:repeat(3,1fr); }
  .mc-grid--4 { grid-template-columns:repeat(4,1fr); }
  .mc-grid--7 { grid-template-columns:repeat(7,1fr); }
  @media (max-width:1100px) { .mc-grid--4 { grid-template-columns:repeat(2,1fr); } .mc-grid--7 { grid-template-columns:repeat(2,1fr); } }

  /* settings page */
  .mc-set-card { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:16px 18px; }
  .mc-set-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
  .mc-set-actions a.mc-btn { display:inline-flex; align-items:center; }
  .mc-set-rm-member { background:none; border:none; color:var(--mc-text-3); font-size:18px; cursor:pointer; line-height:1; padding:0 4px; }
  .mc-set-rm-member:hover { color:var(--mc-bad); }

  .mc-tag { background:var(--mc-bg-3); border:1px solid var(--mc-line); border-radius:6px; padding:3px 7px; font-size:11px; color:var(--mc-text-2); }
  .mc-tag--ok { color:var(--mc-ok); border-color:rgba(0,204,136,0.3); }
  .mc-tag--warn { color:var(--mc-warn); border-color:rgba(232,179,58,0.3); }
  .mc-tag--new { color:var(--mc-blue); border-color:rgba(91,168,255,0.3); background:rgba(91,168,255,0.08); }

  .mc-btn { background:var(--mc-accent); color:#0A0A0A; border:none; padding:8px 14px; border-radius:7px; font-family:var(--mc-sans); font-size:12px; font-weight:500; cursor:pointer; letter-spacing:0.02em; }
  .mc-btn:hover { background:var(--mc-accent-h); }
  .mc-btn[aria-pressed="true"] { background:var(--mc-ok); }
  .mc-btn--ghost { background:transparent; color:var(--mc-text-2); border:1px solid var(--mc-line-2); }
  .mc-btn--ghost:hover { color:var(--mc-text); border-color:var(--mc-text-3); }
  .mc-btn--icon { padding:8px 10px; }
  .mc-btn--xs { padding:5px 10px; font-size:11px; }

  /* recipe card */
  .mc-recipe { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); overflow:hidden; display:flex; flex-direction:column; }
  .mc-recipe[data-novel="true"] { border-left:3px solid var(--mc-blue); }
  .mc-recipe__hero { background:linear-gradient(135deg, rgba(196,94,42,0.15), rgba(196,94,42,0.03)); padding:18px; display:flex; justify-content:space-between; align-items:center; }
  .mc-recipe__emoji { font-size:42px; }
  .mc-recipe__match { font-family:var(--mc-mono); font-size:14px; font-weight:500; color:var(--mc-ok); background:rgba(0,204,136,0.12); padding:4px 10px; border-radius:999px; }
  .mc-recipe__body { padding:14px 16px; display:flex; flex-direction:column; gap:8px; }
  .mc-recipe__cuisine { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.14em; color:var(--mc-text-3); text-transform:uppercase; }
  .mc-recipe__name { margin:0; font-size:16px; font-weight:500; line-height:1.2; }
  .mc-recipe__meta { display:flex; gap:10px; font-size:12px; color:var(--mc-text-2); flex-wrap:wrap; }
  .mc-recipe__row { display:flex; gap:6px; flex-wrap:wrap; align-items:center; font-size:12px; }
  .mc-recipe__row.mc-kid { padding:6px 8px; background:rgba(91,168,255,0.06); border-radius:6px; border:1px dashed rgba(91,168,255,0.25); color:var(--mc-text-2); }
  .mc-row__lab { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.12em; color:var(--mc-text-3); text-transform:uppercase; margin-right:4px; }
  .mc-recipe__why { font-size:12px; color:var(--mc-text-3); line-height:1.4; }
  .mc-recipe__cite { font-family:var(--mc-mono); font-size:10px; color:var(--mc-text-3); letter-spacing:0.06em; }
  .mc-recipe__cite:hover { color:var(--mc-accent); }
  .mc-recipe__actions { display:flex; gap:6px; padding-top:6px; border-top:1px dashed var(--mc-line); margin-top:4px; }

  /* discover */
  .mc-disc { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:14px; }
  .mc-disc__cuisine { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.14em; color:var(--mc-blue); text-transform:uppercase; }
  .mc-disc__name { font-weight:500; font-size:15px; margin:4px 0; }
  .mc-disc__why { font-size:12px; color:var(--mc-text-2); line-height:1.4; margin-bottom:8px; }
  .mc-disc__meta { display:flex; gap:12px; font-size:11px; color:var(--mc-text-3); font-family:var(--mc-mono); }

  /* inventory */
  .mc-inv-head { display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:14px 18px; background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); margin-bottom:14px; }
  .mc-inv-head__t { font-weight:500; font-size:16px; }
  .mc-inv-head__sub { font-family:var(--mc-mono); font-size:11px; color:var(--mc-text-3); }
  .mc-scan-btn { background:var(--mc-accent); color:#0A0A0A; border:none; padding:10px 14px; border-radius:7px; font-weight:500; font-size:13px; cursor:pointer; display:flex; align-items:center; gap:8px; }
  .mc-scan-btn:hover { background:var(--mc-accent-h); }

  /* scan drop zone */
  .mc-scan-zone { border:2px dashed var(--mc-line-2); border-radius:var(--mc-radius); padding:24px; text-align:center; color:var(--mc-text-3); font-size:13px; cursor:pointer; transition:border-color 0.15s, background 0.15s; margin-bottom:14px; }
  .mc-scan-zone:hover, .mc-scan-zone.drag-over { border-color:var(--mc-accent); background:rgba(196,94,42,0.04); color:var(--mc-text-2); }
  .mc-scan-zone__icon { font-size:28px; margin-bottom:8px; }
  .mc-scan-zone__note { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.1em; margin-top:6px; color:var(--mc-text-3); }

  /* add item form */
  .mc-add-item { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:14px 16px; margin-bottom:14px; }
  .mc-add-item summary { cursor:pointer; font-family:var(--mc-mono); font-size:11px; letter-spacing:0.1em; color:var(--mc-text-3); text-transform:uppercase; list-style:none; }
  .mc-add-item summary::-webkit-details-marker { display:none; }
  .mc-add-item[open] summary { color:var(--mc-accent); margin-bottom:12px; }
  .mc-add-form { display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; margin-top:10px; }
  .mc-add-form input, .mc-add-form select { background:var(--mc-bg-3); border:1px solid var(--mc-line-2); color:var(--mc-text); padding:7px 10px; border-radius:7px; font-family:var(--mc-sans); font-size:12px; }
  .mc-add-form input:focus, .mc-add-form select:focus { outline:2px solid var(--mc-accent); outline-offset:-2px; }
  .mc-add-form input[name="name"] { flex:1; min-width:140px; }
  .mc-add-form input[name="qty"] { width:90px; }
  .mc-add-form input[name="days_left"] { width:70px; }
  .mc-add-form select[name="location"] { width:90px; }
  .mc-form-err { color:var(--mc-bad); font-size:11px; font-family:var(--mc-mono); display:none; }

  .mc-expiring-strip { background:rgba(255,77,77,0.04); border:1px dashed rgba(255,77,77,0.2); border-radius:var(--mc-radius); padding:12px 14px; margin-bottom:14px; }
  .mc-expiring-strip h3 { margin:0 0 8px; font-size:11px; color:var(--mc-bad); letter-spacing:0.06em; text-transform:uppercase; font-family:var(--mc-mono); font-weight:500; }
  #mc-expiring { display:flex; flex-wrap:wrap; gap:8px; }
  .mc-exp { display:flex; gap:6px; align-items:center; padding:6px 10px; background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:6px; font-size:12px; }
  .mc-exp__days { font-family:var(--mc-mono); font-size:10px; color:var(--mc-bad); }
  .mc-exp__days[data-d="0"], .mc-exp__days[data-d="1"] { color:var(--mc-bad); font-weight:700; }
  .mc-exp__days[data-d="2"], .mc-exp__days[data-d="3"] { color:var(--mc-warn); }

  .mc-inv-cols { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  @media (max-width:900px) { .mc-inv-cols { grid-template-columns:1fr; } }
  .mc-inv-col { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:14px; }
  .mc-inv-col h3 { margin:0 0 10px; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--mc-text-3); font-weight:500; font-family:var(--mc-mono); }
  .mc-inv-col ul { list-style:none; padding:0; margin:0; }
  .mc-inv-row { display:grid; grid-template-columns:1fr auto auto auto auto; gap:10px; padding:6px 0; font-size:13px; align-items:center; border-bottom:1px dashed var(--mc-line); }
  .mc-inv-row:last-child { border-bottom:0; }
  .mc-inv-row__qty { color:var(--mc-text-3); font-size:11px; font-family:var(--mc-mono); }
  .mc-inv-row__days { color:var(--mc-text-3); font-size:11px; font-family:var(--mc-mono); min-width:32px; text-align:right; }
  .mc-inv-row__conf { color:var(--mc-text-3); font-size:10px; font-family:var(--mc-mono); }
  .mc-inv-row[data-low="true"] { color:var(--mc-warn); }
  .mc-inv-row[data-exp="true"] .mc-inv-row__days { color:var(--mc-bad); }
  .mc-inv-del { background:none; border:none; color:var(--mc-text-3); font-size:13px; cursor:pointer; padding:0 4px; opacity:0.5; }
  .mc-inv-del:hover { color:var(--mc-bad); opacity:1; }

  .mc-running-low-card { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:14px; margin-top:14px; }
  .mc-running-low-card h3 { margin:0 0 8px; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--mc-text-3); font-weight:500; font-family:var(--mc-mono); }
  #mc-running-low { display:flex; flex-wrap:wrap; gap:6px; }

  /* week plan */
  .mc-day-card { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:12px; min-height:160px; display:flex; flex-direction:column; gap:8px; }
  .mc-day-card[data-state="tonight"] { border-color:var(--mc-accent); box-shadow:0 0 0 1px rgba(196,94,42,0.25); }
  .mc-day-card[data-takeout="true"] { background:repeating-linear-gradient(135deg, var(--mc-bg-2), var(--mc-bg-2) 8px, var(--mc-bg-3) 8px, var(--mc-bg-3) 14px); }
  .mc-day-card__head { display:flex; justify-content:space-between; align-items:center; }
  .mc-day-card__day { font-weight:500; font-size:13px; }
  .mc-day-card__date { font-family:var(--mc-mono); font-size:10px; color:var(--mc-text-3); }
  .mc-day-card__who { font-family:var(--mc-mono); font-size:11px; color:var(--mc-text-3); letter-spacing:0.06em; }
  .mc-day-card__meal { font-size:14px; line-height:1.3; flex:1; }
  .mc-day-card__tags { display:flex; flex-wrap:wrap; gap:4px; }

  /* grocery */
  .mc-aisle { background:var(--mc-bg-2); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:14px 16px; margin-bottom:10px; }
  .mc-aisle__h { margin:0 0 8px; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--mc-text-3); font-weight:500; font-family:var(--mc-mono); }
  .mc-aisle__list { list-style:none; padding:0; margin:0; }
  .mc-aisle__row { display:grid; grid-template-columns:18px 200px 1fr; gap:10px; padding:6px 0; font-size:13px; align-items:center; border-bottom:1px dashed var(--mc-line); }
  .mc-aisle__row:last-child { border-bottom:0; }
  .mc-aisle__check { width:14px; height:14px; border:1px solid var(--mc-line-2); border-radius:3px; }
  button.mc-aisle__check { background:transparent; color:var(--mc-ok); padding:0; line-height:12px; font-size:10px; cursor:pointer; }
  .mc-aisle__why { color:var(--mc-text-3); font-size:12px; }
  .mc-aisle__row[data-flag="low"] { color:var(--mc-warn); }
  .mc-aisle__row[data-flag="fav"] .mc-aisle__why { color:var(--mc-blue); }
  .mc-aisle__row[aria-checked="true"] .mc-aisle__n,
  .mc-aisle__row[aria-checked="true"] .mc-aisle__why { color:var(--mc-text-3); text-decoration:line-through; }

  .mc-smart-strip { background:rgba(91,168,255,0.04); border:1px dashed rgba(91,168,255,0.2); border-radius:var(--mc-radius); padding:14px 16px; margin-bottom:14px; }
  .mc-smart-strip h3 { margin:0 0 10px; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--mc-blue); font-weight:500; font-family:var(--mc-mono); }
  #mc-smart-adds { display:grid; gap:8px; }
  .mc-smart { display:grid; grid-template-columns:140px 1fr auto; gap:12px; padding:8px 10px; background:var(--mc-bg-2); border-radius:6px; font-size:13px; align-items:center; }
  .mc-smart__r { color:var(--mc-text-3); font-size:12px; }

  /* learnings */
  .mc-learn { display:grid; grid-template-columns:80px 1fr auto; gap:12px; padding:8px 0; border-bottom:1px dashed var(--mc-line); font-size:13px; align-items:center; }
  .mc-learn__d { font-family:var(--mc-mono); font-size:11px; color:var(--mc-text-3); }
  .mc-learn__n { color:var(--mc-text-2); }

  .mc-empty { padding:18px; text-align:center; color:var(--mc-text-3); border:1px dashed var(--mc-line); border-radius:var(--mc-radius); font-size:13px; }
  .mc-scan-status { margin-top:8px; color:var(--mc-text-3); font-size:12px; font-family:var(--mc-mono); }

  /* scan review modal */
  .mc-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,0.72); z-index:80; display:none; align-items:center; justify-content:center; }
  .mc-modal-backdrop[data-open="true"] { display:flex; }
  .mc-modal { background:var(--mc-bg-2); border:1px solid var(--mc-line-2); border-radius:var(--mc-radius-lg); padding:24px; width:min(540px,calc(100vw - 32px)); max-height:80vh; display:flex; flex-direction:column; gap:14px; }
  .mc-modal__head { display:flex; justify-content:space-between; align-items:center; }
  .mc-modal__title { font-family:var(--mc-display); font-size:22px; letter-spacing:0.04em; }
  .mc-modal__close { background:none; border:none; color:var(--mc-text-3); font-size:20px; cursor:pointer; line-height:1; }
  .mc-modal__body { overflow-y:auto; display:flex; flex-direction:column; gap:8px; }
  .mc-modal__footer { display:flex; gap:10px; justify-content:flex-end; padding-top:4px; }
  .mc-scan-item { display:grid; grid-template-columns:1fr 90px 80px 80px; gap:8px; align-items:center; padding:8px 10px; background:var(--mc-bg-3); border-radius:7px; font-size:12px; }
  .mc-scan-item input { background:var(--mc-bg-2); border:1px solid var(--mc-line-2); color:var(--mc-text); padding:5px 8px; border-radius:5px; font-size:11px; width:100%; font-family:var(--mc-sans); }
  .mc-scan-item select { background:var(--mc-bg-2); border:1px solid var(--mc-line-2); color:var(--mc-text); padding:5px 6px; border-radius:5px; font-size:11px; font-family:var(--mc-sans); }
  .mc-scan-item__conf { font-family:var(--mc-mono); font-size:10px; color:var(--mc-text-3); }

  /* chat */
  /* Chat UI removed — Larry mascot widget (static/larry.js) owns its own styles. */

  @media (max-width:760px) {
    .mc-app { grid-template-columns:1fr; }
    .mc-side { min-height:0; height:auto; padding:16px; }
    .mc-main { padding:18px 16px 80px; }
    .mc-house, .mc-inv-head { grid-template-columns:1fr; align-items:start; }
    .mc-house__members { flex-wrap:wrap; }
    .mc-house__cuisines { justify-content:flex-start; }
    .mc-hero h1 { font-size:40px; }
    .mc-grid--2, .mc-grid--3, .mc-grid--4, .mc-grid--7,
    .mc-inv-cols { grid-template-columns:1fr; }
    .mc-aisle__row, .mc-smart, .mc-learn { grid-template-columns:1fr; }
    .mc-recipe__actions { flex-wrap:wrap; }
    .mc-scan-item { grid-template-columns:1fr 1fr; }
    .mc-hero { grid-template-columns:1fr; }
    .mc-hero__ctas .mc-btn { width:100%; justify-content:center; }
  }

  [hidden] { display:none !important; }

  /* demo banner */
  .mc-demo-banner { background:linear-gradient(90deg, rgba(217,168,60,0.12), rgba(217,168,60,0.06)); border:1px solid rgba(217,168,60,0.3); border-radius:var(--mc-radius); padding:12px 18px; margin-bottom:18px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .mc-demo-banner__label { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.18em; color:var(--mc-warn); text-transform:uppercase; white-space:nowrap; }
  .mc-demo-banner__text { flex:1; font-size:13px; color:var(--mc-text-2); min-width:200px; }
  .mc-btn--wizard { background:var(--mc-accent); color:#0A0A0A; font-size:13px; padding:9px 16px; border-radius:7px; font-weight:600; white-space:nowrap; }
  .mc-btn--wizard:hover { background:var(--mc-accent-h); }

  /* wizard modal */
  .mc-wizard-backdrop { position:fixed; inset:0; background:rgba(0,0,0,0.78); z-index:100; display:none; align-items:center; justify-content:center; padding:16px; }
  .mc-wizard-backdrop[data-open="true"] { display:flex; }
  .mc-wizard { background:var(--mc-bg-2); border:1px solid var(--mc-line-2); border-radius:var(--mc-radius-lg); width:min(580px,calc(100vw - 32px)); max-height:92vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 32px 64px rgba(0,0,0,0.55); }
  .mc-wizard__head { padding:18px 22px 14px; border-bottom:1px solid var(--mc-line); display:flex; justify-content:space-between; align-items:center; flex-shrink:0; }
  .mc-wizard__title { font-family:var(--mc-mono); font-size:12px; letter-spacing:0.14em; color:var(--mc-text-3); text-transform:uppercase; }
  .mc-wizard__close { background:none; border:none; color:var(--mc-text-3); font-size:20px; cursor:pointer; line-height:1; padding:0 4px; }
  .mc-wizard__progress { display:flex; gap:6px; align-items:center; padding:12px 22px; flex-shrink:0; border-bottom:1px solid var(--mc-line); }
  .mc-wzd-dot { width:8px; height:8px; border-radius:50%; background:var(--mc-bg-3); border:1px solid var(--mc-line-2); transition:all 0.2s; }
  .mc-wzd-dot.is-done { background:var(--mc-ok); border-color:var(--mc-ok); }
  .mc-wzd-dot.is-current { background:var(--mc-accent); border-color:var(--mc-accent); width:24px; border-radius:4px; }
  .mc-wizard__body { flex:1; overflow-y:auto; padding:22px; display:flex; flex-direction:column; gap:14px; }
  .mc-wizard__foot { padding:14px 22px; border-top:1px solid var(--mc-line); display:flex; gap:10px; justify-content:space-between; align-items:center; flex-shrink:0; }
  .mc-wzd-desc { font-size:14px; color:var(--mc-text-2); line-height:1.6; margin:0; }
  .mc-wzd-field { display:flex; flex-direction:column; gap:5px; }
  .mc-wzd-label { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.14em; color:var(--mc-text-3); text-transform:uppercase; }
  .mc-wzd-input { background:var(--mc-bg-3); border:1px solid var(--mc-line-2); color:var(--mc-text); padding:9px 12px; border-radius:7px; font-family:var(--mc-sans); font-size:13px; width:100%; }
  .mc-wzd-input:focus { outline:2px solid var(--mc-accent); outline-offset:-2px; }
  .mc-wzd-textarea { background:var(--mc-bg-3); border:1px solid var(--mc-line-2); color:var(--mc-text); padding:9px 12px; border-radius:7px; font-family:var(--mc-mono); font-size:12px; width:100%; resize:vertical; }
  .mc-wzd-textarea:focus { outline:2px solid var(--mc-accent); outline-offset:-2px; }
  .mc-wzd-stepper { display:flex; align-items:center; gap:14px; }
  .mc-wzd-count { font-family:var(--mc-display); font-size:36px; letter-spacing:0.04em; min-width:48px; text-align:center; }
  .mc-wzd-privacy { font-family:var(--mc-mono); font-size:10px; color:var(--mc-text-3); margin:0; letter-spacing:0.08em; }
  .mc-wzd-member { background:var(--mc-bg-3); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:14px; display:flex; flex-direction:column; gap:10px; }
  .mc-wzd-member-head { font-family:var(--mc-mono); font-size:10px; letter-spacing:0.14em; color:var(--mc-text-3); text-transform:uppercase; }
  .mc-wzd-row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
  .mc-wzd-row2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  @media (max-width:480px) { .mc-wzd-row3, .mc-wzd-row2 { grid-template-columns:1fr; } }
  .mc-wzd-cuisine-grid { display:flex; flex-wrap:wrap; gap:6px; }
  .mc-wzd-cuisine { background:var(--mc-bg-3); border:1px solid var(--mc-line); border-radius:6px; padding:6px 12px; font-size:12px; color:var(--mc-text-2); cursor:pointer; transition:all 0.15s; }
  .mc-wzd-cuisine:hover { border-color:var(--mc-text-3); color:var(--mc-text); }
  .mc-wzd-cuisine.is-on { background:rgba(93,184,126,0.15); border-color:var(--mc-ok); color:var(--mc-ok); }
  .mc-wzd-cuisine.is-avoid { background:rgba(201,100,100,0.1); border-color:var(--mc-bad); color:var(--mc-bad); }
  .mc-wzd-skill-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  @media (max-width:420px) { .mc-wzd-skill-grid { grid-template-columns:1fr; } }
  .mc-wzd-skill-btn { background:var(--mc-bg-3); border:1px solid var(--mc-line); border-radius:var(--mc-radius); padding:12px 14px; text-align:left; cursor:pointer; color:var(--mc-text-2); display:flex; flex-direction:column; gap:4px; transition:all 0.15s; }
  .mc-wzd-skill-btn strong { font-size:14px; color:var(--mc-text); }
  .mc-wzd-skill-btn span { font-size:11px; color:var(--mc-text-3); }
  .mc-wzd-skill-btn.is-on { border-color:var(--mc-accent); background:rgba(196,94,42,0.1); }
  .mc-wzd-skill-btn.is-on strong { color:var(--mc-accent); }
  #mc-wizard-err { color:var(--mc-bad); font-family:var(--mc-mono); font-size:11px; }
