:root{--green:#1d3a24;--cream:#fdf8ec;--card:#fff;--red:#8b1e1e;--amber:#fff3cd}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--cream);color:#222;line-height:1.45}
header{background:var(--green);color:#fff;padding:16px 16px 8px}h1{margin:0;font-size:28px}.tag{margin:4px 0 12px;opacity:.9}
nav{display:flex;gap:8px}.tab{flex:1;padding:10px;border:0;border-radius:10px 10px 0 0;background:#2f5a38;color:#fff;font-size:16px}.tab.active{background:var(--cream);color:var(--green);font-weight:700}
main{max-width:760px;margin:0 auto;padding:16px}h2{margin:8px 0}
.safety{background:#fdecea;border:2px solid var(--red);border-radius:12px;padding:12px;margin-bottom:16px}
.hint{color:#555}.status{font-weight:600;min-height:1.4em}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.slot{background:var(--card);border:1px solid #ddd;border-radius:12px;padding:10px;text-align:center}
.slot img{width:100%;max-height:180px;object-fit:cover;border-radius:8px;display:none}
.slot img.show{display:block}.slot label{display:block;font-weight:600;margin-bottom:6px}
.slot input{width:100%}
.field{display:block;margin:12px 0}.field input,.field textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px;font-size:16px;margin-top:4px}
button{cursor:pointer;border-radius:10px;padding:12px 16px;font-size:16px;border:0}
.primary{background:var(--green);color:#fff;width:100%;font-weight:700}
.secondary{background:#e8e2d0;color:#222;margin:8px 0}
.candidate{background:var(--card);border:1px solid #ddd;border-radius:12px;padding:14px;margin:12px 0}
.candidate h3{margin:0 0 6px}.band{display:inline-block;background:var(--amber);border-radius:20px;padding:2px 10px;font-size:14px}
.toxicity{border-left:4px solid var(--red);padding-left:10px}
.journal-entry{background:var(--card);border:1px solid #ddd;border-radius:12px;padding:12px;margin:12px 0}
.journal-entry img{width:100%;max-height:220px;object-fit:cover;border-radius:8px}
footer{max-width:760px;margin:0 auto;padding:0 16px 32px;color:#555;font-size:14px}
@media(max-width:520px){.slots{grid-template-columns:1fr}h1{font-size:24px}}
