@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-v17-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gluten;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/gluten-v18-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gluten;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/gluten-v18-latin-600.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-body:"DM Sans", system-ui, "Segoe UI", Roboto, sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", Georgia, "Noto Serif", serif;--font-label:"Courier New", Courier, "Nimbus Mono PS", ui-monospace, monospace;--font-brand:"Gluten", "Segoe UI", sans-serif;font-family:var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-text:#2b2721;--color-text-strong:#1f4725;--color-text-muted:#554e40;--color-text-subtle:#5f5747;--color-text-faint:#645b4c;--color-surface:#fdfbf5;--color-surface-alt:#f6f1e4;--color-surface-sunken:#f1eadb;--color-surface-overlay:#1e180e9e;--color-border:#d6c9ab;--color-border-strong:#3d8f4a;--color-border-soft:#e9e1ce;--color-border-muted:#ddd3bd;--color-accent:#1f4725;--color-accent-soft:#e6eed8;--color-accent-hover:#255a30;--color-accent-2:#3d8f4a;--color-accent-2-dark:#2f6b3a;--color-danger:#a33;--color-danger-soft:#fae6df;--color-stamp-red:#b3231a;--color-stamp-green:#1f6b2f;--color-shadow:#42301221;--color-paper:#fffdf8;--color-paper-edge:#e3d8bf;--color-ink:#2b2721;--color-sepia:#6b4f2a;--color-kraft:#c8b083;--color-kraft-soft:#ebdfc3;--color-manila:#e9dcae;--color-folder-green:#dde6c6;--color-folder-green-edge:#a7ba86;--color-folder-salmon:#efdccf;--color-folder-salmon-edge:#caa58e;--color-cabinet:#d8d1b8;--color-drawer-top:#efeadb;--color-drawer-bottom:#e3dcc6;--color-brass:#b08d57;--color-drawer-pull-top:#bdb59c;--color-drawer-pull-bottom:#8c856f;--color-spine:#1f4725;--color-cloth:#a7ba86;--color-medal-gold:#b8862b;--color-medal-silver:#9aa2a7;--color-medal-bronze:#b97a4a;--color-wood:#8c6b42;--color-rarity-rare:#9a6337;--color-rarity-epic:#7a8085;--color-tape:#ece4c8d1;--color-tape-edge:#96825a40;--color-specimen-leaf:#6f7d3c;--color-specimen-leaf-dark:#4f5a2a;--color-specimen-vein:#3e4620;--color-specimen-stem:#6b4f2a;--color-specimen-flower:#d9a520;--color-specimen-flower-dark:#a87612;--color-specimen-red:#a8432a;--color-specimen-petal:#9c5a8e;--color-specimen-fruit:#3b2a3f;--color-specimen-water:#5b7fa6;--color-specimen-stone:#8a8b83;--color-specimen-night:#2c3747;--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.36 0 0 0 0 0.28 0 0 0 0 0.16 0.16 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--paper-shadow:0 1px 0 #fff9 inset, 0 1px 2px #42301214, 0 14px 30px -18px #42301259;--app-bg:radial-gradient(120% 70% at 50% 0%, #fffcf2e6 0%, #fffcf200 70%), radial-gradient(90% 60% at 50% 110%, #3d8f4a1a 0%, #3d8f4a00 70%), linear-gradient(180deg, #f3eddf 0%, #ece3cf 100%);--doodle-opacity:.1;--doodle-filter:sepia(.9) saturate(.7) hue-rotate(-8deg);color:var(--color-text);background:var(--app-bg);background-attachment:fixed;min-height:100vh;font-size:16px;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-text:#ece6d6;--color-text-strong:#b3dd9f;--color-text-muted:#c2baa6;--color-text-subtle:#ada591;--color-text-faint:#a8a08b;--color-surface:#1f241b;--color-surface-alt:#252b20;--color-surface-sunken:#1a1e16;--color-surface-overlay:#000000bf;--color-border:#3c4431;--color-border-strong:#5cae5f;--color-border-soft:#2d3325;--color-border-muted:#3a413080;--color-accent:#8fd58a;--color-accent-soft:#273320;--color-accent-hover:#a2e09c;--color-accent-2:#5cae5f;--color-accent-2-dark:#8fd58a;--color-danger:#e98a78;--color-danger-soft:#3a2520;--color-stamp-red:#ff7a66;--color-stamp-green:#7fe08e;--color-shadow:#00000073;--color-paper:#23281e;--color-paper-edge:#3a3f2e;--color-ink:#ece6d6;--color-sepia:#d8b98a;--color-kraft:#6e5a36;--color-kraft-soft:#3a3324;--color-manila:#4a4228;--color-folder-green:#2b3823;--color-folder-green-edge:#4c6339;--color-folder-salmon:#3d2e28;--color-folder-salmon-edge:#6a4d40;--color-cabinet:#262b21;--color-drawer-top:#30372a;--color-drawer-bottom:#2a3025;--color-brass:#a2804b;--color-drawer-pull-top:#5d5a4a;--color-drawer-pull-bottom:#3e3c31;--color-spine:#3f6e3a;--color-cloth:#2c3a24;--color-tape:#d6c8a038;--color-tape-edge:#d6c8a02e;--color-specimen-leaf:#9fae63;--color-specimen-leaf-dark:#7b8a45;--color-specimen-vein:#d9dfb5;--color-specimen-stem:#c9a675;--color-specimen-flower:#e8bd47;--color-specimen-flower-dark:#c4952c;--color-specimen-red:#e07b5f;--color-specimen-petal:#d39ac6;--color-specimen-fruit:#8e6c96;--color-specimen-water:#8fb0d0;--color-specimen-stone:#a9aa9f;--color-specimen-night:#141b24;--color-rarity-rare:#c98b5a;--color-rarity-epic:#aeb5ba;--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.9 0 0 0 0 0.85 0 0 0 0 0.7 0.09 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");--paper-shadow:0 1px 0 #ffffff0a inset, 0 1px 2px #0000004d, 0 16px 32px -18px #000000b3;--app-bg:radial-gradient(120% 70% at 50% 0%, #46523459 0%, #46523400 70%), radial-gradient(90% 60% at 50% 110%, #6e501e2e 0%, #6e501e00 70%), linear-gradient(180deg, #151912 0%, #10130d 100%);--doodle-opacity:.11;--doodle-filter:invert(1) sepia(.5) saturate(.6)}body{min-height:100svh;margin:0;position:relative}body:after{content:"";z-index:0;pointer-events:none;background-image:var(--paper-grain);opacity:.55;background-size:220px 220px;position:fixed;inset:0}::selection{color:inherit;background:#d9a52059}body:before{content:"";z-index:0;pointer-events:none;opacity:var(--doodle-opacity);filter:var(--doodle-filter);background-image:url(/herbarium-doodle-wide-ink.png),url(/herbarium-doodle-tile-ink.png),url(/herbarium-doodle-tile-2-ink.png);background-position:50% 4rem,0 0,14rem 9rem;background-repeat:no-repeat,repeat,repeat;background-size:min(90vw,70rem),40rem 40rem,54rem 54rem;position:fixed;inset:0}#root{z-index:1;min-height:100svh;position:relative}button,input,select,textarea{font:inherit}.consent-banner{z-index:10000;padding:1.2rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom));background:var(--paper-grain) 0 0 / 220px 220px, radial-gradient(140% 100% at 50% 100%, transparent 60%, #96783c0f 100%), var(--color-paper);border-top:2px solid var(--color-kraft);box-shadow:0 -1px 0 var(--color-paper-edge), 0 -16px 36px var(--color-shadow);animation:.35s ease-out consent-slide-up;position:fixed;bottom:0;left:0;right:0}@keyframes consent-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.consent-banner__inner{flex-direction:column;gap:1.1rem;max-width:54rem;margin:0 auto;display:flex}.consent-banner__header{align-items:flex-start;gap:1rem;display:flex}.consent-banner__seal{border:1.5px solid var(--color-accent-2);outline:1px dashed var(--color-kraft);outline-offset:-3px;background:var(--paper-grain) 0 0 / 180px 180px, var(--color-accent-soft);width:2.75rem;height:2.75rem;color:var(--color-accent-2-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.15rem;display:flex;box-shadow:0 2px 5px #00000014}.consent-banner__copy{flex:1;min-width:0}.consent-banner__eyebrow{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;color:var(--color-stamp-red);margin-bottom:.3rem;font-size:.74rem;font-weight:700;display:block}.consent-banner__copy h2{font-family:var(--font-display);color:var(--color-text-strong);margin:0 0 .4rem;font-size:1.22rem;font-weight:600;line-height:1.3}.consent-banner__copy p{color:var(--color-text-muted);max-width:74ch;margin:0;font-size:.9rem;line-height:1.55}.consent-banner__copy strong{color:var(--color-text-strong);font-weight:600}.consent-banner__privacy-link{color:var(--color-text-strong);text-decoration:underline;-webkit-text-decoration-color:var(--color-kraft);text-decoration-color:var(--color-kraft);text-underline-offset:.22em;font-weight:600;transition:color .15s,text-decoration-color .15s}.consent-banner__privacy-link:hover{color:var(--color-accent-2-dark);-webkit-text-decoration-color:var(--color-accent-2);text-decoration-color:var(--color-accent-2)}.consent-banner__choices{border:1px solid var(--color-kraft);background:var(--paper-grain) 0 0 / 220px 220px, var(--color-surface-alt);border-radius:4px;margin:0;padding:.9rem 1.15rem;box-shadow:inset 0 1px 3px #0000000a}.consent-banner__choices legend{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;color:var(--color-stamp-red);padding:0 .45rem;font-size:.76rem;font-weight:700}.consent-banner__option{color:var(--color-text);cursor:pointer;align-items:flex-start;gap:.75rem;margin:.6rem 0;font-size:.88rem;line-height:1.45;display:flex}.consent-banner__option input{width:1.15rem;height:1.15rem;accent-color:var(--color-accent-2);cursor:pointer;flex-shrink:0;margin-top:.12rem}.consent-banner__actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.consent-banner__btn{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-paper) 80%, transparent);min-height:44px;color:var(--color-text-strong);font:inherit;cursor:pointer;border-radius:4px;padding:.55rem 1.25rem;font-size:.88rem;font-weight:600;transition:background .2s,border-color .2s,transform .1s;box-shadow:0 1px 2px #0000000f}.consent-banner__btn:hover{border-color:var(--color-border-strong);background:var(--color-accent-soft);transform:translateY(-1px)}.consent-banner__btn:active{transform:translateY(0)}.consent-banner__btn:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.consent-banner__btn--primary{background:var(--color-text-strong);border-color:var(--color-text-strong);color:var(--color-surface);font-weight:700;box-shadow:0 2px #0000002e,0 10px 20px -12px #1f4725b3}.consent-banner__btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-surface);box-shadow:0 3px #00000038,0 12px 24px -10px #1f4725d9}.consent-banner__btn--link{box-shadow:none;color:var(--color-text-muted);text-underline-offset:.22em;background:0 0;border-color:#0000;text-decoration:underline}.consent-banner__btn--link:hover{background:var(--color-accent-soft);color:var(--color-text-strong);-webkit-text-decoration-color:var(--color-text-strong);text-decoration-color:var(--color-text-strong);border-color:#0000}@media (width<=38rem){.consent-banner__seal{display:none}.consent-banner__actions{flex-direction:column;align-items:stretch}.consent-banner__btn{text-align:center;justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.consent-banner{animation:none}.consent-banner__btn{transition:none;transform:none!important}}.page{flex-direction:column;gap:1.5rem;max-width:min(84rem,94vw);min-height:100svh;margin:0 auto;padding:1.5rem clamp(1rem,4vw,2.5rem) 3rem;display:flex}.page--wide{max-width:min(108rem,96vw)}.page__topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page__back{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-paper) 75%, transparent);min-height:44px;color:var(--color-text-strong);border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.page__back:hover{background:var(--color-accent-soft);border-color:var(--color-border-strong)}.page__back:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:3px}.page__back--primary{background:var(--color-text-strong);border-color:var(--color-text-strong);color:var(--color-surface)}.page__back--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-surface)}.page__topbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.page__topbar-actions .language-selector{flex-shrink:0}.page__wordmark{box-sizing:border-box;min-height:44px;font-family:var(--font-brand);letter-spacing:.06em;color:var(--color-text-strong);align-items:center;font-size:1.1rem;text-decoration:none;display:inline-flex}.page__header{text-align:center}.page__eyebrow{font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:var(--color-stamp-red);margin:0 0 .5rem;font-size:.76rem;font-weight:700}.page__title{font-family:var(--font-display);color:var(--color-text-strong);margin:0 0 .5rem;font-size:clamp(1.9rem,5vw,2.8rem);font-weight:600;line-height:1.1}.page__title:after{content:"";border-top:1px solid var(--color-kraft);border-bottom:1px solid var(--color-kraft);width:4.5rem;height:2px;margin:.6rem auto 0;display:block}.page__subtitle{max-width:44rem;color:var(--color-text-muted);margin:0 auto;font-size:.98rem;line-height:1.6}.page__subtitle a{color:var(--color-text-strong);-webkit-text-decoration-color:color-mix(in srgb, var(--color-text-strong) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--color-text-strong) 35%, transparent);text-underline-offset:.25em;font-weight:600}.page__subtitle a:hover{text-decoration-color:currentColor}.page__subtitle a:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:3px;border-radius:2px}.page__sheet{background:var(--paper-grain) 0 0 / 220px 220px, radial-gradient(140% 100% at 50% 30%, transparent 65%, #96783c14 100%), var(--color-paper);border:1px solid var(--color-paper-edge);box-shadow:var(--paper-shadow);border-radius:3px;padding:clamp(1.25rem,4vw,2rem);position:relative}.page__sheet:before{content:"";background:var(--color-tape);border-left:1px dashed var(--color-tape-edge);border-right:1px dashed var(--color-tape-edge);pointer-events:none;z-index:2;width:5.5rem;height:1.25rem;position:absolute;top:-.6rem;left:50%;transform:translate(-50%)rotate(-1.5deg);box-shadow:0 1px 2px #3c280a1f}.page__sheet:after{content:"";border:1px dashed var(--color-border);pointer-events:none;opacity:.55;border-radius:2px;position:absolute;inset:.55rem}.page__sheet>*{z-index:1;position:relative}.page__sheet-title{font-family:var(--font-display);color:var(--color-text-strong);margin:0 0 1rem;font-size:1.3rem;font-weight:700}.page__note{border:1px dashed var(--color-border);background:var(--color-surface-alt);color:var(--color-text-subtle);text-align:center;border-radius:3px;margin:0;padding:.75rem 1rem;font-size:.9rem}.page--centered{text-align:center;justify-content:center;align-items:center}.page__spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent-2);border-radius:50%;width:2.25rem;height:2.25rem;margin:0 auto 1rem;animation:.9s linear infinite page-spin}@keyframes page-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.page__spinner{animation-duration:2.4s}}.page__footer{text-align:center;font-family:var(--font-label);color:var(--color-text-muted);border-top:1px dashed var(--color-border);letter-spacing:.02em;margin-top:auto;padding-top:2.2rem;padding-bottom:1.5rem;font-size:.76rem}.page__footer strong{color:var(--color-accent-2-dark);font-weight:700}
