:root{color-scheme:light;--brand-red:#ff4d4f;--brand-red-strong:#e7353f;--ink:#20213d;--muted:#73758d;--surface:#fffdf8;--surface-soft:#f7fbfa;--line:#e6ebe9;--mint:#cceee1;--aqua:#c7e8ea;--peach:#f6d7bd;--rose:#f4c5c7;--yellow:#e8ff3d;--shadow:0 24px 70px rgba(32,33,61,0.12);--focus:#2d9cdb;background:radial-gradient(circle at 92% 10%,rgba(255,77,79,.22),transparent 24rem),radial-gradient(circle at 4% 96%,rgba(255,77,79,.16),transparent 26rem),linear-gradient(135deg,#e4f2f3,#f9f5ef 48%,#fff4f0);color:var(--ink);font-family:Nunito,Avenir Next,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#e4f2f3}body{min-height:100vh;margin:0}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button{min-height:46px;border:0;border-radius:16px;cursor:pointer;font-weight:900;letter-spacing:0}button:disabled{cursor:wait;opacity:.68}.language-button{position:absolute;z-index:20;top:28px;right:28px;min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(230,235,233,.9);border-radius:999px;background:rgba(255,253,248,.9);color:var(--ink);box-shadow:0 14px 30px rgba(32,33,61,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.language-button strong{font-size:.78rem}.device-shell{width:min(100%,820px);min-height:100svh;display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;align-items:start;margin:0 auto;padding:max(30px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(112px,calc(env(safe-area-inset-bottom) + 92px)) max(22px,env(safe-area-inset-left))}.detail-shell{padding-bottom:max(30px,env(safe-area-inset-bottom))}.portfolio-shell{grid-template-columns:minmax(0,760px);justify-content:center}.collection-panel,.device-main{min-width:0;border:1px solid rgba(255,255,255,.9);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.66)),var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.device-main{position:relative;display:flex;flex-direction:column;gap:22px;padding:32px}.collection-header,.device-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.device-header{display:grid;grid-template-columns:auto minmax(0,1fr);padding-right:136px}.brand-logo{width:82px;height:82px;display:block;border:6px solid #ffffff;border-radius:28px;background:#ffffff;object-fit:cover;box-shadow:0 12px 28px rgba(231,53,63,.22)}.eyebrow,.panel-label{margin:0 0 6px;color:var(--brand-red);font-size:.76rem;font-weight:950;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}h1{font-size:clamp(2.45rem,6vw,4.85rem);line-height:.9}h1,h2{margin-bottom:0;color:var(--ink)}h2{font-size:clamp(1.6rem,3vw,2.4rem)}h3{margin-bottom:6px;color:var(--ink);font-size:1.35rem}p{max-width:62ch;color:var(--muted);line-height:1.55}.completion-dial,.device-readout{min-width:90px;padding:10px 12px;border-radius:18px;background:#fff3f3;color:var(--brand-red-strong);text-align:center}.progress-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:stretch}.device-readout{justify-self:stretch}.completion-dial,.device-readout span{display:block;font-size:1.85rem;font-weight:950;line-height:1}.device-readout small{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.progress-summary .device-readout{display:grid;place-items:center}.progress-summary .completion-dial{display:grid;place-items:center;min-width:108px}.collection-panel,.device-panel,.hero-panel{border-radius:28px}.device-panel,.hero-panel{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink)}.hero-panel{display:grid;grid-gap:12px;gap:12px;padding:18px 22px}.hero-panel p:not(.panel-label){margin-bottom:0;color:var(--ink);font-weight:750}.compact-status{background:#fff7f7}.scan-meter-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.scan-meter{height:12px;overflow:hidden;border-radius:999px;background:#e2e7e6}.scan-meter span{display:block;height:100%;min-width:8px;border-radius:inherit;background:linear-gradient(90deg,var(--brand-red),#ffb3a5);transition:width .42s ease}.actions,.feedback-row{display:flex;flex-wrap:wrap;gap:10px}.device-button,.primary-action{padding:0 20px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-action{background:var(--brand-red);color:#ffffff;box-shadow:0 12px 24px rgba(255,77,79,.25)}.primary-action:hover{transform:translateY(-2px);background:var(--brand-red-strong);box-shadow:0 16px 28px rgba(255,77,79,.28)}.primary-action.compact{width:-moz-fit-content;width:fit-content}.device-button{border:1px solid var(--line);background:#ffffff;color:var(--ink)}.device-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(32,33,61,.08)}.device-button.confirm{background:#ecfff2;color:#157a36;border-color:#bfe9cc}.status-panel{margin:0;padding:12px 14px;border:1px solid #f3df9d;border-radius:18px;background:#fff7d8;color:#7a5a00;font-weight:850}.camera-frame,.preview-grid,.results,.unlock{display:grid;grid-gap:14px;gap:14px;padding:16px}.panel-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem;font-weight:950;text-transform:uppercase}.panel-topline strong{color:var(--brand-red)}.preview-grid img,video{width:100%;aspect-ratio:4/3;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#d7eff0,#fff5ee);object-fit:contain}.preview-grid{grid-template-columns:minmax(0,1fr) minmax(170px,220px)}.preview-console{display:grid;align-content:center;grid-gap:12px;gap:12px}.card-number,.confidence-badge,.entry-number,.status-chip{width:-moz-fit-content;width:fit-content;border-radius:999px;font-weight:950}.status-chip{margin:0;padding:8px 12px;background:#eef8f6;color:#27746f}.card-number,.confidence-badge,.entry-number{padding:6px 10px}.card-number,.entry-number{background:#ffffff;color:var(--brand-red)}.confidence-badge{background:#eef8ff;color:#2d78a0}.uncertain{background:#fff8e8}.prediction-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:20px;background:#ffffff;transition:transform .18s ease,box-shadow .18s ease}.prediction-row:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(32,33,61,.08)}.prediction-row div{display:grid;grid-gap:2px;gap:2px}.prediction-row span:not(.entry-number,.confidence-badge){color:var(--muted)}.unlock{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff8e8,#effff4);animation:unlock-pop .52s ease both}.unlock-burst{position:absolute;inset:auto 20px 20px auto;width:140px;height:140px;border-radius:999px;opacity:.28;background:radial-gradient(circle,#ffe870,transparent 68%);animation:pulse-glow 1.8s ease-in-out infinite}.unlock>:not(.unlock-burst){position:relative}.check-row{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:850}.detail-page-actions{min-height:42px;display:flex;align-items:center;padding-right:120px}.compact-back{min-height:40px;padding:0 14px;border-radius:999px}.collection-panel{display:grid;grid-gap:20px;gap:20px;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.collection-header h2{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.birddex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));grid-gap:16px;gap:16px}.bird-card{position:relative;min-height:178px;display:grid;place-items:stretch;overflow:hidden;padding:16px;border:0;border-radius:22px;background:var(--aqua);color:var(--ink);text-align:center;box-shadow:0 12px 28px rgba(32,33,61,.08);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.floating-capture-button{position:fixed;z-index:30;left:50%;bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px));transform:translateX(-50%);min-width:min(320px,calc(100vw - 44px));min-height:62px;padding:0 28px;border-radius:999px;background:var(--brand-red);color:#ffffff;box-shadow:0 18px 42px rgba(255,77,79,.34)}.floating-capture-button:hover{background:var(--brand-red-strong)}.floating-capture-button:disabled{cursor:not-allowed;opacity:.58;filter:grayscale(.25);box-shadow:0 12px 28px rgba(32,33,61,.12)}.bird-card:nth-child(3n+1){background:var(--mint)}.bird-card:nth-child(3n+2){background:var(--aqua)}.bird-card:nth-child(3n){background:var(--peach)}.bird-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(32,33,61,.12)}.bird-card.discovered{filter:saturate(1.08)}.bird-card.undiscovered{color:rgba(32,33,61,.68);filter:saturate(.62)}.bird-art{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;border-radius:inherit;background:rgba(255,255,255,.7);color:var(--brand-red);font-size:3rem;font-weight:950}.bird-art img{width:100%;height:100%;display:block;object-fit:cover}.bird-card.undiscovered .bird-art{background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(32,33,61,.06)),rgba(32,33,61,.1);color:rgba(32,33,61,.48)}.bird-card.discovered .bird-art{animation:card-unlock .52s ease both}.bird-card .card-number,.bird-card strong,.lock-badge{position:relative;z-index:1}.bird-card .card-number{top:12px;padding:5px 8px;font-size:.72rem;box-shadow:0 8px 18px rgba(32,33,61,.1)}.bird-card .card-number,.bird-card strong{position:absolute;left:12px;background:rgba(255,255,255,.86);color:var(--ink)}.bird-card strong{bottom:12px;padding:8px 10px;font-size:.8em;text-align:center;box-shadow:0 10px 20px rgba(32,33,61,.1)}.bird-card strong,.lock-badge{right:12px;border-radius:999px}.lock-badge{position:absolute;top:12px;width:26px;height:26px;display:grid;place-items:center;background:rgba(238,240,242,.92);color:#6f7480;box-shadow:0 8px 18px rgba(32,33,61,.1)}.lock-badge svg{width:13px;height:13px;display:block;fill:currentColor}.species-terminal{display:grid;grid-gap:16px;gap:16px;padding:18px;border-radius:26px;background:#ffffff;color:var(--ink);box-shadow:0 14px 34px rgba(32,33,61,.08)}.species-terminal.locked{background:#f3f4f6}.detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:16px;gap:16px}.detail-silhouette{width:96px;height:96px;display:grid;place-items:center;overflow:hidden;border-radius:28px;background:#e5e7eb;color:#8c93a2;font-size:3rem;font-weight:950}.detail-silhouette img{width:100%;height:100%;display:block;object-fit:cover}.detail-silhouette.discovered{background:linear-gradient(135deg,var(--mint),var(--aqua));color:var(--brand-red)}.curiosity-panel,.detail-summary{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:20px;background:#f7faf9}.detail-summary p:last-child{margin-bottom:0;color:var(--ink);font-weight:750}.detail-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.detail-section-grid div{min-width:0;padding:12px;border:1px solid rgba(230,235,233,.82);border-radius:18px;background:#ffffff}.detail-section-grid dt{color:var(--brand-red);font-size:.72rem;font-weight:950;text-transform:uppercase}.detail-section-grid dd{margin:4px 0 0;color:var(--ink);font-weight:750;overflow-wrap:anywhere}.capture-carousel{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:22px;background:#f7faf9}.capture-carousel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.capture-carousel-header span{color:var(--muted);font-size:.78rem;font-weight:950}.capture-photo-frame{position:relative;width:100%;min-height:0;overflow:hidden;padding:0;border-radius:22px;background:#dcebea;aspect-ratio:4/3;box-shadow:0 12px 24px rgba(32,33,61,.08)}.capture-photo-frame img{width:100%;height:100%;display:block;object-fit:cover}.capture-photo-frame span{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--ink);font-size:.78rem;font-weight:950}.capture-carousel-controls{display:flex;gap:10px}.photo-lightbox{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(14,16,28,.88)}.photo-lightbox img{max-width:min(100%,980px);max-height:82svh;border-radius:24px;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.35)}.photo-lightbox-close{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));min-height:42px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink)}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.stat-grid div{padding:12px;border-radius:18px;background:#f7faf9}.stat-grid dt{color:var(--brand-red);font-size:.72rem;font-weight:950;text-transform:uppercase}.stat-grid dd{margin:4px 0 0}.fact-list,.stat-grid dd{color:var(--ink);font-weight:750}.fact-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:20px}a{color:var(--brand-red);font-weight:900}@keyframes unlock-pop{0%{transform:scale(.985);opacity:.82}to{transform:scale(1);opacity:1}}@keyframes card-unlock{0%{transform:scale(.82)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pulse-glow{0%,to{transform:scale(.9);opacity:.22}50%{transform:scale(1.08);opacity:.35}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (display-mode:standalone){.device-shell{min-height:100svh}}@media (max-width:980px){.preview-grid{grid-template-columns:1fr}}@media (max-width:560px){.device-shell{padding:14px 14px max(110px,calc(env(safe-area-inset-bottom) + 88px))}.collection-panel,.device-main{border-radius:28px}.device-main{padding:20px}.device-header{grid-template-columns:auto minmax(0,1fr);padding-right:92px}.brand-logo{width:66px;height:66px;border-radius:22px}.language-button{top:18px;right:18px}.prediction-row{grid-template-columns:auto minmax(0,1fr)}.prediction-row .confidence-badge,.prediction-row .confirm{justify-self:start}.detail-section-grid,.stat-grid{grid-template-columns:1fr}}