.bookmarks{width:100%;max-width:640px;margin:1.5rem auto 0;padding:0 1rem 2rem}.bookmarks-title{font-size:1.1rem;font-weight:700;margin-bottom:.75rem;border-bottom:1px solid var(--color-border);padding-bottom:.25rem}.bookmark-category{margin-bottom:1rem}.bookmark-category-label{font-size:.85rem;font-weight:700;margin-bottom:.3rem}.bookmark-list{list-style:disc;padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.25rem}.bookmark-item{font-size:.9rem}.bookmark-link{font-weight:400}.bookmark-desc{font-size:.8rem;color:var(--color-text-secondary)}.bookmark-desc:before{content:" —"}.search-screen{display:flex;flex-direction:column;flex:1;width:100%;overflow-y:auto}.search-bar{position:fixed;top:0;left:0;right:0;z-index:10;background:var(--color-bg);padding:.5rem 1rem;border-bottom:2px solid #000}.search-branding{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding-top:5rem}.app-title{font-size:1.5rem;font-weight:700}.app-subtitle{color:var(--color-text-secondary);font-size:.9rem;margin-top:.25rem;font-style:italic}.search-form{width:100%;max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:.4rem}.search-row{display:flex;width:100%;gap:.4rem}.search-input{flex:1;min-width:0;padding:.4rem;border:1px solid var(--color-border);font-size:1rem;outline:none}.search-input:focus{border-color:#000}.search-button{padding:.4rem .75rem;background:#eee;color:#000;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.search-button:hover{background:#ddd}.search-controls{display:flex;gap:.4rem;align-items:center}.county-row{display:flex;gap:.25rem;flex:1;min-width:0}.county-select{flex:1;min-width:0;padding:.35rem;border:1px solid var(--color-border);font-size:.9rem;outline:none}.county-select:focus{border-color:#000}.county-select:disabled{opacity:.5}.locate-button{display:flex;align-items:center;justify-content:center;padding:.35rem .5rem;background:#eee;border:1px solid var(--color-border);color:#000;flex-shrink:0}.locate-button:hover:not(:disabled){background:#ddd}.locate-button:disabled{opacity:.5;cursor:not-allowed}.locate-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--color-border);border-top-color:#000;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mode-toggle{display:flex;gap:.5rem;flex-shrink:0}.mode-option{display:flex;align-items:center;gap:.25rem;font-size:.9rem;cursor:pointer;white-space:nowrap}.mode-option input[type=radio]{display:inline}.loc-error{color:var(--color-error);font-size:.85rem}@media(min-width:641px){.search-screen{align-items:center;justify-content:center}.search-bar{position:static;border-bottom:none;padding:0;background:none;order:2;margin-top:1rem;width:100%}.search-branding{order:1;padding-top:0;flex:0}.bookmarks{order:3}.search-form{max-width:100%}}@media(max-width:640px){.search-branding{padding-top:7rem}}@media(max-width:480px){.search-branding{padding-top:9rem}.search-controls{flex-direction:column;align-items:stretch}.mode-toggle{justify-content:stretch}.mode-option{flex:1;justify-content:center}}.health-results{width:100%;display:flex;flex-direction:column}.query-hint{color:var(--color-text-secondary);font-size:.9rem;padding:.25rem 0;margin-bottom:.5rem}.no-results{color:var(--color-text-secondary);text-align:center;padding:2rem 0}.health-card{display:flex;flex-direction:column;gap:.5rem}.health-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.health-details{color:var(--color-text-secondary);font-size:.85rem;margin-top:.2rem}.health-score{flex-shrink:0;font-weight:700;font-size:1.1rem;text-align:right;white-space:nowrap}.score-good{color:var(--color-score-good)}.score-ok{color:var(--color-score-ok)}.score-bad{color:var(--color-score-bad)}.score-na{color:#999;font-size:.85rem}.health-link{font-size:.9rem}.grocery-results{width:100%;display:flex;flex-direction:column}.grocery-results .no-results{color:var(--color-text-secondary);text-align:center;padding:2rem 0}.grocery-card{display:flex;flex-direction:column;gap:.5rem}.grocery-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.grocery-meta{display:flex;gap:.75rem;align-items:center;margin-top:.2rem;font-size:.85rem;color:var(--color-text-secondary)}.grocery-category{font-style:italic}.grocery-owner{color:var(--color-text-secondary);font-size:.85rem}.grocery-violations{display:flex;gap:.5rem;margin-top:.25rem;flex-wrap:wrap;font-size:.85rem}.violation-badge{font-weight:700}.violation-badge.high-risk{color:var(--color-score-bad)}.violation-badge.repeat{color:var(--color-score-ok)}.deduction-score{flex-shrink:0;font-weight:700;font-size:1.1rem;text-align:right;white-space:nowrap}.deduction-good{color:var(--color-score-good)}.deduction-ok{color:var(--color-score-ok)}.deduction-bad{color:var(--color-score-bad)}.grocery-link{font-size:.9rem}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.75rem}.spinner-text{color:var(--color-text-secondary);font-size:.95rem}.spinner-text:after{content:"..."}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.75rem;text-align:center}.error-icon{font-weight:700;color:var(--color-error);font-size:1.5rem}.error-text{font-size:1rem;max-width:320px;line-height:1.5}.error-container .back-button{align-self:center}.app{display:flex;flex-direction:column;align-items:center;flex:1;padding:2rem 1rem;width:100%;max-width:640px;margin:0 auto}@media(max-width:640px){.app{padding-top:1rem}}.card-list{display:flex;flex-direction:column;gap:0}.card{border:1px solid var(--color-border);padding:.75rem;border-bottom:none}.card:last-child{border-bottom:1px solid var(--color-border)}.card-body{flex:1;min-width:0;overflow:hidden}.card-name{font-weight:700;margin-bottom:.15rem}.card-address{color:var(--color-text-secondary);font-size:.9rem}.back-button{align-self:flex-start;background:none;border:none;color:var(--color-link);font-size:1rem;padding:.25rem 0;margin-bottom:.75rem;text-decoration:underline}.back-button:hover{color:var(--color-link-hover)}.back-button:before{content:"←"}.view-title{font-size:1.1rem;font-weight:700;margin-bottom:.75rem;align-self:flex-start}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #ffffff;--color-text: #000000;--color-text-secondary: #555;--color-border: #999;--color-link: #0000cc;--color-link-hover: #000099;--color-error: #cc0000;--color-score-good: #006600;--color-score-ok: #cc6600;--color-score-bad: #cc0000}html{font-size:16px;height:100%;overflow:hidden}body{font-family:Georgia,Times New Roman,Times,serif;background:var(--color-bg);color:var(--color-text);min-height:100%;overflow:hidden;position:fixed;width:100%}#root{height:100dvh;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:1rem}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}a:visited{color:#551a8b}hr{border:none;border-top:1px solid var(--color-border);margin:.75rem 0}
