:root{--color-bg:#f4f3fb;--color-bg-elevated:#fff;--color-bg-subtle:#e8e7f9;--color-surface-hover:#f7f6fd;--color-text:#2a1a42;--color-text-secondary:#5a5070;--color-text-muted:#8a849c;--color-primary:#4e4bd2;--color-primary-dark:#3b38a8;--color-primary-light:#a4a4ec;--color-accent:#6b68e0;--color-border:#e0dff0;--color-border-strong:#c8c6e4;--color-tag-type-bg:#e8e7f9;--color-tag-type-text:#3b38a8;--color-tag-taxid-bg:#eef0fa;--color-tag-taxid-text:#4a4580;--shadow-sm:0 1px 2px #2a1a420a;--shadow-md:0 4px 16px #4e4bd21a, 0 1px 3px #2a1a420f;--shadow-lg:0 12px 40px #4e4bd224, 0 4px 12px #2a1a420f;--shadow-focus:0 0 0 3px #4e4bd247;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{min-width:320px;margin:0}a{color:var(--color-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--color-primary-dark);text-decoration:underline}button{font-family:inherit}.app-shell{background:radial-gradient(ellipse 80% 50% at 50% -20%, #4e4bd21a, transparent), radial-gradient(ellipse 60% 40% at 100% 0%, #a4a4ec1f, transparent), var(--color-bg);flex-direction:column;min-height:100svh;display:flex}.page-layout{flex-direction:column;flex:1;display:flex}.site-header{z-index:10;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:14px 24px;display:flex}.site-brand{color:var(--color-text);align-items:center;gap:10px;font-size:.9375rem;font-weight:600;text-decoration:none;display:flex}.site-brand:hover{color:var(--color-primary);text-decoration:none}.site-logo{flex-shrink:0;display:block}.site-badge{border-radius:var(--radius-full);background:var(--color-bg-subtle);color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;font-size:.6875rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.site-badge:hover{background:var(--color-primary);color:#fff}.find-datasets{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 24px 64px;display:flex}.find-datasets-hero{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:640px;display:flex}.hero-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin:0 0 12px;font-size:.8125rem;font-weight:600}.find-datasets-hero h1{letter-spacing:-.02em;background:linear-gradient(135deg, var(--color-text) 30%, var(--color-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 36px;font-size:clamp(2.25rem,5vw,3.25rem);font-weight:700;line-height:1.15}.dataset-search-form{width:100%}.search-input-wrapper{border:1.5px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-bg-elevated);box-shadow:var(--shadow-md);align-items:center;gap:8px;padding:6px 6px 6px 18px;transition:border-color .2s,box-shadow .2s;display:flex}.search-input-wrapper:focus-within{border-color:var(--color-primary-light);box-shadow:var(--shadow-lg), var(--shadow-focus)}.search-input-icon{color:var(--color-text-muted);flex-shrink:0}.dataset-search-form input{min-width:0;font:inherit;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:12px 4px;font-size:1rem}.dataset-search-form input::placeholder{color:var(--color-text-muted)}.search-submit-button{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .15s,box-shadow .15s;display:flex}.search-submit-button:hover{transform:scale(1.04);box-shadow:0 4px 14px #4e4bd259}.search-submit-button:active{transform:scale(.97)}.search-submit-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.find-datasets-results{justify-content:flex-start;align-items:stretch;width:100%;max-width:960px;margin:0 auto;padding-top:32px;padding-bottom:48px}.find-datasets-results .find-datasets-hero{text-align:left;align-items:flex-start;max-width:none}.find-datasets-results .dataset-search-form{margin-bottom:28px}.results-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:16px;padding-bottom:12px;display:flex}.results-meta{flex:1;align-items:center;gap:12px;min-width:min(100%,240px);display:flex}.results-meta-spacer{flex:1}.results-meta-label{color:var(--color-text-secondary);margin:0;font-size:.875rem}.results-meta-label strong{color:var(--color-text);font-weight:600}.search-results{flex-direction:column;gap:12px;display:flex}.results-toolbar-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.study-type-filter,.organism-filter,.date-filter{flex-shrink:0;position:relative}.filter-trigger-range{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--color-primary);font-size:.75rem;font-weight:500;overflow:hidden}.date-filter-popover{max-height:none}.date-filter-fields{grid-template-columns:1fr 1fr;gap:12px;padding:4px 16px 12px;display:grid}.date-filter-field{flex-direction:column;gap:6px;min-width:0;display:flex}.date-filter-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:600}.date-filter-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;min-width:0;font:inherit;color:var(--color-text);padding:8px 10px;font-size:.8125rem}.date-filter-input:focus-visible{border-color:var(--color-primary-light);box-shadow:var(--shadow-focus);outline:none}.date-filter-error{color:var(--color-danger,#c0392b);margin:0 16px 8px;font-size:.75rem}.filter-apply-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.filter-trigger{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-secondary);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:9px 14px;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.filter-trigger:hover,.filter-trigger-open{border-color:var(--color-primary-light);color:var(--color-primary)}.filter-trigger-active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-subtle)}.filter-trigger:focus-visible{box-shadow:var(--shadow-focus);outline:none}.filter-trigger-count{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.filter-trigger-chevron{transition:transform .15s}.filter-trigger-chevron-open{transform:rotate(180deg)}.filter-popover{z-index:20;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-elevated);width:min(420px,100vw - 32px);max-height:min(420px,100vh - 160px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.filter-popover-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.filter-popover-title{color:var(--color-text);margin:0;font-size:.875rem;font-weight:700}.filter-clear-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;font-size:.8125rem;font-weight:500}.filter-clear-button:hover{color:var(--color-primary-dark);text-decoration:underline}.filter-search-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);align-items:center;gap:8px;margin:0 12px 8px;padding:8px 12px;display:flex}.filter-search-icon{color:var(--color-text-muted);flex-shrink:0}.filter-search-input{min-width:0;font:inherit;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:.8125rem}.filter-search-input::placeholder{color:var(--color-text-muted)}.filter-options{flex:1;margin:0;padding:8px;list-style:none;overflow-y:auto}.filter-options-empty{color:var(--color-text-muted);text-align:center;padding:16px 10px;font-size:.8125rem}.filter-option{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 10px;font-size:.8125rem;line-height:1.45;display:flex}.filter-option:hover{background:var(--color-surface-hover);color:var(--color-text)}.filter-option input{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0;margin-top:2px}.filter-option-label{flex-direction:column;gap:2px;min-width:0;display:flex}.filter-option-primary{line-height:1.35}.filter-option-secondary{color:var(--color-text-muted);font-size:.75rem;font-family:var(--font-mono)}.filter-popover-actions{border-top:1px solid var(--color-border);padding:12px 16px 16px}.filter-apply-button{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;width:100%;font:inherit;cursor:pointer;border:none;padding:10px 16px;font-size:.875rem;font-weight:600;transition:transform .15s,box-shadow .15s}.filter-apply-button:hover{transform:translateY(-1px);box-shadow:0 4px 14px #4e4bd259}.filter-apply-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.search-results-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-elevated);color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:0;padding:48px 24px;display:flex}.search-results-state-icon{opacity:.6;font-size:2rem;line-height:1}.search-results-state-label{margin:0}.search-warmup-hint{max-width:28rem;color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.5}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.series-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:20px 22px;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.series-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.series-card:focus-visible{box-shadow:var(--shadow-md), var(--shadow-focus);outline:none}.series-card-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.series-card-title{color:var(--color-text);font-size:1.0625rem;font-weight:600;line-height:1.35}.series-accession{border-radius:var(--radius-sm);background:var(--color-bg-subtle);font-family:var(--font-mono);color:var(--color-primary);flex-shrink:0;padding:3px 8px;font-size:.75rem;font-weight:500}.series-summary{color:var(--color-text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9375rem;line-height:1.55;display:-webkit-box;overflow:hidden}.series-tags{flex-wrap:wrap;gap:6px;display:flex}.series-tag{border-radius:var(--radius-full);padding:3px 10px;font-size:.75rem;font-weight:500}.series-tag-type{background:var(--color-tag-type-bg);color:var(--color-tag-type-text)}.series-tag-taxid{background:var(--color-tag-taxid-bg);color:var(--color-tag-taxid-text)}.series-detail{flex-direction:column;gap:28px;width:100%;max-width:760px;margin:0 auto;padding:32px 24px 64px;display:flex}.series-detail-header{display:flex}.back-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-secondary);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.back-button:hover{border-color:var(--color-primary-light);color:var(--color-primary);background:var(--color-surface-hover)}.back-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.series-detail-body{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-md);flex-direction:column;gap:24px;padding:28px;display:flex}.series-detail-body h1{letter-spacing:-.01em;margin:0;font-size:1.625rem;font-weight:700;line-height:1.3}.series-detail-accession{margin:0}.series-detail-accession a{border-radius:var(--radius-sm);background:var(--color-bg-subtle);font-family:var(--font-mono);align-items:center;gap:6px;padding:6px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.series-detail-accession a:hover{background:var(--color-primary);color:#fff;text-decoration:none}.series-detail-section{flex-direction:column;gap:8px;display:flex}.series-detail-section h2{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.75rem;font-weight:700}.series-detail-section p{white-space:pre-wrap;color:var(--color-text-secondary);margin:0;line-height:1.65}.series-detail-fields{border-top:1px solid var(--color-border);grid-template-columns:max-content 1fr;gap:14px 24px;margin:0;padding-top:8px;display:grid}.series-detail-fields dt{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.series-detail-fields dd{color:var(--color-text);margin:0;font-size:.9375rem}.series-detail-fields a{font-weight:500}@media (width<=640px){.find-datasets,.find-datasets-results,.series-detail{padding-left:16px;padding-right:16px}.find-datasets{padding-top:32px}.series-card-header{flex-direction:column;gap:8px}.series-detail-body{padding:20px}.results-meta{flex-direction:column;align-items:flex-start}.results-toolbar{flex-direction:column;align-items:stretch}.filter-popover{width:100%;left:0;right:auto}}
