*,*::before,*::after{box-sizing:border-box}
:root{--ink:#16130f;--ink-soft:#57514a;--line:#ded7cd;--surface:#f7f4ef;--card:#fffdf9;--accent:#0d5c73;--accent-ink:#0a4a5c;--eat:#1a7f37;--freeze:#b26a00;--toss:#b42318}

body{margin:0 auto;max-width:640px;padding:16px 16px 48px;background:var(--surface);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.45}

[hidden]{display:none!important}

h1{font-size:1.75rem;margin:0 0 4px}
h2{font-size:1.05rem;margin:0 0 12px}
.subtitle{color:var(--ink-soft);margin:0 0 20px}

section{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin:0 0 16px}

button{font:inherit;cursor:pointer}
a{color:var(--accent)}

.search input[type="search"]{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}

.results{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.results button{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink)}
.results button:hover{border-color:var(--accent);color:var(--accent-ink)}

.chips{display:flex;flex-wrap:wrap;gap:8px;overflow-x:auto;padding:2px 0 4px;margin:0 0 16px;-webkit-overflow-scrolling:touch}
.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:.9rem}
.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}

.recent{display:flex;flex-direction:column;gap:6px}
.recent button{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink)}
.recent button:hover{border-color:var(--accent);color:var(--accent-ink)}

.items{list-style:none;margin:0;padding:0}
.items li{border-bottom:1px solid var(--line);padding:10px 0}
.items li:last-child{border-bottom:0}
.items button{width:100%;text-align:left;background:none;border:0;color:var(--ink);padding:0}
.items button:hover{color:var(--accent-ink)}

.aliases{color:var(--ink-soft);font-size:.95rem;margin:0 0 12px}

.stored-row{display:flex;flex-wrap:wrap;gap:8px}
.stored-row input[type="date"]{flex:1 1 160px;min-width:0;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}

.btn{background:var(--card);color:var(--accent-ink);border:1px solid var(--accent);border-radius:10px;padding:10px 14px}
.btn:hover{background:#eef6f9}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}

#storage-table{width:100%;border-collapse:collapse;font-size:.95rem}
#storage-table th,#storage-table td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
#storage-table th{font-weight:600}
tr.cd-row td{background:#eef6f9}

.verdict-word{font-size:2.2rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;margin:.4em 0}
.verdict-word.eat{color:var(--eat)}
.verdict-word.freeze{color:var(--freeze)}
.verdict-word.toss{color:var(--toss)}
.verdict-line{color:var(--ink-soft)}
.clamp{color:var(--freeze);font-size:.95rem}

footer{margin-top:24px}
footer a{color:var(--accent)}
footer p{font-size:.85rem;color:var(--ink-soft);margin:0 0 8px}

.cta-help{color:var(--ink-soft);font-size:.95rem;margin:0 0 12px}
.card-status{margin:12px 0 0;font-weight:600}
.card-status.eat{color:var(--eat)}
.card-status.freeze{color:var(--freeze)}
.card-status.toss{color:var(--toss)}

.saved-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.saved-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}
.saved-name{flex:1 1 auto;min-width:0;text-align:left;background:none;border:0;color:var(--ink);padding:0;font-weight:600}
.saved-name:hover{color:var(--accent-ink)}
.saved-meta{color:var(--ink-soft);font-size:.85rem;flex:1 1 100%}
.badge{font-size:.75rem;font-weight:800;text-transform:uppercase;border-radius:999px;padding:3px 8px;color:#fff;flex:0 0 auto}
.badge.eat{background:var(--eat)}
.badge.freeze{background:var(--freeze)}
.badge.toss{background:var(--toss)}
.saved-clear{flex:0 0 auto;background:var(--card);color:var(--accent-ink);border:1px solid var(--accent);border-radius:10px;padding:4px 10px;font-size:.85rem}
.saved-empty{color:var(--ink-soft);font-size:.95rem;margin:14px 0 0}
