*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--tides-teal);outline-offset:3px}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:absolute;left:20px;top:-100px;background:rgb(255,255,255);padding:12px;z-index:99}.skip-link:focus{top:12px}.site-header{height:82px;max-width:1520px;margin:auto;padding:0 44px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.header-title{border-left:1px solid var(--line);padding-left:24px;font-size:13px;color:var(--muted)}.care-link{margin-left:auto;font-size:13px}.care-link span{margin-left:10px}main{max-width:1520px;margin:auto;padding:0 44px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:35px 0 29px}.eyebrow{color:var(--teal);font-size:10px;font-weight:600;letter-spacing:.13em}.intro h1{font-size:clamp(30px,3.25vw,47px);font-weight:600;letter-spacing:-.045em;line-height:1.13;margin:10px 0 12px}.intro p:last-child{font-size:14px;color:var(--tides-body);line-height:1.65}.quiet-button{font-size:12px;white-space:nowrap;padding:10px 0}.quiet-button span{margin-left:14px;color:var(--teal)}.categories{display:flex;gap:7px;padding-bottom:20px;overflow:auto;scrollbar-width:none}.categories button{border:1px solid transparent;white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:12px;color:var(--muted);min-height:39px}.categories button[aria-pressed=true]{background:var(--teal);color:rgb(255,255,255)}.categories button:hover:not([aria-pressed=true]){background:rgba(255,255,255,.65);color:var(--ink)}.explorer{display:grid;grid-template-columns:224px minmax(310px,1fr) 350px;height:730px;border:1px solid var(--line);border-radius:18px;background:rgb(255,255,255);overflow:hidden}.catalog-panel{min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line);padding:23px 12px 14px;background:rgb(255,252,247)}.catalog-heading{display:flex;align-items:center;justify-content:space-between;margin:0 10px 17px}.catalog-heading h2{font-size:14px;font-weight:600;letter-spacing:-.02em}.catalog-heading>span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:rgb(255,255,255);margin:0 5px 15px;padding:10px 11px}.search-field svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.5}.search-field input{width:100%;border:0;outline:0;background:transparent;font-size:12px;min-width:0;color:var(--ink)}.search-field:focus-within{outline:2px solid var(--teal);outline-offset:2px}.compound-list{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgb(209,204,191) transparent}.compound-option{width:100%;display:flex;align-items:center;text-align:left;gap:10px;min-height:57px;padding:8px;border-radius:10px;margin-bottom:3px;border:1px solid transparent}.compound-option img{width:36px;height:39px;object-fit:contain;flex:none}.compound-option>span{min-width:0;flex:1}.compound-option strong{display:block;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:-.01em}.compound-option small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:2px}.compound-option>i{width:5px;height:5px;flex:none;border-radius:50%;background:transparent}.compound-option:hover{background:rgb(246,244,239)}.compound-option[aria-pressed=true]{background:rgb(234,241,237);border-color:rgb(211,225,217)}.compound-option[aria-pressed=true]>i{background:var(--teal)}.compound-option[aria-pressed=true] strong{color:var(--teal);font-weight:600}.catalog-bottom{font-size:10px;color:var(--muted);padding:14px 8px 0;margin-top:auto}.mobile-picker{display:none}#empty-results{font-size:12px;color:var(--muted);padding:15px;line-height:1.6}.body-viewer{min-height:0;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto;background:radial-gradient(ellipse at 50% 45%,rgb(255,255,255) 10%,rgb(250,247,240) 100%)}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 24px 10px}.map-heading h2{font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.025em;margin-top:4px}.map-heading .eyebrow{font-size:9px;color:var(--muted)}#render-mode{font-size:9px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;color:var(--muted)}.map-context{min-height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:6px;font-size:10px;color:var(--muted)}.map-key{display:flex;align-items:center;gap:7px}.map-key i{width:6px;height:6px;border-radius:50%;background:var(--teal);flex:none}#whole-body{font-size:10px;color:var(--teal);padding:6px 0;white-space:nowrap}.body-stage{position:relative;min-height:0;overflow:hidden;margin:0 10px}#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}#scene img{width:100%;height:100%;object-fit:contain;display:block;transform-origin:center;transition:opacity .18s ease}#loading{position:absolute;inset:0;background:rgba(255,253,248,.94);display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column;text-align:center;padding:20px;font-size:12px}#loading>span:last-child{color:var(--muted);font-size:11px}#loading button{background:var(--teal);color:rgb(255,255,255);border-radius:999px;padding:12px 18px;font-size:12px}.loading-ring{width:30px;height:30px;border-radius:50%;border:1px solid rgb(204,213,206);border-top:2px solid var(--teal);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.target-strip{display:flex;justify-content:center;gap:6px;padding:8px 14px;flex-wrap:wrap;min-height:48px}.target-chip{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:999px;background:rgb(255,255,255);font-size:11px;padding:7px 11px;min-height:33px}.target-chip i,.target-number{background:var(--target-color);color:rgb(255,255,255);font-variant-numeric:tabular-nums}.target-chip i{width:7px;height:7px;border-radius:50%;flex:none}.target-chip[aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 .5px var(--teal)}.viewer-controls{display:flex;align-items:center;justify-content:space-between;padding:5px 21px 8px;gap:8px}.angles{display:flex;gap:12px}.angles button{font-size:10px;padding:6px 0;border-bottom:1px solid transparent;color:var(--muted);min-height:32px}.angles button[aria-pressed=true]{color:var(--teal);border-color:var(--teal)}.zoom-controls{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:rgb(255,255,255)}.zoom-controls button{width:32px;height:31px;font-size:16px;line-height:1}.zoom-controls button+button{border-left:1px solid var(--line)}.map-footnote{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 24px;font-size:9px;line-height:1.5;color:var(--muted)}.map-note{font-size:9px;color:var(--muted);padding:7px 24px 17px;line-height:1.5}.detail-panel{min-width:0;overflow:auto;border-left:1px solid var(--line);scrollbar-width:thin;scrollbar-color:rgb(209,204,191) transparent;padding:25px 25px 23px;background:rgb(255,255,255)}.detail-title{font-weight:600;font-size:28px;line-height:1.13;letter-spacing:-.035em;margin:10px 0 10px}.route-line{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:19px}.route-line span+span:before{content:'·';margin-right:6px}.compound-intro{font-size:13px;color:var(--tides-body);line-height:1.75}.mechanism-path{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin:17px 0 24px;color:var(--teal);font-size:10px;line-height:1.7}.mechanism-path span{background:rgb(237,243,239);border-radius:4px;padding:4px 7px}.mechanism-path i{font-style:normal;color:var(--muted)}.detail-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.target-card{border-bottom:1px solid var(--line)}.target-card button{padding:12px 0;display:flex;align-items:center;gap:9px;width:100%;text-align:left}.target-number{width:22px;height:22px;border-radius:50%;font-size:9px;display:flex;align-items:center;justify-content:center;flex:none}.target-card button strong{flex:1;font-size:12px;line-height:1.4;font-weight:500}.target-card button>span:last-child{color:var(--teal);font-size:14px}.target-card h3{font-size:11px;font-weight:600;line-height:1.5;margin:0 0 4px 31px}.target-card p{font-size:12px;line-height:1.75;color:var(--tides-body);margin:0 0 15px 31px}.target-card[aria-current=true] button strong{color:var(--teal);font-weight:600}.target-card[aria-current=true]{background:linear-gradient(90deg,transparent,rgb(242,246,243))}.evidence{margin-top:22px;border:1px solid var(--line);border-radius:10px;padding:12px 13px}.evidence summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500}.evidence summary::after{content:'+';font-size:16px}.evidence[open] summary::after{content:'−'}.evidence summary::-webkit-details-marker{display:none}.evidence p{font-size:11px;color:var(--tides-body);line-height:1.75;margin-top:11px}.evidence .evidence-label{font-weight:600;color:var(--teal)}.source-links{list-style:none;margin:12px 0 0;padding:0}.source-links li+li{margin-top:8px}.source-links a{font-size:10px;color:var(--teal);text-decoration:underline;line-height:1.5;display:block}.context-warning{border-left:2px solid rgb(175,119,68);background:rgb(250,247,240);padding:10px 12px;margin:15px 0 18px;font-size:11px;color:rgb(99,81,59);line-height:1.7}.detail-actions{margin-top:23px;display:flex;flex-direction:column;gap:13px;align-items:stretch}.primary-link{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:rgb(255,255,255);border-radius:999px;padding:12px 17px;font-size:12px;font-weight:500;min-height:43px}.primary-link:hover{background:var(--teal)}.secondary-link{font-size:11px;color:var(--teal);text-align:center}.detail-fine{margin-top:15px;font-size:10px;color:var(--muted);line-height:1.6}.cell-inset{position:absolute;right:4%;top:35%;width:140px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:50% 50% 14px 14px;padding:8px 10px 14px;text-align:center}.cell-inset svg{width:100%;height:auto}.cell-wall{fill:rgb(237,244,238);stroke:rgb(165,189,176);stroke-width:1}.cell-nucleus{fill:rgb(207,223,212);stroke:rgb(115,155,135);stroke-width:1}.mitochondrion{fill:rgb(14,94,83);stroke:rgb(14,94,83);stroke-width:2}.cell-detail{fill:none;stroke:rgb(138,175,152);stroke-width:2;stroke-linecap:round}.cell-inset span{display:block;font-size:10px;color:var(--teal);font-weight:500}.cell-inset small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.explorer-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 2px;color:var(--muted);font-size:10px}.explorer-caption p{display:flex;align-items:center;gap:7px}.explorer-caption button{font-size:10px;color:var(--teal);padding:5px 0}.status-dot{width:5px;height:5px;background:var(--teal);border-radius:50%;flex:none}.reading-guide{display:grid;grid-template-columns:1fr 1fr;gap:15px 70px;margin:55px 0 65px;padding:35px 0 0;border-top:1px solid var(--line)}.reading-guide>.eyebrow{grid-column:1/-1}.reading-guide h2{font-size:29px;font-weight:500;letter-spacing:-.03em;line-height:1.25}.reading-guide div{font-size:13px;color:var(--tides-body);line-height:1.8}.reading-guide p+p{margin-top:14px}footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:30px 44px;max-width:1520px;margin:auto}footer span{margin-left:auto;font-size:11px;color:var(--muted)}footer small{font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;padding:34px;max-width:510px;max-height:85dvh;overflow:auto;background:rgb(255,253,248);color:var(--ink)}dialog::backdrop{background:rgba(11,10,8,.4)}#close-about{position:absolute;right:16px;top:12px;font-size:25px}dialog h2{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin:12px 0 20px;font-weight:500}dialog p,dialog li{font-size:13px;line-height:1.8;margin-bottom:14px;color:var(--tides-body)}dialog ol{padding-left:20px}dialog a{color:var(--teal);text-decoration:underline}dialog .primary-link{width:100%;margin-top:22px;justify-content:center}.expanded .body-viewer{position:fixed;inset:14px;z-index:90;border:1px solid var(--line);border-radius:16px;box-shadow:0 0 0 100vmax rgba(11,10,8,.7)}body:has(.expanded){overflow:hidden}.expanded .body-stage{margin:0 auto;width:min(100%,700px)}
@media(min-width:1600px){.explorer{grid-template-columns:244px minmax(310px,1fr) 370px;height:790px}.detail-panel{padding:28px 30px}.compound-option{min-height:61px}.map-heading{padding-top:27px}.detail-title{font-size:31px}}
@media(max-width:1150px) and (min-width:761px){.site-header{padding:0 24px}main{padding:0 24px}.explorer{grid-template-columns:190px minmax(260px,1fr) 300px;height:740px}.detail-panel{padding:22px 20px}.detail-title{font-size:25px}.map-heading{padding:20px 16px 10px}.map-heading h2{font-size:16px}#render-mode{font-size:8px}.compound-option{gap:7px}.compound-option img{width:30px}.compound-option strong{font-size:11px}.catalog-panel{padding-left:7px;padding-right:7px}.map-context,.map-footnote{padding-left:16px;padding-right:16px}.map-note{padding-left:16px;padding-right:16px}.viewer-controls{padding-left:16px;padding-right:16px}.angles{gap:8px}.zoom-controls button{width:27px}.target-chip{font-size:10px;padding:6px 9px}.cell-inset{width:115px}.reading-guide{gap:15px 35px}}
@media(max-width:900px) and (min-width:761px){.explorer{grid-template-columns:176px minmax(240px,1fr);height:720px}.detail-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);overflow:visible}.explorer{height:auto}.catalog-panel,.body-viewer{height:660px}.detail-title{font-size:28px}#compound-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.detail-top{grid-column:1}.detail-body{grid-column:2;grid-row:1/5}.detail-actions{align-self:end}.evidence{grid-column:1}.intro h1{font-size:34px}}
@media(max-width:760px){.site-header{height:66px;padding:0 20px;gap:14px}.site-header .brand{font-size:27px}.header-title{font-size:11px;padding-left:14px}.care-link{font-size:11px}.care-link span{margin-left:4px}main{padding:0 16px}.intro{padding:26px 4px 20px;display:block}.intro h1{font-size:33px;line-height:1.1;margin:9px 0 12px;max-width:360px}.intro p:last-child{font-size:12px;line-height:1.7;max-width:350px}.quiet-button{display:none}.categories{margin:0 -16px;padding:0 16px 16px;gap:3px}.categories button{font-size:11px;padding:8px 13px;min-height:36px}.explorer{display:flex;flex-direction:column;height:auto;overflow:hidden;border-radius:14px}.catalog-panel{padding:16px 18px;background:rgb(255,255,255);border-right:0;border-bottom:1px solid var(--line)}.catalog-heading,.catalog-panel .search-field,.compound-list,.catalog-bottom{display:none}.mobile-picker{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-picker label{font-size:10px;line-height:1.5;color:var(--muted);max-width:55px;flex:none}.mobile-picker select{min-width:0;flex:1;color:var(--teal);font-size:14px;font-weight:500;background:rgb(242,246,242);border:1px solid rgb(220,230,222);border-radius:8px;padding:10px 26px 10px 10px;max-width:260px}.body-viewer{height:590px;flex:none}.map-heading{padding:18px 18px 8px}.map-heading h2{font-size:17px}.map-heading .eyebrow{font-size:8px}#render-mode{font-size:8px}.map-context{padding:0 18px;font-size:9px;min-height:29px}.target-strip{padding:8px 10px;gap:5px}.target-chip{font-size:10px;min-height:32px;padding:7px 10px}.viewer-controls{padding:5px 18px 8px}.angles{gap:15px}.zoom-controls button{width:32px;height:31px}.map-footnote{padding:0 18px;font-size:8px}.map-note{font-size:8px;padding:6px 18px 14px}.detail-panel{border-left:0;border-top:1px solid var(--line);padding:24px 22px 27px;overflow:visible}.detail-title{font-size:29px;margin-top:10px}.compound-intro{font-size:13px}.target-card p{font-size:12px}.target-card button{padding:13px 0}.detail-actions{margin-top:22px}.explorer-caption{align-items:flex-start;padding:14px 3px;gap:15px;font-size:8px;line-height:1.6}.explorer-caption p{align-items:baseline}.explorer-caption button{font-size:8px;text-align:right;padding:0;white-space:nowrap}.reading-guide{display:block;margin:30px 4px 40px;padding-top:27px}.reading-guide h2{font-size:25px;margin:12px 0 20px}.reading-guide div{font-size:12px;line-height:1.8}footer{padding:24px 20px;flex-wrap:wrap;gap:12px}footer .brand{font-size:27px}footer span{font-size:9px}footer small{margin-left:auto;font-size:9px}.cell-inset{width:115px;right:2%;top:35%}dialog{margin:auto 20px;padding:28px 24px;max-width:calc(100% - 40px)}.expanded .body-viewer{height:auto;inset:8px}.expanded .body-stage{width:100%}#empty-results{padding:10px 0 0;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:901px){.site-header{height:72px}.intro{padding-top:27px;padding-bottom:22px}.explorer{height:clamp(580px,calc(100dvh - 331px),790px)}}
@media(max-width:760px){.body-viewer{height:515px}}
.catalog-panel{min-height:0}
@media(min-width:901px){.explorer{grid-template-rows:minmax(0,1fr)}}
@media(max-width:760px){.body-viewer{height:570px}}
#body-hotspots{position:absolute;inset:0;pointer-events:none}.body-hotspot{position:absolute;width:24px;height:24px;border:1px solid var(--target-color);border-radius:50%;transform:translate(-50%,-50%);pointer-events:auto;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(255,255,255,.35)}.body-hotspot span{width:5px;height:5px;background:var(--target-color);border-radius:50%}.body-hotspot:hover{background:rgb(255,255,255);box-shadow:0 0 0 5px rgba(14,94,83,.1)}
.target-card:not([data-expanded=true]) p{display:none}.target-card:not([data-expanded=true]) h3{font-weight:400;color:var(--muted);margin-bottom:13px}
/* Whole-body cellular context: the anatomy itself carries the illumination. */
.cellular-map #scene canvas,.cellular-map #body-image{filter:drop-shadow(0 0 6px rgba(14,94,83,.18)) drop-shadow(0 0 18px rgba(14,94,83,.12))}
.cellular-map .map-key i{box-shadow:0 0 0 3px rgba(14,94,83,.1)}
.cellular-map .cell-inset{border-color:rgba(14,94,83,.22)}
@media(prefers-reduced-motion:no-preference){#scene canvas,#body-image{transition:filter 250ms ease}}
