:root{color:#1f3122;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fffaf0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}img{display:block}.appShell{background:linear-gradient(#e6efdecc,#fffcf1f2 280px),#fffaf0;min-height:100svh}.appMain{box-sizing:border-box;width:min(100%,480px);min-height:100svh;margin:0 auto;padding:18px 16px 96px}.screen{flex-direction:column;gap:16px;display:flex}.brandBlock,.titleRow{padding:12px 2px 4px}.eyebrow{color:#4e7a45;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin:0}h1{color:#19351f;letter-spacing:0;font-size:2rem;line-height:1.12}h2{color:#203925;letter-spacing:0;font-size:1.05rem;line-height:1.25}h3{color:#203925;letter-spacing:0;font-size:1rem}.statsGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.statCard,.panel,.candidateCard,.emptyState,.birdCard,.recordItem,.analysisBox{background:#fffdf6f5;border:1px solid #dbe5d2;border-radius:8px;box-shadow:0 8px 24px #39533214}.statCard{text-align:center;padding:14px 10px}.statCard strong{color:#244b2a;font-size:1.5rem;display:block}.statCard span,.helperText,.scientific,.candidateCard p,.birdCard p,.birdCard small,.recordItem p,.storageNote{color:#62705f;font-size:.86rem;line-height:1.45}.panel{padding:16px}.sectionHeader,.candidateHeader,.sizeRow,.summaryStrip{justify-content:space-between;align-items:center;gap:12px;display:flex}.sectionHeader strong,.candidateHeader strong{color:#3d7336}.progressTrack{background:#e5eadc;border-radius:999px;height:12px;margin:12px 0 8px;overflow:hidden}.progressFill{border-radius:inherit;background:linear-gradient(90deg,#477c3f,#8aae55);height:100%}.badgeRow,.tagRow{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.badge,.tagRow span{color:#667160;background:#f5f0df;border:1px solid #d5ddca;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:700}.badge.active{color:#1d481f;background:#e3efd2;border-color:#8aae55}.primaryActions,.captureGrid{gap:10px;display:grid}button,input,textarea{font:inherit}button{cursor:pointer}.primaryButton,.secondaryButton,.dangerButton,.textButton{border-radius:8px;min-height:48px;padding:12px 16px;font-weight:800}.primaryButton{color:#fffdf4;background:#356b38;border:0}.secondaryButton{color:#234126;background:#eef5e4;border:1px solid #9eb489}.textButton{color:#345d35;background:0 0;border:0;align-self:flex-start;min-height:40px;padding-inline:0}.dangerButton{color:#8a2d1d;background:#fff1ed;border:1px solid #d9b0a4;min-height:38px;padding:8px 12px;font-size:.86rem}.storageNote{padding:0 2px}.hiddenInput{display:none}.previewImage,.detailHero{aspect-ratio:4/3;object-fit:cover;background:#e6eadf;border-radius:8px;width:100%}.sizeRow{color:#385537;margin-top:10px;font-size:.85rem;font-weight:800}.analysisBox{text-align:center;color:#345d35;padding:22px;font-weight:800}input,textarea{box-sizing:border-box;color:#1f3122;background:#fffef9;border:1px solid #cfd9c4;border-radius:8px;width:100%;padding:13px 14px}textarea{resize:vertical;min-height:96px}.candidateList,.libraryGrid,.recordList{flex-direction:column;gap:12px;display:flex}.candidateCard{text-align:left;flex-direction:column;gap:12px;padding:16px;display:flex}.infoList,.detailInfo{gap:12px;display:grid}.infoList div{gap:3px;display:grid}.infoList dt,.detailInfo h3{color:#42623f;font-size:.8rem;font-weight:800}.infoList dd{color:#243328;margin:0;font-size:.9rem;line-height:1.45}.summaryStrip{color:#315732;font-weight:800}.searchInput{min-height:48px}.emptyState{text-align:center;padding:26px 18px}.emptyState p{color:#62705f;margin-top:8px}.birdCard{text-align:left;border-color:#dbe5d2;grid-template-columns:92px 1fr;gap:12px;width:100%;padding:10px;display:grid}.birdCard img{object-fit:cover;border-radius:8px;width:92px;height:92px}.birdCard div{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.birdCard span{color:#315732;font-size:.86rem;font-weight:800}.noteScreen{background-image:linear-gradient(#356b380f 1px,#0000 1px);background-size:100% 28px}.detailHero{box-shadow:0 10px 24px #3953321f}.detailInfo p{color:#29372b;font-size:.94rem;line-height:1.55}.recordItem{grid-template-columns:82px 1fr;gap:12px;padding:10px;display:grid}.recordItem img{object-fit:cover;border-radius:8px;width:82px;height:82px}.recordItem div{flex-direction:column;gap:6px;min-width:0;display:flex}.recordItem strong{color:#203925;font-size:.9rem}.bottomNav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf6f5;border-top:1px solid #cfdbc4;grid-template-columns:repeat(3,1fr);width:min(100%,480px);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomNav button{color:#667160;background:0 0;border:0;min-height:64px;font-weight:800}.bottomNav button.active{color:#234d26;background:#e5efd9}.toast{z-index:5;color:#203925;background:#f5faed;border:1px solid #b7caa4;border-radius:8px;margin-bottom:12px;padding:12px;position:sticky;top:12px;box-shadow:0 8px 22px #3953321f}@media (width>=720px){.appMain{padding-top:28px}}
