
  .recipe-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; margin:14px 0; }
  .recipe-card { background:var(--panel); border:2px solid var(--line2);
    padding:10px 12px 12px; image-rendering:pixelated; }
  .recipe-header { display:flex; justify-content:space-between; align-items:center;
    gap:8px; margin-bottom:10px; padding-bottom:6px; border-bottom:2px solid var(--line2); }
  .recipe-type { font-family:'Press Start 2P',monospace; font-size:8px; color:var(--aqua); }
  .recipe-energy { font-size:14px; color:var(--yellow); font-family:'VT323',monospace; white-space:nowrap; }
  .recipe-body { display:grid; grid-template-columns:auto 52px minmax(96px,1fr); align-items:center; gap:10px; }
  
  .recipe-grid { display:grid; grid-template-columns:repeat(3,36px); grid-template-rows:repeat(3,36px);
    gap:2px; padding:4px; background:#6a6a6a;
    box-shadow: inset 2px 2px 0 0 rgba(255,255,255,0.32), inset -2px -2px 0 0 rgba(0,0,0,0.46); }
  .evolution-grid { grid-template-columns:repeat(2,36px); grid-template-rows:36px; }
  .recipe-process { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; }
  .recipe-process .station { width:30px; height:30px; image-rendering:pixelated; }
  .arrow { font-size:16px; color:var(--muted); font-family:'VT323',monospace;
    text-align:center; line-height:1; }
  .recipe-result { display:flex; flex-direction:column; align-items:center; gap:5px; }
  .recipe-results { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
  
  .cell { width:36px; height:36px; background:#8b8b8b; position:relative;
    display:flex; align-items:center; justify-content:center; image-rendering:pixelated;
    box-shadow: inset 2px 2px 0 0 rgba(255,255,255,0.42),
                inset -2px -2px 0 0 rgba(0,0,0,0.50); }
  
  .cell.placeholder { color:var(--muted); font-size:9px; line-height:1;
    text-align:center; overflow:hidden; font-family:'VT323',monospace; }
  .cell img { width:32px; height:32px; image-rendering:pixelated; }
  .cell.result { border:2px solid var(--gold); background:#3a3320; width:40px; height:40px; }
  .cell.result img { width:34px; height:34px; }
  .cell .count { position:absolute; bottom:-4px; right:-4px; background:var(--bg);
    border:1px solid var(--line2); font-size:13px; padding:0 3px;
    color:var(--txt); font-family:'VT323',monospace; line-height:1.1; }
  .cell .tag-mark { position:absolute; top:1px; right:1px; width:0; height:0;
    border-top:5px solid var(--aqua); border-left:5px solid transparent; opacity:0.85; }
  .result-name { font-size:14px; color:var(--txt); text-align:center; max-width:130px;
    font-family:'VT323',monospace; line-height:1.05; }
  .ricon-ph { font-size:16px; color:var(--muted2); }
  
  .recipe-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center;
    margin:12px 0 4px; padding:10px 12px; background:var(--panel);
    border:2px solid var(--line2); position:sticky; top:0; z-index:5; }
  .recipe-toolbar .search { flex:1 1 240px; min-width:160px; background:var(--bg);
    border:2px solid var(--line2); color:var(--txt); padding:6px 10px;
    font-family:'VT323',monospace; font-size:16px; image-rendering:pixelated; }
  .recipe-toolbar .search:focus { outline:none; border-color:var(--aqua); }
  .recipe-toolbar .pills { display:flex; flex-wrap:wrap; gap:4px; }
  .recipe-toolbar .pill { background:var(--bg); border:2px solid var(--line2);
    color:var(--muted); padding:7px 13px; font-family:'VT323',monospace;
    font-size:18px; line-height:1; cursor:pointer; user-select:none; image-rendering:pixelated; }
  .recipe-toolbar .pill:hover { border-color:var(--aqua); color:var(--txt); }
  .recipe-toolbar .pill.active { background:var(--aqua); color:#0b0e14; border-color:var(--aqua); }
  .recipe-toolbar .match-count { font-family:'VT323',monospace; font-size:14px; color:var(--muted); }
  .recipe-section h2 { position:sticky; top:64px; background:var(--bg);
    padding:6px 8px; z-index:3; border-left:4px solid var(--aqua); }
  
  .recipe-card.hidden { display:none; }
  .recipe-section.hidden { display:none; }
