.finder-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.finder-card{display:flex;flex-direction:column}.finder-card:hover{transform:none}.finder-card .illustration{height:130px}.finder-card .card-body{display:flex;flex:1;flex-direction:column;padding:12px 6px}.finder-card h3{margin-bottom:12px}.finder-ingredients{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px}.finder-ingredients .tag{font-size:11px}.finder-add{margin-top:auto;width:100%;padding:8px;border:1px solid #a58b56;background:#85632b;color:#fff5dd;border-radius:3px}.finder-add:disabled{background:var(--line);color:var(--muted);border-color:var(--line);cursor:default}.finder-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.restaurant-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.restaurant-tabs .chip{padding:9px 16px}.restaurant-name{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:25px}.restaurant-name label{display:flex;flex-direction:column;gap:6px;flex:1;max-width:420px;color:var(--muted);font-size:12px}.restaurant-name input{height:42px;padding:8px 12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:3px}.module-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-need{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);background:var(--bg)}.module-need img{width:64px;height:64px;object-fit:contain}.module-need h3{font-size:14px}.module-need p{margin:5px 0 0;color:var(--muted);font-size:11px}.module-need strong{margin-left:auto;white-space:nowrap;color:var(--green);font-size:25px;font-weight:500}.finder-empty{padding:45px 15px;text-align:center;color:var(--muted)}#restaurant-picker{width:460px;max-width:calc(100% - 30px);background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:24px}#restaurant-picker::backdrop{background:#0009}#picker-options{display:grid;gap:10px;margin-top:20px}#picker-options button{padding:12px;text-align:left;background:var(--bg);color:var(--ink);border:1px solid var(--line)}#picker-options button:hover{border-color:var(--green)}#finder-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:10px 20px;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 5px 25px #0003;z-index:5;display:none}.finder-count{color:var(--muted);font-size:12px}.finder-note{margin:0 0 18px;color:var(--muted);font-size:12px}@media(max-width:900px){.finder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-needs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.finder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-needs{grid-template-columns:1fr}}

/* The game's dark frame sprite is too heavy against the light palette. */
[data-theme="light"] .finder-card{
 border-image:none;
 border:1px solid #d9d1bf;
 border-radius:4px;
 overflow:hidden;
 background:var(--panel);
 box-shadow:0 2px 7px #5947280a;
}
[data-theme="light"] .finder-card:hover{border-color:#a58b56;border-image:none;box-shadow:0 3px 10px #59472812}
[data-theme="light"] .finder-card .card-body{padding:14px}

[data-theme="light"] #finder-app .panel{
 border-image:none;
 border:1px solid #d9d1bf;
 border-radius:4px;
 background:var(--panel);
 box-shadow:0 2px 7px #5947280a;
 padding:24px;
}
[data-theme="light"] .module-need{border-color:#ded7c8;border-radius:3px}
@media(max-width:650px){[data-theme="light"] #finder-app .panel{padding:16px}}

.danger-button{height:40px;padding:0 14px;border:1px solid #b94040;border-radius:3px;background:#b94040;color:#fff;font-size:12px;white-space:nowrap}.danger-button:hover{background:#9f3030}.required-ingredients{display:flex;gap:10px;flex-wrap:wrap}.ingredient-total{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);background:var(--bg);border-radius:3px}.ingredient-total strong{color:var(--green)}.ingredient-total small{font-size:10px}.ingredient-total.unproducible{color:#ae2d2d;border-color:#d9aaaa;background:#fff0ee}.ingredient-total.unproducible strong{color:inherit}[data-theme="dark"] .ingredient-total.unproducible{color:#ffa5a5;border-color:#815050;background:#382728}#finder-app .panel{margin-bottom:24px}.restaurant-name{align-items:flex-end}button:disabled{opacity:.55;cursor:default}.header-tools{flex-wrap:wrap}

.restaurant-name>button{height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px}
.finder-card-actions{display:flex;gap:7px;margin-top:auto;align-items:stretch}.finder-card-actions .finder-add{margin:0;flex:1;width:auto;min-width:0}.finder-card-actions .favorite-button{margin:0;padding:8px 10px;white-space:nowrap;display:flex;align-items:center;justify-content:center}.generator-pin{margin-top:8px;padding:8px}.unfavorite-link{border:0;background:transparent;color:var(--muted);font-size:11px;padding:8px 0 0;text-decoration:underline}.generator-controls{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.generator-controls>label:first-child{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.generator-controls input[type=number]{width:100px;height:40px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:8px 12px;border-radius:3px}.reuse-checkbox{display:flex;gap:8px;align-items:center;height:40px}.reuse-checkbox input{width:17px;height:17px;accent-color:#85632b}.generate-button{width:auto;height:40px;margin:0;padding:0 24px}.generator-warning{color:#b94040;font-size:12px}.result-origin{font-size:11px;color:var(--green);margin-bottom:9px}.generator-panel .required-ingredients{margin-top:10px}.generator-panel .section-head{margin-top:25px!important}.generator-panel>.section-head:first-child{margin-top:0!important}[data-theme="dark"] .generator-warning{color:#ffa5a5}@media(max-width:650px){.generator-controls{gap:12px}.finder-card-actions{flex-wrap:wrap}.finder-card-actions .finder-add{min-width:65px}}

.shell>header{position:sticky;top:0;z-index:20;box-shadow:0 2px 8px #0001}
.finder-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finder-card-actions>button{width:100%;height:40px;padding:0 8px;display:flex;align-items:center;justify-content:center;min-width:0}.finder-card-actions .finder-add{width:100%}.finder-card-actions .favorite-button{padding:0 8px}.generator-pin{margin-top:auto;height:40px}
.restaurant-loader{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:24px 0 10px}.restaurant-loader label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.restaurant-loader select{width:350px;max-width:100%;height:40px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:0 10px}.restaurant-loader button{height:40px;padding:0 20px}@media(max-width:650px){.restaurant-loader label{width:100%}.restaurant-loader select{width:100%}.finder-card-actions .finder-add{min-width:0}}

.finder-card{position:relative}.unfavorite-minus{position:absolute;top:7px;right:7px;z-index:2;width:28px;height:28px;border:1px solid #a82d2d;border-radius:50%;background:#c44343;color:white;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:600;line-height:1;padding:0;box-shadow:0 2px 5px #0002}.unfavorite-minus:hover{background:#a82d2d}.unfavorite-minus:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.generated-unproducible{margin-top:14px}

.restaurant-global-actions>button{height:40px;width:150px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font-size:12px;margin:0}

.recipe-client-flag{font-size:10px;color:var(--muted);margin:-5px 0 10px}.module-need small{font-size:10px;color:var(--muted)}

#share-dialog{width:620px;max-width:calc(100% - 30px);padding:24px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}#share-dialog::backdrop{background:#0009}#share-url{width:100%;height:42px;padding:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:12px}

#copy-share-link{margin-top:16px}

.custom-ingredient{position:relative;display:inline-flex}.finder-ingredients{overflow:visible}.custom-tag{border:1px solid #7396a8;background:#dceaf1;color:#285a73;cursor:pointer;font-size:11px}.ingredient-popover{display:none;position:absolute;bottom:100%;left:0;padding:12px;width:250px;max-width:75vw;z-index:35;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 24px #0003;border-radius:4px}.custom-ingredient:hover .ingredient-popover,.custom-ingredient:focus-within .ingredient-popover{display:block}.ingredient-options{display:flex;flex-direction:column;max-height:230px;overflow:auto;gap:3px}.ingredient-option{display:block;border:0;background:transparent;color:var(--ink);font-size:12px;text-align:left;padding:5px 8px;border-radius:2px}.ingredient-option.current{background:#deedf1;color:#285a73}button.ingredient-option:hover{background:var(--line)}.ingredient-popover>small{display:block;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.finder-card:has(.custom-ingredient:hover),.finder-card:has(.custom-ingredient:focus-within){z-index:30}.finder-card:has(.custom-ingredient:hover) .card-body,.finder-card:has(.custom-ingredient:focus-within) .card-body{position:relative}.finder-card{overflow:visible!important}[data-theme="dark"] .custom-tag{background:#28434e;color:#b9e0f0;border-color:#608a9f}[data-theme="dark"] .ingredient-option.current{background:#28434e;color:#b9e0f0}

.ingredient-popover{top:100%;bottom:auto}.finder-grid>.finder-card:nth-child(5n) .ingredient-popover{left:auto;right:0}@media(max-width:900px){.finder-grid>.finder-card:nth-child(3n) .ingredient-popover{left:auto;right:0}}@media(max-width:650px){.finder-grid>.finder-card:nth-child(2n) .ingredient-popover{left:auto;right:0}}

.finder-grid>.finder-empty{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.finder-empty .chip{display:inline-flex;align-items:center;white-space:nowrap}

/* Original transparent game logo, shared by both entry points. */
.shell>header .brand{flex-direction:column;align-items:center;gap:2px;line-height:1.2}.brand-logo{display:block;width:120px;height:auto;object-fit:contain}.shell>header .brand small{letter-spacing:1px}
@media(max-width:650px){.brand-logo{width:100px}}
