:root{--abyss: #091620;--column: #0f2130;--column-raised: #162d3e;--foam: #e8f1f6;--silt: #9fb6c6;--silt-deep: #7793a6;--rule: #1d3447;--rule-strong: #2a4a62;--rule-faint: #152b3c;--glow: #44d3c4;--glow-deep: #2aa698;--amber: #e9a23b;--positive: var(--glow);--negative: var(--amber);--caution-bg: #211e10;--caution-border: #4a3f1c;--caution-ink: #efd49b;--alert-bg: #2a1512;--alert-border: #5c2a22;--alert-ink: #f3b7a6;--font-serif: "Spectral", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--gap-xs: 6px;--gap-sm: 10px;--gap-md: 16px;--gap-lg: 24px;--gap-xl: 40px;--radius: 6px;--radius-sharp: 3px;--measure: 980px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--abyss);color:var(--foam);font-family:var(--font-serif);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--glow);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--foam)}:focus-visible{outline:2px solid var(--glow);outline-offset:2px}code{font-family:var(--font-mono);font-size:.88em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.shell{max-width:var(--measure);margin:0 auto;padding:44px 20px 88px}.stack{display:flex;flex-direction:column;gap:var(--gap-lg)}.masthead{display:flex;flex-wrap:wrap;gap:var(--gap-lg);align-items:flex-end;padding-bottom:20px;border-bottom:1px solid var(--rule-strong)}.masthead__mark{width:82px;height:52px;flex:0 0 auto}.masthead__titles{flex:1 1 280px;min-width:0}.masthead__title{margin:0 0 2px;font-family:var(--font-serif);font-size:clamp(34px,5.5vw,46px);font-weight:600;letter-spacing:-.015em;line-height:1}.masthead__subtitle{margin:0;font-size:16px;color:var(--silt)}.masthead__meta{margin:0;flex:0 0 auto;display:grid;grid-template-columns:auto auto;gap:2px 16px;font-family:var(--font-mono);font-size:12px;color:var(--silt-deep)}.masthead__meta dd{margin:0;color:var(--silt)}.card{background:var(--column);border:1px solid var(--rule);border-radius:var(--radius);padding:26px 26px 28px}.card--tight{padding:20px 22px 22px}.card__label{margin:0 0 var(--gap-md);padding-bottom:10px;border-bottom:1px solid var(--rule-faint);font-size:14px;font-weight:600;color:var(--silt)}.card__lede{margin:-6px 0 20px;font-size:15px;line-height:1.6;color:var(--silt)}.row{display:flex;flex-wrap:wrap;gap:var(--gap-lg)}.row>.card{flex:1 1 320px;min-width:0}.input__label{display:block;font-size:19px;font-weight:600;margin-bottom:10px}.input__field{width:100%;background:var(--abyss);color:var(--foam);border:1px solid var(--rule-strong);border-radius:var(--radius-sharp);padding:12px 14px;font-family:var(--font-mono);font-size:13px;line-height:1.8;resize:vertical}.input__field::placeholder{color:var(--silt-deep)}.input__field:disabled{opacity:.55}.input__footer{display:flex;flex-wrap:wrap;gap:var(--gap-sm);margin-top:14px;align-items:center}.input__count{font-family:var(--font-mono);font-size:12px;color:var(--silt-deep);margin-left:auto}.input__examples{display:flex;flex-wrap:wrap;gap:var(--gap-sm);align-items:baseline;margin-top:16px;padding-top:16px;border-top:1px solid var(--rule-faint)}.input__examples-label{font-size:14px;color:var(--silt);margin-right:2px}.btn{font-family:var(--font-serif);font-size:15px;min-height:44px;padding:12px 24px;border-radius:var(--radius-sharp);cursor:pointer;border:1px solid transparent;transition:background-color .12s ease,border-color .12s ease}.btn:disabled{cursor:not-allowed;opacity:.45}.btn--primary{background:var(--glow);color:#06161a;font-weight:600}.btn--primary:hover:not(:disabled){background:var(--glow-deep)}.btn--quiet{background:transparent;color:var(--foam);border-color:var(--rule-strong);padding:12px 18px}.btn--quiet:hover:not(:disabled){background:var(--column-raised)}.btn--chip{background:transparent;color:var(--foam);border-color:var(--rule-strong);padding:9px 15px;min-height:40px;font-size:14px;border-radius:999px}.btn--chip:hover:not(:disabled){background:var(--column-raised)}.btn--chip .btn__blurb{color:var(--silt-deep);font-size:12px;margin-left:7px}.determination__call{margin:0 0 4px;font-size:clamp(30px,4.6vw,38px);font-weight:600;line-height:1.12;letter-spacing:-.015em}.determination__family{margin:0 0 var(--gap-lg);font-style:italic;font-size:18px;color:var(--silt)}.determination__score{margin:16px 0 0;font-family:var(--font-mono);font-size:40px;font-weight:500;line-height:1;color:var(--glow)}.determination__meta{display:block;margin-top:8px;font-family:var(--font-serif);font-size:15px;font-weight:400;color:var(--silt)}.scale__caption{margin:0 0 9px;font-size:14px;color:var(--silt)}.scale__track{position:relative;height:26px;border-left:1px solid var(--rule-strong);border-right:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong)}.scale__fill{position:absolute;left:0;bottom:0;height:10px;background:var(--glow);transition:width .42s cubic-bezier(.2,.8,.2,1)}.scale__fill--low{background:var(--silt-deep)}.scale__threshold{position:absolute;top:0;bottom:0;width:1px;background:var(--rule-strong)}.scale__ticks{display:flex;justify-content:space-between;margin-top:var(--gap-xs);font-family:var(--font-mono);font-size:11px;color:var(--silt-deep)}.record{margin:0;font-size:15px}.record__row{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--rule-faint)}.record__row:last-child{border-bottom:0}.record__key{flex:0 0 112px;color:var(--silt)}.record__value{margin:0;flex:1 1 auto;min-width:0}.record__id{margin:0 0 12px;font-family:var(--font-mono);font-size:22px;color:var(--glow)}.record__note{margin:var(--gap-md) 0 0;font-size:14px;line-height:1.6;color:var(--silt)}.specimen__seq{margin:12px 0 0;padding:11px 13px;background:var(--abyss);border:1px solid var(--rule-faint);border-radius:var(--radius-sharp);font-family:var(--font-mono);font-size:12px;line-height:1.8;color:var(--silt);word-break:break-all}.notes__para{margin:0 0 14px;font-size:18px;line-height:1.7;max-width:68ch}.notes__para:last-of-type{margin-bottom:0}.notes__source{margin:var(--gap-md) 0 0;font-family:var(--font-mono);font-size:11px;color:var(--silt-deep)}.driver{margin-bottom:16px}.driver__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gap-sm);margin-bottom:7px}.driver__name{font-size:16px}.driver__value{font-family:var(--font-mono);font-size:13px;color:var(--silt)}.driver__track{position:relative;height:8px;background:var(--column-raised);border-radius:1px;overflow:hidden}.driver__axis,.character__axis{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--rule-strong)}.driver__fill{position:absolute;top:0;height:100%;background:var(--glow);transition:width .42s cubic-bezier(.2,.8,.2,1),left .42s cubic-bezier(.2,.8,.2,1)}.driver__fill--against{background:var(--amber)}.driver__legend{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--silt-deep);margin-top:-2px}.characters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}@media (max-width: 620px){.characters{grid-template-columns:minmax(0,1fr)}}.character__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gap-sm);margin-bottom:7px}.character__name{font-size:15px}.character__flag{color:var(--glow);font-size:10px;margin-left:6px;vertical-align:1px}.character__value{font-family:var(--font-mono);font-size:14px}.character__track{position:relative;height:5px;background:var(--column-raised);overflow:hidden}.character__fill{position:absolute;top:0;height:100%;background:var(--silt-deep);transition:width .42s cubic-bezier(.2,.8,.2,1),left .42s cubic-bezier(.2,.8,.2,1)}.character__fill--drives{background:var(--glow)}.character__note{margin:var(--gap-xs) 0 0;font-size:13px;color:var(--silt-deep)}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}.table th{text-align:left;font-weight:600;color:var(--silt);border-bottom:1px solid var(--rule-strong);padding:10px 8px}.table th:first-child,.table td:first-child{padding-left:0}.table th:last-child,.table td:last-child{padding-right:0}.table td{padding:11px 8px;border-bottom:1px solid var(--rule-faint)}.table .num{text-align:right;font-family:var(--font-mono);font-size:14px}.table .num--strong{color:var(--foam)}.table tr.is-sanity td,.num--absent{color:var(--silt-deep)}.callout{margin:0;padding:20px 22px;border-radius:var(--radius);background:var(--caution-bg);border:1px solid var(--caution-border);color:var(--caution-ink);font-size:17px;line-height:1.65}.eval__caveat{margin:20px 0 0;padding:16px 18px;background:var(--caution-bg);border:1px solid var(--caution-border);border-radius:var(--radius);font-size:15px;line-height:1.6;color:var(--caution-ink)}.banner{margin:0;padding:14px 18px;border-radius:var(--radius);font-size:15px;line-height:1.55;display:flex;flex-wrap:wrap;gap:var(--gap-sm);align-items:center}.banner--error{background:var(--alert-bg);border:1px solid var(--alert-border);color:var(--alert-ink)}.banner--mock{background:var(--caution-bg);border:1px dashed var(--caution-border);color:var(--caution-ink)}.banner__text{flex:1 1 240px;min-width:0}.banner__hint{opacity:.85}.empty{text-align:center;padding:52px 26px}.empty__title{margin:0 0 var(--gap-sm);font-size:26px;font-weight:600}.empty__body{margin:0 auto;max-width:50ch;font-size:17px;line-height:1.65;color:var(--silt)}.skeleton{background:linear-gradient(90deg,var(--column-raised) 25%,#1d3a4e 37%,var(--column-raised) 63%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sharp)}.skeleton--line{height:14px;margin-bottom:10px}.skeleton--title{height:34px;width:52%;margin-bottom:18px}.skeleton--bar{height:26px;margin:18px 0 8px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}.scale__fill,.character__fill,.driver__fill{transition:none}}.footer{margin-top:var(--gap-sm);font-size:14px;line-height:1.6;color:var(--silt);display:flex;flex-wrap:wrap;gap:var(--gap-sm) var(--gap-lg);justify-content:space-between;border-top:1px solid var(--rule-faint);padding-top:var(--gap-md)}.footer__mono{font-family:var(--font-mono);font-size:11px;color:var(--silt-deep)}
