#export{margin-top:auto}
.tools{display:flex;align-items:center;gap:7px;color:#45664a}
.tool-indicator{display:inline-flex;align-items:center;gap:3px;min-width:22px}
.tool-indicator svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tool-indicator b{font-size:9px;color:#66776a}
#detail{width:min(840px,calc(100vw - 28px));padding:0;overflow:hidden}
#detail .detail-close-slot{height:42px;display:flex;align-items:center;justify-content:flex-end;padding:0 18px;background:#fffefa}
#detail .detail-close{position:static;float:none;z-index:auto;width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent;color:#59665b;font-size:30px;line-height:1}
#detail .detail-close:hover{color:#29372f}
.gallery{background:#f0efe8;padding:14px 14px 10px;position:relative}
.gallery-stage{height:min(43vh,360px);min-height:190px;width:100%;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;border-radius:8px;background:linear-gradient(145deg,var(--a),var(--b))}
.gallery-stage:has(.gallery-image){background:#252b25}
.gallery-image{display:block;width:100%;height:100%;object-fit:contain}
.gallery-stage.unfound .gallery-image{filter:grayscale(1)}
.gallery-placeholder{font-size:100px;filter:drop-shadow(0 8px 6px #2224)}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:38px;height:38px;background:#fffefaed;color:#34453a;font-size:27px;line-height:1}
.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}
.gallery-count{position:absolute;right:12px;bottom:12px;padding:6px 9px;border-radius:15px;background:#1d251fcc;color:white;font-size:10px}
.gallery-thumbs{display:flex;gap:7px;overflow-x:auto;padding:10px 0 2px}
.thumb{flex:0 0 52px;width:52px;height:48px;border:2px solid transparent;border-radius:5px;overflow:hidden;background:#fff;padding:0}
.thumb.current{border-color:#446a4c}.thumb img{width:100%;height:100%;object-fit:cover}
.gallery-add{position:absolute;right:23px;bottom:21px;z-index:2;padding:7px 10px;background:#fffefaed;color:#46624b;border-radius:5px;font-size:10px;font-weight:700;cursor:pointer}
.gallery-thumbs~.gallery-add{bottom:70px}
.gallery-add input,.upload-label input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.detail-content{padding:21px 27px 25px;max-height:47vh;overflow-y:auto}
.detail-title{display:flex;align-items:center;justify-content:space-between;gap:16px}
.detail-title small{font-size:8px;letter-spacing:1.2px;color:#7e897e;font-weight:700}
.detail-title h2{margin:5px 0 3px}
.detail-title i{font-size:12px;color:#858b82}
.found-badge{padding:7px 10px;border-radius:15px;background:#f0eee7;color:#73796f;font-size:10px;white-space:nowrap}
.found-badge.is-found{background:#e8eee6;color:#416747}
.detail-content>p{margin:13px 0;color:#687168}
.detail-content .chips{margin:14px 0}
.detail-content .note{font-size:12px;line-height:1.6}
.markdown-note-body{margin-top:8px;color:#526052;font-size:12px;line-height:1.7}
.markdown-note-body p{margin:7px 0}
.markdown-note-body h1,.markdown-note-body h2,.markdown-note-body h3{font-family:Georgia,serif;color:#354b39;margin:13px 0 5px}
.markdown-note-body h1{font-size:19px}.markdown-note-body h2{font-size:16px}.markdown-note-body h3{font-size:14px}
.markdown-note-body ul,.markdown-note-body ol{padding-left:21px;margin:7px 0}
.markdown-note-body li{padding:1px 0}
.markdown-note-body blockquote{margin:8px 0;padding:6px 11px;border-left:2px solid #91a38d;color:#758174;background:#f0f1e9}
.markdown-note-body a{color:#3e6e49;text-decoration:underline;text-underline-offset:2px}
.detail-content .actions{margin:16px 0 0}
.upload-label{display:flex;align-items:center;justify-content:center;padding:10px;border:1px dashed #cbd3c7;border-radius:6px;background:#f5f6f0;color:#45664a;cursor:pointer}
.photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.preview-item{position:relative;width:58px;height:58px;border-radius:6px;overflow:hidden;background:#e9e8df}
.preview-item img{width:100%;height:100%;object-fit:cover}
.preview-item button{position:absolute;right:2px;top:2px;border:0;border-radius:50%;width:20px;height:20px;background:#202820bb;color:white;font-size:15px;line-height:1}
.account-controls{margin-left:auto;display:flex;align-items:center;gap:10px;letter-spacing:0;color:#59665b;font-size:11px}
.account-controls button{border:1px solid #e3e3d9;border-radius:5px;background:#fffefa;color:#506451;padding:7px 9px;font-size:10px}
.account-controls [hidden]{display:none!important}
.account-dialog{width:min(440px,calc(100vw - 28px));padding:30px}
.account-dialog h2{margin:8px 0}
.account-dialog>p{color:#80877e;font-size:12px;line-height:1.6;margin:5px 0 20px}
.account-dialog form{display:grid;gap:13px}
.account-dialog form label{display:grid;gap:6px;font-size:11px;font-weight:600;color:#59665b}
.account-dialog input:not([type=checkbox]){width:100%;border:1px solid #e4e5dc;border-radius:6px;padding:11px;background:white;font:12px 'Segoe UI',sans-serif}
.account-dialog .form-help{font-weight:400;color:#868d83;line-height:1.5}
.form-error{font-size:11px;color:#a34036;min-height:15px}
.form-message{font-size:11px;color:#45664a}
.detail-description{font-size:12px;line-height:1.7;color:#687168;margin:13px 0}
@media(max-width:720px){.account-controls{gap:5px}.account-controls button{font-size:9px;padding:6px}.account-controls #account-name{max-width:75px;overflow:hidden;text-overflow:ellipsis}}

/* Readable type scale: 16px body text, 12px reserved for compact labels. */
body{font-size:16px}
footer{font-size:12px;color:#737c72}
aside h1{font-size:23px}
aside>small,.eyebrow,.dialog-eyebrow,.breadcrumb,.stats div,.stats small,.listhead h2 small,.listhead h3 small,.photo-tag,.tag,.edible-pill,.poison-label,.meta,.latin,.footer-note,.source-card p,.source-card a,.nav-item b,.form-help,.stat small,.detail-title small,.detail-chip small,.chips small,.gallery-count,.found-badge,.card-tools b,.empty-state,.listhead button,.filter-button,.profile-card small{font-size:12px}
nav .nav-item{display:flex;align-items:center;gap:4px;font-size:14px}
header{font-size:12px}
.account-controls{font-size:14px}
.account-controls a{font-size:14px}
.intro small{font-size:12px}
.intro p{font-size:16px}
.stats div{font-size:12px}
.stats strong{font-size:26px}
.stats small{font-size:12px}
.filters input,.filters select{font-size:14px}
.listhead h3{font-size:22px}
.info h4{font-size:17px}
.info .latin{font-size:12px}
.meta{font-size:12px}
.pill{font-size:12px}
.tag{font-size:12px}
.wishbtn{font-size:18px}
.footer-note{font-size:12px}
.empty b{font-size:22px}
.empty{font-size:14px}
dialog form label{font-size:14px}
dialog input:not([type=checkbox]),dialog select,dialog textarea{font-size:16px}
.actions button,.secondary{font-size:13px}
.detail-content>p,.detail-description{font-size:16px}
.detail-content .note{font-size:14px}
.markdown-note-body{font-size:16px}
.detail-chip{font-size:14px}
.found-badge{font-size:12px}
.gallery-add{font-size:12px}
.account-dialog>p{font-size:14px}
.account-dialog form label{font-size:14px}
.account-dialog input:not([type=checkbox]){font-size:16px}
.account-dialog .form-help,.form-message,.form-error{font-size:12px}
.profile-heading h1{font:700 34px Georgia,serif;margin:8px 0}
.profile-heading p{font-size:16px;color:#858c83;margin:0}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:980px;margin-top:24px}
.profile-card{max-width:none;margin:0;background:#fffefa;border:1px solid #e9e7df;border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:16px}
.profile-card h2{font:700 21px Georgia,serif;margin:0 0 5px}
.profile-card p{font-size:14px;color:#858c83;margin:0;line-height:1.55}
.profile-card label{display:grid;gap:7px;font-size:14px;font-weight:600;color:#59665b}
.profile-card input{width:100%;border:1px solid #e4e5dc;border-radius:6px;padding:11px 12px;background:white;font:16px 'Segoe UI',sans-serif;color:#29372f}
.profile-card .primary{font-size:14px;align-self:flex-start}
.profile-card .form-help{font-size:12px;color:#747d73;line-height:1.5}
.danger-card{grid-column:1/-1;border-color:#eadbd6;background:#fffdfb}
.danger-card h2{color:#88564d}
.danger-card .danger-button{align-self:flex-start;border:1px solid #b76e60;border-radius:6px;background:#fff8f6;color:#8b4c40;padding:10px 13px;font:600 14px 'Segoe UI',sans-serif}
.profile-page[hidden],#collection-section[hidden]{display:none}
#profile-link{display:inline-flex;align-items:center;border:1px solid #d8ddd5;border-radius:5px;padding:7px 10px;color:#29372f;text-decoration:none;font-size:14px;font-weight:600}
#profile-link:hover{background:#f0f2ec}
#profile-link:focus-visible{outline:2px solid #355d46;outline-offset:2px}
.brand-icon{margin-right:7px}
.tool-indicator b{font-size:12px}
.search-wrap input{font-size:14px}
.search-wrap kbd{font-size:12px}
.chips div{font-size:14px}
.primary,.secondary-button{font-size:14px}
.profile-card[hidden]{display:none}
@media(max-width:720px){
 aside h1{font-size:22px}
 .brand-name{display:none}
 aside>small{font-size:12px}
 nav .nav-item{font-size:14px}
 nav .nav-label{display:none}
 nav .nav-symbol{font-size:18px}
 .intro p{font-size:14px}
 .stats div{font-size:12px}
 .stats strong{font-size:22px}
 .stats small{font-size:12px}
 .filters input,.filters select{font-size:12px}
 .search-wrap input{font-size:12px}
 .search-wrap kbd{font-size:12px}
 .detail-content .actions button{font-size:12px}
 .info h4{font-size:14px}
 .info .latin,.meta,.pill,.tag{font-size:12px}
 .empty{font-size:14px}
 .account-controls button{font-size:12px;padding:7px}
 .account-controls #account-name{max-width:105px}
 .profile-grid{grid-template-columns:1fr}
 .danger-card{grid-column:auto}
 .profile-card{padding:17px}
 .profile-heading h1{font-size:30px}
}
@media(max-width:720px){#detail{max-height:94vh}.gallery{padding:9px 9px 6px}.gallery-stage{height:32vh;min-height:155px}.gallery-add{right:17px;bottom:15px}.gallery-thumbs~.gallery-add{bottom:65px}.detail-content{padding:16px;max-height:52vh}.detail-content .actions{flex-wrap:wrap}.detail-content .actions button{font-size:12px;padding:9px}.gallery-placeholder{font-size:70px}}
