@import "https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";@import "https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Homemade+Apple&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.beta-gate{text-align:center;max-width:400px;margin:0 auto;padding:2rem}.beta-gate h2{color:#333;margin-bottom:1rem;font-size:1.5rem}.beta-gate p{color:#666;margin-bottom:1.5rem;line-height:1.5}.beta-gate form{flex-direction:column;gap:1rem;display:flex}.beta-gate input[type=password]{border:1px solid #ddd;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s}.beta-gate input[type=password]:focus{border-color:#4285f4;outline:none}.beta-gate button{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:4px;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .2s}.beta-gate button:hover{background-color:#357ae8}.beta-gate button:active{transform:translateY(1px)}.beta-gate .error{color:#d93025;background-color:#fce8e6;border-radius:4px;margin:0;padding:.5rem;font-size:.875rem}.login-page{background:var(--journal-cream);background-image:url(/textures/aged-wood-background.jpg);background-position:50%;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-container{background:var(--journal-parchment);border:2px solid var(--border-dark);background-image:url(/textures/vertical-plain-paper.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:12px;max-width:480px;padding:3.5rem 3rem;position:relative;overflow:hidden;box-shadow:0 8px 24px #2b252033,0 4px 12px #2b252026}.login-container h1{color:#1e3a5f;text-align:center;letter-spacing:.03em;margin:0 0 .5rem;font-family:Homemade Apple,cursive;font-size:3.5rem;font-weight:400}.login-container h1:after{display:none}.login-container>p{font-family:var(--font-serif);color:var(--ink-faded);text-align:center;margin:0 0 2.5rem;font-size:1.1rem;font-style:italic;line-height:1.6}.login-container form{flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;display:flex}.login-container input[type=email],.login-container input[type=password]{font-family:var(--font-serif);color:var(--ink-black);background:0 0;border:none;border-bottom:2px solid #1e3a5f;border-radius:0;padding:.9rem 1rem;font-size:1.05rem;transition:all .3s}.login-container input::placeholder{color:var(--ink-faded);opacity:.7;font-style:italic}.login-container input:focus{background:#1e3a5f05;border-bottom-color:#2d5a8f;outline:none}.login-container button[type=submit]{color:#1e3a5f;cursor:pointer;text-transform:none;letter-spacing:.02em;background:0 0;border:2px solid #1e3a5f;border-radius:25px;margin-top:.5rem;padding:.7rem 2rem;font-family:Homemade Apple,cursive;font-size:1.3rem;font-weight:400;transition:all .3s}.login-container button[type=submit]:hover:not(:disabled){color:#fff;background:#1e3a5f;transform:scale(1.05)}.login-container button[type=submit]:disabled{opacity:.5;cursor:not-allowed;transform:none}.google-button{color:#1e3a5f;cursor:pointer;text-transform:none;letter-spacing:.02em;background:0 0;border:2px solid #1e3a5f;border-radius:25px;justify-content:center;align-items:center;gap:.75rem;padding:.7rem 2rem;font-family:Homemade Apple,cursive;font-size:1.2rem;font-weight:400;transition:all .3s;display:flex}.google-button:hover:not(:disabled){color:#fff;background:#1e3a5f;transform:scale(1.05)}.google-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.google-button svg{flex-shrink:0}.divider{align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.divider:before,.divider:after{content:"";background:var(--border-ink);flex:1;height:1px}.divider span{font-family:var(--font-serif);color:var(--ink-faded);font-size:.9rem;font-style:italic}.toggle-button{color:#1e3a5f;cursor:pointer;text-align:center;letter-spacing:.02em;background:0 0;border:none;margin-top:1rem;padding:.5rem 1rem;font-family:Homemade Apple,cursive;font-size:1.1rem;font-weight:400;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:all .3s}.toggle-button:hover{color:#2d5a8f;text-decoration-color:#2d5a8f;transform:scale(1.02)}.login-container .error{color:#a84032;letter-spacing:.02em;background:#a8403214;border-left:3px solid #a84032;border-radius:4px;margin:0;padding:.75rem 1rem;font-family:Homemade Apple,cursive;font-size:1rem}@media (width<=768px){.login-page{padding:1rem}.login-container{padding:2.5rem 2rem}.login-container h1{font-size:2.8rem}.login-container>p{font-size:1rem}.login-container button[type=submit],.google-button{font-size:1.1rem}}@media (width<=480px){.login-container h1{font-size:2.2rem}.login-container{padding:2rem 1.5rem}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1e1914eb;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:url(/textures/vertical-plain-paper.jpg) 50%/cover;border:4px solid #2c1810;border-radius:2px;width:92%;max-width:700px;max-height:90vh;padding:0;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto;box-shadow:inset 0 0 0 1px #ffffff4d,0 30px 80px #0009,0 10px 30px #0006}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:#1e3a5f;cursor:pointer;z-index:10;background:#fffaf0e6;border:2px solid #1e3a5f;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.8rem;font-weight:300;line-height:1;transition:all .3s;display:flex;position:absolute;top:1.25rem;right:1.25rem;box-shadow:0 2px 8px #0003}.modal-close:hover{color:#fff;background:#1e3a5f;transform:scale(1.1)rotate(90deg);box-shadow:0 4px 12px #0000004d}.modal-loading,.modal-error{text-align:center;padding:4rem 2rem}.modal-loading p,.modal-error p{font-family:var(--font-serif);color:var(--ink-black);font-size:1.1rem;font-style:italic}.modal-error button{margin-top:1.5rem}.bird-details{flex-direction:column;gap:0;padding:3rem 2.5rem 2.5rem;display:flex}.bird-header{text-align:center;border-bottom:3px double #1e3a5f;margin-bottom:2rem;padding-bottom:1.5rem;position:relative}.bird-header:after{content:"✦";color:#1e3a5f;background:linear-gradient(#f9f6f0 0%,#f5f2e8 100%);padding:0 1rem;font-size:1.2rem;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.bird-name{color:#1e3a5f;letter-spacing:.03em;text-shadow:1px 1px #ffffff80;margin:0 0 .75rem;font-family:Homemade Apple,cursive;font-size:2.75rem;font-weight:400;line-height:1.2}.bird-scientific-name{font-family:var(--font-serif);color:#5a6c7d;letter-spacing:.02em;margin:0;font-size:1.4rem;font-style:italic}.bird-image-container{background:#fff;border:3px solid #2c1810;border-radius:2px;width:100%;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff80,0 4px 12px #00000026,0 2px 6px #0000001a}.bird-image-container:before{content:"";pointer-events:none;z-index:1;border:1px solid #fff9;position:absolute;inset:0}.bird-image{object-fit:cover;width:100%;height:auto;display:block}.field-notes{background:#fff6;border:2px solid #c9b896;border-radius:4px;margin-bottom:2rem;padding:1.5rem;box-shadow:inset 0 1px 3px #0000001a}.field-notes-title{color:#1e3a5f;letter-spacing:.02em;margin:0 0 1rem;font-family:Homemade Apple,cursive;font-size:1.3rem}.field-notes-content{font-family:var(--font-serif);color:var(--ink-black);text-align:justify;margin:0;font-size:1.05rem;line-height:1.7}.identification-section{margin-bottom:2rem}.section-title{color:#1e3a5f;letter-spacing:.02em;border-bottom:2px solid #c9b896;margin:0 0 1rem;padding-bottom:.5rem;font-family:Homemade Apple,cursive;font-size:1.4rem}.identification-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.fact-item{background:#ffffff80;border-left:4px solid #1e3a5f;border-radius:0 3px 3px 0;padding:.9rem 1rem;transition:all .2s;box-shadow:0 1px 3px #00000014}.fact-item:hover{background:#ffffffb3;transform:translate(2px);box-shadow:0 2px 6px #0000001f}.fact-label{font-family:var(--font-serif);color:#2c1810;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.85rem;font-weight:700;display:block}.fact-value{font-family:var(--font-serif);color:var(--ink-black);font-size:1.05rem;line-height:1.5}.description-section{margin-bottom:2rem}.description-content{font-family:var(--font-serif);color:var(--ink-black);text-align:justify;background:#ffffff4d;border:1px solid #c9b89680;border-radius:4px;padding:1.25rem;font-size:1.05rem;line-height:1.8}.range-section{margin-bottom:1.5rem}.range-tags{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.range-tag{color:#fff;font-family:var(--font-serif);letter-spacing:.02em;background:#1e3a5f;border-radius:20px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;box-shadow:0 2px 4px #0003}.modal-footer{text-align:center;font-family:var(--font-serif);color:var(--ink-faded);border-top:2px solid #c9b896;margin-top:2rem;padding-top:1.5rem;font-size:.85rem;font-style:italic}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:#c9b89633;border-left:1px solid #c9b89666}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(#1e3a5f,#2c5085);border:2px solid #f9f6f04d;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(#2c5085,#3a6099)}@media (width<=768px){.modal-content{max-width:96%;max-height:95vh}.bird-details{padding:2.5rem 1.75rem 2rem}.bird-name{font-size:2.2rem}.bird-scientific-name{font-size:1.2rem}.identification-grid{grid-template-columns:1fr}.section-title{font-size:1.25rem}.field-notes-title{font-size:1.2rem}}.dashboard{background:var(--journal-cream);flex-direction:column;min-height:100vh;display:flex}.dashboard-header{background:var(--journal-aged-paper);background-blend-mode:multiply;box-shadow:var(--shadow-card);border-bottom:3px solid var(--border-dark);background-image:url(/textures/leather_heading.jpg);background-position:bottom;background-size:cover;justify-content:space-between;align-items:center;padding:2.5rem 2rem;display:flex;position:relative}.dashboard-header h1{color:var(--journal-cream);letter-spacing:.03em;text-transform:none;text-shadow:2px 2px 4px #0006;margin:0;font-family:Homemade Apple,cursive;font-size:3.5rem;font-weight:400;position:relative}.dashboard-header h1:after{display:none}.user-info{align-items:center;gap:1.5rem;display:flex;position:relative}.user-info span{font-family:var(--font-serif);color:var(--journal-cream);text-shadow:1px 1px 3px #0006;font-size:1rem;font-style:italic}.sign-out-btn{color:var(--journal-cream);border:2px solid var(--journal-cream);text-transform:none;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:25px;padding:.5rem 1.5rem;font-family:Homemade Apple,cursive;font-size:1.1rem;font-weight:400;transition:all .3s}.sign-out-btn:hover{background:var(--journal-cream);color:#1e3a5f;border-color:var(--journal-cream);transform:scale(1.05)}.dashboard-main{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:3rem 2rem}.painted-bird-display{background:var(--journal-parchment);border:2px solid var(--border-dark);box-shadow:var(--shadow-card);text-align:center;border-radius:8px;margin-bottom:3rem;padding:3rem;position:relative}.painted-bird-display:before,.painted-bird-display:after{content:"";width:40px;height:40px;position:absolute}.painted-bird-display:before{border-top:2px solid var(--border-dark);border-left:2px solid var(--border-dark);top:15px;left:15px}.painted-bird-display:after{border-bottom:2px solid var(--border-dark);border-right:2px solid var(--border-dark);bottom:15px;right:15px}.bird-card{z-index:1;padding:2rem;position:relative}.bird-card h2{color:#1e3a5f;text-align:center;letter-spacing:.02em;margin-bottom:2rem;font-family:Homemade Apple,cursive;font-size:2.5rem;font-weight:400}.bird-card .bird-image-container{border:2px solid var(--border-dark);background:var(--journal-cream);max-width:400px;box-shadow:var(--shadow-subtle);border-radius:6px;margin:0 auto 1.5rem;overflow:hidden}.bird-card .bird-image{object-fit:cover;width:100%;height:auto;display:block}.bird-card .bird-name{color:#1e3a5f;text-align:center;letter-spacing:.02em;margin:1rem 0 .5rem;font-family:Homemade Apple,cursive;font-size:2rem;font-weight:400}.bird-card .bird-scientific-name{font-family:var(--font-serif);color:var(--ink-faded);text-align:center;margin:0 0 1rem;font-size:1.2rem;font-style:italic}.bird-id{font-family:var(--font-mono);color:var(--ink-faded);letter-spacing:.05em;text-transform:uppercase;text-align:center;margin-bottom:.5rem;font-size:1.1rem}.bird-date{font-family:var(--font-serif);color:var(--ink-black);text-align:center;font-size:1rem;font-style:italic}.empty-state{text-align:center;padding:4rem 2rem}.empty-state p{font-family:var(--font-serif);color:var(--ink-faded);margin-bottom:1rem;font-size:1.3rem}.empty-state .hint{color:var(--sage-green);letter-spacing:.02em;font-family:Homemade Apple,cursive;font-size:1.2rem;font-weight:400}.main-nav{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;width:100%;max-width:100%;margin-top:2rem;display:grid}.nav-card{background:var(--journal-parchment);background-blend-mode:multiply;border:2px solid var(--border-ink);box-shadow:var(--shadow-subtle);box-sizing:border-box;background-image:url(/textures/parchment_horizontal_card.png);background-position:50%;background-size:cover;border-radius:8px;width:100%;padding:2.5rem 2rem;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}.nav-card:hover{box-shadow:var(--shadow-lifted);border-color:#1e3a5f;transform:translateY(-4px)}.nav-card h3{color:#1e3a5f;letter-spacing:.02em;border:none;margin-bottom:.75rem;font-family:Homemade Apple,cursive;font-size:2rem;font-weight:400}.nav-card p{font-family:var(--font-serif);color:var(--ink-faded);font-size:1.05rem;font-style:italic;line-height:1.6}@media (width<=768px){.dashboard-header{flex-direction:column;gap:1rem;padding:1.5rem}.dashboard-header h1{font-size:2rem}.dashboard-main,.painted-bird-display{padding:2rem 1rem}.main-nav{grid-template-columns:1fr;gap:1.5rem}.nav-card{padding:2rem 1.5rem}}@media (width<=480px){.dashboard-header h1{letter-spacing:.1em;font-size:1.5rem}.user-info{flex-direction:column;gap:.75rem}}.life-list-page{background:var(--journal-cream);min-height:100vh;padding:0}.life-list-page .page-header{border:none;border-bottom:3px solid var(--border-dark);background-image:url(/textures/leather_heading.jpg);background-position:bottom;background-size:cover;border-radius:0;justify-content:space-between;align-items:center;max-width:100%;margin:0 0 3rem;padding:2.5rem 2rem;display:flex;box-shadow:0 4px 8px #0003}.life-list-page .page-header h1{color:var(--journal-cream);letter-spacing:.03em;text-shadow:2px 2px 4px #0006;margin:0;font-family:Homemade Apple,cursive;font-size:3.5rem;font-weight:400;position:relative}.life-list-page .page-header h1:before{display:none}.sightings-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.5rem;max-width:1400px;margin:0 auto;padding:0 2rem 4rem;display:grid}.sighting-card{background:var(--journal-parchment);background-blend-mode:multiply;border:2px solid var(--border-dark);box-shadow:var(--shadow-card);cursor:pointer;background-image:url(/textures/aged-paper.png);background-size:cover;border-radius:6px;flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden}.sighting-card:before{content:"";pointer-events:none;opacity:.6;background-image:radial-gradient(circle at 20% 30%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 80% 70%,#7a9b7608 0%,#0000 50%);position:absolute;inset:0}.sighting-card:hover{box-shadow:var(--shadow-lifted);border-color:var(--sage-green);transform:translateY(-6px)rotate(-.5deg)}.bird-placeholder{background:linear-gradient(135deg, var(--journal-aged-paper) 0%, var(--journal-parchment) 100%);border-bottom:1px solid var(--border-ink);justify-content:center;align-items:center;height:260px;display:flex;position:relative;overflow:hidden}.bird-placeholder:before{content:"";background:radial-gradient(at 30% 40%,#a8c5d826 0%,#0000 60%),radial-gradient(at 70% 60%,#7a9b761f 0%,#0000 70%);position:absolute;inset:0}.bird-icon{opacity:.3;filter:grayscale(.3)sepia(.2);z-index:1;font-size:6rem;position:relative}.bird-image-preview{background:linear-gradient(135deg, var(--journal-aged-paper) 0%, var(--journal-parchment) 100%);border-bottom:1px solid var(--border-ink);justify-content:center;align-items:center;height:260px;display:flex;position:relative;overflow:hidden}.bird-thumbnail{object-fit:contain;filter:contrast(1.05)saturate(.95);z-index:1;width:100%;height:100%;position:relative}.sighting-info{z-index:1;flex-direction:column;flex:1;gap:.75rem;padding:1.75rem;display:flex;position:relative}.sighting-info h3{color:#1e3a5f;border-bottom:1px dotted var(--border-ink);letter-spacing:.02em;margin:0 0 .25rem;padding-bottom:.5rem;font-family:Homemade Apple,cursive;font-size:1.5rem;font-weight:400}.sighting-info .scientific-name{font-family:var(--font-serif);color:var(--ink-faded);margin:0 0 .75rem;font-size:1rem;font-style:italic}.sighting-info .date{font-family:var(--font-mono);color:var(--ink-faded);letter-spacing:.05em;text-transform:uppercase;font-size:.85rem}.sighting-info .location{font-family:var(--font-serif);color:var(--ink-black);align-items:center;gap:.5rem;font-size:.9rem;font-style:italic;display:flex}.sighting-info .location:before{content:"📍";font-size:.8rem}.view-link{color:#1e3a5f;letter-spacing:.02em;border-bottom:1px dotted #1e3a5f;margin-top:.5rem;font-family:Homemade Apple,cursive;font-size:1rem;font-weight:400;text-decoration:none;transition:all .2s;display:inline-block}.view-link:hover{color:#2d5a8f;border-bottom-color:#2d5a8f}.list-footer{border-top:2px double var(--border-dark);text-align:center;max-width:1400px;margin:3rem auto 0;padding-top:2rem}.list-footer p{color:#1e3a5f;letter-spacing:.02em;font-family:Homemade Apple,cursive;font-size:1.4rem;font-weight:400}.life-list-page .empty-state{text-align:center;background:var(--journal-parchment);border:2px dashed var(--border-ink);border-radius:8px;max-width:600px;margin:4rem auto;padding:4rem 2rem}.life-list-page .empty-state p:first-child{color:var(--ink-faded);letter-spacing:.02em;margin-bottom:1rem;font-family:Homemade Apple,cursive;font-size:2rem;font-weight:400}.life-list-page .empty-state .hint{font-family:var(--font-serif);color:var(--ink-black);margin-bottom:2rem;font-size:1.1rem;font-style:italic}.sighting-card:after{content:"";border-top:2px solid var(--border-dark);border-right:2px solid var(--border-dark);opacity:.3;z-index:2;width:25px;height:25px;position:absolute;top:10px;right:10px}@media (width<=1024px){.sightings-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}}@media (width<=768px){.life-list-page{padding:1rem}.life-list-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.life-list-page .page-header h1{font-size:2.5rem}.life-list-page .page-header h1:before{font-size:1.5rem;left:-2rem}.sightings-grid{grid-template-columns:1fr;gap:1.5rem}.bird-placeholder{height:220px}.sighting-info{padding:1.5rem}}@media print{.life-list-page{background:#fff}.page-header .back-link,.view-link{display:none}.page-header h1{margin-bottom:1rem;font-size:28pt}.sightings-grid{page-break-inside:auto;grid-template-columns:repeat(2,1fr);gap:1.5rem}.sighting-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:2px solid #333;margin-bottom:1rem}.sighting-card:hover{transform:none}.bird-placeholder{-webkit-print-color-adjust:exact;print-color-adjust:exact;height:240px}.sighting-info h3{font-size:14pt;font-weight:600}.sighting-info .date,.sighting-info .location{font-size:10pt}.list-footer{break-before:page;padding:2rem 0}@page{margin:.75in;@bottom-center{content:counter(page);font-family:var(--font-serif);font-size:10pt}}@page:first{@bottom-center{content:""}}}.life-list-page>p{text-align:center;max-width:1400px;font-family:var(--font-serif);color:var(--ink-faded);margin:4rem auto;font-size:1.2rem}.error{max-width:600px;font-family:var(--font-serif);color:#a84032;background:#a840321a;border-left:4px solid #a84032;border-radius:4px;margin:2rem auto;padding:1.5rem;font-size:1rem}.calendar-page{background:var(--journal-cream);min-height:100vh;padding:0}.calendar-page .page-header{border:none;border-bottom:3px solid var(--border-dark);background-image:url(/textures/leather_heading.jpg);background-position:bottom;background-size:cover;border-radius:0;justify-content:space-between;align-items:center;max-width:100%;margin:0 0 3rem;padding:2.5rem 2rem;display:flex;box-shadow:0 4px 8px #0003}.calendar-page .page-header h1{color:var(--journal-cream);letter-spacing:.03em;text-shadow:2px 2px 4px #0006;margin:0;font-family:Homemade Apple,cursive;font-size:3.5rem;font-weight:400}.calendar-container{grid-template-columns:1fr 400px;gap:3rem;max-width:1400px;margin:0 auto;padding:0 2rem;display:grid}.calendar-months{flex-direction:column;gap:3rem;display:flex}.month-section{background:var(--journal-parchment);border:2px solid var(--border-dark);box-shadow:var(--shadow-card);border-radius:6px;padding:2rem;position:relative}.month-section h2{color:#1e3a5f;border-bottom:2px dotted var(--border-ink);text-align:center;letter-spacing:.02em;margin-bottom:1.5rem;padding-bottom:1rem;font-family:Homemade Apple,cursive;font-size:2.2rem;font-weight:400;position:relative}.month-section h2:before,.month-section h2:after{display:none}.sightings-list{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:1rem;display:grid}.calendar-day{background:var(--journal-aged-paper);border:1px solid var(--border-ink);cursor:pointer;box-shadow:var(--shadow-subtle);border-radius:4px;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;transition:all .3s;display:flex;position:relative}.calendar-day:hover{background:var(--journal-parchment);border-color:var(--sage-green);box-shadow:var(--shadow-card);transform:translateY(-2px)}.calendar-day.selected{box-shadow:var(--shadow-card);background:#1e3a5f;border-color:#1e3a5f}.day-number{color:#1e3a5f;letter-spacing:.02em;font-family:Homemade Apple,cursive;font-size:1.5rem;font-weight:400}.calendar-day.selected .day-number{color:#fff}.bird-indicator{opacity:.8;font-size:1.2rem}.calendar-day.selected .bird-indicator{opacity:1;filter:brightness(1.2)}.bird-thumbnail-small{object-fit:cover;border:1px solid var(--border-ink);border-radius:4px;width:40px;height:40px}.calendar-day.selected .bird-thumbnail-small{border-color:#fff}.day-detail{background:var(--journal-parchment);border:2px solid var(--border-dark);box-shadow:var(--shadow-card);border-radius:6px;max-height:calc(100vh - 4rem);padding:2.5rem;position:sticky;top:2rem;overflow-y:auto}.day-detail h3{color:#1e3a5f;border-bottom:2px solid var(--border-ink);text-align:center;letter-spacing:.02em;margin-bottom:2rem;padding-bottom:1rem;font-family:Homemade Apple,cursive;font-size:2rem;font-weight:400}.sighting-detail{background:var(--journal-aged-paper);border:1px solid var(--border-ink);border-radius:4px;margin-bottom:2rem;padding:1.5rem;transition:all .3s}.sighting-detail:hover{box-shadow:var(--shadow-card);border-color:var(--sage-green);transform:translateY(-2px)}.bird-detail-image{border:2px solid var(--border-dark);border-radius:6px;margin-bottom:1rem;overflow:hidden}.bird-detail-image img{object-fit:cover;width:100%;height:auto;display:block}.bird-name-large{color:#1e3a5f;text-align:center;letter-spacing:.02em;margin:.5rem 0 .25rem;font-family:Homemade Apple,cursive;font-size:1.8rem;font-weight:400}.bird-scientific{font-family:var(--font-serif);color:var(--ink-faded);text-align:center;margin:0 0 .75rem;font-size:1.1rem;font-style:italic}.click-hint{font-family:var(--font-serif);color:var(--ink-faded);text-align:center;margin-top:.75rem;margin-bottom:0;font-size:.9rem;font-style:italic}.sighting-detail p{font-family:var(--font-serif);color:var(--ink-black);margin-bottom:.75rem;font-size:1.05rem}.sighting-detail p:last-child{margin-bottom:0}.sighting-detail strong{color:var(--ink-sepia);font-weight:600;font-family:var(--font-display)}.journal-preview{background:var(--journal-parchment);background-blend-mode:multiply;border:1px solid var(--border-ink);background-image:url(/textures/aged-paper.png);background-size:cover;background-attachment:local;border-radius:4px;padding:2rem}.journal-preview h4{color:#1e3a5f;border-bottom:1px dotted var(--border-ink);letter-spacing:.02em;margin-bottom:1rem;padding-bottom:.75rem;font-family:Homemade Apple,cursive;font-size:1.4rem;font-weight:400}.journal-body{font-family:var(--font-baskerville);color:#000;white-space:pre-wrap;word-wrap:break-word;margin-bottom:1.5rem;font-size:1.1rem;font-weight:400;line-height:1.8}.edit-link{color:#1e3a5f;letter-spacing:.02em;border-bottom:1px dotted #1e3a5f;font-family:Homemade Apple,cursive;font-size:1rem;font-weight:400;text-decoration:none;transition:all .2s;display:inline-block}.edit-link:hover{color:#2d5a8f;border-bottom-color:var(--earth-brown)}.no-journal{text-align:center;background:var(--journal-aged-paper);border:1px dashed var(--border-ink);border-radius:4px;padding:2rem}.no-journal p{font-family:var(--font-serif);color:var(--ink-faded);margin-bottom:1.5rem;font-size:1.1rem;font-style:italic}.calendar-months .empty-state{text-align:center;background:var(--journal-parchment);border:2px dashed var(--border-ink);border-radius:8px;max-width:500px;margin:4rem auto;padding:4rem 2rem}.calendar-months .empty-state p{font-family:var(--font-display);color:var(--ink-faded);margin-bottom:1.5rem;font-size:1.5rem}.calendar-months>p{text-align:center;font-family:var(--font-serif);color:var(--ink-faded);padding:4rem 2rem;font-size:1.2rem}@media (width<=1200px){.calendar-container{grid-template-columns:1fr 350px;gap:2rem}.day-detail{padding:2rem}}@media (width<=1024px){.calendar-container{grid-template-columns:1fr;gap:2rem}.day-detail{max-height:none;position:static}}@media (width<=768px){.calendar-page{padding:1rem}.calendar-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.calendar-page .page-header h1{font-size:2.5rem}.month-section{padding:1.5rem}.month-section h2{font-size:1.6rem}.sightings-list{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.75rem}.calendar-day{padding:.75rem .5rem}.day-number{font-size:1.3rem}.day-detail{padding:1.5rem}.day-detail h3{font-size:1.4rem}.journal-preview,.no-journal{padding:1.5rem}}@media (width<=480px){.sightings-list{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.month-section h2:before,.month-section h2:after{display:none}}@media print{.calendar-page{background:#fff}.page-header .back-link{display:none}.calendar-container{grid-template-columns:1fr;gap:2rem}.month-section{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:2px solid #333;margin-bottom:2rem}.day-detail{break-before:page;page-break-before:always}.edit-link,.cta-button{display:none}@page{margin:.75in}}.journal-page{background:0 0;flex-direction:column;align-items:center;min-height:100vh;padding:0;display:flex}.usage-counter{color:#5a4a3a;text-align:center;background-color:#fff8dce6;border:1px solid #d4c5a0;border-radius:4px;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem}.usage-counter .warning{color:#d97706;font-weight:600}.usage-counter .limit-reached{color:#dc2626;font-weight:600}.journal-page .page-header{border:none;border-bottom:3px solid var(--border-dark);background-image:url(/textures/leather_heading.jpg);background-position:bottom;background-size:cover;border-radius:0;justify-content:space-between;align-items:center;width:100%;max-width:100%;margin:0 0 3rem;padding:2.5rem 2rem;display:flex;box-shadow:0 4px 8px #0003}.page-header h1{color:var(--journal-cream);text-shadow:2px 2px 4px #0006;letter-spacing:.03em;margin:0;padding-top:60px;font-family:Homemade Apple,cursive;font-size:3.5rem;font-weight:400}.page-header h1:after{display:none}.journal-container{gap:3rem;width:100%;max-width:1000px;margin:0 auto;padding:0;display:grid}.new-entry-section{background:url(/textures/transparentparchment.png) 50%/100% 100% no-repeat;border:none;width:90%;max-width:850px;min-height:1100px;margin:0 auto;padding:4rem 5rem;position:relative;box-shadow:0 2px 4px #0000001a,0 8px 16px #0000001a,0 16px 32px #0000001a}.new-entry-section:before,.new-entry-section:after{display:none}.new-entry-section h2{color:#1e3a5f;text-shadow:none;letter-spacing:.02em;margin-top:3rem;font-family:Homemade Apple,cursive;font-size:2.5rem;font-weight:400}.new-entry-section .hint{color:#1a1a2eb3;margin-bottom:1.5rem;font-size:1.05rem;line-height:1.6;display:block}.journal-textarea{width:100%;height:70%;min-height:60%;font-family:var(--font-parchment);color:#1a1a2e;resize:vertical;background:0 0;border:none;padding:3rem 3rem 1rem calc(3rem + 80px);font-size:1.3rem;font-weight:500;line-height:2rem;transition:all .3s}.journal-textarea::placeholder{color:#1a1a2e66;opacity:1;font-style:italic}.journal-textarea:focus{background:0 0;box-shadow:none!important;border:none!important;outline:none!important}.entry-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;padding-left:90px;display:flex}.entry-actions .primary-button{color:#1e3a5f;text-transform:none;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.5rem 1.5rem;font-family:Homemade Apple,cursive;font-size:1.2rem;font-weight:400;transition:all .3s}.entry-actions .primary-button:hover:not(:disabled){color:#fff;background:#1e3a5f;transform:scale(1.05)}.entry-actions .primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.entry-actions .phase-note{text-align:right;flex:1;margin:0;font-size:.9rem}.entries-list{margin-top:2rem}.entries-list h2{color:#1e3a5f;text-align:center;letter-spacing:.02em;margin-bottom:2rem;font-family:Homemade Apple,cursive;font-size:2.5rem;font-weight:400}.entries-grid{gap:2rem;display:grid}.entry-card{background:var(--journal-parchment);background-blend-mode:multiply;border:1px solid var(--border-ink);box-shadow:var(--shadow-card);background-image:url(/textures/aged-paper.png);background-size:cover;background-attachment:local;border-radius:4px;padding:2rem;transition:all .3s;position:relative}.entry-card:hover{box-shadow:var(--shadow-lifted);transform:translateY(-2px)}.entry-header{border-bottom:1px solid var(--border-ink);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.entry-date{font-family:var(--font-mono);color:var(--ink-faded);letter-spacing:.05em;text-transform:uppercase;font-size:.9rem}.edit-button{font-family:var(--font-serif);color:var(--ink-blue);border:1px solid var(--ink-blue);text-transform:uppercase;letter-spacing:.1em;background:0 0;padding:.4rem 1rem;font-size:.85rem;transition:all .2s}.edit-button:hover{background:var(--ink-blue);color:var(--journal-cream)}.entry-body{font-family:var(--font-baskerville);color:#000;white-space:pre-wrap;word-wrap:break-word;font-size:1.1rem;font-weight:400;line-height:1.8}.editing-mode{background:var(--journal-aged-paper);border-radius:4px;padding:1rem}.edit-textarea{width:100%;min-height:200px;font-family:var(--font-serif);color:var(--ink-black);background:var(--journal-parchment);border:1px solid var(--border-ink);resize:vertical;border-radius:2px;padding:1rem;font-size:1.05rem;line-height:1.7}.edit-textarea:focus{border-color:var(--ink-blue);outline:none;box-shadow:0 0 0 2px #1e3a5f1a}.edit-actions{gap:1rem;margin-top:1rem;display:flex}.edit-actions button{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.1em;flex:1;padding:.6rem 1.5rem;font-size:.9rem}.edit-actions button:first-child{background:var(--sage-green);color:var(--journal-cream);border:1px solid var(--sage-green)}.edit-actions button:first-child:hover:not(:disabled){background:var(--earth-brown);border-color:var(--earth-brown)}.edit-actions button:last-child{color:var(--ink-sepia);border:1px solid var(--border-dark);background:0 0}.edit-actions button:last-child:hover{background:var(--journal-aged-paper)}.match-info{border-top:2px solid var(--sage-green);margin-top:1.5rem;padding-top:1.5rem}.match-bird-display{grid-template-columns:200px 1fr;align-items:start;gap:1.5rem;display:grid}.matched-bird-image{object-fit:cover;border:2px solid #1e3a5f;border-radius:8px;width:100%;height:200px;transition:transform .3s;box-shadow:0 4px 8px #00000026}.matched-bird-image:hover{transform:scale(1.05)}.match-details{flex-direction:column;gap:.75rem;display:flex}.matched-label{font-family:var(--font-baskerville);color:var(--sage-green);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.9rem;font-weight:600}.matched-bird-name{color:#1e3a5f;letter-spacing:.02em;margin:0;font-family:Homemade Apple,cursive;font-size:1.8rem;font-weight:400}.match-reason{font-family:var(--font-baskerville);color:#1a1a2e;white-space:pre-wrap;margin:0;font-size:1rem;font-weight:400;line-height:1.7}@media (width<=768px){.match-bird-display{grid-template-columns:1fr;gap:1rem}.matched-bird-image{width:100%;height:250px}}.error{font-family:var(--font-serif);color:#a84032;background:#a840321a;border-left:3px solid #a84032;border-radius:2px;margin-top:1rem;padding:.75rem 1rem;font-size:.95rem}.entries-list .empty-state{text-align:center;padding:4rem 2rem}.entries-list .empty-state p:first-child{font-family:var(--font-display);color:var(--ink-faded);margin-bottom:.75rem;font-size:1.5rem}@media (width<=768px){.journal-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-header h1{padding-top:10rem;font-size:2.2rem}.new-entry-section{padding:1.5rem}.journal-textarea{min-height:250px;font-size:1rem}.entry-actions{flex-direction:column;align-items:stretch}.entry-actions .phase-note{text-align:center}.entry-card{padding:1.5rem}.entry-header{flex-direction:column;align-items:flex-start;gap:.75rem}}@media print{.journal-page{background:#fff}.page-header,.new-entry-section,.edit-button,.entry-actions,.back-link{display:none}.entry-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:1px solid #ccc;margin-bottom:1.5rem}.entry-body{font-size:11pt;line-height:1.6}@page{margin:.75in}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1a1a2ed9;justify-content:center;align-items:center;padding:2rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content.match-modal{aspect-ratio:16/10;width:95%;max-width:1200px;max-height:90vh;box-shadow:none;background-color:#0000;background-image:url(/assets/open_journal-D6AlgQle.png);background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;grid-template-columns:1fr 1fr;padding:0;animation:.4s slideUp;display:grid;position:relative;overflow:hidden}.match-modal .modal-close{color:#1e3a5f;cursor:pointer;background:0 0;border:2px solid #1e3a5f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.5rem;font-weight:300;line-height:1;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.match-modal .modal-close:hover{color:#fff;background:#1e3a5f;transform:scale(1.1)}.match-modal-left-page .match-title{color:#1e3a5f;text-align:left;letter-spacing:.02em;margin:0 0 1.5rem;padding:0;font-family:Homemade Apple,cursive;font-size:1.5rem;font-weight:400;line-height:1.3}.match-modal-left-page{flex-direction:column;grid-area:1/1/-1;justify-content:flex-start;align-items:flex-end;max-height:100%;padding:8% 2% 8% 28%;display:flex;overflow:hidden auto}.match-modal-left-page>*{word-wrap:break-word;overflow-wrap:break-word;width:auto;max-width:90%}.match-bird-intro{margin-bottom:2rem}.match-bird-intro p{font-family:var(--font-baskerville);color:#1a1a2e;text-align:left;margin:0;font-size:1.05rem;line-height:1.8}.match-modal-right-page{flex-direction:column;grid-area:1/2/-1;justify-content:center;align-items:flex-start;padding:8% 10% 8% 2%;display:flex}.match-modal-right-page>*{max-width:80%}.match-bird-card{text-align:center;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex}.match-bird-image{object-fit:contain;width:100%;height:auto;max-height:60vh;box-shadow:none;border:none;border-radius:0}.match-bird-name{color:#1e3a5f;letter-spacing:.02em;margin:.5rem 0;font-family:Homemade Apple,cursive;font-size:1.8rem;font-weight:400}.match-similarity{font-family:var(--font-baskerville);color:var(--sage-green);margin:0;font-size:1.1rem;font-weight:600}.match-traits{background:0 0;border:none;border-radius:0;margin-bottom:1.5rem;padding:0}.match-traits h4{color:#1e3a5f;letter-spacing:.02em;margin:0 0 .5rem;font-family:Homemade Apple,cursive;font-size:1.1rem;font-weight:400}.traits-list{font-family:var(--font-baskerville);color:#1a1a2e;font-size:.95rem;line-height:1.7}.trait-tag{font-family:var(--font-baskerville);color:#1a1a2e;font-size:.95rem;font-weight:400;display:inline}.trait-tag:after{content:", "}.trait-tag:last-child:after{content:"."}.match-explanation{background:0 0;border:none;border-radius:0;margin-bottom:0;padding:0}.match-explanation h4{color:#1e3a5f;letter-spacing:.02em;margin:0 0 .5rem;font-family:Homemade Apple,cursive;font-size:1.1rem;font-weight:400}.match-explanation p{font-family:var(--font-baskerville);color:#1a1a2e;white-space:pre-wrap;text-align:left;margin:0;font-size:.9rem;font-weight:400;line-height:1.6}@media (width<=768px){.modal-content.match-modal{aspect-ratio:auto;background-size:cover;grid-template-columns:1fr;max-width:95%}.match-modal-left-page .match-title{font-size:1.4rem}.match-modal-left-page{align-items:flex-start;padding:3rem 2rem 2rem 3rem}.match-modal-right-page{align-items:center;padding:2rem}.match-bird-image{max-width:250px}.match-explanation p{font-size:.95rem}}:root{--journal-cream:#f9f6f0;--journal-aged-paper:#f4ede4;--journal-old-paper:#e8dcc8;--journal-parchment:#f5f0e8;--ink-black:#2b2520;--ink-blue:#1e3a5f;--ink-sepia:#5c4a3a;--ink-faded:#8b7d6b;--sage-green:#7a9b76;--vintage-rose:#c39b88;--sky-blue:#a8c5d8;--earth-brown:#8b6f47;--border-ink:#d4c4b0;--border-dark:#b8a894;--ruling-line:#8b7d6b4d;--shadow-subtle:0 2px 8px #2b252014;--shadow-card:0 4px 12px #2b25201f;--shadow-lifted:0 8px 24px #2b252026;--font-serif:"Crimson Text", "Georgia", serif;--font-display:"Playfair Display", "Georgia", serif;--font-garamond:"EB Garamond", "Georgia", serif;--font-baskerville:"Libre Baskerville", "Georgia", serif;--font-parchment:"Cormorant Garamond", "Georgia", serif;--font-script:"Kalam", cursive;--font-mono:"Courier New", monospace}body{font-family:var(--font-serif);background:var(--journal-cream);color:var(--ink-black);letter-spacing:.01em;background-image:url(/textures/aged-wood-background.jpg);background-position:50%;background-size:cover;background-attachment:fixed;line-height:1.7}#root{background:0 0;border:none}h1{font-family:var(--font-display);color:var(--ink-sepia);letter-spacing:.02em;text-align:center;margin:2rem 0 1rem;font-size:3.5rem;font-weight:600;position:relative}h1:after{content:"";background:linear-gradient(to right, transparent, var(--border-dark), transparent);width:120px;height:2px;margin:1rem auto 0;display:block}h2{font-family:var(--font-display);color:var(--ink-sepia);letter-spacing:.01em;margin:1.5rem 0 1rem;font-size:2rem;font-weight:600}h3{font-family:var(--font-serif);color:var(--ink-black);margin:1rem 0 .5rem;font-size:1.4rem;font-weight:600}h4{font-family:var(--font-serif);color:var(--ink-sepia);margin:.8rem 0 .4rem;font-size:1.1rem;font-style:italic;font-weight:600}p{font-family:var(--font-serif);color:var(--ink-black);font-size:1.1rem;line-height:1.8}.hint,.phase-note{font-family:var(--font-serif);color:var(--ink-faded);margin-top:.5rem;font-size:.95rem;font-style:italic}.script-accent{font-family:var(--font-script);color:var(--ink-sepia);font-weight:300}.specimen-label{font-family:var(--font-mono);color:var(--ink-faded);letter-spacing:.05em;text-transform:uppercase;font-size:.85rem}.paper-texture{background-color:var(--journal-aged-paper);background-image:repeating-linear-gradient(0deg, transparent, transparent 1.5rem, var(--ruling-line) 1.5rem, var(--ruling-line) calc(1.5rem + 1px))}.parchment-card{background:var(--journal-parchment);border:1px solid var(--border-ink);box-shadow:var(--shadow-card);position:relative}.parchment-card:before{content:"";border:1px solid var(--border-dark);pointer-events:none;opacity:.3;position:absolute;inset:0}button,.button{color:#1e3a5f;cursor:pointer;text-transform:none;letter-spacing:.02em;background:0 0;border:2px solid #1e3a5f;border-radius:25px;padding:.6rem 1.8rem;font-family:Homemade Apple,cursive;font-size:1.2rem;font-weight:400;transition:all .3s}button:hover:not(:disabled),.button:hover{color:#fff;background:#1e3a5f;transform:scale(1.05)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.primary-button{color:#1e3a5f;background:0 0;border-color:#1e3a5f}.primary-button:hover:not(:disabled){color:#fff;background:#1e3a5f;border-color:#1e3a5f}.cta-button{color:#1e3a5f;text-transform:none;letter-spacing:.02em;background:0 0;border:2px solid #1e3a5f;border-radius:25px;padding:.6rem 1.8rem;font-family:Homemade Apple,cursive;font-size:1.2rem;font-weight:400;text-decoration:none;transition:all .3s;display:inline-block}.cta-button:hover{color:#fff;background:#1e3a5f;border-color:#1e3a5f;transform:scale(1.05)}a{color:var(--ink-blue);border-bottom:1px dotted var(--ink-blue);text-decoration:none;transition:all .2s}a:hover{color:var(--sage-green);border-bottom-color:var(--sage-green)}.page-header .back-link{color:var(--journal-cream);letter-spacing:.02em;text-shadow:1px 1px 3px #0006;border:none;border-bottom:1px dotted #0000;align-items:center;gap:.5rem;font-family:Homemade Apple,cursive;font-size:1.1rem;font-weight:400;text-decoration:none;transition:all .2s;display:inline-flex}.page-header .back-link:hover{color:#fff;border-bottom-color:#fff}.back-link{color:#1e3a5f;letter-spacing:.02em;border:none;border-bottom:1px dotted #0000;align-items:center;gap:.5rem;font-family:Homemade Apple,cursive;font-size:1.1rem;font-weight:400;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:#2d5a8f;border-bottom-color:#2d5a8f}.specimen-card{background:var(--journal-parchment);border:1px solid var(--border-ink);box-shadow:var(--shadow-card);border-radius:4px;padding:1.5rem;transition:all .3s;position:relative}.specimen-card:hover{box-shadow:var(--shadow-lifted);transform:translateY(-2px)}.specimen-card:after{content:"";border-top:2px solid var(--border-dark);border-right:2px solid var(--border-dark);opacity:.3;width:20px;height:20px;position:absolute;top:10px;right:10px}.specimen-card:before{content:"";border-bottom:2px solid var(--border-dark);border-left:2px solid var(--border-dark);opacity:.3;width:20px;height:20px;position:absolute;bottom:10px;left:10px}textarea,input[type=text],input[type=email]{font-family:var(--font-serif);border:1px solid var(--border-ink);background:var(--journal-parchment);color:var(--ink-black);box-sizing:border-box;width:100%;padding:1rem;font-size:1.05rem;line-height:1.8;transition:all .3s}textarea:focus,input:focus{border-color:var(--ink-blue);outline:none;box-shadow:0 0 0 3px #1e3a5f1a}textarea{resize:vertical;min-height:200px}.journal-textarea{background-image:none;background-attachment:local;padding-top:1rem;line-height:1.8rem}.empty-state{text-align:center;color:var(--ink-faded);padding:4rem 2rem}.empty-state p{margin-bottom:1rem;font-size:1.2rem}.loading-spinner{border:3px solid var(--border-ink);border-top-color:var(--ink-sepia);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media print{body{background:#fff}.page-header,.back-link,button,.edit-button{display:none}.specimen-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:2px solid var(--border-dark);margin-bottom:2rem}.sightings-grid,.entries-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@page{margin:.75in}}@media (width<=768px){h1{font-size:2.5rem}h2{font-size:1.6rem}.specimen-card{padding:1rem}button,.button,.cta-button{padding:.6rem 1.5rem;font-size:.85rem}}
