/* Upgrades card (organ pages, light theme) */
.organ-upgrades{--ink2:#3b2f2a;--muted2:#8a7465;--teal:#2bb3a5;margin:0 0 14px;padding:12px;border-radius:18px;background:#fffaf6;box-shadow:0 2px 10px #8a5a3a1f;color:var(--ink2)}
.organ-upgrades header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.up-title{font:700 16px/1.1 system-ui,sans-serif}.up-title em{font-style:normal;font-weight:500;color:var(--muted2);margin-left:4px}
.up-now{font-size:12px;font-weight:600;color:#1e7f75;background:#e3f6f2;padding:3px 8px;border-radius:999px;white-space:nowrap}
.up-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.up-tile{position:relative;margin:0;border-radius:12px;background:#f3ebe4;padding:4px 2px 2px;text-align:center}
.up-tile img{width:100%;aspect-ratio:1;object-fit:contain;display:block}
.up-tile figcaption{font:700 11px system-ui;color:var(--muted2)}
.up-tile.now{background:#e3f6f2;box-shadow:0 0 0 2px var(--teal) inset}.up-tile.now figcaption{color:#1e7f75}
.up-tile.ready{background:#fff1d6;box-shadow:0 0 0 2px #f0a531 inset;animation:up-glow 1.6s ease-in-out infinite}
.up-tile.locked img{filter:grayscale(1) brightness(.2) opacity(.16)}
.up-tile.asleep img{filter:grayscale(.7) opacity(.6)}
.up-lock{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:#fffaf6;display:grid;place-items:center;box-shadow:0 1px 4px #0002}
.up-lock svg,.up-chip svg,.up-install svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@keyframes up-glow{50%{box-shadow:0 0 0 2px #f0a531 inset,0 0 14px #f0a53188}}
.up-next{border-top:1px solid #efe3d9;padding-top:10px}
.up-nextrow{display:flex;gap:10px;align-items:center}
.up-nextimg{width:56px;height:56px;object-fit:contain;flex:none;background:#f3ebe4;border-radius:12px}
.up-nextrow b{display:block;font-size:14px}.up-gain{display:inline-block;margin-top:3px;font-size:12px;font-weight:700;color:#1e7f75}
.up-fill{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:10px}
.up-srcs{display:flex;align-items:center;gap:3px}
.up-src{width:24px;height:24px;border-radius:8px;background:#ece2d8;display:grid;place-items:center;color:var(--ink2)}
.up-src svg{width:15px;height:15px}.up-plus{font-weight:700;color:var(--muted2)}
.up-fill small{font-size:12px;color:var(--muted2);font-variant-numeric:tabular-nums}
.up-bar{height:9px;border-radius:5px;background:#ece2d8;overflow:hidden}
.up-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#57d3c3,var(--teal))}
.up-bar.life i{background:linear-gradient(90deg,#9fdc8b,#5cbf6a)}.up-bar.asleep i{background:#e8a35a}
.up-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.up-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 6px;border-radius:999px;background:#f3ebe4;font-size:12px;font-weight:600;color:#7a5f50}
.up-chip.ok{background:#e3f6f2;color:#1e7f75}
.up-chip.organ img{width:22px;height:22px;object-fit:contain;margin:-2px 0}
.up-install{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;height:42px;border-radius:14px;background:var(--teal);color:#fff;font-weight:700;font-size:15px;box-shadow:0 3px 10px #2bb3a555}
.up-install:disabled{background:#ece2d8;color:#8a7465;box-shadow:none;font-size:13px;opacity:1}
.up-note{margin-top:8px!important;font-size:12px;color:#a2522e;background:#fde9df;padding:6px 9px;border-radius:10px}
.up-life{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;margin-top:12px}
.up-lifelabel{font-size:12px;font-weight:600;color:var(--muted2)}
.up-life small{grid-column:1/-1;font-size:12px;color:var(--muted2)}
.up-max{font-weight:600;color:#1e7f75}
/* Job needs: knowledge (book) and body (organ picture) chips */
.need-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.need-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 7px;border-radius:999px;background:#f3ebe4;color:#7a5f50;font:600 12px system-ui,sans-serif}
.need-chip.ok{background:#e3f6f2;color:#1e7f75}
.need-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.need-chip.organ img{width:24px;height:24px;object-fit:contain;margin:-3px 0}
/* Recipe chips (Oct 21 recipe model) */
.up-label{margin:12px 0 6px!important;font:700 11px system-ui;letter-spacing:.05em;text-transform:uppercase;color:var(--muted2)}
.rcs{display:flex;flex-wrap:wrap;gap:6px}
.rc{display:inline-flex;align-items:center;gap:5px;padding:5px 9px 5px 6px;border-radius:12px;background:#f3ebe4;color:var(--ink2);font-size:12px}
.rc svg{width:16px;height:16px}.rc b{font-weight:600}.rc em{font-style:normal;font-weight:700;color:var(--muted2)}
.rc.ok{background:#e3f6f2;color:#1e7f75}.rc.ok em{color:#1e7f75}
.rc.locked{opacity:.6}.rc.locked svg{fill:none;stroke:currentColor;stroke-width:2.2}
.rc>svg:last-child{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.up-days{display:flex;align-items:center;gap:8px;margin-top:10px}
.up-dots{display:flex;flex-wrap:wrap;gap:4px;flex:1}.up-dots i{width:10px;height:10px;border-radius:50%;background:#ece2d8}.up-dots i.on{background:var(--teal)}
.up-days small{font-size:12px;color:var(--muted2);white-space:nowrap}
.up-add{width:100%;margin-top:10px;height:40px;border-radius:13px;background:#fff;border:2px dashed #2bb3a5;color:#1e7f75;font-weight:700}
.up-ok{margin-top:8px!important;font-size:12px;font-weight:600;color:#1e7f75}
.up-hint{margin-top:8px!important;font-size:12px;color:var(--muted2)}
.up-dots i.head{background:none;box-shadow:inset 0 0 0 2px var(--teal)}
