:root{--color-bg: #ffffff;--color-border: #e0e0e0;--color-text: #1a1a1a;--color-muted: #666666;--color-hover: #f5f5f5;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius: 2px;--space-unit: 8px;--sidebar-width: 200px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg)}a{color:inherit;text-decoration:underline;text-underline-offset:2px}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin:0}table{border-collapse:collapse}.navbar{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 4);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.navbar__brand{font-size:14px;font-weight:600;letter-spacing:.01em;text-decoration:none;color:var(--color-text);white-space:nowrap}.navbar__brand:hover{text-decoration:underline;text-underline-offset:2px}.navbar__nav{display:flex;align-items:center;gap:calc(var(--space-unit) * 2.5);flex-wrap:wrap}.navbar__link{font-size:13px;color:var(--color-muted);text-decoration:none;padding:calc(var(--space-unit) * .5) 0;border-bottom:1px solid transparent}.navbar__link:hover{color:var(--color-text)}.navbar__link--active{color:var(--color-text);border-bottom-color:var(--color-text)}.page{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.page-header{display:flex;flex-direction:column;gap:var(--space-unit);padding-bottom:calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-border)}.page-header__title{font-size:20px;font-weight:600;letter-spacing:-.01em}.page-header__subtitle{font-size:13px;color:var(--color-muted)}.page-header__actions{margin-top:var(--space-unit);display:flex;gap:var(--space-unit)}.section{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.section__title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.table-wrap{overflow-x:auto;border:1px solid var(--color-border)}.table-wrap--wide{width:100%}.table{width:100%;font-size:13px}.table--wide{min-width:100%;table-layout:auto}.table--wide .table__head .table__cell{position:relative;overflow:visible;white-space:nowrap}.table--wide .table__head .table__cell:hover{z-index:2}.table--wide .table__cell--sequence{min-width:320px;white-space:nowrap}.table--wide .table__cell--metric{min-width:88px;text-align:center}.table--wide .table__cell--index,.table--wide .table__cell--pos,.table--wide .table__cell--len{min-width:56px;text-align:center}.table__head{background:var(--color-hover)}.table__cell{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);text-align:left;vertical-align:top}.table__cell--mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em}.table__row:hover .table__cell{background:var(--color-hover)}.table__row--failed .table__cell{background:#fde8e8;color:#5c1f1f}.table__row--failed:hover .table__cell{background:#f9d4d4}.table__row--failed a{color:#7a2020}.btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 2);border-radius:var(--radius);cursor:pointer;font-size:13px}.btn:hover:not(:disabled){background:var(--color-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{border-color:transparent;text-decoration:underline;text-underline-offset:2px;padding-left:0;padding-right:0}.sequence-text{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;word-break:break-all}.status-badge{font-size:12px;color:var(--color-muted);text-transform:lowercase}.status-badge:before{content:"· "}.tabs{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.tabs__list{display:flex;gap:calc(var(--space-unit) * 2);border-bottom:1px solid var(--color-border)}.tabs__tab{border:none;background:none;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * .5);margin-bottom:-1px;cursor:pointer;font-size:13px;color:var(--color-muted);border-bottom:1px solid transparent}.tabs__tab--active{color:var(--color-text);border-bottom-color:var(--color-text)}.tabs__panel{padding-top:var(--space-unit)}.field{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .75)}.field__label{font-size:12px;font-weight:500;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.field__input,.field__textarea{border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--space-unit) * 1);background:var(--color-bg);width:100%}.field__textarea{resize:vertical;min-height:120px}.field__textarea--mono{font-family:var(--font-mono);font-size:12px;line-height:1.6}.seq-map{display:grid;gap:16px}.seq-map__row{display:grid;gap:8px}.seq-map__meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.seq-map__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.seq-map__dir{font-size:11px;color:var(--color-muted)}.seq-map__bases{display:flex;flex-wrap:wrap;gap:3px}.seq-base{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:28px;padding:0 4px;border-radius:4px;color:#fff;font-family:var(--font-mono, monospace);font-size:12px;font-weight:700;box-shadow:inset 0 -2px #0000001f}.seq-base--seed{outline:2px solid #111;outline-offset:1px}.seq-base--overhang{opacity:.55;filter:saturate(.7)}.seq-map__legend,.seq-map__color-key{margin:0;font-size:12px;color:var(--color-muted)}.seq-map__color-key{display:flex;flex-wrap:wrap;gap:10px}.seq-map__key-item{display:inline-flex;align-items:center;gap:5px}.seq-map__key-item i{display:inline-block;width:12px;height:12px;border-radius:2px}.inhibition-gauge{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:8px}.inhibition-gauge__svg{width:150px;height:150px}.inhibition-gauge__track{fill:none;stroke:#e9ecef;stroke-width:10}.inhibition-gauge__fill{fill:none;stroke:#2f9e44;stroke-width:10;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .4s ease}.inhibition-gauge--mid .inhibition-gauge__fill{stroke:#e8b339}.inhibition-gauge--low .inhibition-gauge__fill{stroke:#e07a5f}.inhibition-gauge--warn .inhibition-gauge__fill{stroke:#f08c00}.inhibition-gauge--bad .inhibition-gauge__fill{stroke:#c92a2a}.inhibition-gauge--neutral .inhibition-gauge__fill{stroke:#868e96}.inhibition-gauge__value{font-size:22px;font-weight:700;fill:#111}.inhibition-gauge__caption{font-size:10px;fill:#666;text-transform:uppercase;letter-spacing:.06em}.inhibition-gauge__hint,.inhibition-gauge__raw{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--color-muted);text-align:center}.prediction-chart{display:grid;gap:8px}.prediction-chart__row{display:grid;grid-template-columns:92px minmax(0,1fr) 52px;gap:10px;align-items:center}.prediction-chart__label{font-size:12px;color:var(--color-muted)}.prediction-chart__bar-wrap{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden}.prediction-chart__bar{height:100%;background:linear-gradient(90deg,#74c0fc,#339af0);border-radius:999px}.prediction-chart__row--exp .prediction-chart__bar{background:linear-gradient(90deg,#69db7c,#2f9e44)}.prediction-chart__value{font-size:12px;font-weight:600;text-align:right}.prediction-chart__note{margin:4px 0 0;font-size:12px;color:var(--color-muted)}.chr-strip{display:grid;gap:8px}.chr-strip__svg{width:100%;max-width:360px}.chr-strip__body{fill:#dbe4ff}.chr-strip__cap{fill:#91a7ff}.chr-strip__marker{stroke:#e03131;stroke-width:2;stroke-dasharray:3 3}.chr-strip__dot{fill:#e03131;stroke:#fff;stroke-width:2}.chr-strip__label{font-size:12px;font-weight:700;fill:#1e3a8a}.chr-strip__meta{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--color-muted)}.af-confidence{display:grid;gap:10px}.af-confidence__header{display:flex;justify-content:space-between;align-items:center;gap:8px}.af-confidence__badge{padding:3px 8px;border-radius:999px;background:#edf2ff;color:#364fc7;font-size:11px;font-weight:700;text-transform:uppercase}.af-confidence__score{font-size:14px}.af-confidence__stack{display:flex;height:14px;border-radius:999px;overflow:hidden;border:1px solid var(--color-border)}.af-confidence__segment{min-width:2px}.af-bar--vh,.af-confidence__legend .af-bar--vh{background:#0053d6}.af-bar--c,.af-confidence__legend .af-bar--c{background:#4dabf7}.af-bar--l,.af-confidence__legend .af-bar--l{background:#ffd43b}.af-bar--vl,.af-confidence__legend .af-bar--vl{background:#ff8787}.af-confidence__legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--color-muted)}.af-confidence__legend i{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:2px;vertical-align:middle}.af-confidence__preview-link{font-size:13px;color:#1d4ed8;text-decoration:none}.af-confidence__preview-link:hover{text-decoration:underline}.clinvar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.clinvar-card{padding:12px;border:1px solid var(--color-border);background:#fff;border-left-width:4px}.clinvar-card--pathogenic{border-left-color:#c92a2a;background:#fff5f5}.clinvar-card--benign{border-left-color:#2f9e44;background:#f4fdf5}.clinvar-card--vus{border-left-color:#f08c00;background:#fff9db}.clinvar-card--other{border-left-color:#868e96}.clinvar-card__badge{display:inline-block;margin-bottom:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.clinvar-card__title{margin:0;font-size:13px;line-height:1.4}.clinvar-card__disease{margin:6px 0 0;font-size:12px;color:var(--color-muted)}.db-card{display:flex;flex-direction:column;min-height:100%;border:1px solid var(--color-border);background:#fff;box-shadow:0 1px #10182808}.db-card--wide{grid-column:span 2}.db-card--full{grid-column:1 / -1}.db-card__header{display:flex;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid #f1f3f5}.db-card__brand{display:flex;gap:10px;align-items:flex-start}.db-card__logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--db-color);color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em}.db-card__source{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.db-card__title{margin:2px 0 0;font-size:15px;line-height:1.35}.db-card__status{align-self:start;padding:2px 8px;border-radius:999px;border:1px solid var(--color-border);font-size:10px;text-transform:uppercase}.db-card__status--ok{background:#f3faf4}.db-card__status--unavailable,.db-card__status--skipped{background:#f8f9fa;color:var(--color-muted)}.db-card__visual{padding:0 16px 8px}.db-card__body{padding:4px 16px 12px;flex:1}.db-card__footer{padding:10px 16px 14px;border-top:1px solid #f1f3f5}.db-card__links{display:flex;flex-wrap:wrap;gap:10px}.db-card__link{font-size:12px;color:#1d4ed8;text-decoration:none}.db-card__link:hover{text-decoration:underline}.pill-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pill-list__item{padding:4px 9px;border-radius:999px;font-size:12px;background:#f1f3f5}.pill-list--disease .pill-list__item{background:#fff5f5;color:#9b1c1c}.pill-list--location .pill-list__item{background:#edf2ff;color:#364fc7}.pubmed-quote{margin:0;padding:12px 14px;border-left:3px solid #326599;background:#f8fbff;font-size:14px;line-height:1.6;font-style:italic}.pubmed-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pubmed-meta span{padding:4px 8px;border:1px solid var(--color-border);border-radius:6px;font-size:12px;background:#fff}.cmsi-muted{color:var(--color-muted);font-size:13px}.cmsi-error{color:#8b0000;font-size:13px}.cmsi-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px;background:#fff;margin-bottom:16px}.cmsi-card--soft{background:#f5f5f5}.cmsi-card--warn{background:#f5f5f5;border-color:#e0e0e0;font-size:13px}.cmsi-card__title{font-weight:600;font-size:13px;color:#666;margin-bottom:10px}.cmsi-h2{font-size:16px;font-weight:600;margin:24px 0 10px;display:flex;gap:12px;align-items:baseline}.cmsi-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.cmsi-two,.cmsi-hero{grid-template-columns:1fr!important}}.cmsi-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.cmsi-stat{border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;background:var(--color-hover);border-color:#e0e0e0}.cmsi-stat__label{font-size:12px;color:var(--color-muted)}.cmsi-stat__value{font-size:24px;font-weight:600;margin-top:2px}.cmsi-stat__value small{font-size:13px;color:#1a1a1a;font-weight:500}.cmsi-progress{height:10px;border-radius:var(--radius);background:#e0e0e0;overflow:hidden;margin-bottom:8px}.cmsi-progress span{display:block;height:100%;background:var(--color-hover)}.cmsi-bars__row{display:grid;grid-template-columns:110px 1fr 60px;gap:8px;align-items:center;font-size:13px;margin:3px 0}.cmsi-bars__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cmsi-bars__track{height:8px;background:#eee;border-radius:var(--radius);overflow:hidden}.cmsi-bars__fill{display:block;height:100%;background:#1a1a1a;border-radius:var(--radius)}.cmsi-bars__value{text-align:right;color:var(--color-muted);font-variant-numeric:tabular-nums}.cmsi-tagcloud{display:flex;flex-wrap:wrap;gap:6px}.cmsi-tags{display:flex;flex-wrap:wrap;gap:4px}.cmsi-tag{--tag:#666;display:inline-flex;gap:4px;align-items:center;font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--radius);color:var(--tag);background:color-mix(in srgb,var(--tag) 12%,#fff);border:1px solid color-mix(in srgb,var(--tag) 35%,#fff);white-space:nowrap}.cmsi-tag--lg{font-size:12px;padding:4px 10px}.cmsi-tag--lg b{color:#1a1a1a;font-weight:600}.cmsi-tag--btn{cursor:pointer;font-size:12px;padding:4px 10px}.cmsi-tag--btn.is-on{background:var(--tag);color:#fff}.cmsi-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr;gap:10px;margin-bottom:10px}.cmsi-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-muted)}.cmsi-filters input,.cmsi-filters select{border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 10px;font-size:13px;background:#fff;color:var(--color-text);min-width:0}.cmsi-range{display:flex;gap:6px}.cmsi-range input{width:50%}.cmsi-tagfilter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}.cmsi-count{margin-left:auto;font-size:13px;font-weight:600}.cmsi-link{background:none;border:0;color:#1a1a1a;cursor:pointer;font-size:13px;text-decoration:underline}.cmsi-scroll{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);transition:opacity .15s}.cmsi-scroll.is-loading{opacity:.55}.cmsi-table{width:100%;font-size:13px}.cmsi-table th{background:#f5f5f5;text-align:left;font-weight:600;font-size:12px;color:#666;padding:10px 12px;border-bottom:1px solid var(--color-border);white-space:nowrap;position:sticky;top:0}.cmsi-table td{padding:10px 12px;border-bottom:1px solid #eee;vertical-align:top}.cmsi-table tbody tr:hover{background:#f5f5f5}.cmsi-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.cmsi-sortable.is-active{color:#1a1a1a}.cmsi-id{font-family:var(--font-mono);font-size:12px;font-weight:600;color:#1a1a1a;text-decoration:none}.cmsi-id:hover{text-decoration:underline}.cmsi-sub{font-size:11px;color:var(--color-muted);margin-top:2px}.cmsi-nowrap{white-space:nowrap}.cmsi-seqcell{max-width:300px}.cmsi-seq{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmsi-seq__k{display:inline-block;width:22px;color:#999;font-weight:600}.cmsi-inh{display:inline-flex;align-items:center;gap:6px}.cmsi-inh__track{width:64px;height:6px;border-radius:var(--radius);background:#eee;overflow:hidden}.cmsi-inh__fill{display:block;height:100%}.cmsi-inh__fill--good{background:#1a1a1a}.cmsi-inh__fill--mid{background:#888}.cmsi-inh__fill--low{background:#bbb}.cmsi-inh__num{font-variant-numeric:tabular-nums;font-weight:600}.cmsi-badge{display:inline-block;margin-left:6px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding:1px 6px;border-radius:var(--radius)}.cmsi-badge--active{background:#fff;color:#1a1a1a}.cmsi-badge--inactive{background:#fff;color:#666}.cmsi-dot{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 4px;margin-right:4px;border-radius:var(--radius);font-size:10px;font-weight:700;color:#fff;background:#999}.cmsi-dot:empty{min-width:8px;width:8px;height:8px;padding:0;border-radius:var(--radius);margin-left:6px}.cmsi-dot--pending{background:#999}.cmsi-dot--skipped,.cmsi-dot--unavailable{background:#bbb}.cmsi-dot--no_sequence{background:#ddd}.cmsi-pager{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:13px;flex-wrap:wrap}.cmsi-pager button{border:1px solid var(--color-border);background:#fff;border-radius:var(--radius);padding:6px 12px;cursor:pointer}.cmsi-pager button:disabled{opacity:.4;cursor:default}.cmsi-legend{margin-left:auto;display:flex;gap:6px;align-items:center;color:var(--color-muted);font-size:12px}.cmsi-hero{display:grid;grid-template-columns:240px 1fr;gap:16px}.cmsi-hero__gauge{display:flex;flex-direction:column;align-items:center;justify-content:center}.cmsi-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px}.cmsi-fact__label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#999}.cmsi-fact__value{font-size:14px;margin-top:2px;word-break:break-word}.cmsi-pubtitle{margin-top:14px;padding-top:12px;border-top:1px solid #eee;font-size:13px;color:#1a1a1a;font-style:italic}.cmsi-viewer__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.cmsi-seg{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.cmsi-seg button{border:0;background:#fff;padding:7px 14px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center}.cmsi-seg button.is-on{background:#1a1a1a;color:#fff}.cmsi-viewer__tools{display:flex;gap:6px;align-items:center;font-size:13px}.cmsi-viewer__tools button{border:1px solid var(--color-border);background:#fff;border-radius:var(--radius);width:30px;height:30px;cursor:pointer}.cmsi-viewer__tools button:last-of-type{width:auto;padding:0 10px}.cmsi-btn{border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 12px;text-decoration:none;font-size:13px;background:#fff}.cmsi-btn--primary{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.cmsi-viewer{position:relative;height:520px;overflow:auto;border-radius:var(--radius);background:#fff;border:1px solid #e0e0e0;cursor:grab}.cmsi-viewer img{display:block;min-width:100%;-webkit-user-select:none;user-select:none}.cmsi-viewer__msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted)}.cmsi-viewer--empty{display:flex;align-items:center;justify-content:center;text-align:center;height:220px;cursor:default}.cmsi-viewer__state{font-weight:600;font-size:15px;margin-bottom:6px}.cmsi-viewer__foot{margin-top:8px;font-size:12px}.cmsi-note{margin-top:6px;padding:6px 10px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:var(--radius);color:#1a1a1a}.cmsi-spinner{margin:14px auto 0;width:22px;height:22px;border:3px solid #e0e0e0;border-top-color:#999;border-radius:var(--radius);animation:cmsi-spin 1s linear infinite}@keyframes cmsi-spin{to{transform:rotate(360deg)}}.cmsi-strand{margin-bottom:18px}.cmsi-strand__head{display:flex;gap:12px;align-items:baseline;margin-bottom:8px}.cmsi-resmap{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.cmsi-res-wrap{display:inline-flex;align-items:center}.cmsi-res{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:30px;height:38px;border-radius:var(--radius);border:1px solid rgba(15,23,42,.08);cursor:help}.cmsi-res__l{font-family:var(--font-mono);font-weight:700;font-size:14px;line-height:1}.cmsi-res__p{font-size:9px;color:#666;margin-top:3px}.cmsi-ps{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#1a1a1a;margin:0 1px}.cmsi-end{font-size:11px;font-weight:700;color:#999;padding:0 4px}.cmsi-conj{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--radius);background:#f5f5f5;color:#1a1a1a;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmsi-modstr{margin-top:8px;font-size:12px;word-break:break-all}.cmsi-modstr code,.cmsi-seqblock code{font-family:var(--font-mono);font-size:12px;background:#f5f5f5;padding:2px 6px;border-radius:var(--radius)}.cmsi-legend2{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#666;border-top:1px solid #eee;padding-top:10px}.cmsi-legend2 i{display:inline-block;width:12px;height:12px;border-radius:var(--radius);margin-right:5px;vertical-align:-2px;border:1px solid rgba(15,23,42,.1)}.cmsi-seqblock{display:grid;grid-template-columns:110px 1fr;gap:8px;margin:6px 0;font-size:13px;align-items:start}.cmsi-seqblock span{color:var(--color-muted)}.cmsi-seqblock code{word-break:break-all}.cmsi-mini{width:100%;font-size:12px}.cmsi-mini th{text-align:left;color:#666;font-weight:600;padding:4px 6px;border-bottom:1px solid var(--color-border)}.cmsi-mini td{padding:5px 6px;border-bottom:1px solid #eee}.cmsi-raw{width:100%;font-size:12.5px}.cmsi-raw th{text-align:left;width:260px;color:#666;font-weight:600;padding:6px 10px;background:#f5f5f5;vertical-align:top;border-bottom:1px solid #eee}.cmsi-raw td{padding:6px 10px;word-break:break-all;border-bottom:1px solid #eee;font-family:var(--font-mono);font-size:12px}.cmsi-tag,.cmsi-tag--btn{color:#1a1a1a!important;background:#fff!important;border:1px solid var(--color-border)!important;font-weight:500}.cmsi-tag--btn.is-on{background:#1a1a1a!important;color:#fff!important;border-color:#1a1a1a!important}.cmsi-badge{border:1px solid var(--color-border);font-weight:500}.cmsi-badge--active{color:#1a1a1a}.cmsi-dot{color:#fff}.cmsi-dot--ready{background:#1a1a1a}.cmsi-stat__value small{color:#666}.cmsi-card{border-radius:var(--radius)}.cmsi-table th{background:var(--color-hover)}.cmsi-res,.cmsi-conj{border:1px solid var(--color-border)}.cmsi-schem{margin-bottom:18px}.cmsi-schem__scroll{overflow-x:auto;border:1px solid var(--color-border);background:#fff;padding:6px 0}.cmsi-schem__scroll svg{display:block}.cmsi-schem__scroll text{font-family:var(--font-sans, sans-serif)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;width:100%;max-width:min(1800px,calc(100vw - 48px));margin:0 auto;padding:calc(var(--space-unit) * 4)}.project-list{width:100%;border:1px solid var(--color-border);font-size:13px}.project-list th,.project-list td{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);text-align:left}.project-list thead{background:var(--color-hover)}.project-list__empty{color:var(--color-muted);font-size:13px}.project-setup{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2);max-width:720px}.project-setup__lengths{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1.5);margin:0;display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);flex-wrap:wrap}.project-setup__range{display:flex;align-items:center;gap:calc(var(--space-unit) * .75);font-size:13px}.project-setup__range-input{width:72px}.project-setup__range-hint{color:var(--color-muted);font-size:12px}.project-setup__error{color:#8b0000;font-size:13px;margin:0}.column-info{display:inline-flex;vertical-align:middle}.column-info__btn{margin-left:4px;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-hover);color:var(--color-muted);font-size:9px;font-weight:700;line-height:1;cursor:help;-webkit-user-select:none;user-select:none}.column-info:hover .column-info__btn,.column-info:focus-within .column-info__btn{color:var(--color-text);border-color:var(--color-text)}.column-info__tip{position:fixed;z-index:10000;transform:translate(-50%,-100%);width:260px;padding:8px 10px;border:1px solid var(--color-border);background:var(--color-bg, #fff);box-shadow:0 8px 24px #00000024;font-size:11px;font-weight:400;line-height:1.45;color:var(--color-text);text-align:left;white-space:normal;pointer-events:none}.table-header-label{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.primary-filter-rules{margin-bottom:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2);border:1px solid var(--color-border);background:var(--color-hover)}.primary-filter-rules__title{font-size:13px;font-weight:600;margin-bottom:calc(var(--space-unit) * 1.25)}.primary-filter-rules__list{margin:0;padding-left:20px;font-size:13px;line-height:1.6}.primary-filter-rules__note{margin:calc(var(--space-unit) * 1.5) 0 0;font-size:12px;color:var(--color-muted)}.candidates-table-block__legend{margin:0 0 calc(var(--space-unit) * 1.5);font-size:12px;color:var(--color-muted)}.candidates-table-block__legend:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-2px;background:#fde8e8;border:1px solid #f0b4b4}.candidates-table__index-cell{padding:0}.candidates-table__index-link{display:block;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);text-decoration:none;color:inherit;cursor:pointer}.candidates-table__index-cell:hover,.candidates-table__index-cell:focus-within{background:#dbe4f4;outline:none}.table__row--failed .candidates-table__index-cell:hover,.table__row--failed .candidates-table__index-cell:focus-within{background:#f0bcbc}.table__row--failed .candidates-table__index-link{color:#5c1f1f}.fasta-preview{margin:0 0 calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 1.5);border:1px solid var(--color-border);background:var(--color-bg-subtle, #fafafa);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;line-height:1.4;overflow-x:auto;white-space:pre}.fasta-preview__status{margin:0;font-size:13px;color:var(--color-muted)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2);border:1px solid var(--color-border)}.project-header__name{font-size:16px;font-weight:600}.project-header__desc{margin-top:var(--space-unit);color:var(--color-muted);font-size:13px}.fasta-input{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5);max-width:720px}.fasta-input__status{font-size:12px;color:var(--color-muted)}.fasta-input__error{font-size:13px;color:#8b0000}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.overview-card{border:1px solid var(--color-border);padding:12px}.overview-card__label{margin:0 0 6px;font-size:12px;color:var(--color-muted)}.overview-card__value{margin:0;font-size:18px;font-weight:600;text-transform:capitalize}.overview-card__hint{margin:6px 0 0;font-size:12px;color:var(--color-muted)}.vienna-subopt-viewer{margin-top:calc(var(--space-unit) * 3);padding-top:calc(var(--space-unit) * 2);border-top:1px solid var(--color-border)}.vienna-subopt-viewer__header{margin-bottom:12px}.vienna-subopt-viewer__title{display:inline-flex;align-items:center;gap:4px;margin:0 0 4px;font-size:14px}.vienna-subopt-viewer__hint{margin:0;font-size:12px;color:var(--color-muted)}.vienna-subopt-viewer__tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.vienna-subopt-viewer__tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--color-border);background:#fafafa;padding:8px 12px;cursor:pointer;font-size:12px}.vienna-subopt-viewer__tab--active{border-color:#2563eb;background:#eff6ff}.vienna-subopt-viewer__tab-label{font-weight:600}.vienna-subopt-viewer__tab-energy{font-family:var(--font-mono);font-size:11px;color:var(--color-muted)}.vienna-subopt-viewer__canvas{border:1px solid var(--color-border);margin-bottom:12px}.vienna-subopt-viewer__alignment{display:grid;gap:4px;overflow-x:auto;margin-bottom:8px}.vienna-subopt-viewer__nt{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:22px}.vienna-subopt-viewer__nt-index,.vienna-subopt-viewer__nt-symbol{font-family:var(--font-mono);font-size:9px;color:var(--color-muted)}.vienna-subopt-viewer__nt-base{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:600;border-radius:3px;background:#ecfdf3;border:1px solid #86efac}.vienna-subopt-viewer__nt-base--paired{background:#dbeafe;border-color:#93c5fd}.vienna-subopt-viewer__bracket{display:block;font-family:var(--font-mono);font-size:11px;word-break:break-all;color:var(--color-muted)}.vienna-sequence-map{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 3)}.vienna-sequence-map__legend{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 2);font-size:12px;color:var(--color-muted)}.vienna-sequence-map__legend-item{display:inline-flex;align-items:center;gap:6px}.vienna-sequence-map__swatch{width:14px;height:14px;border-radius:2px;border:1px solid var(--color-border)}.vienna-sequence-map__swatch--paired{background:#dbeafe}.vienna-sequence-map__swatch--unpaired{background:#ecfdf3}.vienna-sequence-map__grid{display:grid;gap:4px;overflow-x:auto;padding-bottom:4px}.vienna-sequence-map__col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:28px}.vienna-sequence-map__index,.vienna-sequence-map__symbol,.vienna-sequence-map__access{font-family:var(--font-mono);font-size:10px;color:var(--color-muted)}.vienna-sequence-map__base{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;font-weight:600;border-radius:4px;border:1px solid var(--color-border);cursor:help}.vienna-sequence-map__base--paired{background:#dbeafe;border-color:#93c5fd}.vienna-sequence-map__base--unpaired{background:#ecfdf3;border-color:#86efac}.vienna-sequence-map__bar-track{width:18px;height:56px;border:1px solid var(--color-border);border-radius:3px;display:flex;align-items:flex-end;overflow:hidden;background:#fafafa}.vienna-sequence-map__bar{width:100%;min-height:4px;border-radius:2px 2px 0 0}.vienna-sequence-map__rows{display:flex;flex-direction:column;gap:8px}.vienna-sequence-map__row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:start;font-size:12px}.vienna-sequence-map__row-label{color:var(--color-muted)}.vienna-sequence-map__row-value{font-family:var(--font-mono);font-size:11px;word-break:break-all}.vienna-melting{margin-top:calc(var(--space-unit) * 2);padding-top:calc(var(--space-unit) * 2);border-top:1px solid var(--color-border)}.vienna-melting__title{margin:0 0 4px;font-size:14px}.vienna-melting__hint{margin:0 0 12px;font-size:12px;color:var(--color-muted)}.vienna-melting__chart{display:flex;align-items:flex-end;gap:4px;height:120px;overflow-x:auto}.vienna-melting__bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:22px;height:100%;gap:4px}.vienna-melting__bar{width:100%;min-height:2px;background:#2563eb;border-radius:2px 2px 0 0}.vienna-melting__temp{font-family:var(--font-mono);font-size:9px;color:var(--color-muted)}.vienna-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 3)}.vienna-summary__card{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1.5);background:#fcfcfc}.vienna-summary__card-title{margin:0 0 6px;font-size:12px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.vienna-summary__card-value{margin:0 0 4px;font-size:20px;font-weight:600}.vienna-summary__card-hint{margin:0;font-size:12px;color:var(--color-muted);line-height:1.4}.vienna-tools{margin-top:calc(var(--space-unit) * 2);font-size:12px;color:var(--color-muted)}.vienna-subopt{margin-top:calc(var(--space-unit) * 2)}.vienna-subopt__title{margin:0 0 8px;font-size:14px}.vienna-subopt__list{margin:0;padding-left:18px;font-family:var(--font-mono);font-size:11px}.vienna-subopt__list li{margin-bottom:4px}.thermo-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.thermo-summary__card,.thermo-energy-cards__card{border:1px solid var(--color-border);padding:10px}.thermo-summary__label,.thermo-energy-cards__label{margin:0 0 4px;font-size:12px;color:var(--color-muted)}.thermo-summary__value,.thermo-energy-cards__value{margin:0;font-size:16px;font-weight:600;text-transform:capitalize}.thermo-summary__hint{margin:4px 0 0;font-size:11px;color:var(--color-muted)}.thermo-aligned{margin-bottom:16px}.thermo-aligned__title{margin:0 0 8px;font-size:13px;font-weight:600}.thermo-aligned__row{display:flex;gap:12px;margin-bottom:6px;font-size:12px;flex-wrap:wrap}.thermo-aligned__label{min-width:160px;color:var(--color-muted)}.thermo-aligned__seq{font-family:var(--font-mono);letter-spacing:.04em}.thermo-access-bars{display:flex;align-items:flex-end;gap:2px;height:32px;margin-top:8px}.thermo-access-bars__item{width:8px;background:#3b82f6;border-radius:1px 1px 0 0}.thermo-energy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0}.geometry-actions{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.geometry-warning{font-size:12px;color:#92400e;background:#fffbeb;border-left:3px solid #f59e0b;padding:8px 10px;margin-bottom:12px}.geometry-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:var(--color-muted);flex-wrap:wrap}.geometry-model-select{display:flex;gap:6px}.geometry-model-select__btn{border:1px solid var(--color-border);background:#fff;padding:4px 10px;font-size:12px;cursor:pointer}.geometry-model-select__btn--active{border-color:#2563eb;color:#2563eb}.geometry-viewer{width:100%;height:360px;border:1px solid var(--color-border);position:relative}.geometry-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--color-muted)}.geometry-legend__item{display:inline-flex;align-items:center;gap:6px}.geometry-legend__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.geometry-legend__dot--guide{background:#2563eb}.geometry-legend__dot--passenger{background:#ea580c}.geometry-legend__dash{width:18px;height:2px;background:#cbd5e1;display:inline-block}.geometry-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}.geometry-chart__title{margin:0 0 6px;font-size:12px;color:var(--color-muted)}.geometry-chart__bars{display:flex;align-items:flex-end;gap:3px;height:80px;border-bottom:1px solid var(--color-border)}.geometry-chart__bar{flex:1;min-width:6px;border-radius:2px 2px 0 0;opacity:.75;cursor:pointer}.geometry-chart__bar--active{opacity:1;outline:1px solid #111}.geometry-hover-info{margin-top:8px;font-size:12px;color:var(--color-muted)}.files-list{margin:0;padding-left:calc(var(--space-unit) * 2.5);font-family:var(--font-mono);font-size:12px}.database-list{width:100%;border:1px solid var(--color-border);font-size:13px}.database-list th,.database-list td{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);text-align:left}.database-list thead{background:var(--color-hover)}.database-list__empty{color:var(--color-muted);font-size:13px}.database-overview__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:calc(var(--space-unit) * 1.5);margin-bottom:calc(var(--space-unit) * 2)}.database-overview__stat{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1.5);background:var(--color-hover)}.database-overview__stat-label{color:var(--color-muted);font-size:12px;margin-bottom:calc(var(--space-unit) * .5)}.database-overview__stat-value{font-size:18px;font-weight:600}.database-overview__notice{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1.5);background:#fff8e6;font-size:13px;line-height:1.5}.database-overview__notice a{color:inherit}.database-records__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:calc(var(--space-unit) * 1);margin-bottom:calc(var(--space-unit) * 2)}.database-records__filters label{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5);font-size:12px;color:var(--color-muted)}.database-records__filters input{border:1px solid var(--color-border);padding:calc(var(--space-unit) * .75);font-size:13px}.database-records__pagination{display:flex;align-items:center;justify-content:space-between;margin-top:calc(var(--space-unit) * 1.5);font-size:13px}.database-record-card{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 2);font-size:13px}.database-record-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:calc(var(--space-unit) * 1.5);margin-bottom:calc(var(--space-unit) * 2)}.database-record-card__label{color:var(--color-muted);font-size:12px;margin-bottom:calc(var(--space-unit) * .25)}.database-record-card__sequence{font-family:var(--font-mono, monospace);word-break:break-all}.database-record-card__provenance{border-top:1px solid var(--color-border);padding-top:calc(var(--space-unit) * 1.5);color:var(--color-muted);font-size:12px;line-height:1.6}.database-sources__table{width:100%;border:1px solid var(--color-border);font-size:13px}.database-sources__table th,.database-sources__table td{border:1px solid var(--color-border);padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);text-align:left}.database-sources__table thead{background:var(--color-hover)}.info-block{font-size:14px;line-height:1.7;margin:0;padding:calc(var(--space-unit) * 2);border:1px solid var(--color-border)}.info-block--muted{font-size:13px;color:var(--color-muted);border:none;padding:0;margin-bottom:calc(var(--space-unit) * 1.5)}.info-link{color:#1d4ed8;text-decoration:none}.info-link:hover{text-decoration:underline}.info-sources{font-size:14px}.info-service-tools{margin-top:10px;font-size:13px}.info-service-tools__title{color:var(--color-muted);margin-bottom:4px}.info-service-tools ul{margin:0;padding-left:18px;line-height:1.6}.record-page{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.record-loading{margin:0;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);border:1px solid var(--color-border);font-size:13px;color:var(--color-muted);background:#fafafa}.record-annotation{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.record-annotation__summary{margin:0;font-size:14px;line-height:1.5}.record-annotation__text{margin:0;font-size:14px;line-height:1.65;color:#334155}.record-annotation__note{margin:0;padding:calc(var(--space-unit) * 1.5);border:1px solid #e2d3a5;background:#fffdf5;font-size:13px;line-height:1.55;color:#6b4f00}.record-annotation__error{margin:0;font-size:13px;color:#8b0000}.record-external-links{margin:0;font-size:13px}.record-footnote{margin:calc(var(--space-unit) * 1) 0 0;font-size:12px;color:var(--color-muted);line-height:1.5}.record-citation{margin:0;font-size:14px;line-height:1.6;font-weight:500}.record-details{font-size:14px;line-height:1.6}.record-details summary{cursor:pointer;color:#1d4ed8}.record-list{margin:6px 0 0;padding-left:18px;line-height:1.6}.record-provenance{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);border:1px solid var(--color-border);background:#fafafa;font-size:12px;color:var(--color-muted);line-height:1.6}.gen-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.gen-grid{grid-template-columns:1fr}}.gen-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px;background:#fff}.gen-card__title{font-size:13px;font-weight:600;color:#666;margin-bottom:10px}.gen-checkgrid{display:flex;flex-direction:column;gap:8px}.gen-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.35}.gen-check input{margin-top:3px}.gen-check__hint{display:block;color:var(--color-muted);font-size:12px;margin-top:2px}.gen-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px;margin:12px 0}.gen-meta b{font-variant-numeric:tabular-nums}.gen-warn{font-size:13px;color:#8b0000;margin:8px 0}.gen-ok{font-size:13px;color:var(--color-muted)}.gen-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.gen-table{width:100%;font-size:13px;border-collapse:collapse}.gen-table th{background:#f5f5f5;text-align:left;font-weight:600;font-size:12px;color:#666;padding:10px 12px;border-bottom:1px solid var(--color-border);white-space:nowrap}.gen-table td{padding:10px 12px;border-bottom:1px solid #eee;vertical-align:top}.gen-table tr:hover{background:#f5f5f5;cursor:pointer}.gen-table tr.is-on{background:#f0f0f0}.gen-mono{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.02em;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}.gen-modal__panel{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);width:min(1100px,100%);padding:20px 22px;max-height:calc(100vh - 80px);overflow:auto}.gen-modal__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.gen-modal__head h2{font-size:16px;font-weight:600;margin:0}.gen-viewer{border:1px solid var(--color-border);border-radius:var(--radius);height:360px;overflow:auto;background:#fafafa;position:relative;cursor:grab}.gen-viewer img{display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gen-viewer__msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:13px;padding:16px;text-align:center}.gen-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;font-size:13px}.gen-tools button,.gen-tools a{border:1px solid var(--color-border);background:#fff;border-radius:var(--radius);padding:4px 10px;font-size:12px;cursor:pointer;color:inherit;text-decoration:none}.gen-seg{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.gen-seg button{border:0;background:#fff;padding:6px 12px;font-size:12px;cursor:pointer}.gen-seg button.is-on{background:#1a1a1a;color:#fff}.gen-maxf{display:flex;gap:8px;align-items:center;font-size:13px}.gen-maxf input{width:64px;border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 8px}
