.r56-page{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;font-synthesis:none}*{box-sizing:border-box}.r56-page{min-width:320px;min-height:100vh;padding:1px 0 36px;background:#eef2f3}button,input{font:inherit}button{transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}button:not(:disabled):hover{transform:translateY(-1px)}.r56-page main{width:min(1280px,100%);margin:0 auto;padding:28px}.hero{display:flex;justify-content:space-between;gap:32px;align-items:center;padding:32px;border-radius:24px;color:white;background:linear-gradient(135deg,#102a2e,#17464a);box-shadow:0 18px 45px rgb(16 42 46/18%)}.hero-copy{max-width:820px}h1{margin:.15rem 0 .45rem;font-size:clamp(2rem,5vw,3.45rem);line-height:1.02}.hero-description{max-width:760px;margin:0;color:#cae0df;font-size:1.02rem;line-height:1.65}.eyebrow{margin:0;color:#b8d9d7;font-size:.74rem;font-weight:800;letter-spacing:.2em}.eyebrow,.status{text-transform:uppercase}.status{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;padding:11px 16px;border-radius:999px;font-size:.8rem;font-weight:900;letter-spacing:.08em}.status-dot{width:9px;height:9px;border-radius:50%;background:currentColor}.status.ok{color:#164b2b;background:#b8f2c8}.status.pending{color:#5d4300;background:#ffe5a3}.tabs{display:flex;gap:8px;margin:18px 0 14px;padding:6px;overflow-x:auto;border:1px solid #d7e2e2;border-radius:16px;background:rgb(255 255 255/78%);box-shadow:0 4px 16px rgb(23 32 42/5%);scrollbar-width:thin}.tabs button,.toolbar button{border:1px solid transparent;border-radius:10px;padding:10px 14px;color:#274548;background:white;box-shadow:0 1px 4px rgb(0 0 0/6%);cursor:pointer;white-space:nowrap}.tabs button{flex:0 0 auto;box-shadow:none;background:transparent}.tabs button.active{color:white;background:#1d6265;box-shadow:0 6px 16px rgb(29 98 101/24%)}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px;padding:14px;border:1px solid #d7e2e2;border-radius:16px;background:white;box-shadow:0 5px 18px rgb(23 32 42/5%)}.tick-controls,.toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar button:hover{border-color:#b8cece;box-shadow:0 5px 14px rgb(23 32 42/10%)}.tick-controls label{display:grid;grid-template-columns:auto minmax(140px,230px) auto;grid-gap:12px;gap:12px;align-items:center;padding:8px 13px;border:1px solid #dce5e5;border-radius:11px;background:#f8fbfb}.tick-controls label span{color:#657575;font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.tick-controls input{accent-color:#1d6265}.tick-controls b{min-width:42px;color:#173f42;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.card{margin-bottom:18px;padding:22px;border:1px solid #dce5e5;border-radius:19px;background:white;box-shadow:0 10px 30px rgb(23 32 42/6%)}.card.wide{grid-column:1/-1}.card-heading{margin-bottom:18px}.card-heading h2{margin:0;color:#183c3f;font-size:1.18rem}.card-heading p{margin:6px 0 0}.card-heading p,.cross-tab-link{color:#6a7b7b;font-size:.9rem;line-height:1.5}.cross-tab-link{margin-top:16px;padding-top:14px;border-top:1px dashed #dce5e5}.link-button{display:inline;padding:0;border:none;background:none;color:#183c3f;font-weight:700;text-decoration:underline;cursor:pointer}.link-button:hover{color:#d99a3b}.mutation-preview{margin:4px 0 0;font-size:.85rem;color:#6a7b7b;flex-basis:100%}.matrix-shell{display:flex;justify-content:center;padding:12px 0 8px}.matrix{display:grid;grid-template-columns:repeat(4,58px);grid-gap:7px;gap:7px}.allele,.matrix button{display:grid;place-items:center;width:58px;height:58px;border:1px solid #ccd7d7;border-radius:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.1rem;font-weight:900}.matrix button:disabled{opacity:1;cursor:default}.matrix button{position:relative}.matrix-value{line-height:1}.matrix-coordinate{position:absolute;top:5px;right:6px;padding:1px 3px;border-radius:4px;color:#334a4a;background:rgb(255 255 255/72%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;pointer-events:none}.matrix .active .matrix-coordinate{color:#704300;background:#fff7df}.on{color:#164b2b;background:#bcebc8}.off{color:#718080;background:#edf1f1}.matrix .active{outline:4px solid #f0ab35;outline-offset:2px;box-shadow:0 0 0 7px rgb(240 171 53/12%)}.technical-note{margin:12px 0 0;color:#6a7b7b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;text-align:center}.bits{display:flex;gap:7px;flex-wrap:wrap}.bits span{display:grid;place-items:center;width:45px;height:45px;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900}.bits span.changed{outline:2px solid #d99a3b;outline-offset:2px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:11px;gap:11px}.summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{min-width:0;padding:14px;border:1px solid #dce5e5;border-radius:13px;background:#fbfdfd}.metric span{display:block;color:#657575;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.metric b{display:block;margin-top:7px;color:#183c3f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.02rem;line-height:1.4;overflow-wrap:anywhere}.table-wrap{width:100%;overflow-x:auto;border-radius:13px}table{width:100%;border-collapse:collapse;overflow:hidden}td,th{padding:11px;border:1px solid #dce5e5;text-align:center}thead{color:#2d5558;background:#edf4f4}.bigcode,.formula{padding:15px;border-radius:12px;color:#183c3f;background:#edf4f4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;font-weight:900}.future{opacity:.35}.done{background:#f5fbf7}.history{margin:0;padding-left:1.35rem;line-height:1.85}.pf8-grid{display:grid;grid-template-columns:repeat(8,minmax(62px,1fr));grid-gap:5px;gap:5px;padding:5px;overflow-x:auto}.pf8-grid div{display:flex;min-height:66px;flex-direction:column;justify-content:space-between;padding:7px;border-radius:9px;color:white;background:rgb(29 98 101/var(--density))}.pf8-grid div.selected{outline:4px solid #f0ab35;outline-offset:1px;transform:scale(1.025);box-shadow:0 8px 18px rgb(240 171 53/20%)}.pf8-grid span{font-size:.68rem}.phenotype{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:13px;gap:13px}.phenotype article{grid-gap:7px;gap:7px;padding:15px;border:1px solid #dce5e5}.phenotype article>span{color:#657575;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.phenotype article b{color:#183c3f;font-size:1.35rem}.phenotype small{color:#657575;line-height:1.45}footer{padding:28px 18px 10px;color:#657575;font-size:.88rem;line-height:1.6;text-align:center}@media (max-width:900px){.toolbar{align-items:stretch;flex-direction:column}.tick-controls,.toolbar-actions{justify-content:center}.summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){main{padding:12px}.hero{align-items:flex-start;flex-direction:column;padding:24px}.dashboard{grid-template-columns:1fr}.tick-controls{align-items:stretch;flex-direction:column}.tick-controls label{grid-template-columns:1fr auto}.tick-controls label input{grid-column:1/-1;grid-row:2;width:100%}.matrix{grid-template-columns:repeat(4,50px)}.allele,.matrix button{width:50px;height:50px}.summary-metrics{grid-template-columns:1fr}.pf8-grid{grid-template-columns:repeat(8,62px)}}.tabs .help-button{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:#173f42;background:#e8f3f2;border:1px solid #c6dcda;font-weight:800}.tabs .help-button span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;color:white;background:#1d6265;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.tabs .help-button:hover{background:#dceceb;box-shadow:0 5px 14px rgb(29 98 101/12%)}body.modal-open{overflow:hidden}.modal-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgb(10 29 31/64%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.help-modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 40px));overflow-y:auto;border:1px solid #d3e1e0;border-radius:22px;background:white;box-shadow:0 28px 80px rgb(4 18 20/36%)}.help-modal-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px 24px 18px;border-bottom:1px solid #e0e9e8;background:linear-gradient(135deg,#f3f9f8,#e7f2f1)}.help-modal-heading h2{margin:4px 0 0;color:#173f42;font-size:clamp(1.35rem,3vw,1.8rem)}.help-kicker{margin:0;color:#567172;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.modal-close{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;padding:0;border:1px solid #c9dcda;border-radius:50%;color:#244f51;background:white;box-shadow:0 3px 10px rgb(23 63 66/8%);cursor:pointer;font-size:1.45rem;line-height:1}.help-modal-content{display:grid;grid-gap:14px;gap:14px;padding:24px}.help-modal-content p{margin:0;color:#344b4d;font-size:1rem;line-height:1.72}.help-modal-content p+p{padding:16px;border-left:4px solid #76aaa8;border-radius:0 12px 12px 0;background:#f4f9f8}.help-modal-footer{display:flex;justify-content:flex-end;padding:0 24px 24px}.help-modal-footer button{border:0;border-radius:11px;padding:11px 18px;color:white;background:#1d6265;box-shadow:0 7px 18px rgb(29 98 101/22%);cursor:pointer;font-weight:800}@media (max-width:760px){.tabs .help-button{margin-left:0}.modal-backdrop{align-items:end;padding:10px}.help-modal{max-height:calc(100vh - 20px);border-radius:20px 20px 14px 14px}.help-modal-content,.help-modal-heading{padding:20px}.help-modal-footer{padding:0 20px 20px}}.storyboard-cta{display:flex;gap:16px;align-items:center;width:100%;margin:14px 0 18px;padding:18px 22px;border:none;border-radius:18px;background:linear-gradient(135deg,#1d6265,#173f42);box-shadow:0 14px 34px rgb(29 98 101/30%);cursor:pointer;text-align:left}.storyboard-cta:hover{box-shadow:0 18px 40px rgb(29 98 101/38%)}.storyboard-cta-icon{flex:0 0 auto;font-size:2.6rem;line-height:1}.storyboard-cta-copy{display:flex;flex-direction:column;gap:4px}.storyboard-cta-copy b{color:white;font-size:1.15rem}.storyboard-cta-copy small{color:#cfe6e5;font-size:.88rem;line-height:1.4}.storyboard-modal{width:min(720px,100%)}.storyboard-content{min-height:280px}.storyboard-panel{display:flex;gap:16px;align-items:flex-start}.storyboard-panel-icon{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border-radius:50%;color:white;background:#1d6265;font-weight:900}.storyboard-panel-body h3{margin:0 0 10px;color:#173f42}.storyboard-panel-body p{margin:10px 0 0;color:#344b4d;line-height:1.65}.storyboard-panel-meta{margin:10px 0 0!important;color:#6a7b7b!important;font-size:.85rem!important}.storyboard-panel-natural{padding:12px 14px;border-left:4px solid #76aaa8;border-radius:0 12px 12px 0;background:#f4f9f8;font-size:.92rem!important}.storyboard-cycle-controls{margin-top:10px}.storyboard-cycle-controls button{border:1px solid #c9dcda;border-radius:9px;padding:7px 12px;background:white;cursor:pointer;font-weight:700}.storyboard-progress{display:flex;justify-content:center;gap:8px;padding:4px 24px 0}.storyboard-progress button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#d3e1e0;cursor:pointer}.storyboard-progress button.active{background:#1d6265}.storyboard-footer{justify-content:space-between!important}.storyboard-footer button:first-child{color:#244f51;background:white;border:1px solid #c9dcda;box-shadow:none}.storyboard-footer button:disabled{opacity:.4;cursor:not-allowed}.phenotype-laboratory{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);grid-gap:20px;gap:20px;align-items:stretch;margin-bottom:18px}.phenotype-details-card{margin-bottom:0}.phenotype-avatar-card{display:flex;min-width:0;margin:0;flex-direction:column;overflow:hidden;border:1px solid #d5e2e2;border-radius:22px;background:linear-gradient(160deg,#f9fcfb,#eaf4f2);box-shadow:0 14px 36px rgb(23 32 42/8%)}.avatar-stage{position:relative;display:grid;min-height:390px;place-items:center;padding:22px 18px 8px;background:radial-gradient(circle at 50% 32%,rgb(255 255 255/92%) 0 24%,transparent 55%),linear-gradient(145deg,#e5f1ef,#d5e7e4)}.avatar-stage:after,.avatar-stage:before{position:absolute;border-radius:999px;content:""}.avatar-stage:before{width:170px;height:170px;border:1px solid rgb(29 98 101/15%)}.avatar-stage:after{width:230px;height:230px;border:1px solid rgb(29 98 101/8%)}.phenotype-avatar{position:relative;z-index:1;width:min(100%,330px);height:auto;overflow:visible}.phenotype-avatar-card figcaption{position:relative;z-index:2;padding:18px 20px 21px;border-top:1px solid #d5e2e2;background:rgb(255 255 255/86%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.avatar-code{margin:0 0 4px;color:#537274;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.phenotype-avatar-card h3{margin:0 0 13px;color:#173f42;font-size:1.3rem}.avatar-badges{display:flex;gap:7px;flex-wrap:wrap}.avatar-trait-badge{display:inline-flex;gap:6px;align-items:center;padding:6px 9px;border:1px solid #d9e4e3;border-radius:999px;color:#395b5d;background:#f8fbfb;font-size:.76rem;font-weight:720}.phenotype-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;margin-bottom:18px;padding:15px;border:1px solid #dbe7e6;border-radius:15px;background:linear-gradient(120deg,#f5faf9,#fbfdfd)}.phenotype-intro p{margin:0;color:#526b6c;line-height:1.65}.phenotype-code-strip{display:grid;min-width:145px;grid-gap:3px;gap:3px;padding:11px 14px;border-radius:12px;color:white;background:#17464a;text-align:center}.phenotype-code-strip small,.phenotype-code-strip span{color:#cce1df;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.phenotype-code-strip b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.28rem;letter-spacing:.08em}.phenotype{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:11px;gap:11px}.phenotype article{display:grid;grid-template-columns:47px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;min-height:92px;padding:13px;border:1px solid #dce6e5;border-radius:14px;background:#fbfdfd;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.phenotype article:hover{transform:translateY(-2px);border-color:#b9d2d0;box-shadow:0 8px 18px rgb(23 32 42/7%)}.trait-icon{display:grid;width:47px;height:47px;place-items:center;border-radius:12px;background:#edf5f4;font-size:1.42rem}.trait-copy{min-width:0}.trait-copy span{display:block;color:#667b7b;font-size:.67rem;font-weight:820;letter-spacing:.09em;text-transform:uppercase}.trait-copy b{display:block;margin-top:3px;color:#183c3f;font-size:.96rem}.trait-copy small{display:block;margin-top:5px;color:#718383;font-size:.73rem;line-height:1.42}@media (max-width:900px){.phenotype-laboratory{grid-template-columns:1fr}.avatar-stage{min-height:330px}.phenotype-avatar{width:min(78%,310px)}}@media (max-width:620px){.phenotype-intro{grid-template-columns:1fr}.phenotype-code-strip{width:100%}.phenotype{grid-template-columns:1fr}.avatar-stage{min-height:300px;padding-inline:10px}}.genetics-table thead tr:first-child th{background:color-mix(in srgb,var(--accent,#2563eb) 12%,var(--surface,#ffffff));text-align:center}.genetics-table thead tr:nth-child(2) th{font-size:.72rem;line-height:1.25;white-space:normal;min-width:7.5rem}.genetics-table tbody>tr>th:first-child{min-width:10.5rem;text-align:left;white-space:nowrap}.resolved-locus{min-width:5.5rem}.genetics-table td small,.resolved-locus span{display:block;margin-bottom:.2rem;font-size:.7rem;color:var(--muted,#64748b)}.resolved-locus b{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:.6rem;background:color-mix(in srgb,var(--accent,#2563eb) 14%,transparent)}.locus-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.65rem;gap:.65rem;margin-top:1rem}.locus-legend span{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .8rem;border:1px solid var(--border,#dbe3ef);border-radius:.75rem;background:var(--surface-soft,#f8fafc);font-size:.78rem;color:var(--muted,#64748b)}.locus-legend b{color:var(--text,#0f172a)}.mendel-table td,.mendel-table th{text-align:center}.mendel-table tbody th:first-child{text-align:left}@media (max-width:760px){.genetics-table thead tr:nth-child(2) th{min-width:6.25rem}}.genome-tick-status{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem;padding:.9rem 1rem;border:1px solid #cbdcda;border-radius:.9rem;background:#f5faf9}.genome-tick-status.active{border-left:5px solid #d58b16}.genome-tick-status.complete{border-left:5px solid #2c8a55}.genome-tick-status>b{color:#173f42;font-size:.95rem}.genome-tick-status>span{color:#5e7474;font-size:.86rem;line-height:1.45}.genome-state-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.45rem}.genome-state-legend span{padding:.28rem .55rem;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:800}.genome-state-legend .current,.genome-tick-table .locus-cell.current{background:#fff1c9;border-color:#e3a52e}.genome-state-legend .partner,.genome-tick-table .locus-cell.partner{background:#dfeffc;border-color:#5b9bc8}.genome-state-legend .processed,.genome-tick-table .locus-cell.processed{background:#e6f5eb;border-color:#6eaf83}.genome-state-legend .future,.genome-tick-table .locus-cell.future{background:#f3f5f5;border-color:#d6dede}.genome-tick-table .locus-cell{position:relative;border-left-width:2px;border-right-width:2px;transition:background .16s ease,box-shadow .16s ease}.genome-tick-table .locus-cell small{margin-bottom:.35rem;font-weight:850}.genome-tick-table .locus-cell.current{box-shadow:inset 0 0 0 2px #e3a52e}.genome-tick-table .locus-cell.partner{box-shadow:inset 0 0 0 2px #5b9bc8}.genome-tick-table tr.contains-current>th:first-child{color:#8b5904;background:#fff7df}.genome-tick-table tr.contains-partner>th:first-child{color:#245e84;background:#edf7ff}.genome-explanation{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start;margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent,#2563eb) 28%,var(--line,#d7dce5));border-radius:16px;background:color-mix(in srgb,var(--accent,#2563eb) 7%,var(--surface,#ffffff))}.genome-explanation-icon{display:grid;place-items:center;min-width:3rem;height:3rem;padding:0 .55rem;border-radius:999px;background:var(--accent,#2563eb);color:#fff;font-size:.76rem;font-weight:900;letter-spacing:.08em}.genome-explanation h3{margin:0 0 .35rem;font-size:1rem}.genome-explanation p{margin:0;line-height:1.6}.genome-explanation-natural{margin-top:.45rem!important;color:var(--muted,#5e6675);font-size:.94rem}@media (max-width:640px){.genome-explanation{grid-template-columns:1fr}.genome-explanation-icon{width:-moz-fit-content;width:fit-content}}.section-explanation{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start;margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent,#2563eb) 28%,var(--line,#d7dce5));border-radius:16px;background:color-mix(in srgb,var(--accent,#2563eb) 7%,var(--surface,#ffffff));box-shadow:0 7px 20px rgb(23 32 42/4%)}.section-explanation-icon{display:grid;place-items:center;min-width:3rem;height:3rem;padding:0 .55rem;border-radius:999px;color:#fff;background:var(--accent,#2563eb);font-size:.7rem;font-weight:900;letter-spacing:.06em}.section-explanation h3{margin:0 0 .35rem;color:#183c3f;font-size:1rem}.section-explanation p{margin:0;color:#344b4d;line-height:1.6}.section-explanation-natural{margin-top:.45rem!important;color:var(--muted,#5e6675)!important;font-size:.94rem}@media (max-width:640px){.section-explanation{grid-template-columns:1fr}.section-explanation-icon{width:-moz-fit-content;width:fit-content}}.biology-term{position:relative;display:inline;border-bottom:1px dotted color-mix(in srgb,var(--accent,#2563eb) 72%,transparent);color:inherit;cursor:help;font-weight:700;text-decoration:none;outline:none}.biology-term:focus-visible{border-radius:3px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2563eb) 22%,transparent)}.biology-tooltip{z-index:80;bottom:calc(100% + .7rem);display:grid;width:min(21rem,calc(100vw - 2rem));grid-gap:.28rem;gap:.28rem;padding:.72rem .82rem;border:1px solid color-mix(in srgb,var(--accent,#2563eb) 34%,var(--line,#d7dce5));border-radius:12px;color:var(--text,#183c3f);box-shadow:0 14px 34px rgb(20 38 45/18%);font-size:.82rem;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,.35rem);transition:opacity .14s ease,transform .14s ease}.biology-tooltip,.biology-tooltip:after{position:absolute;left:50%;background:var(--surface,#ffffff)}.biology-tooltip:after{content:"";top:100%;width:.65rem;height:.65rem;border-right:1px solid color-mix(in srgb,var(--accent,#2563eb) 34%,var(--line,#d7dce5));border-bottom:1px solid color-mix(in srgb,var(--accent,#2563eb) 34%,var(--line,#d7dce5));transform:translate(-50%,-50%) rotate(45deg)}.biology-tooltip b{color:var(--accent,#2563eb);font-size:.78rem;letter-spacing:.02em}.biology-term:focus-within>.biology-tooltip,.biology-term:focus>.biology-tooltip,.biology-term:hover>.biology-tooltip{opacity:1;transform:translate(-50%)}@media (max-width:640px){.biology-tooltip{position:fixed;left:1rem;right:1rem;bottom:1rem;width:auto;transform:translateY(.4rem)}.biology-tooltip:after{display:none}.biology-term:focus-within>.biology-tooltip,.biology-term:focus>.biology-tooltip,.biology-term:hover>.biology-tooltip{transform:translateY(0)}}.model-term{position:relative;display:inline;border-bottom:1px dotted #c62828;color:#c62828;cursor:help;font-weight:800;text-decoration:none;outline:none}.model-term:focus-visible{border-radius:3px;box-shadow:0 0 0 3px rgb(198 40 40/20%)}.model-tooltip{z-index:81;bottom:calc(100% + .7rem);display:grid;width:min(23rem,calc(100vw - 2rem));grid-gap:.32rem;gap:.32rem;padding:.76rem .86rem;border:1px solid rgb(198 40 40/38%);border-radius:12px;color:var(--text,#183c3f);box-shadow:0 14px 34px rgb(20 38 45/18%);font-size:.82rem;font-weight:500;line-height:1.45;opacity:0;pointer-events:none;transform:translate(-50%,.35rem);transition:opacity .14s ease,transform .14s ease}.model-tooltip,.model-tooltip:after{position:absolute;left:50%;background:var(--surface,#ffffff)}.model-tooltip:after{content:"";top:100%;width:.65rem;height:.65rem;border-right:1px solid rgb(198 40 40/38%);border-bottom:1px solid rgb(198 40 40/38%);transform:translate(-50%,-50%) rotate(45deg)}.model-tooltip b{color:#c62828;font-size:.78rem;letter-spacing:.02em}.model-tooltip .tooltip-kind{width:-moz-fit-content;width:fit-content;border-radius:999px;background:rgb(198 40 40/10%);color:#a61f1f;padding:.12rem .45rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.model-tooltip .tooltip-analogy{margin-top:.16rem;padding-top:.42rem;border-top:1px solid rgb(198 40 40/14%)}.model-term:focus-within>.model-tooltip,.model-term:focus>.model-tooltip,.model-term:hover>.model-tooltip{opacity:1;transform:translate(-50%)}@media (max-width:640px){.model-tooltip{position:fixed;left:1rem;right:1rem;bottom:1rem;width:auto;transform:translateY(.4rem)}.model-tooltip:after{display:none}.model-term:focus-within>.model-tooltip,.model-term:focus>.model-tooltip,.model-term:hover>.model-tooltip{transform:translateY(0)}}.tte-step{display:grid;grid-gap:20px;gap:20px;margin:22px 0 26px;padding:20px;border:1px solid #cfe0df;border-radius:18px;background:linear-gradient(145deg,#f8fcfb,#eef7f5);box-shadow:0 10px 28px rgb(23 63 66/7%)}.tte-step.pending{border-left:5px solid #d99a27}.tte-step.complete{border-left:5px solid #2c8a61}.tte-step-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.tte-step-heading h3,.tte-step-heading p{margin:0}.tte-step-heading p{color:#647878;font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.tte-step-heading h3{margin-top:4px;color:#173f42;font-size:1.55rem}.tte-step-heading>span{padding:8px 12px;border-radius:999px;color:#31595b;background:#e2efed;font-size:.82rem;font-weight:800}.tte-calculation-flow{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr) auto minmax(170px,1fr);grid-gap:12px;gap:12px;align-items:stretch}.tte-calculation-flow article{display:grid;min-width:0;grid-gap:5px;gap:5px;place-items:center;padding:16px 12px;border:1px solid #d6e4e3;border-radius:14px;background:white;text-align:center}.tte-calculation-flow article small{color:#687d7e;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.tte-calculation-flow article b{color:#315b5e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tte-calculation-flow article strong{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;color:white;background:#1d6265;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.4rem}.tte-calculation-flow article span{color:#657575;font-size:.78rem;line-height:1.35}.tte-calculation-flow .tte-result{border-color:#ebc77d;background:#fffaf0}.tte-calculation-flow .tte-result strong{background:#b97812}.tte-operator{display:grid;place-items:center;color:#1d6265;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:950}.tte-memory-transition{display:grid;grid-template-columns:minmax(220px,1fr) minmax(100px,.45fr) minmax(220px,1fr);grid-gap:18px;gap:18px;align-items:center}.tte-memory-transition>div:not(.tte-write-arrow){display:grid;grid-gap:10px;gap:10px;justify-items:center;min-width:0;padding:15px;border:1px solid #dae6e5;border-radius:15px;background:white}.tte-memory-transition h4{margin:0;color:#31595b;font-size:.9rem;text-align:center}.tte-write-arrow{display:grid;grid-gap:5px;gap:5px;place-items:center;color:#5c7071;text-align:center}.tte-write-arrow small,.tte-write-arrow span{font-size:.72rem}.tte-write-arrow b{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:white;background:#b97812;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.2rem}.tte-write-arrow i{color:#1d6265;font-size:2rem;font-style:normal;line-height:1}.tte-step-note{margin:0;padding:12px 14px;border-radius:11px;color:#3c595b;background:rgb(255 255 255/72%);line-height:1.55}.tte-history-title{margin:28px 0 12px;color:#173f42}.tte-history-table td small{display:block;margin-top:4px;color:#6a7d7e;font-size:.69rem;line-height:1.3}.tte-event-done{background:#f3faf5}.tte-event-current{background:#fff8e8;outline:2px solid #e1ad4d;outline-offset:-2px}.tte-event-future{opacity:.42}.tte-state-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:850;white-space:nowrap}.tte-state-badge.done{color:#246845;background:#dff2e6}.tte-state-badge.current{color:#895a0e;background:#f9e7bd}.tte-state-badge.future{color:#617172;background:#e8eeee;opacity:1}@media (max-width:900px){.tte-calculation-flow{grid-template-columns:1fr}.tte-operator{min-height:28px}.tte-memory-transition{grid-template-columns:1fr}.tte-write-arrow i{transform:rotate(90deg)}}@media (max-width:560px){.tte-step{padding:14px}.tte-step-heading{align-items:flex-start;flex-direction:column}}.parent-origin{display:inline-grid;width:1.75rem;height:1.75rem;margin-right:.42rem;place-items:center;border:1px solid transparent;border-radius:50%;font-size:1.28rem;font-weight:900;line-height:1;vertical-align:middle}.parent-origin.maternal{color:#c8337b;border-color:#f1b8d5;background:#fff0f7}.parent-origin.paternal{color:#237eb4;border-color:#b9ddf2;background:#eef8ff}.mutation-effect{display:flex;gap:14px;align-items:center;margin-top:18px;padding:14px 16px;border:1px solid #d9e3e3;border-radius:14px;background:#f7fafa}.mutation-effect-icon{display:grid;flex:0 0 52px;width:52px;height:52px;place-items:center;border-radius:50%;background:white;font-size:1.8rem;box-shadow:0 3px 12px rgb(34 72 74/12%)}.mutation-effect div{display:grid;grid-gap:3px;gap:3px}.mutation-effect b{color:#173f42;font-size:.95rem}.mutation-effect small,.mutation-effect span{color:#526b6d;line-height:1.45}.mutation-effect--neutral{border-color:#cfd7d8;background:#f4f6f6}.mutation-effect--loci{border-color:#e5bd66;background:#fff8e7}.mutation-effect--phenotype{border-color:#bba3dc;background:#f7f1ff}.mutation-effect--phenotype .mutation-effect-icon{background:#eee2ff}.mutation-effect--idle{border-style:dashed}.mutation-phenotype-details{display:grid;grid-gap:7px;gap:7px;margin-top:4px}.mutation-phenotype-details ul{display:grid;grid-gap:4px;gap:4px;margin:0;padding-left:1.1rem}.mutation-phenotype-details li{color:#4b5968;line-height:1.4}.mutation-phenotype-details li strong{color:#39265a;text-transform:capitalize}.trait-icon.sex-origin{display:inline-grid;width:52px;height:52px;place-items:center;border:1px solid transparent;border-radius:50%;font-size:1.85rem;line-height:1}.trait-icon.sex-origin.maternal{color:#c8337b;border-color:#f1b8d5;background:#fff0f7}.trait-icon.sex-origin.paternal{color:#237eb4;border-color:#b9ddf2;background:#eef8ff}.memory-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);grid-gap:18px;gap:18px;align-items:start}.memory-layout .card{margin-bottom:0}.memory-step-list{display:grid;grid-gap:12px;gap:12px}.memory-step{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:12px;gap:12px;padding:13px;border:1px solid #dce8e8;border-radius:14px;background:#f8fbfb}.memory-step-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;background:#1d6265;font-weight:900}.memory-recent-events h3,.memory-step h3,.memory-visual-block h3{margin:0 0 5px;color:#183c3f;font-size:.96rem}.memory-current-write p,.memory-empty-state,.memory-step p{margin:0;color:#5e7070;line-height:1.55}.memory-step code{padding:1px 5px;border-radius:5px;color:#164e51;background:#e7f1f1}.memory-current-write{margin-top:16px;padding:15px;border-left:5px solid #f0ab35;border-radius:12px;background:#fff8e9}.memory-current-write--empty{border-left-color:#9caeae;background:#f4f7f7}.memory-current-label{display:block;margin-bottom:5px;color:#74510f;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.memory-visual-block{margin-top:18px;padding-top:18px;border-top:1px solid #dce5e5}.memory-legend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:8px 0 0;color:#607171;font-size:.78rem}.memory-legend span{display:inline-flex;gap:6px;align-items:center}.memory-legend-swatch{display:inline-block;width:15px;height:15px;border:1px solid #ccd7d7;border-radius:4px}.memory-legend-swatch--on{background:#bcebc8}.memory-legend-swatch--off{background:#edf1f1}.memory-legend-swatch--last{background:#edf1f1;outline:3px solid #f0ab35;outline-offset:1px}.memory-summary{position:-webkit-sticky;position:sticky;top:18px}.memory-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.memory-summary-grid .metric{padding:12px}.memory-message-summary{margin-top:16px;padding:14px;border-radius:14px;background:#edf4f4}.memory-message-summary>span{display:block;margin-bottom:10px;color:#526868;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.memory-message-summary .bits{gap:5px}.memory-message-summary .bits span{width:32px;height:32px;border-radius:8px;font-size:.85rem}.memory-message-summary>code{display:block;margin-top:10px;color:#183c3f;font-size:1.05rem;font-weight:900;letter-spacing:.12em}.memory-progress-track{height:10px;margin:16px 0;overflow:hidden;border-radius:999px;background:#e4ebeb}.memory-progress-track span{display:block;height:100%;border-radius:inherit;background:#1d6265;transition:width .18s ease}.memory-recent-events{padding-top:14px;border-top:1px solid #dce5e5}.memory-recent-events ul{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.memory-recent-events li{display:grid;grid-template-columns:32px 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:9px 10px;border-radius:10px;background:#f8fbfb;color:#536666;font-size:.82rem}.memory-recent-events li b{color:#1d6265}.memory-recent-events li code{color:#183c3f;font-weight:800}@media (max-width:900px){.memory-layout{grid-template-columns:1fr}.memory-summary{position:static}}@media (max-width:560px){.memory-summary-grid{grid-template-columns:1fr}.memory-recent-events li{grid-template-columns:30px 1fr}.memory-recent-events li code{grid-column:2}}