:root{--bg:#071b24;--sidebar:#081a23;--surface:#0a232f;--surface2:#0d2a36;--surface3:#11323e;--border:rgba(165,212,223,.13);--border2:rgba(165,212,223,.23);--text:#eaf5f4;--muted:#8ca7ac;--dim:#608087;--accent:#86e5c5;--accent2:#55bcaa;--blue:#8ac8d4;--warning:#e9c18b;--danger:#e6a6a5;--radius:14px;--sidebar-width:280px;font-synthesis:none}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 "Avenir Next","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit}::selection{background:#6fd3b2;color:#071b24}[hidden]{display:none!important}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button,.card,.tabular-row{transition:background .17s ease,border-color .17s ease,transform .17s ease,color .17s ease}.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--border);position:sticky;top:0;height:100vh;background:var(--sidebar);display:flex;flex-direction:column;z-index:10}.brand{height:99px;display:flex;align-items:center;gap:12px;padding:20px 23px;border-bottom:1px solid var(--border);flex-shrink:0}.brand-mark{width:39px;height:39px;border:1px solid rgba(134,229,197,.32);background:linear-gradient(140deg,#123c40,#10303b);border-radius:12px;display:grid;place-items:center;color:var(--accent)}.brand-mark svg{width:24px;height:24px}.brand strong{font-size:15px;letter-spacing:.14em;font-weight:800;white-space:nowrap}.brand strong span{font-weight:400;color:var(--accent)}.brand small{display:block;color:var(--dim);font-size:8.2px;letter-spacing:.12em;margin-top:1px;white-space:nowrap}.side-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:25px 21px 20px;scrollbar-width:thin;scrollbar-color:#24424d transparent}.eyebrow{font-size:10px;font-weight:760;letter-spacing:.16em;color:var(--muted)}.eyebrow.accent{color:var(--accent)}.side-title{margin:1px 0 11px 9px}.group-filters{display:flex;flex-direction:column;gap:3px}.group-button{width:100%;background:transparent;border:1px solid transparent;color:#a8c0c4;display:flex;align-items:center;gap:12px;text-align:left;border-radius:8px;padding:9px 10px;min-height:40px}.group-button:hover{background:#102d37}.group-button.active{background:linear-gradient(90deg,rgba(112,210,186,.14),rgba(112,210,186,.03));border-color:rgba(112,210,186,.22);color:var(--text)}.group-dot{width:9px;height:9px;border-radius:50%;background:var(--dot,#86e5c5);box-shadow:0 0 0 3px color-mix(in srgb,var(--dot,#86e5c5) 14%,transparent)}.group-name{flex:1;font-size:12.5px}.group-count{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.group-button.active .group-count{color:var(--accent)}.sidebar-divider{height:1px;background:var(--border);margin:22px 0}.filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.link-btn{font-size:11px;border:0;background:none;color:var(--accent);padding:3px 0}.link-btn:hover{text-decoration:underline}.field{margin:0 0 16px;min-width:0}.field label,.range-label label{display:block;font-size:12px;color:#b3c8ca;margin-bottom:7px}.select-wrap{position:relative}.select-wrap select{appearance:none;width:100%;height:39px;outline:none;cursor:pointer;background:#0d2935;border:1px solid #23414b;color:#e3eeee;border-radius:8px;padding:0 31px 0 11px;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.select-wrap select:focus{border-color:var(--accent)}.select-wrap .icon{position:absolute;right:11px;top:11px;pointer-events:none;color:var(--muted);width:16px;height:16px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.two-fields .field{min-width:0}.range-field{margin:13px 0 22px}.range-label{display:flex;justify-content:space-between;align-items:center;gap:6px}.range-label span{color:var(--accent);font-size:11px}.range-field input{width:100%;height:3px;margin:10px 0 8px;accent-color:var(--accent);display:block}.range-ticks{display:flex;justify-content:space-between;color:var(--dim);font-size:10px}.switch-line{display:flex;align-items:center;justify-content:space-between;position:relative;color:#b3c8ca;font-size:12px;margin:14px 0 0;cursor:pointer}.switch-line input{position:absolute;opacity:0;right:0;width:37px;height:22px;cursor:pointer}.switch{display:block;position:relative;width:37px;height:21px;background:#253f48;border-radius:99px;border:1px solid #33535a;transition:.2s}.switch:after{content:"";position:absolute;top:2px;left:3px;width:15px;height:15px;background:#a4b8ba;border-radius:50%;transition:.2s}.switch-line input:checked+.switch{background:#267d73;border-color:#5bc3ae}.switch-line input:checked+.switch:after{transform:translateX(15px);background:#c8fff0}.switch-line input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:3px}.main{min-width:0;overflow:hidden;background:radial-gradient(ellipse 50% 35% at 94% 9%,rgba(28,84,91,.08),transparent 70%),#071b24}.topbar{height:99px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:15px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:16px}.topbar-kicker{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--accent)}.topbar-kicker span{color:#93b0b4;font-weight:500}.top-text-btn{border:0;background:transparent;color:#b3c8ca;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}.top-text-btn:hover{color:white}.top-text-btn .icon{width:16px}.button{background:linear-gradient(130deg,#91e9c9,#6ad4bb);border:1px solid #a4f4da;border-radius:8px;padding:11px 18px;color:#09272a;font-weight:770;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.button:hover{background:#b7f8df;transform:translateY(-1px)}.button.small{padding:10px 14px}.button .icon{width:16px;height:16px}.icon-btn{border:1px solid var(--border2);color:var(--text);border-radius:8px;background:var(--surface);width:35px;height:35px;display:grid;place-items:center}.mobile-only{display:none}.hero{position:relative;min-height:356px;display:grid;grid-template-columns:minmax(0,1fr) 285px;overflow:hidden;border-bottom:1px solid var(--border);padding:55px 5.5% 48px;gap:20px;background:linear-gradient(111deg,rgba(3,18,27,.2),transparent 67%),radial-gradient(ellipse 60% 80% at 103% 42%,rgba(46,122,120,.24),transparent 75%),repeating-linear-gradient(0deg,transparent,transparent 54px,rgba(188,231,231,.022) 55px,transparent 56px)}.hero:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(152,213,221,.08);border-radius:50%;right:-130px;top:-120px;box-shadow:0 0 0 90px rgba(152,213,221,.018),0 0 0 190px rgba(152,213,221,.018);pointer-events:none}.hero-content{position:relative;z-index:1}.hero-overline{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.14em;color:#9dbebd;font-weight:660;margin:0 0 20px}.hero h1{font:400 clamp(44px,5.0vw,73px)/1.04 Georgia,"Iowan Old Style",serif;letter-spacing:-.035em;margin:0 0 16px}.hero h1 em{color:#9bddcb;font-weight:400}.hero p{max-width:575px;font-size:13px;line-height:1.8;color:#a5bec2;margin:0}.hero-decoration{display:flex;align-items:center;gap:9px;margin-top:28px;color:#5e898e;font-size:9px;letter-spacing:.16em}.hero-decoration .icon{width:22px;height:22px;color:var(--accent2)}.hero-stats{border-left:1px solid rgba(184,230,231,.15);display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:72px;gap:12px;padding:33px 0 0 34px;z-index:1;align-self:center}.hero-stat{display:flex;flex-direction:column}.hero-stat strong{font-size:33px;line-height:1.12;font-weight:530;letter-spacing:-.06em;color:#c1efdf;font-variant-numeric:tabular-nums}.hero-stat span{font-size:9px;letter-spacing:.17em;color:#83a3a8;padding-top:5px}.hero-grid{grid-column:span 2;width:100%;height:1px;background:linear-gradient(90deg,var(--accent2),transparent);opacity:.5;margin-top:12px}.workspace{padding:42px 5.5% 60px;min-height:600px}.toolbar{display:flex;align-items:center;gap:13px}.search-field{flex:1;height:48px;position:relative;min-width:0;display:flex;align-items:center;border:1px solid #244652;border-radius:9px;background:#0e2a36;padding:0 12px;gap:11px}.search-field:focus-within{border-color:var(--accent2);box-shadow:0 0 0 3px rgba(112,210,186,.07)}.search-field .icon{color:var(--accent);width:19px;height:19px}.search-field input{border:0;background:transparent;outline:none;color:var(--text);flex:1;min-width:0;font-size:13px}.search-field input::placeholder{color:#79969d}.search-field kbd{border:1px solid #37545d;background:#193843;color:#86a5ac;padding:1px 7px;border-radius:4px;font-size:11px}.view-tabs{display:flex;border:1px solid #274652;border-radius:9px;background:#092430;padding:4px;gap:1px;min-width:0}.view-tabs button{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:9px 11px;color:#9ab5b9;border-radius:6px;font-size:12px;white-space:nowrap}.view-tabs button.active{color:var(--accent);background:#1c414a}.view-tabs button:hover:not(.active){color:#e3f0ee}.view-tabs button .icon{width:15px;height:15px}.list-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:27px 0 17px}.results-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#9bb2b7;flex-wrap:wrap}.results-label strong{color:#b4f0d9;font-size:21px;line-height:1;font-weight:630}.sort-wrap{display:flex;align-items:center;position:relative;gap:10px}.sort-wrap label{font-size:9px;color:#719197;letter-spacing:.13em}.sort-wrap select{appearance:none;background:transparent;border:0;outline:none;color:#c8dcdd;padding:5px 18px 5px 2px;font-size:11px;cursor:pointer}.sort-wrap option{background:#0d2a36}.sort-wrap svg{position:absolute;width:14px;height:14px;right:0;color:var(--muted);pointer-events:none}.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:-1px 0 14px}.active-filters:empty{display:none}.active-chip{display:flex;align-items:center;gap:7px;color:#bdf3de;background:#173b42;border:1px solid #32645e;border-radius:99px;padding:5px 9px 5px 12px;font-size:11px}.active-chip svg{height:12px;width:12px}.active-chip:hover{background:#24564f}.species-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#102d39,#0c2430);min-width:0}.card:hover{border-color:#3f7877;transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.13)}.card-image{position:relative;height:180px;background:radial-gradient(ellipse 50% 80% at 47% 64%,rgba(65,137,141,.19),transparent 80%),linear-gradient(155deg,#183b47,#092531 80%);overflow:hidden;cursor:pointer}.card-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(6,24,33,.35))}.card-image .photo-img,.modal-photo .photo-img,.compare-photo .photo-img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.image-ornament{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-ornament:before{content:"";width:156px;height:156px;border:1px solid rgba(165,214,211,.16);border-radius:50%;box-shadow:0 0 0 35px rgba(144,219,207,.035),0 0 0 68px rgba(144,219,207,.025);position:absolute;transform:rotate(34deg) scaleX(1.35)}.image-ornament:after{content:"";height:1px;width:170px;background:linear-gradient(90deg,transparent,rgba(143,230,207,.25),transparent);transform:rotate(-40deg)}.ornament-icon{font:400 43px/1 Georgia,serif;color:rgba(159,232,209,.27);z-index:1;letter-spacing:-.11em}.card-index{position:absolute;left:14px;top:13px;z-index:2;font-size:10px;letter-spacing:.12em;color:#b3cfcb}.card-group{position:absolute;left:14px;bottom:12px;z-index:2;font-size:9px;letter-spacing:.08em;color:#d3eeea;display:flex;align-items:center;gap:7px;text-shadow:0 1px 5px #092430}.card-group i{display:inline-block;height:7px;width:7px;border-radius:50%;background:var(--dot);box-shadow:0 0 0 2px rgba(0,0,0,.2)}.card-actions{position:absolute;top:10px;right:10px;z-index:3;display:flex;gap:6px}.round-action{width:30px;height:30px;background:rgba(6,25,33,.75);color:#d4e6e5;border:1px solid rgba(181,227,224,.17);backdrop-filter:blur(10px);border-radius:50%;display:grid;place-items:center}.round-action .icon{height:15px;width:15px}.round-action:hover,.round-action.selected{background:#2b6d61;color:#dcfff1;border-color:#73d9be}.round-action.selected .icon.star-icon{fill:#b8f4dd}.card-body{padding:17px 16px 14px;cursor:pointer}.card-body h3{font-size:17px;font-weight:580;letter-spacing:-.025em;margin:0 0 1px;line-height:1.25;min-height:22px}.card-body em{display:block;font:italic 12px Georgia,serif;color:#8db0b4;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:15px;min-height:24px}.mini-tag{background:#163542;color:#a8c8c9;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap}.mini-tag.high{color:#f4c5ad;background:#4d3b39}.mini-tag.safe{color:#b0eccf;background:#1c453e}.load-more-box{display:flex;justify-content:center;padding-top:26px}.load-more-box button{min-width:240px;background:#10323e;border:1px solid #37606a;color:#c1e5df;padding:12px 22px;border-radius:8px}.load-more-box button:hover{background:#1b4750}.empty-state{text-align:center;border:1px dashed #31535b;padding:70px 22px;border-radius:12px;color:var(--muted)}.empty-state .icon{width:33px;height:33px;color:var(--accent)}.empty-state h3{font-size:19px;color:var(--text);font-weight:580;margin:9px 0 6px}.empty-state p{font-size:13px;margin:0 0 17px}.table-wrap{border:1px solid var(--border);border-radius:10px;overflow:auto;background:#0d2632}.data-table{width:100%;border-collapse:collapse;min-width:930px}.data-table th{text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#85a8ad;background:#102e39;border-bottom:1px solid #34505a;white-space:nowrap;padding:13px 14px}.data-table td{font-size:12px;color:#bcd1d2;border-bottom:1px solid var(--border);padding:14px}.data-table tr:hover td{background:#153744}.data-table tr:last-child td{border-bottom:0}.data-table td b{font-weight:600;color:#e1f1ef}.data-table td em{display:block;font:italic 11px Georgia,serif;color:#87aeb0}.table-species-btn{color:#daf2eb;cursor:pointer;background:transparent;border:0;text-align:left;padding:0}.table-species-btn:hover{color:var(--accent)}.data-table .uicn-pill{font-size:10px}.uicn-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:4px;background:#1f4551;color:#b5e6e6;font-weight:760;font-size:10px;letter-spacing:.03em}.uicn-pill.EN,.uicn-pill.CR{background:#513538;color:#ffc8c1}.uicn-pill.VU{background:#544233;color:#ffe0b4}.uicn-pill.NT{background:#494932;color:#e8e2a7}.uicn-pill.LC{background:#234b40;color:#b5e4c1}.uicn-pill.NE,.uicn-pill.DD{background:#2a4149;color:#abc6ca}.tiny-photo{color:var(--accent)}.main-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:27px 5.5%;color:#77949b;gap:14px;font-size:9px;letter-spacing:.09em;flex-wrap:wrap}.main-footer div{display:flex;align-items:center;gap:8px}.main-footer .icon{width:18px;color:var(--accent)}.main-footer div span{opacity:.5}.bottom-compare{position:fixed;z-index:21;left:calc(var(--sidebar-width) + 30px);right:30px;bottom:21px;background:rgba(17,57,64,.98);border:1px solid #4f9587;border-radius:12px;padding:13px 15px;display:flex;align-items:center;gap:15px;box-shadow:0 20px 60px #0008;backdrop-filter:blur(20px)}.compare-left{display:flex;gap:11px;align-items:center;min-width:190px}.compare-orb{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#266b60;color:#b6f3da}.compare-left strong{display:block;font-size:12px;font-weight:650}.compare-left span{display:block;font-size:10px;color:#a8c3c1;margin-top:2px}.compare-items{display:flex;flex:1;gap:6px;flex-wrap:wrap}.compare-items span{background:#214c52;border:1px solid #467277;padding:5px 9px;border-radius:4px;font-size:10px;color:#d2ece6}.compare-clear{background:transparent;color:#a9cbca;border:0;font-size:11px}.compare-clear:hover{color:#fff}.overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:28px}.overlay-shade{position:absolute;inset:0;background:rgba(2,12,19,.8);backdrop-filter:blur(6px)}.modal-panel{position:relative;width:min(830px,100%);max-height:min(89vh,900px);overflow-y:auto;border:1px solid #3b6668;background:#09232d;box-shadow:0 28px 100px #0009;border-radius:14px;scrollbar-color:#2d555b transparent;scrollbar-width:thin}.close-modal{position:sticky;top:13px;float:right;margin:13px 13px -48px 0;z-index:5;display:grid;place-items:center;width:35px;height:35px;background:rgba(7,30,38,.88);border:1px solid #4b7075;border-radius:50%;color:#d1e7e4}.close-modal:hover{background:#224c54}.modal-photo{height:290px;position:relative;background:radial-gradient(ellipse at 40% 90%,#235059,#0e2935 76%);overflow:hidden}.modal-photo .image-ornament:before{width:230px;height:230px}.modal-photo .ornament-icon{font-size:65px}.modal-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,24,32,.55),transparent 65%);pointer-events:none}.modal-photo-caption{position:absolute;bottom:16px;left:27px;z-index:2;color:#d8f2ed;font-size:10px;letter-spacing:.15em}.modal-content{padding:26px 28px 30px}.modal-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.modal-heading h2{font-size:33px;line-height:1.2;letter-spacing:-.03em;font-weight:550;margin:7px 0 3px}.modal-heading em{font:italic 17px Georgia,serif;color:#93c2bd}.modal-heading-actions{display:flex;gap:6px}.modal-heading-actions button{height:35px;width:35px;border:1px solid #3b6167;color:#bbdcdb;border-radius:8px;background:#133642;display:grid;place-items:center}.modal-heading-actions button:hover{color:var(--accent)}.detail-group{display:flex;align-items:center;gap:7px;font-size:10px;color:#abd5cd;letter-spacing:.08em}.detail-group i{width:8px;height:8px;background:var(--dot);border-radius:50%}.detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:10px;background:#102d39;margin:25px 0 27px;overflow:hidden}.detail-stat{padding:18px 15px;border-right:1px solid var(--border)}.detail-stat:last-child{border-right:0}.detail-stat label{font-size:10px;letter-spacing:.09em;color:#8aafb0}.detail-stat strong{display:block;font-size:18px;font-weight:560;margin-top:5px;white-space:nowrap}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px}.detail-section h4{font-size:11px;letter-spacing:.14em;font-weight:740;color:var(--accent);margin:0 0 15px}.fact-row{display:flex;gap:12px;align-items:baseline;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:12px}.fact-row span:first-child{color:#90b1b5}.fact-row span:last-child{text-align:right;color:#d4e8e7}.detail-photo-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.detail-photo-actions .detail-photo-strip{display:flex;gap:5px;position:absolute;bottom:9px;right:15px;z-index:3}.detail-photo-strip button{border:1px solid #8bb4af;background:#143943;color:white;font-size:10px;padding:4px 8px;border-radius:4px}.detail-photo-strip button.active{background:var(--accent);color:#10362e}.compare-panel{max-width:1150px}.compare-header{padding:32px 30px 10px}.compare-header h2{font-size:31px;letter-spacing:-.03em;font-weight:570;margin:4px 0}.compare-header p{color:var(--muted);font-size:12px;margin:0 0 15px}.compare-scroll{overflow-x:auto;padding:0 30px 30px}.comparison-table{width:100%;min-width:650px;border-collapse:collapse;table-layout:fixed}.comparison-table th{width:20%;text-align:left;padding:10px;color:#88adb1;font-size:11px;font-weight:500}.comparison-table td{width:20%;border-left:1px solid #254752;padding:10px 14px;font-size:12px;color:#cee5e1;vertical-align:top;overflow-wrap:anywhere}.comparison-table tr{border-bottom:1px solid #244650}.comparison-table tr:last-child{border-bottom:0}.comparison-table tr:first-child td{vertical-align:bottom}.comparison-table td strong{display:block;font-size:15px;color:#edf8f4;font-weight:560;line-height:1.2}.comparison-table td em{font:italic 11px Georgia,serif;color:#a2c9c2}.compare-photo{height:110px;border-radius:6px;margin-bottom:12px;position:relative;overflow:hidden;background:radial-gradient(circle at center,#30585c,#12323e)}.compare-photo .image-ornament:before{width:70px;height:70px}.compare-photo .ornament-icon{font-size:24px}.help-panel{width:min(640px,100%)}.help-content{padding:35px 35px 30px}.help-content h2{font:400 37px Georgia,serif;letter-spacing:-.025em;margin:9px 0}.help-content>p{font-size:13px;color:#afc9c8;line-height:1.7;margin-bottom:25px}.help-step{display:flex;gap:17px;padding:16px 0;border-top:1px solid var(--border)}.help-step>b{font-size:16px;font-weight:400;color:var(--accent);font-family:Georgia,serif}.help-step strong{font-size:13px;font-weight:590}.help-step p{font-size:12px;color:#a2bec0;line-height:1.7;margin:6px 0 0}.help-step code{font-size:11px;background:#1d424b;padding:2px 5px;border-radius:3px;color:#c8eede}.help-caution{display:flex;gap:9px;color:#d3c4a4;background:#3b352a;border:1px solid #655744;border-radius:8px;padding:13px;margin:18px 0 24px;font-size:11px;line-height:1.6}.help-caution .icon{color:var(--warning);width:18px;height:18px}.help-content>.button{width:100%}.toast{position:fixed;bottom:25px;right:25px;z-index:110;max-width:min(480px,calc(100vw - 50px));background:#225a55;border:1px solid #69b69d;color:#e6fff2;border-radius:9px;padding:13px 19px;box-shadow:0 15px 45px #0008;transform:translateY(25px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:12px}.toast.visible{opacity:1;transform:translateY(0)}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analytics-panel{min-width:0;background:linear-gradient(160deg,#102d39,#0b2530);border:1px solid var(--border);border-radius:11px;padding:23px}.analytics-panel.wide{grid-column:span 2}.analytics-kicker{color:var(--accent);letter-spacing:.13em;font-size:10px;font-weight:750}.analytics-panel h3{margin:7px 0 20px;font-weight:580;font-size:19px;letter-spacing:-.015em}.bar-row{display:grid;grid-template-columns:minmax(70px,130px) minmax(0,1fr) 34px;align-items:center;gap:9px;margin:10px 0}.bar-name{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#b5d0d0}.bar-bg{height:9px;border-radius:15px;background:#21414b;overflow:hidden}.bar-fill{height:100%;border-radius:15px;background:linear-gradient(90deg,#3c9998,#93dfc7);min-width:0}.bar-value{color:#b9ddce;font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.bar-row button{background:none;border:0;color:inherit;text-align:inherit;padding:0;display:contents}.bar-row:hover .bar-name{color:var(--accent)}.analytics-note{font-size:11px;color:#88a9ac;line-height:1.6;margin-top:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}.metric-box{background:#10303b;border:1px solid var(--border);border-radius:10px;padding:20px}.metric-box strong{font-size:26px;font-weight:550;color:#bff3dc;display:block;letter-spacing:-.04em}.metric-box span{font-size:10px;letter-spacing:.08em;color:#a0b9bc}.stackbar{height:24px;display:flex;border-radius:6px;overflow:hidden;background:#1c3e47;margin-top:12px;gap:1px}.stackbar>div{height:100%;cursor:help;min-width:1px}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:13px}.chart-legend span{font-size:11px;color:#adc5c5;display:flex;align-items:center;gap:6px}.chart-legend i{height:9px;width:9px;border-radius:3px;display:inline-block}.scatter{width:100%;height:auto;background:linear-gradient(0deg,rgba(150,201,208,.025),transparent);border-radius:7px}.scatter text{fill:#8caaaf;font-size:11px;font-family:inherit}.scatter .grid-line{stroke:#2d4d58;stroke-width:.7;stroke-dasharray:3 6}.scatter circle{cursor:pointer;transition:opacity .12s}.scatter circle:hover{stroke:white;stroke-width:2;opacity:1}.scatter .axis-name{font-size:10px;fill:#93b3b3;letter-spacing:.06em}.analytical-button{border:0;background:none;color:var(--accent);padding:0;font-size:10px;margin-top:10px}.caption-note{font-size:11px;color:var(--muted)}.photo-progress{position:fixed;inset:0;background:#0008;z-index:100;display:grid;place-items:center}.photo-progress-card{background:#0e3039;border:1px solid #5b9589;border-radius:13px;max-width:440px;width:calc(100% - 35px);padding:25px}.photo-progress-card h3{font-size:18px;margin:0 0 8px}.photo-progress-card p{font-size:12px;color:#a9c5c5}.photo-progress-track{height:8px;border-radius:5px;overflow:hidden;background:#204953;margin:20px 0 9px}.photo-progress-track div{height:100%;background:var(--accent);width:0;transition:width .15s}.photo-progress-num{font-size:11px;color:var(--accent);text-align:right}@media(min-width:1600px){.main{max-width:none}.topbar,.workspace,.hero,.main-footer{padding-left:max(5.5%,calc((100% - 1240px)/2));padding-right:max(5.5%,calc((100% - 1240px)/2))}.species-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1120px){:root{--sidebar-width:245px}.brand{padding:18px 14px}.brand strong{font-size:13px}.side-scroll{padding:22px 14px}.topbar{padding:0 4%}.workspace{padding:36px 4%}.hero{padding-left:4%;padding-right:4%;grid-template-columns:1fr 205px}.hero h1{font-size:54px}.hero-stats{padding-left:20px;gap:5px}.hero-stat strong{font-size:29px}.species-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-footer{padding-left:4%;padding-right:4%}.view-tabs button{padding:9px}.view-tabs button span{display:none}.bottom-compare{left:calc(var(--sidebar-width) + 18px);right:18px}}
@media(max-width:820px){:root{--sidebar-width:0px}.shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:15px 0 40px #0007}.sidebar.is-open{transform:translateX(0)}body.sidebar-open:before{content:"";position:fixed;inset:0;background:#0009;z-index:9}.mobile-only{display:grid}.topbar{height:69px}.hero{min-height:300px}.workspace{padding-top:33px}.bottom-compare{left:15px;right:15px}.compare-items{display:none}}
@media(max-width:580px){.topbar-kicker{font-size:9px}.topbar-kicker span{display:none}.top-text-btn span{display:none}.top-text-btn{padding:0}.topbar-actions{gap:9px}.topbar .button.small{padding:9px 11px}.topbar .button.small span{display:none}.topbar .button.small .icon{width:19px;height:19px}.hero{grid-template-columns:1fr;padding:37px 5% 33px;min-height:0}.hero h1{font-size:48px}.hero p{font-size:12px}.hero-stats{border-left:0;padding:22px 0 0;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;border-top:1px solid var(--border);max-width:430px}.hero-grid{display:none}.hero-stat strong{font-size:26px}.hero-stat span{font-size:8px}.hero-decoration{margin-top:18px;font-size:8px}.workspace{padding:32px 5% 45px}.toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.view-tabs{flex:1;justify-content:space-between}.view-tabs button{flex:1;justify-content:center}.view-tabs button span{display:inline}.list-meta{margin-top:20px;flex-wrap:wrap}.sort-wrap label{display:none}.species-grid{grid-template-columns:1fr;gap:14px}.card-image{height:210px}.card-body h3{font-size:18px}.analytics-grid,.metric-grid{grid-template-columns:1fr 1fr}.analytics-panel{padding:15px}.analytics-panel.wide{grid-column:span 2}.analytics-panel h3{font-size:16px}.bar-row{grid-template-columns:minmax(60px,98px) minmax(0,1fr) 24px;gap:5px}.bar-name{font-size:10px}.metric-box{padding:14px}.metric-box strong{font-size:23px}.detail-stats{grid-template-columns:repeat(2,1fr)}.detail-stat:nth-child(2){border-right:0}.detail-stat:nth-child(-n+2){border-bottom:1px solid var(--border)}.detail-columns{grid-template-columns:1fr;gap:24px}.modal-photo{height:215px}.modal-content{padding:20px}.modal-heading h2{font-size:26px}.overlay{padding:12px}.help-content{padding:28px 22px 22px}.help-content h2{font-size:32px}.bottom-compare{gap:9px;padding:10px}.compare-left{min-width:0;flex:1}.compare-orb{width:34px;height:34px}.bottom-compare .button{font-size:11px;padding:10px}.compare-clear{display:none}.main-footer{padding:25px 5%;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* CATALOGACIÓN Y PRIVACIDAD: solo lectura, sin carga de archivos desde el cliente. */
.read-only-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border2);background:var(--surface2);border-radius:99px;padding:8px 12px;color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.09em;white-space:nowrap}
.read-only-chip .icon{width:13px;height:13px}
@media(max-width:580px){.read-only-chip{font-size:0;width:34px;height:34px;justify-content:center;padding:0}.read-only-chip .icon{width:16px;height:16px}}

/* 01 — OCEAN DARK / GALERÍA FOTOGRÁFICA */
:root{--bg:#061923;--sidebar:#071921;--surface:#0b2933;--surface2:#103440;--surface3:#173d48;--border:rgba(164,229,215,.15);--border2:rgba(164,229,215,.30);--text:#edf8f6;--muted:#9eb9b8;--dim:#6f9697;--accent:#a0e9d2;--accent2:#43bfa8;--radius:17px;--sidebar-width:277px}
.main{background:#061923}.hero{min-height:388px;background:radial-gradient(ellipse at 81% 95%,rgba(32,131,135,.25),transparent 50%),linear-gradient(120deg,#09232e,#061923);border-bottom-color:rgba(155,231,214,.18)}.hero:after{width:520px;height:520px;right:-155px;top:-170px;border-color:rgba(170,239,225,.11);box-shadow:0 0 0 100px rgba(170,239,225,.026),0 0 0 200px rgba(170,239,225,.015)}.hero h1{font-size:clamp(50px,5.3vw,80px)}.hero h1 em{color:#c3f6e0}.hero-stats{border-left-color:rgba(199,245,223,.2)}.hero-stat strong{color:#d3ffed}
.brand-mark{border-radius:50%}.species-grid{gap:20px}.card{border-radius:16px;background:#0c2631}.card-image{height:242px;background:radial-gradient(circle at 45% 50%,#27656d,#0c2733 75%)}.card-image:after{background:linear-gradient(transparent 65%,rgba(0,15,24,.47))}.card-body{padding:22px 20px 19px}.card-body h3{font-size:19px}.card:hover{border-color:#5cbda6;box-shadow:0 22px 50px rgba(0,0,0,.27)}.toolbar .search-field{border-radius:12px}.metric-box,.analytics-panel{background:#0a2933;border-radius:15px}.modal-panel{background:#0a2630;border-color:#3b7a72}.modal-photo{height:360px}
@media(max-width:580px){.hero{min-height:auto}.card-image{height:245px}.hero h1{font-size:49px}.modal-photo{height:230px}}

.danger-high{color:#efc29b}.danger-normal{color:#d4e8e7}

/* Cabecera sin barra superior: el hero comienza en la parte alta de la página. */
.hero-content{display:flex;flex-direction:column;justify-content:center;min-width:0}
.hero h1{font-family:Georgia,"Iowan Old Style",serif;font-size:clamp(30px,3vw,49.2px);font-weight:400;letter-spacing:-.035em;line-height:1.1;white-space:nowrap;margin:0 0 14px;color:#effaf7}
.hero .hero-author{font-family:Georgia,"Iowan Old Style",serif;font-size:clamp(16.2px,1.65vw,25.8px);font-weight:400;font-style:italic;color:#b4f0d8;letter-spacing:-.018em;line-height:1.2;margin:0}
.hero-filter-btn{display:none}
@media(max-width:1120px){.hero h1{font-size:clamp(24px,2.88vw,38.4px)}}
@media(max-width:820px){.hero-filter-btn{display:grid;position:relative;align-self:flex-start;margin:0 0 26px;z-index:2}}
@media(max-width:580px){.hero h1{font-size:clamp(25.2px,6.6vw,33px);white-space:normal;line-height:1.08}.hero .hero-author{font-size:17.4px}}

/* V03 - Cabecera compacta: altura un 40 % inferior a la versión Ocean Dark
   aprobada (388 px -> 233 px en escritorio). Se preservan título y estadísticas. */
@media (min-width: 821px) {
  .hero {
    min-height: 233px;
    padding-top: 18px;
    padding-bottom: 18px;
    align-items: center;
  }
  .hero-stats {
    grid-auto-rows: 54px;
    gap: 7px 12px;
    padding-top: 8px;
  }
  .hero-grid { margin-top: 5px; }
}
@media (min-width: 581px) and (max-width: 820px) {
  .hero {
    min-height: 220px;
    padding-top: 18px;
    padding-bottom: 18px;
    align-items: center;
  }
  .hero-stats { grid-auto-rows: 48px; gap: 6px; padding-top: 4px; }
  .hero-grid { margin-top: 3px; }
  .hero-filter-btn { margin-bottom: 11px; }
}
@media (max-width: 580px) {
  /* En móviles las cifras ocupan su propia fila: no ocultarlas ni recortar texto. */
  .hero { padding-top: 19px; padding-bottom: 17px; }
  .hero-filter-btn { margin-bottom: 12px; }
  .hero h1 { margin-bottom: 5px; }
  .hero-stats { padding-top: 11px; margin-top: 10px; gap: 7px; }
}

/* El adorno solo se muestra cuando no hay fotografía cargada. */
[data-photo-id]:has(> .photo-img) > .image-ornament { display: none; }

/* Nombre completo de la categoría UICN en el resumen de la ficha. */
.detail-stat .uicn-definition{display:block;font-size:12px;line-height:1.4;color:var(--text);margin-top:7px;overflow-wrap:anywhere}

/* Acceso a contacto y página de autor. */
.hero-contact{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:18px;padding:9px 17px;border:1px solid var(--border2);border-radius:8px;color:var(--accent);text-decoration:none;font-size:12px;background:#0c2a32;position:relative;z-index:2}
.hero-contact:hover{border-color:var(--accent);background:#153b43}
.hero-stats:has(.hero-contact){grid-auto-rows:auto}
.contact-page{min-height:100vh;background:radial-gradient(ellipse at 85% 10%,#123c43 0,transparent 48%),var(--bg)}
.contact-nav{max-width:1240px;margin:auto;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}
.contact-brand{font:26px/1.2 Georgia,serif;text-decoration:none;color:var(--text)}
.contact-back{color:var(--accent);text-decoration:none;font-size:13px}
.contact-back:hover{text-decoration:underline}
.contact-layout{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:70px;padding:72px 6% 80px;align-items:start}
.contact-intro h1{font:400 clamp(46px,5vw,72px)/1.06 Georgia,serif;letter-spacing:-.03em;margin:20px 0 24px}
.contact-biography{color:#b3cdce;font-size:15px;line-height:1.85;max-width:560px}
.contact-biography p{margin:0 0 18px}
.contact-card{margin-top:44px;background:#0c2933;border:1px solid #31565d;border-radius:18px;padding:34px;min-width:0}
.contact-card h2{font:400 36px/1.15 Georgia,serif;margin:18px 0}
.contact-card p{color:#b3cdce;font-size:14px;line-height:1.8;margin:0 0 25px}
.contact-email{display:block;overflow-wrap:anywhere;font-size:clamp(18px,2vw,23px);color:var(--accent);text-underline-offset:6px;margin:25px 0}
.contact-location{border-top:1px solid var(--border2);padding-top:22px;color:#9dbabd;font-size:12px}
.contact-footer{max-width:1240px;margin:auto;padding:24px 6%;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.contact-footer span{padding:0 10px}
@media(max-width:820px){.contact-layout{gap:30px;padding-top:45px}.contact-card{padding:25px}.contact-card h2{font-size:30px}}
@media(max-width:640px){.contact-nav{flex-wrap:wrap;padding:23px 6%}.contact-layout{grid-template-columns:1fr;gap:15px;padding:38px 6% 45px}.contact-card{margin-top:0}.contact-intro h1{font-size:48px}}

.contact-author-photo{display:block;width:100%;max-width:440px;height:auto;border-radius:14px;margin:0 0 30px}
.contact-card h2{margin-top:0}
.hero-contact{margin-top:12px}

.detail-biology{margin:28px 0 30px;min-width:0}
.detail-biology h4{font-size:12px;letter-spacing:.13em;color:var(--accent);margin:0 0 16px}
.detail-biology p{font-size:14px;line-height:1.85;color:#b3cdce;margin:0 0 15px;overflow-wrap:anywhere}
.detail-biology p:last-child{margin-bottom:0}
@media(max-width:580px){.detail-biology{margin:24px 0}.detail-biology p{font-size:14px;line-height:1.75}}

/* Nombres documentados por idioma; el buscador también los reconoce. */
.detail-common-names{margin:24px 0 28px;min-width:0}
.detail-common-names h4{font-size:12px;letter-spacing:.13em;color:var(--accent);margin:0 0 12px}
.detail-common-names dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.common-name-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;line-height:1.6}
.common-name-row dt{color:var(--muted)}
.common-name-row dd{color:var(--text);margin:0;overflow-wrap:anywhere}
@media(max-width:580px){.detail-common-names dl{grid-template-columns:1fr}.common-name-row{grid-template-columns:80px minmax(0,1fr)}}

/* Fotografía de las fichas en formato panorámico, también en móvil. */
#modalContent > .modal-photo{width:100%;height:auto;aspect-ratio:16 / 9;flex-shrink:0}
#modalContent > .modal-photo > .photo-img{object-fit:cover;object-position:center}

.photo-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;border:1px solid var(--border2);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:8px;font:inherit;cursor:pointer}
