:root{color:#243129;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#e7dbc3b3,#0000 35%),linear-gradient(#f6f1e6 0%,#efe6d7 100%);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}#root{min-height:100vh}h1,h2,h3{color:#1b2f2a;font-family:Georgia,Times New Roman,serif;font-weight:600}button{transition:transform .15s,box-shadow .15s}button:active{transform:translateY(1px)}.app-shell{color:#243129;width:min(100%,760px);margin:0 auto;padding:20px 18px 120px}.charter-backdrop{z-index:5;background:#18231d94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.charter-dialog,.observation-dialog{background:#f6f1e6;border:1px solid #6052433d;border-radius:24px;width:min(100%,440px);padding:26px 22px;position:relative;box-shadow:0 24px 60px #141c174d}.charter-dialog h2,.observation-dialog h2{margin:0 0 16px;font-size:2rem;line-height:1.04}.charter-list{gap:12px;margin:0 0 22px;padding:0;list-style:none;display:grid}.charter-list li{color:#4f5c52;background:#ffffff75;border:1px solid #60524324;border-radius:14px;padding:12px 14px}.topbar{align-items:center;gap:12px;margin-bottom:18px;display:flex}.brand-wrap{align-items:center;gap:10px;display:flex}.brand-mark{color:#f7f1e7;background:linear-gradient(135deg,#1d2f28,#5f7668);border-radius:12px;place-items:center;width:40px;height:40px;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:700;display:grid;box-shadow:inset 0 1px #fff3}.brand-kicker{color:#7d6d57;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.62rem}.topbar h1{letter-spacing:.02em;margin:0;font-size:1.8rem}.primary-button,.tab{font:inherit;border:0}.primary-button{cursor:pointer;color:#f7f1e7;background:#1d2f28;border-radius:999px;font-weight:600;box-shadow:0 10px 18px #131f1a2e}.primary-button:focus-visible,.tab:focus-visible,.entry-card:focus-visible,.dialog-close:focus-visible{outline-offset:3px;outline:3px solid #a3784d}.charter-dialog>.primary-button{width:100%;padding:.85rem 1rem}.tabnav{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f1e6e6;border:1px solid #6352431a;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;padding:5px;display:grid;position:sticky;top:8px}.tab{color:#4b5c51;cursor:pointer;background:0 0;border-radius:999px;padding:.7rem .5rem;font-weight:600}.tab.active{color:#1d2f28;background:#d5c2a5}.screen{background:linear-gradient(#ffffff70,#f7f1e761 38%,#f1e7d66b);border:1px solid #63524324;border-radius:28px;overflow:hidden;box-shadow:0 24px 40px #46403814}.hero-panel{background:linear-gradient(#f7f1e7db,#f1e7d64d);gap:16px;padding:22px 18px 16px;display:grid}.hero-copy{width:100%}.eyebrow,.tag{color:#6b5a49;letter-spacing:.12em;text-transform:uppercase;background:#7d6d571a;border-radius:999px;margin:0 0 8px;padding:.3rem .7rem;font-size:.66rem;display:inline-block}.hero-copy h2{letter-spacing:-.045em;margin:0 0 6px;font-size:clamp(2rem,7vw,3rem);line-height:1}.lede{color:#243129b8;margin:0}.plate{background:linear-gradient(#ffffffbd,#e9dfced6);border:1px solid #4f433733;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:190px;padding:14px 16px 12px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #fff3}.plate:before{content:"";pointer-events:none;border:1px solid #3d342b2e;border-radius:12px;position:absolute;inset:9px}.plate-header,.plate-footer{z-index:1;color:#625343;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;gap:8px;font-size:.62rem;display:flex;position:relative}.latin{letter-spacing:.1em;font-family:Georgia,Times New Roman,serif;font-size:.72rem}.specimen-art{z-index:1;flex:1;place-items:center;min-height:105px;margin:6px 0;display:grid;position:relative}.bird-silhouette{filter:drop-shadow(0 8px 14px #2d28231f);width:min(150px,45vw);height:100px;position:relative}.bird-silhouette:before,.bird-silhouette:after{clip-path:polygon(10% 58%,22% 42%,38% 25%,49% 16%,62% 30%,76% 24%,88% 38%,100% 44%,94% 55%,76% 65%,60% 72%,46% 84%,28% 80%,16% 70%);content:"";background:linear-gradient(#293733e6,#101a18cc);position:absolute;inset:0}.bird-silhouette:after{clip-path:polygon(0 40%,100% 40%,40% 100%,0 100%);background:#ffffff14;inset:36px 64px 18px 44px}.stats-grid{background:linear-gradient(#f1e7d64d,#f6f0e8a8);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 18px 18px;display:grid}.stat-card{text-align:center;background:#ffffff6b;border:1px solid #56463a1a;border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:10px 6px;display:flex}.stat-card strong{font-family:Georgia,Times New Roman,serif;font-size:1.55rem;line-height:1.1}.stat-card span{color:#6a5d4d;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.recent-section{background:linear-gradient(#f6f0e8a3,#f1e7d67a);border-top:1px solid #6052431f;padding:18px}.panel-heading{margin-bottom:12px}.panel-heading h3{margin:0;font-size:1.45rem}.entry-list{gap:10px;display:grid}.entry-card{color:#243129;cursor:pointer;text-align:left;background:#ffffff8a;border:1px solid #60524329;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:72px;padding:13px 15px;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:flex}.entry-thumbnail{object-fit:cover;background:#e7ddc9;border-radius:12px;flex:0 0 54px;width:54px;height:54px}.entry-thumbnail-empty,.empty-state-mark{color:#f7f1e7;background:linear-gradient(135deg,#1d2f28,#5f7668);place-items:center;font-family:Georgia,Times New Roman,serif;font-weight:700;display:grid}.entry-thumbnail-empty{font-size:1.2rem}.entry-card:hover{background:#ffffffc2;border-color:#3d4f4352;transform:translateY(-2px);box-shadow:0 8px 18px #46403814}.entry-copy{gap:2px;min-width:0;display:grid}.entry-copy strong{font-family:Georgia,Times New Roman,serif;font-size:1.12rem}.entry-scientific{color:#6a5d4d;font-family:Georgia,Times New Roman,serif;font-size:.82rem;font-style:italic}.entry-place{color:#536157;font-size:.84rem}.entry-status{color:#7d6d57;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.entry-card time{color:#594b3b;font-variant-numeric:tabular-nums;background:#7d6d571a;border-radius:999px;flex:none;padding:.42rem .62rem;font-size:.78rem}.floating-action-wrap{z-index:3;right:0;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;padding:0 18px;display:flex;position:fixed;left:0}.floating-action{pointer-events:auto;justify-content:center;align-items:center;gap:8px;min-height:54px;padding:.85rem 1.3rem;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex}.floating-action>span{font-size:1.35rem;font-weight:400;line-height:1}.floating-action.scrolling{transform:translateY(-3px)scale(1.025);box-shadow:0 14px 26px #131f1a42}.dialog-close{color:#243129;cursor:pointer;background:#7d6d571a;border:0;border-radius:50%;width:38px;height:38px;font-size:1.5rem;line-height:1;position:absolute;top:14px;right:16px}.observation-dialog h2{margin-bottom:4px;padding-right:32px}.observation-scientific{color:#6a5d4d;margin:0;font-family:Georgia,Times New Roman,serif;font-style:italic}.observation-facts{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 14px;display:grid}.observation-facts div{background:#ffffff75;border:1px solid #60524324;border-radius:14px;padding:12px}.observation-facts dt{color:#6a5d4d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.7rem}.observation-facts dd{margin:0;font-weight:600}.preview-note{color:#536157;margin:0;font-size:.82rem;line-height:1.5}.records-section{min-height:55vh;padding:22px 18px 24px}.records-section .panel-heading h2{margin:0;font-size:2rem}.section-description{color:#536157;max-width:38rem;margin:8px 0 0}.empty-state{background:#ffffff61;border:1px solid #60524324;border-radius:18px;justify-items:start;gap:10px;padding:22px;display:grid}.empty-state-mark{border-radius:13px;width:40px;height:40px;font-size:1.3rem}.empty-state h3{margin:0;font-size:1.35rem}.empty-state p{color:#536157;max-width:40rem;margin:0;line-height:1.6}.empty-state .secondary-button{color:#1d2f28;background:0 0;border:1px solid #1d2f2847;padding:.75rem 1rem;font-weight:600}.collection-empty{margin-top:18px}.storage-error,.form-error{color:#6c261e;background:#fff0eb;border:1px solid #a44c3f;border-radius:12px;padding:12px 14px;line-height:1.5}.observation-form-dialog{overscroll-behavior:contain;background:#f6f1e6;border:1px solid #6052433d;border-radius:24px;width:min(100%,560px);max-height:min(88vh,860px);padding:24px 22px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #141c174d}.observation-form-dialog h2{margin:0 42px 18px 0;font-size:2rem;line-height:1.05}.observation-form{gap:17px;display:grid}.form-section{border:0;min-width:0;margin:0;padding:0}.form-section legend,.form-field>span{color:#35483b;margin-bottom:8px;font-size:.92rem;font-weight:700}.photo-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.photo-button,.location-button{color:#1d2f28;cursor:pointer;text-align:center;background:#ffffff85;border:1px solid #1d2f2840;border-radius:14px;justify-content:center;align-items:center;min-height:46px;padding:.65rem .8rem;font-size:.86rem;font-weight:600;display:flex}.photo-button:focus-within{outline-offset:3px;outline:3px solid #a3784d}.photo-button input{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.photo-preview{color:#536157;gap:7px;margin-top:12px;font-size:.8rem;display:grid}.photo-preview img{object-fit:contain;background:#e7ddc9;border-radius:14px;width:100%;max-height:260px}.form-hint{color:#536157;margin:8px 0 0;font-size:.8rem;line-height:1.5}.form-field{gap:5px;display:grid}.form-field input,.form-field textarea{color:#243129;background:#ffffffad;border:1px solid #6052433d;border-radius:13px;width:100%;min-height:46px;padding:10px 12px}.form-field textarea{resize:vertical;min-height:88px}.captive-toggle{background:#ffffff7a;border:1px solid #60524329;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.captive-toggle span{gap:3px;display:grid}.captive-toggle small{color:#6a5d4d}.captive-toggle input{accent-color:#1d2f28;width:22px;height:22px}.location-section .form-hint{margin:0 0 9px}.location-summary{background:#ffffff85;border:1px solid #60524326;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;font-size:.85rem;display:flex}.text-button{color:#465b4b;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 10px;font-weight:600}.text-button:hover{background:#7d6d571a}.form-error{margin:0;font-size:.86rem}.form-footer{justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.form-save-button{min-height:46px;padding:.75rem 1rem}.form-save-button:disabled{cursor:wait;opacity:.65}.detail-photo{object-fit:contain;background:#e7ddc9;border-radius:16px;width:100%;max-height:300px;margin-top:14px;display:block}.observation-facts .fact-wide{grid-column:1/-1}.observation-notes{white-space:pre-wrap}@media (width<=420px){.app-shell{padding:16px 12px 110px}.hero-panel{gap:12px;padding:18px 14px 12px}.plate-header,.plate-footer{font-size:.56rem}.stats-grid{gap:6px;padding-left:12px;padding-right:12px}.stat-card{padding:9px 3px}.stat-card span{font-size:.61rem}.recent-section{padding:16px 12px}.observation-form-dialog{border-radius:20px;max-height:92vh;padding:21px 16px}.photo-actions{grid-template-columns:1fr}.records-section{padding:18px 12px}.entry-thumbnail{flex-basis:46px;width:46px;height:46px}.form-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f1e6f5;margin:0 -16px -21px;position:sticky;bottom:-21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
