/* Hallmark · custom Containment Lab · atmospheric · pinned specimen narrative / role directory / review checkpoint
 * Signature: the coin's biohazard specimen grows into an agent network as the story advances. */
/* Palette, typography and layout tokens are imported through infect.css from tokens.css. */
body{background-image:none;font:16px/1.65 var(--font-body);background:var(--color-paper)}html{scroll-behavior:auto}button,input,textarea,select{font:inherit}h1,h2,h3,p{overflow-wrap:break-word}em{font-style:normal;color:var(--color-accent)}.wrap{width:min(1440px,calc(100% - var(--space-page)*2));max-width:1440px}.eyebrow{font:11px/1.5 var(--font-mono);letter-spacing:1.6px}.text-link{font:13px/1.5 var(--font-body)}.px-btn{background:var(--color-accent);color:var(--color-paper);clip-path:none;border-radius:6px;min-height:48px;padding:14px 22px;font:700 13px/1.4 var(--font-body);letter-spacing:0;text-transform:none;box-shadow:none;border:1px solid var(--color-accent)}.px-btn:hover{background:var(--color-accent-bright);color:var(--color-paper);transform:translateY(-2px)}.px-btn.ghost{background:transparent;color:var(--color-accent)}.px-btn:disabled{opacity:.5;transform:none;cursor:wait}.px-btn:active{transform:translateY(1px)}:focus-visible{outline:2px solid var(--color-accent-bright);outline-offset:4px}.infect-top{height:88px;background:var(--color-paper);border-bottom:1px solid var(--color-rule)}.nav-row{min-height:88px;gap:24px}.brand b{font:700 24px/1 var(--font-pixel);letter-spacing:1px}.brand .logo-crop{width:43px;height:43px}.nav-links{gap:26px}.nav-links a{font:12px var(--font-body)}.nav-end{gap:10px}.social-icon{width:42px;height:42px;border:1px solid var(--color-rule);border-radius:6px}.wallet-button{height:44px;font-size:12px;border-radius:6px}.nav-system{display:none}.nav-end .px-btn{min-height:44px;padding:12px 18px}.infect-footer{padding:42px 0;gap:26px;border-color:var(--color-rule)}
.infection-story{height:300svh;--culture-progress:0}.infection-pin{height:calc(100svh - 88px);min-height:650px;position:sticky;top:88px;display:grid;grid-template-columns:1fr 1.06fr;grid-template-rows:1fr 62px 35px;gap:0 6%;align-items:center}.infection-copy{padding:35px 0}.infection-chapters{position:relative;height:300px;margin:22px 0}.infection-chapters article{position:absolute;inset:0;opacity:0;transform:translateY(18px);transition:opacity var(--dur-medium),transform var(--dur-medium);pointer-events:none}.infection-chapters article.active{opacity:1;transform:none;pointer-events:auto}.chapter-label{font:12px var(--font-mono);color:var(--color-muted)}.infection-chapters h1{font:700 var(--text-hero)/1.09 var(--font-display);letter-spacing:-3px;margin:20px 0}.infection-chapters p{font-size:16px;line-height:1.8;max-width:480px;color:var(--color-muted);margin:24px 0}.infection-actions{display:flex;gap:26px;align-items:center;margin-top:34px}.specimen-tag{display:flex;align-items:center;gap:16px;margin-top:44px;color:var(--color-muted);font-size:12px}.specimen-tag>span{font-size:38px;color:var(--color-accent)}.specimen-tag b,.specimen-tag small{display:block}.specimen-tag b{color:var(--color-ink);font-size:13px;font-weight:500}.specimen-tag small{font-size:11px;margin-top:4px}
.organism{width:100%;position:relative;border:1px solid var(--color-rule);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-panel)}.organism-caption,.organism-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:19px 22px;font:10px var(--font-mono);color:var(--color-muted)}.organism-caption{border-bottom:1px solid var(--color-rule)}.organism-caption span:last-child{color:var(--color-accent)}.organism-field{aspect-ratio:1;position:relative;isolation:isolate;background-image:linear-gradient(var(--color-soft) 1px,transparent 1px),linear-gradient(90deg,var(--color-soft) 1px,transparent 1px);background-size:32px 32px;overflow:hidden}.organism-core{position:absolute;left:50%;top:50%;width:42%;transform:translate(-50%,-50%) scale(calc(.82 + var(--culture-progress)*.32));z-index:3;text-align:center;transition:transform .15s linear}.organism-core img{width:100%;height:auto;display:block;animation:specimen-breathe 5s ease-in-out infinite}.organism-core>span{font:9px var(--font-mono);letter-spacing:2px;display:block;margin-top:14px;color:var(--color-accent)}.culture-ring{position:absolute;left:50%;top:50%;border:1px solid var(--color-rule-strong);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.ring-one{width:54%;height:54%;border:1px dashed var(--color-accent);opacity:.5;animation:ring-turn 55s linear infinite}.ring-two{width:74%;height:74%;border-width:2px;border-top-color:var(--color-accent);animation:ring-turn 35s linear infinite reverse}.ring-three{width:91%;height:91%;border-style:dashed;opacity:calc(.15 + var(--culture-progress)*.5)}.organism-links{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--color-accent);stroke-width:1;stroke-dasharray:4 10;opacity:calc(.08 + var(--culture-progress)*.45)}.culture-node{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(217px) rotate(calc(-1*var(--angle)));z-index:4;display:flex;align-items:center;gap:7px;background:var(--color-paper);padding:8px 10px;border:1px solid var(--color-rule-strong);border-radius:4px;opacity:calc(.25 + var(--culture-progress));transition:opacity var(--dur-medium)}.culture-node>span{color:var(--color-accent);font:22px var(--font-mono)}.culture-node b,.culture-node small{display:block;font:8px var(--font-mono)}.culture-node small{color:var(--color-muted);margin-top:3px}.culture-scan{position:absolute;inset:0;border-top:1px solid var(--color-accent);background:linear-gradient(var(--color-soft-strong),transparent 12%);transform:translateY(-100%);animation:culture-scan 9s linear infinite;pointer-events:none;opacity:.35}.organism-footer{border-top:1px solid var(--color-rule);font-size:9px}.organism-footer button{font:10px var(--font-mono);color:var(--color-muted)}.infection-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:24px;align-self:end}.infection-steps button{position:relative;display:flex;gap:18px;align-items:center;text-align:left;padding:16px 0;background:none;border:0;border-top:1px solid var(--color-rule-strong);color:var(--color-muted);font:12px var(--font-body);cursor:pointer}.infection-steps button span{font:10px var(--font-mono)}.infection-steps button.on{color:var(--color-accent);border-color:var(--color-accent)}.scroll-hint{grid-column:1/-1;font:9px var(--font-mono);letter-spacing:1px;color:var(--color-dim);align-self:end;text-align:center;padding-bottom:12px}
.carrier-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;padding:var(--space-section) 0}.section-intro{position:sticky;top:130px;align-self:start}.section-intro h2,.checkpoint h2,.infect-closing h2{font:600 clamp(30px,3vw,46px)/1.2 var(--font-display);letter-spacing:-1.8px;margin:22px 0}.section-intro p,.checkpoint p{font:16px/1.85 var(--font-body);color:var(--color-muted);max-width:390px}.agent-index-row{display:grid;grid-template-columns:24px 50px 1fr 22px;gap:18px;align-items:center;padding:24px 0;border-top:1px solid var(--color-rule);background:none;transition:border-color .3s}.agent-index-row h3{font:600 19px var(--font-body);margin:0 0 7px}.agent-index-row p{font:13px/1.7 var(--font-body);color:var(--color-muted);margin:0;display:block;max-width:360px}.carrier-number{font:10px var(--font-mono);color:var(--color-dim)}.carrier-icon{color:var(--color-accent);display:grid;place-items:center}.carrier-action{font-size:0}.carrier-action:after{content:'↗';font:20px var(--font-body);color:var(--color-accent)}.culture-target.colonized{border-color:color-mix(in srgb,var(--color-rule),var(--color-accent) calc(10% + var(--infection-depth,0)*35%))}.agent-index-row:hover{border-color:var(--color-accent);background:var(--color-soft)}
.checkpoint{background:var(--color-light);color:var(--color-light-ink);padding:var(--space-section) 0}.checkpoint-layout{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:12%}.checkpoint .eyebrow{color:var(--color-light-muted)}.checkpoint h2 em{color:var(--color-light-muted)}.checkpoint p{color:var(--color-light-muted);margin-bottom:30px}.checkpoint .px-btn{background:var(--color-light-ink);color:var(--color-light);border-color:var(--color-light-ink)}.campaign-slip{background:var(--color-paper);color:var(--color-ink);padding:34px;border-radius:var(--radius-panel);transform:rotate(2deg);border:1px solid var(--color-rule)}.slip-head{display:flex;justify-content:space-between;font:9px var(--font-mono);color:var(--color-muted)}.slip-head span{color:var(--color-accent)}.campaign-slip h3{font:600 34px/1.25 var(--font-body);letter-spacing:-1px;margin:28px 0}.slip-line{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid var(--color-rule);font-size:12px}.slip-line>span{color:var(--color-muted)}.slip-line b{font-weight:500}.slip-bottom{border-top:1px solid var(--color-rule);margin-top:12px;padding-top:24px;font:9px var(--font-mono);display:flex;flex-direction:column;gap:10px}.slip-bottom strong{color:var(--color-accent);font-size:12px}.infect-closing{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:var(--space-section) 0}.infect-closing>div:last-child{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.infect-closing h2{max-width:670px}
.page-specimen{display:flex;align-items:center;gap:10px;font:10px var(--font-mono);color:var(--color-accent);margin-bottom:22px}.page-specimen img{width:25px;height:25px}.lab-title{padding:56px 0 32px;align-items:flex-end}.lab-title:after{display:none}.lab-title h1{font:600 46px var(--font-body);letter-spacing:-2px;margin:12px 0}.lab-title p{font:16px var(--font-body);color:var(--color-muted)}.lab-toolbar{border-radius:var(--radius-panel);padding:20px 24px;margin-bottom:28px;gap:20px}.lab-agent-view{grid-template-columns:260px minmax(0,1fr) 285px;gap:24px}.lab-roster,.lab-desk,.lab-brief{border-radius:var(--radius-panel);overflow:hidden;background:var(--color-panel)}.lab-roster{top:112px}.lab-roster>button{min-height:78px;padding:14px 18px;border-left:3px solid transparent}.lab-roster>button.on{background:var(--color-soft-strong);border-left-color:var(--color-accent)}.lab-roster>button b{font:600 14px var(--font-body)}.lab-roster>button span{font:11px/1.5 var(--font-body)}.panel-head{padding:22px;border-bottom:1px solid var(--color-rule)}.panel-head h2{font:600 16px var(--font-body)}.agent-composer,.lab-brief{padding:26px}.composer-agent h2{font:600 24px var(--font-body)}.composer-agent p{font:14px/1.7 var(--font-body)}.agent-composer form label,.lab-brief label{font:12px var(--font-body);gap:10px}.agent-composer textarea,.agent-composer select,.lab-brief textarea,.lab-brief select{font:14px/1.7 var(--font-body);padding:14px;border-radius:6px;background:var(--color-paper);border-color:var(--color-rule-strong)}.lab-brief h2{font:600 26px/1.3 var(--font-body)}.lab-tabs{border-radius:6px;padding:4px;background:var(--color-paper)}.lab-tabs button{padding:10px 16px;border-radius:4px;font:12px var(--font-body)}.lab-tabs button.on{background:var(--color-accent);color:var(--color-paper)}.lab-task{border-radius:8px;padding:20px;background:var(--color-paper)}.lab-task p{font:14px/1.85 var(--font-body)}.cycle-box p,.composer-note{font:11px/1.7 var(--font-body)}.queue-card{border-radius:12px}.registry-empty{font:14px var(--font-body)}.launch-card{border-radius:16px}.launch-layout{gap:42px}.field input,.field textarea,.field select{border-radius:6px;font:15px/1.6 var(--font-body);padding:15px}.protocol-step{border-radius:10px}.protocol-step h2{font-family:var(--font-body)}
#view{padding-top:88px}.culture-target{transition:border-color var(--dur-medium)}
.lab{padding-top:0}.lab-title{padding:40px 0 24px;margin:0 0 18px}.lab-roster>button.on{border-left-color:transparent;box-shadow:inset 2px 0 var(--color-accent)}.lab-brief .eyebrow{font-size:10px}
.organism{max-width:calc(100svh - 310px);justify-self:end}.organism-links path{animation:signal-travel 12s linear infinite}.infection-story[data-stage="1"] .ring-two{border-color:var(--color-accent);border-style:dotted}.infection-story[data-stage="2"] .culture-node,.infection-story[data-stage="3"] .culture-node{border-color:var(--color-accent)}.infection-story[data-stage="3"] .organism-field{background-size:24px 24px}.infection-story[data-stage="3"] .culture-node>span{animation:specimen-breathe 2s ease-in-out infinite}.lab-title>.page-specimen{display:none}
@keyframes signal-travel{to{stroke-dashoffset:-140}}
@media(max-width:680px){.organism{max-width:400px;justify-self:center}.lab-roster{max-height:none;display:block}.lab-roster>button{border-left-width:2px}.lab-identity span:not(.logo-crop){font-size:10px}}
@media(max-width:680px){#view{padding-top:74px}}
@keyframes specimen-breathe{50%{transform:scale(1.04)}}@keyframes ring-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes culture-scan{to{transform:translateY(100%)}}.motion-paused *{animation-play-state:paused!important}
@media(min-width:1700px){.culture-node{transform:translate(-50%,-50%) rotate(var(--angle)) translateX(240px) rotate(calc(-1*var(--angle)))}}
@media(max-width:1200px){.culture-node{transform:translate(-50%,-50%) rotate(var(--angle)) translateX(170px) rotate(calc(-1*var(--angle)))}.lab-agent-view{grid-template-columns:235px minmax(0,1fr)}.lab-brief{grid-column:2}.infection-chapters h1{letter-spacing:-2px}.infection-chapters{height:310px}.organism-caption,.organism-footer{padding:16px}.nav-links{gap:16px}.nav-row{gap:16px}}
@media(max-width:900px){.infection-pin{min-height:610px;gap:0 4%;grid-template-columns:1fr 1fr}.infection-chapters{height:315px}.culture-node{padding:5px;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(125px) rotate(calc(-1*var(--angle)))}.culture-node>div{display:none}.culture-node>span{font-size:20px}.infection-actions{gap:18px;flex-wrap:wrap}.specimen-tag{margin-top:24px}.organism-footer>span{display:none}.carrier-section{gap:6%}.agent-index-row{gap:12px;grid-template-columns:18px 35px 1fr 18px}.checkpoint-layout{gap:6%}.campaign-slip{padding:24px}.campaign-slip h3{font-size:28px}.lab-brief{grid-column:2}.nav-end .wallet-button{display:none}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.infect-top,.nav-row{height:74px;min-height:74px}.nav-row{gap:10px}.brand .logo-crop{width:32px;height:32px}.brand b{font-size:22px}.nav-end{gap:6px}.social-icon{width:34px;height:34px}.nav-end .px-btn{display:none}.nav-links{display:none}.menu-button{display:block}.mobile-menu.open{top:74px}.infection-story{height:320svh}.infection-pin{top:74px;height:calc(100svh - 74px);min-height:660px;grid-template-columns:1fr;grid-template-rows:auto 1fr 47px 24px;gap:0}.infection-copy{padding:22px 0 0}.infection-copy>.eyebrow{font-size:9px}.infection-chapters{height:210px;margin:12px 0 0}.infection-chapters h1{font-size:39px;margin:10px 0 12px;letter-spacing:-1.8px}.infection-chapters p{font-size:13px;line-height:1.7;margin:12px 0;max-width:100%}.chapter-label{font-size:10px}.infection-actions{margin:12px 0 16px;gap:18px}.infection-actions .px-btn{min-height:40px;padding:10px 15px;font-size:12px}.infection-actions .text-link{font-size:12px}.specimen-tag{display:none}.organism{width:100%;max-width:400px;justify-self:center;align-self:center}.organism-caption{font-size:8px;padding:10px 14px}.organism-field{aspect-ratio:1.5}.organism-core{width:31%}.organism-core>span{font-size:7px;margin-top:8px}.culture-node{transform:translate(-50%,-50%) rotate(var(--angle)) translateX(100px) rotate(calc(-1*var(--angle)))}.ring-one{width:40%;height:60%}.ring-two{width:57%;height:86%}.ring-three{width:78%;height:118%}.organism-footer{padding:8px 14px}.organism-footer>span{display:block;font-size:7px}.organism-footer button{font-size:8px}.organism-links{height:150%;top:-25%}.infection-steps{gap:10px}.infection-steps button{padding:12px 0;font-size:10px;gap:6px}.infection-steps button span{font-size:8px}.scroll-hint{font-size:7px;padding-bottom:6px}.carrier-section{grid-template-columns:1fr;gap:30px}.section-intro{position:relative;top:auto}.section-intro h2,.checkpoint h2,.infect-closing h2{font-size:32px}.section-intro p,.checkpoint p{font-size:14px}.checkpoint-layout{grid-template-columns:1fr;gap:38px}.campaign-slip{transform:none}.infect-closing{display:block}.infect-closing>div:last-child{margin-top:30px}.lab-title{padding-top:34px;gap:20px;align-items:flex-start}.lab-title h1{font-size:36px}.lab-title p{font-size:14px}.lab-title>.px-btn{font-size:11px;min-height:40px;padding:10px 14px}.lab-agent-view{display:flex;flex-direction:column}.lab-roster{position:relative;top:0}.lab-roster>button{min-height:62px}.lab-toolbar{padding:16px;gap:15px}.lab-identity{width:100%}.lab-tabs{width:100%;display:flex}.lab-tabs button{flex:1}.agent-composer,.lab-brief{padding:20px}.field input,.field textarea,.field select{font-size:16px}.infect-footer{display:flex;flex-wrap:wrap;gap:24px}.infect-footer>div{width:100%}}
@media(prefers-reduced-motion:reduce){.infection-story{height:auto}.infection-pin{position:relative;top:0;height:auto;min-height:0;padding-top:30px;padding-bottom:20px;gap:24px}.infection-chapters article{transition:none;transform:none}.infection-chapters{height:280px}.organism{max-width:520px}.infection-steps{align-self:auto}.scroll-hint{display:none}*,*:before,*:after{animation:none!important;transition:none!important}.culture-target{border-color:var(--color-rule)!important}}
