*{box-sizing:border-box}body{color:#18181b;background:#f4f4f5;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.topbar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-bottom:1px solid #e4e4e7;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;position:sticky;top:0}h1{margin:0;font-size:20px;line-height:1.1}p{color:#71717a;margin:4px 0 0;font-size:13px}.stats{color:#52525b;white-space:nowrap;background:#fff;border:1px solid #e4e4e7;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.toolbar{background:#fafafa;border-bottom:1px solid #e4e4e7;flex-wrap:wrap;align-items:end;gap:10px;padding:12px 18px;display:flex}.field{color:#52525b;flex-direction:column;gap:5px;min-width:150px;font-size:12px;display:flex}.field.small{min-width:120px}.searchField{flex:1;min-width:260px}select,input{color:#18181b;background:#fff;border:1px solid #d4d4d8;border-radius:11px;outline:none;padding:8px 10px}select:focus,input:focus{border-color:#71717a}.searchInput{align-items:center;display:flex;position:relative}.searchInput svg{color:#a1a1aa;position:absolute;left:10px}.searchInput input{width:100%;padding-left:32px}.plainButton,.secondaryButton,.iconButton{color:#3f3f46;cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:12px;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.plainButton:hover,.secondaryButton:hover,.iconButton:hover{background:#f4f4f5}.resultLine{color:#52525b;justify-content:space-between;align-items:center;padding:10px 18px 0;font-size:13px;display:flex}.resultLine a{color:#3f3f46;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:12px 18px 24px;display:grid}@media (width>=620px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=960px){.grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (width>=1300px){.grid{grid-template-columns:repeat(10,minmax(0,1fr))}}.tile{aspect-ratio:1;cursor:pointer;text-align:left;background:#f4f4f5;border:none;padding:0;display:block;position:relative;overflow:hidden}.tile:hover{z-index:2;outline:2px solid #18181b}.tile img,.largeImageBox img{object-fit:contain;background:#f4f4f5;width:100%;height:100%;display:block}.mirrored{transform:scaleX(-1)}.tileBadges{flex-wrap:wrap;gap:3px;display:flex;position:absolute;top:4px;left:4px}.badge{color:#27272a;background:#ffffffeb;border:1px solid #e4e4e7;border-radius:999px;padding:1px 6px;font-size:11px;line-height:1.45}.badge-original{color:#78350f;background:#fef3c7;border-color:#fde68a}.badge-undescribed{color:#4c1d95;background:#ede9fe;border-color:#ddd6fe}.badge-mirror{color:#075985;background:#e0f2fe;border-color:#bae6fd}.tileCaption{color:#71717a;background:#fffffff2;flex-direction:column;gap:1px;padding:5px 7px;font-size:11px;transition:transform .12s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.tile:hover .tileCaption{transform:translateY(0)}.latin{color:#18181b;font-style:italic}.drawer{z-index:20;background:#fff;border-left:1px solid #e4e4e7;flex-direction:column;width:min(440px,100%);height:100%;display:flex;position:fixed;top:0;right:0;box-shadow:-12px 0 35px #00000024}.drawerHeader{border-bottom:1px solid #e4e4e7;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.drawerBody{padding:14px;overflow:auto}.largeImageBox{aspect-ratio:1;background:#f4f4f5;border:1px solid #e4e4e7;border-radius:16px;place-items:center;width:100%;max-height:70vh;display:grid;overflow:hidden}.imageMissing{color:#a1a1aa;background:#f4f4f5;place-items:center;width:100%;height:100%;font-size:12px;display:grid}.sourceImageLink{color:#3f3f46;text-underline-offset:2px;margin-top:8px;font-size:12px;text-decoration:underline;display:inline-flex}.sourceImageLink:hover{color:#18181b}.badges{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.metaList{grid-template-columns:112px minmax(0,1fr);gap:7px 10px;margin-top:14px;font-size:13px;display:grid}.metaList dt{color:#71717a}.metaList dd{overflow-wrap:anywhere;min-width:0;margin:0}.muted{color:#71717a}.tiny{font-size:12px}.notice{border-radius:12px;align-items:center;gap:8px;margin:12px 18px;padding:10px 12px;font-size:13px;display:flex}.notice.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.comboField{min-width:140px}.comboBox input{width:100%;padding-right:32px}.comboToggle{color:#71717a;cursor:pointer;background:0 0;border:none;border-left:1px solid #e4e4e7;border-radius:0 10px 10px 0;width:28px;position:absolute;top:2px;bottom:2px;right:2px}.comboToggle:hover{color:#27272a;background:#f4f4f5}.comboMenu{z-index:30;background:#fff;border:1px solid #d4d4d8;border-radius:12px;max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #00000024}.comboOption{color:#18181b;text-align:left;cursor:pointer;background:#fff;border:none;border-radius:8px;width:100%;padding:7px 8px;font-size:13px;display:block}.comboOption:hover{background:#f4f4f5}.comboEmpty{color:#a1a1aa;padding:8px;font-size:12px}.resultActions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.viewSwitch{background:#fff;border:1px solid #d4d4d8;border-radius:12px;display:inline-flex;overflow:hidden}.viewSwitch button{color:#52525b;cursor:pointer;background:0 0;border:none;border-right:1px solid #e4e4e7;padding:6px 10px;font-size:12px}.viewSwitch button:last-child{border-right:none}.viewSwitch button:hover{background:#f4f4f5}.viewSwitch button.active{color:#fff;background:#18181b}.matrixWrap{background:#fff;border:1px solid #e4e4e7;border-radius:14px;max-height:calc(100vh - 220px);margin:12px 18px 24px;overflow:auto}.traitMatrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.traitMatrix th,.traitMatrix td{border-bottom:1px solid #e4e4e7;border-right:1px solid #e4e4e7}.traitMatrix thead th{z-index:4;color:#3f3f46;background:#fafafa;font-weight:600;position:sticky;top:0}.speciesHeader{text-align:left;min-width:210px;padding:10px;left:0;z-index:6!important}.traitHeader{vertical-align:bottom;text-align:center;white-space:normal;min-width:168px;max-width:168px;height:52px;padding:8px 6px;line-height:1.2}.speciesCell{z-index:3;text-align:left;overflow-wrap:anywhere;background:#fff;min-width:210px;max-width:210px;padding:8px 10px;font-weight:500;position:sticky;left:0}.traitMatrix tbody tr:hover .speciesCell,.traitMatrix tbody tr:hover .traitCell{background:#fafafa}.traitCell{text-align:center;vertical-align:middle;background:#fff;width:168px;min-width:168px;height:168px;padding:4px}.traitCell.hasImage{background:#fcfcfc}.matrixImageBox{width:158px;height:158px;margin:0 auto;position:relative}.matrixImageButton{cursor:pointer;background:#f4f4f5;border:none;border-radius:2px;width:158px;height:158px;padding:0;display:block;position:relative;overflow:hidden}.matrixImageButton img{object-fit:contain;background:#f4f4f5;width:100%;height:100%;display:block}.cellCount{color:#fff;pointer-events:none;background:#18181bd6;border-radius:999px;padding:1px 6px;font-size:11px;position:absolute;bottom:4px;right:4px}.cellDetailButton{color:#fff;cursor:pointer;background:#18181bb8;border:1px solid #ffffffd9;border-radius:999px;padding:2px 6px;font-size:10px;line-height:1.4;position:absolute;top:4px;right:4px}.cellDetailButton:hover{background:#18181beb}.matrixBlank{color:#d4d4d8}.matrixEmpty{color:#71717a;text-align:center;background:#fff;border:1px dashed #d4d4d8;border-radius:14px;margin:18px;padding:26px}@media (width<=760px){.speciesHeader,.speciesCell{min-width:150px;max-width:150px}.traitHeader,.traitCell{width:132px;min-width:132px}.matrixImageBox,.matrixImageButton{width:122px;height:122px}}.comboDisplay{color:#18181b;text-align:left;cursor:pointer;background:#fff;border:1px solid #d4d4d8;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:37px;padding:8px 30px 8px 10px;display:flex;position:relative}.comboDisplay.hasSelection{background:#fafafa;border-color:#71717a}.comboCaret{color:#71717a;position:absolute;right:9px}.multiComboMenu{min-width:260px;right:auto}.comboSearchInput{width:100%;margin-bottom:6px}.comboSelectedBar{justify-content:space-between;gap:6px;margin-bottom:4px;display:flex}.comboSmallButton{color:#52525b;cursor:pointer;background:#fff;border:1px solid #e4e4e7;border-radius:8px;padding:4px 8px;font-size:12px}.comboSmallButton:hover{background:#f4f4f5}.comboCheckOption{cursor:pointer;color:#18181b;border-radius:8px;align-items:center;gap:7px;width:100%;padding:7px 8px;font-size:13px;display:flex}.comboCheckOption:hover{background:#f4f4f5}.comboCheckOption input{width:auto;margin:0;padding:0}.traitAxisHeader{text-align:left;min-width:210px;max-width:210px;padding:10px;position:sticky;left:0;z-index:6!important}.speciesHeaderMatrix{vertical-align:bottom;text-align:center;white-space:normal;overflow-wrap:anywhere;min-width:168px;max-width:168px;height:56px;padding:8px 6px;line-height:1.2}.traitAxisCell{z-index:3;text-align:left;overflow-wrap:anywhere;color:#18181b;background:#fff;min-width:210px;max-width:210px;padding:8px 10px;font-weight:500;position:sticky;left:0}.traitMatrix tbody tr:hover .traitAxisCell{background:#fafafa}.matrixImageButton:hover{z-index:1;outline:2px solid #18181b}.cellDetailButton{z-index:6;pointer-events:auto}.cellDetailButton:hover{z-index:7}@media (width<=760px){.traitAxisHeader,.traitAxisCell{min-width:150px;max-width:150px}.speciesHeaderMatrix{min-width:132px;max-width:132px}}.titleBlock{min-width:0}.toolbar .field{flex:0 0 170px;width:170px;min-width:170px;max-width:170px}.toolbar .searchField{flex:320px;width:auto;min-width:260px;max-width:none}.toolbar .comboField{flex:0 0 190px;width:190px;min-width:190px;max-width:190px}.toolbar .field.small:not(.comboField){flex:0 0 150px;width:150px;min-width:150px;max-width:150px}.toolbar select,.toolbar input,.toolbar .comboBox,.toolbar .comboDisplay{width:100%;min-width:0}.filterValueText{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:18px;display:block;overflow:hidden}.comboCheckOption span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.comboDisplay{min-width:0}.shareButton{color:#3f3f46;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d4d4d8;border-radius:12px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;display:inline-flex}.shareButton:hover{background:#f4f4f5}.traitMatrix{table-layout:fixed;width:auto;min-width:0}.traitAxisHeader,.traitAxisCell{width:260px;min-width:260px;max-width:260px}.speciesHeaderMatrix,.traitCell{width:176px;min-width:176px;max-width:176px}.traitAxisCell,.traitAxisHeader{white-space:normal;overflow-wrap:anywhere;line-height:1.25}@media (width<=900px){.toolbar .field{flex-basis:calc(50% - 5px);width:calc(50% - 5px);min-width:0;max-width:none}.toolbar .searchField{flex-basis:100%;width:100%}.toolbar .comboField,.toolbar .field.small:not(.comboField){flex-basis:calc(50% - 5px);width:calc(50% - 5px);min-width:0;max-width:none}}@media (width<=760px){.traitAxisHeader,.traitAxisCell{width:210px;min-width:210px;max-width:210px}.speciesHeaderMatrix,.traitCell{width:142px;min-width:142px;max-width:142px}}.matrixControls{color:#52525b;background:#fff;border:1px solid #d4d4d8;border-radius:12px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:inline-flex}.matrixControls label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.matrixControls select{border-radius:9px;min-height:29px;padding:4px 28px 4px 8px;font-size:12px}.matrixToggleLabel input{width:auto;margin:0;padding:0}.rowAxisLabel{flex-direction:column;gap:2px;min-width:0;display:flex}.rowAxisLabel small{color:#71717a;overflow-wrap:anywhere;font-size:10px;font-weight:400;line-height:1.2;display:block}.rowAxisDot{color:#a1a1aa;font-size:11px}.compactRowLabels .traitAxisHeader,.compactRowLabels .traitAxisCell{text-align:center;padding:0;width:34px!important;min-width:34px!important;max-width:34px!important}.compactRowLabels .traitAxisCell{overflow:hidden}@media (width<=760px){.matrixControls{justify-content:space-between;width:100%}.matrixControls select{max-width:180px}.compactRowLabels .traitAxisHeader,.compactRowLabels .traitAxisCell{width:30px!important;min-width:30px!important;max-width:30px!important}}.comboBox{position:relative}.multiComboMenu{z-index:80;width:min(360px,100vw - 24px);max-width:min(360px,100vw - 24px);left:0;right:auto}.comboSearchInput{box-sizing:border-box;width:100%;display:block}.comboCheckOption{grid-template-columns:16px minmax(0,1fr);align-items:center;display:grid}.toolbar .comboCheckOption input[type=checkbox],.comboCheckOption input[type=checkbox]{flex:0 0 14px;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px!important;margin:0!important;padding:0!important}.comboCheckOption span{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;display:block;overflow:hidden}.comboSelectedBar{z-index:1;background:#fff;padding-bottom:4px;position:sticky;top:0}@media (width<=640px){.multiComboMenu{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}}.displayControls{color:#52525b;background:#fff;border:1px solid #d4d4d8;border-radius:12px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:inline-flex}.displayControls label{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.displayControls select{border-radius:9px;min-height:29px;padding:4px 26px 4px 8px;font-size:12px}.badge-literature{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.badge-field{color:#166534;background:#dcfce7;border-color:#bbf7d0}.badge-specimen{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.badge-warning{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.grid.density-compact{gap:1px;padding-left:12px;padding-right:12px}.grid.density-large{gap:6px}.grid.labels-none .tileCaption{display:none}.grid.density-compact .tileCaption{padding:4px 5px;font-size:10px}.grid.density-compact .badge{padding:0 5px;font-size:10px}.grid.density-large .tileCaption{font-size:12px}@media (width>=620px){.grid.density-compact{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.density-large{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.grid.density-compact{grid-template-columns:repeat(9,minmax(0,1fr))}.grid.density-large{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=1300px){.grid.density-compact{grid-template-columns:repeat(14,minmax(0,1fr))}.grid.density-large{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (width<=760px){.displayControls{justify-content:space-between;width:100%}.displayControls select{max-width:120px}}
