/* ===== CINEGENOME ALT v49.13 BETA / TEST UR DNA ===== */
.dna-test-section,.m-dna-test-section{
  position:relative;margin-top:28px;border:2px solid #11140f;background:#eef0e8;color:#11140f;overflow:hidden;
  box-shadow:5px 5px 0 rgba(17,20,15,.16)
}
.dna-test-section:before,.m-dna-test-section:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(54,69,49,.22) 24px,transparent 25px)
}
.dna-test-head{position:relative;z-index:1;padding:22px 24px 18px;border-bottom:1px dashed #6f776a}
.dna-test-head>span{display:block;font:700 9px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.16em;color:#747b6d}
.dna-test-head h2{margin:4px 0 6px;font:900 clamp(44px,7vw,88px)/.84 Arial Black,Impact,sans-serif;letter-spacing:-.075em;text-transform:uppercase}
.dna-test-head p{max-width:760px;margin:0;font:700 10px/1.55 "Courier Prime","Courier New",monospace;color:#4e564a;letter-spacing:.04em}
.dna-test-console{position:relative;z-index:1;min-height:330px;background:#0e120d;color:#e8eadf;padding:26px}
.dna-test-intro{min-height:280px;display:grid;align-content:center;gap:18px;max-width:850px}
.dna-test-console .lab-btn{border:1px solid #66725f;background:#151b14;color:#dfe5d7;padding:10px 13px;font:700 9px/1 "Courier Prime","Courier New",monospace;letter-spacing:.11em;cursor:pointer;text-transform:uppercase}
.dna-test-console .lab-btn.primary{background:#b8ff35;border-color:#b8ff35;color:#11140f;font-weight:900}

/* FINAL POLISH — make the first Filmprint action impossible to miss without turning it into a game CTA. */
.dna-test-intro .dna-begin{
  position:relative;justify-self:start;min-width:190px;
  box-shadow:0 0 0 1px rgba(184,255,53,.20),0 0 22px rgba(184,255,53,.16);
  animation:dnaBeginBeacon 1.55s cubic-bezier(.2,.7,.2,1) infinite;
}
.dna-test-intro .dna-begin:after{
  content:"READY";position:absolute;right:-48px;top:50%;transform:translateY(-50%);
  color:#b8ff35;font:700 7px/1 "Courier Prime","Courier New",monospace;letter-spacing:.16em;opacity:.72;
}
@keyframes dnaBeginBeacon{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 1px rgba(184,255,53,.18),0 0 14px rgba(184,255,53,.12)}
  50%{filter:brightness(1.12);box-shadow:0 0 0 2px rgba(184,255,53,.32),0 0 34px rgba(184,255,53,.28)}
}
@media(prefers-reduced-motion:reduce){.dna-test-intro .dna-begin{animation:none;box-shadow:0 0 0 2px rgba(184,255,53,.28),0 0 24px rgba(184,255,53,.18)}}
.dna-test-console .lab-btn:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.05)}
.dna-test-index,.dna-question-code,.dna-result-label{font:700 9px/1.4 "Courier Prime","Courier New",monospace;letter-spacing:.17em;color:#b8ff35}

/* BETA 40 — contextual field-note icons for FILMPRINT result terminology. */
.dna-result-label{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.dna-genome-key-copy>span,.dna-phenotype-line>span,.dna-why-head>span,.dna-connection-head>span,.dna-near-head>span,.dna-profile-title-line{display:inline-flex;align-items:center;gap:6px}
.dna-match>span{display:inline-flex;align-items:center;gap:6px}
.dna-profile-title-line{min-width:0}
.dna-info-btn{
  width:18px;height:18px;min-width:18px;padding:0;border:1px solid #5b6c55;border-radius:50%;
  background:#0a0f09;color:#b8ff35;display:inline-grid;place-items:center;vertical-align:middle;
  font:900 10px/1 Georgia,serif;text-transform:none;letter-spacing:0;cursor:pointer;
  box-shadow:0 0 0 1px rgba(184,255,53,.03),inset 0 0 0 1px rgba(184,255,53,.02);
  transition:transform .08s ease,background .08s ease,color .08s ease,border-color .08s ease,box-shadow .08s ease;
}
.dna-info-btn:hover,.dna-info-btn:focus-visible{background:#b8ff35;color:#071006;border-color:#b8ff35;box-shadow:0 0 14px rgba(184,255,53,.20);outline:none;transform:translateY(-1px)}
.dna-info-btn:active{transform:translate(1px,1px);box-shadow:none}
.dna-info-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:1px solid #60725a;background:#090e09;color:#e7ece2;box-shadow:10px 10px 0 rgba(0,0,0,.42)}
.dna-info-dialog::backdrop{background:rgba(3,6,3,.78);backdrop-filter:blur(2px)}
.dna-info-shell{position:relative;padding:22px 24px 24px;border-left:4px solid #b8ff35;background:linear-gradient(135deg,rgba(184,255,53,.045),transparent 46%),#090e09}
.dna-info-shell:before{content:"FIELD NOTE // READ ONLY";position:absolute;right:20px;top:18px;color:#52604e;font:700 6px/1 "Courier Prime","Courier New",monospace;letter-spacing:.12em}
.dna-info-shell>small{display:block;margin-bottom:9px;color:#b8ff35;font:700 7px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.13em}
.dna-info-shell h4{margin:0 44px 10px 0;color:#f0f4eb;font:900 20px/.95 Arial Black,Impact,sans-serif;letter-spacing:-.025em}
.dna-info-shell p{margin:0;max-width:54ch;color:#bdc8b7;font:10px/1.65 "Courier Prime","Courier New",monospace}
.dna-info-close{position:absolute;right:14px;top:13px;width:30px;height:30px;border:1px solid #3e4b3a;background:#0d130c;color:#8b9985;cursor:pointer;font:700 17px/1 Arial,sans-serif}
.dna-info-close:hover,.dna-info-close:focus-visible{border-color:#b8ff35;color:#b8ff35;outline:none}
@media(max-width:760px){
  .dna-info-dialog{width:min(94vw,520px)}
  .dna-info-shell{padding:20px 18px 21px}
  .dna-info-shell:before{display:none}
  .dna-info-shell h4{font-size:18px}
}
.dna-test-intro p{max-width:760px;margin:0;font:12px/1.7 "Courier Prime","Courier New",monospace;color:#cbd1c4}
.dna-test-intro p b{color:#fff}
.dna-test-meta{display:flex;flex-wrap:wrap;gap:7px}
.dna-test-meta span{border:1px solid #394237;padding:7px 9px;font:700 8px/1 "Courier Prime","Courier New",monospace;letter-spacing:.12em;color:#8e9a87}
.dna-resume{justify-self:start;border:0;background:transparent;color:#9ea99a;padding:0;font:700 9px/1.3 "Courier Prime","Courier New",monospace;text-decoration:underline;cursor:pointer}
.dna-test-question{max-width:900px;margin:0 auto;min-height:310px;display:flex;flex-direction:column;justify-content:center}
.dna-test-progressline{display:flex;justify-content:space-between;gap:20px;align-items:end;font:700 9px/1.3 "Courier Prime","Courier New",monospace;color:#7f8a79;letter-spacing:.1em}
.dna-test-progressline b{color:#b8ff35;font-size:11px}
.dna-test-progress{height:3px;background:#273025;margin:8px 0 25px;overflow:hidden}
.dna-test-progress i{display:block;height:100%;background:#b8ff35;transition:width .2s ease}
.dna-test-question h3{max-width:820px;margin:8px 0 27px;font:800 clamp(20px,3vw,34px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.03em;color:#f3f4ed}
.likert-shell{position:relative;padding:8px 0 0}
/* One authored rail for both the native thumb and the five station dots. The
   20px thumb travels from x=10px to width-10px, so the rail and station
   centers use those exact same endpoints. */
.likert-shell:before{content:"";position:absolute;z-index:0;left:10px;right:10px;top:24px;height:3px;background:#5c6757;pointer-events:none}
.likert-range{position:relative;z-index:3;width:100%;height:34px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}
.likert-range::-webkit-slider-runnable-track{height:3px;background:transparent;border-radius:0}
.likert-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-8.5px;border-radius:50%;border:4px solid #0e120d;background:#b8ff35;box-shadow:0 0 0 2px #b8ff35}
.likert-range::-moz-range-track{height:3px;background:transparent;border:0}
.likert-range::-moz-range-progress{height:3px;background:transparent}
.likert-range::-moz-range-thumb{box-sizing:border-box;width:20px;height:20px;border-radius:50%;border:4px solid #0e120d;background:#b8ff35;box-shadow:0 0 0 2px #b8ff35}
/* Do not pretend NEUTRAL is selected before the user has actually answered. */
.likert-shell:not(.is-touched) .likert-range::-webkit-slider-thumb{background:transparent;border-color:transparent;box-shadow:none}
.likert-shell:not(.is-touched) .likert-range::-moz-range-thumb{background:transparent;border-color:transparent;box-shadow:none}
.likert-dots{position:absolute;z-index:4;left:0;right:0;top:15px;display:flex;justify-content:space-between;pointer-events:none}
.likert-dots button{pointer-events:auto;width:20px;height:20px;padding:0;border-radius:50%;background:transparent;border:0;cursor:pointer;position:relative}
.likert-dots button:before{content:"";position:absolute;left:6px;top:6px;width:8px;height:8px;border-radius:50%;background:#737e6e;border:2px solid #0e120d;box-sizing:border-box;box-shadow:0 0 0 1px #566151}
.likert-dots button:hover:before,.likert-dots button:focus-visible:before{box-shadow:0 0 0 2px #b8ff35}
.likert-dots button.is-on:before{background:#b8ff35;box-shadow:0 0 0 1px #b8ff35}
.likert-ends{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;margin-top:4px;font:700 8px/1.35 "Courier Prime","Courier New",monospace;letter-spacing:.08em;color:#788374}
.likert-ends span:last-child{text-align:right}
.likert-ends b{min-width:150px;text-align:center;color:#e8eadf;font-size:9px;letter-spacing:.12em}
.likert-shell:not(.is-touched) .likert-ends b{color:#6d7868}
.dna-question-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.dna-question-actions .lab-btn{min-width:120px}
.dna-question-actions .lab-btn:disabled{opacity:.3;cursor:not-allowed}
.dna-touch-hint{margin-top:10px;color:#6d7868;font:700 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.08em}
.dna-result{display:grid;gap:18px}
.dna-result-grid{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:stretch}
.dna-result-poster{position:relative;min-height:238px;border:1px solid #3b4638;background:repeating-linear-gradient(135deg,#111710 0 9px,#151c14 9px 18px);overflow:hidden}
.dna-result-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dna-result-poster-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#4e5b49;font:900 38px/.9 Arial Black,Impact,sans-serif;letter-spacing:-.05em}
.dna-result-copy{min-width:0;align-self:center}
.dna-rank{font:700 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.15em;color:#7e8978}
.dna-result-copy h3{margin:5px 0 10px;font:900 clamp(31px,5vw,60px)/.88 Arial Black,Impact,sans-serif;letter-spacing:-.065em;color:#f1f3ea;text-transform:uppercase}
.dna-match{display:flex;align-items:baseline;gap:10px;margin:12px 0}
.dna-match strong{font:900 32px/1 Arial Black,Impact,sans-serif;color:#b8ff35}
.dna-match span{font:700 8px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.14em;color:#899482}
.dna-result-copy p{max-width:680px;font:11px/1.65 "Courier Prime","Courier New",monospace;color:#bec6b7}
.dna-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.dna-reasons span{display:flex;gap:8px;border:1px solid #384236;padding:6px 8px;font:700 8px/1 "Courier Prime","Courier New",monospace;color:#899482}
.dna-reasons b{color:#d9dfd2}
.dna-near{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:6px;align-items:center;border-top:1px dashed #3b4538;padding-top:14px;font:700 8px/1.35 "Courier Prime","Courier New",monospace;color:#74806f}
.dna-near>b{border-left:1px solid #2f382d;padding-left:10px;color:#b3bba9;font-size:9px}
.dna-near small{color:#667061}
.dna-result-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dna-result-actions small{font:700 8px/1.35 "Courier Prime","Courier New",monospace;color:#697463}

/* BETA 7 — explain why the user's taste DNA converges with the matched film. */
.dna-why{display:grid;gap:10px;padding:16px 17px;border:1px solid #3a4637;background:linear-gradient(180deg,#121811 0%,#0f140e 100%);box-shadow:inset 3px 0 0 #b8ff35}
.dna-why-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.dna-why-head span{font:900 13px/1 Arial Black,Impact,sans-serif;letter-spacing:-.025em;color:#b8ff35}
.dna-why-head small{font:700 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.09em;color:#687363;text-align:right}
.dna-why p{margin:0;max-width:920px;font:10px/1.7 "Courier Prime","Courier New",monospace;color:#aeb7a8}
.dna-why .dna-why-lede{font-size:12px;line-height:1.55;color:#edf0e7}
.dna-why-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:2px}
.dna-why-evidence span{display:grid;gap:4px;padding:8px 9px;border:1px solid #303a2e;background:#0c110b}
.dna-why-evidence b{font:700 8px/1.25 "Courier Prime","Courier New",monospace;letter-spacing:.09em;color:#d9dfd2}
.dna-why-evidence em{font:700 8px/1.25 "Courier Prime","Courier New",monospace;font-style:normal;color:#b8ff35}
.dna-why-note{padding-top:8px;border-top:1px dashed #33402f;font:700 8px/1.55 "Courier Prime","Courier New",monospace;letter-spacing:.03em;color:#697563}

/* BETA 6 — visible 15-axis DNA strand. */
.dna-profile{border-top:1px dashed #3b4538;border-bottom:1px dashed #3b4538;padding:16px 0 18px}
.dna-profile-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}
.dna-profile-head>div{display:grid;gap:4px}
.dna-profile-head span,.dna-share-head b{font:700 9px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.15em;color:#b8ff35}
.dna-profile-head b{font:700 10px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.08em;color:#dce2d5}
.dna-profile-head small,.dna-share-head small{font:700 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.08em;color:#687363}
.dna-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.dna-profile-axis>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;font:700 8px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.07em;color:#929d8d}
.dna-profile-axis>div b{color:#dce2d5}
.dna-profile-axis>i{display:block;height:4px;background:#2e382d;overflow:hidden}
.dna-profile-axis>i>em{display:block;height:100%;background:#b8ff35}

/* Export cards are rendered locally with Canvas; no external share-card service. */
.dna-share{display:grid;gap:10px;padding:14px;border:1px solid #354033;background:#111610}
.dna-share-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dna-share-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.dna-share-buttons .lab-btn{min-width:0;padding:10px 7px}
.dna-share-buttons .lab-btn:disabled{opacity:.45;cursor:wait}
.dna-share-status{color:#6f7b6b;font:700 8px/1.35 "Courier Prime","Courier New",monospace;letter-spacing:.06em}

/* Visitor stays tiny in the footer. */
.footer-visitors{white-space:nowrap;color:#747d70;font:700 8px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.08em}
.footer-visitors strong{color:#a8b1a1;font-size:9px}
.footer-visitors small{display:none!important}
.m-dna-test-section{margin:18px 12px 0}
.m-footer-visitors{display:block!important;margin-top:5px;color:#6f786b!important;font:700 8px/1.3 "Courier Prime","Courier New",monospace!important;letter-spacing:.08em}
.m-footer-visitors strong{color:#11140f}
.m-footer-visitors small{display:none!important}

/* BETA 4 — DNA is a real sidebar module, not a footer block. */
.dna-nav-btn{
  width:100%;
  flex:0 0 auto;
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--paper);
  box-shadow:3px 3px 0 rgba(17,20,15,.16);
}
.dna-nav-btn small{color:#aeb5a7!important}
.dna-nav-btn b{color:var(--acid);font-size:15px;line-height:1}
.dna-nav-btn:hover{background:#181d16;color:#fff;transform:translateX(2px)}
.dna-nav-btn.is-active{background:var(--ink);color:var(--acid);box-shadow:inset 4px 0 0 var(--acid),3px 3px 0 rgba(17,20,15,.16)}
.dna-nav-btn.is-active span{color:var(--acid)!important}
.dna-nav-btn.is-active small{color:#aeb5a7!important}
.sidebar-containment{
  margin-top:0!important;
  flex:0 0 auto;
  background:rgba(255,255,255,.16);
}
.dna-test-section.view{margin-top:16px}

@media(max-width:760px){
  .dna-test-section{margin-top:18px}
  .dna-test-head{padding:18px 16px 15px}
  .dna-test-head h2{font-size:48px}
  .dna-test-console{padding:18px 15px;min-height:370px}
  .dna-test-intro{min-height:330px}
  .dna-test-question{min-height:350px}
  .dna-test-question h3{font-size:23px;margin-bottom:22px}
  .likert-ends{grid-template-columns:1fr 1fr;gap:7px}
  .likert-ends b{grid-column:1/-1;grid-row:1;min-width:0;margin-bottom:4px}
  .likert-ends span{grid-row:2}
  .dna-question-actions .lab-btn{min-width:0;flex:1}
  .dna-result-grid{grid-template-columns:92px minmax(0,1fr);gap:13px}
  .dna-result-poster{min-height:138px}
  .dna-result-copy h3{font-size:29px}
  .dna-match strong{font-size:25px}
  .dna-near{grid-template-columns:1fr}
  .dna-near>b{border-left:0;border-top:1px dotted #313b2f;padding:6px 0 0}
  .dna-profile-head{align-items:start;flex-direction:column;gap:5px}
  .dna-profile-grid{grid-template-columns:1fr 1fr;gap:10px 12px}
  .dna-share-head{align-items:start;flex-direction:column;gap:4px}
  .dna-share-buttons{grid-template-columns:1fr 1fr}
}

@media (max-width:720px){
  .dna-why{padding:13px}
  .dna-why-head{align-items:flex-start;flex-direction:column;gap:4px}
  .dna-why-head small{text-align:left}
  .dna-why-evidence{grid-template-columns:1fr}
}

/* BETA 8 — modular share-card composer. */
.dna-share-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.dna-share-options label{position:relative;display:flex;align-items:center;min-height:38px;border:1px solid #354033;background:#0c110b;cursor:pointer;user-select:none;transition:border-color .14s ease,background .14s ease,transform .14s ease}
.dna-share-options label:hover{border-color:#687563;transform:translateY(-1px)}
.dna-share-options input{position:absolute;opacity:0;pointer-events:none}
.dna-share-options span{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;color:#737e70;font:700 8px/1.25 "Courier Prime","Courier New",monospace;letter-spacing:.08em}
.dna-share-options span:before{content:"";flex:0 0 10px;width:10px;height:10px;border:1px solid #596655;background:#151c14;box-shadow:inset 0 0 0 2px #0c110b}
.dna-share-options input:checked+span{color:#dfe5d8;background:#151c14}
.dna-share-options input:checked+span:before{background:#b8ff35;border-color:#b8ff35}
.dna-share-options input:focus-visible+span{outline:2px solid #b8ff35;outline-offset:-2px}
@media(max-width:760px){.dna-share-options{grid-template-columns:1fr 1fr}}

/* BETA 9 — deeper diagnosis, honest mismatch readout, poster-ready export composer. */
.dna-diagnosis,.dna-friction{display:grid;gap:10px;padding:16px 17px;border:1px solid #354033;background:#10160f}
.dna-diagnosis{box-shadow:inset 3px 0 0 #eef0e8}
.dna-diagnosis-head,.dna-friction-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.dna-diagnosis-head span,.dna-friction-head span{font:900 13px/1 Arial Black,Impact,sans-serif;letter-spacing:-.025em;color:#eef0e8}
.dna-diagnosis-head small,.dna-friction-head small{font:700 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.09em;color:#687363;text-align:right}
.dna-diagnosis p,.dna-friction p{margin:0;max-width:960px;font:10px/1.7 "Courier Prime","Courier New",monospace;color:#adb7a7}
.dna-diagnosis .dna-diagnosis-lede{font-size:13px;line-height:1.5;color:#b8ff35}
.dna-diagnosis-readout{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dna-diagnosis-readout span{padding:9px 10px;border:1px solid #2f392d;background:#0b100a;font:700 8px/1.55 "Courier Prime","Courier New",monospace;color:#7e8a78}
.dna-friction{border-style:dashed;background:#0d120c}
.dna-friction-head span{color:#b8ff35}
.dna-friction-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.dna-friction-evidence span{display:grid;gap:4px;padding:8px 9px;border:1px solid #303a2e;background:#0a0f09}
.dna-friction-evidence b{font:700 8px/1.25 "Courier Prime","Courier New",monospace;letter-spacing:.09em;color:#d9dfd2}
.dna-friction-evidence em{font:700 8px/1.25 "Courier Prime","Courier New",monospace;font-style:normal;color:#b8ff35}
.dna-friction>small{font:700 8px/1.55 "Courier Prime","Courier New",monospace;color:#687363}
.dna-share-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){
  .dna-diagnosis-head,.dna-friction-head{align-items:flex-start;flex-direction:column;gap:4px}
  .dna-diagnosis-head small,.dna-friction-head small{text-align:left}
  .dna-diagnosis-readout,.dna-friction-evidence{grid-template-columns:1fr}
  .dna-share-options{grid-template-columns:1fr 1fr}
}

/* Beta 10 — premium per-film specimen bio + decimal DNA fingerprint */
.dna-specimen-bio{display:grid;gap:10px;padding:16px 17px;border:1px solid #465442;background:linear-gradient(135deg,#111711 0%,#0c120c 100%);box-shadow:inset 3px 0 0 #87947f}
.dna-specimen-bio-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.dna-specimen-bio-head span{font:900 13px/1 Arial Black,Impact,sans-serif;letter-spacing:-.025em;color:#eef0e8}
.dna-specimen-bio-head small{font:700 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.08em;color:#7f8a79;text-align:right}
.dna-specimen-bio p{margin:0;max-width:960px;font:10px/1.7 "Courier Prime","Courier New",monospace;color:#aeb7a8}
.dna-specimen-bio .dna-specimen-bio-lede{font-size:12px;line-height:1.55;color:#dfe5da}
.dna-specimen-bio-axis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.dna-specimen-bio-axis span{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;border:1px solid #303a2e;background:#0a0f09}
.dna-specimen-bio-axis b{font:700 8px/1.25 "Courier Prime","Courier New",monospace;letter-spacing:.08em;color:#cbd3c5}
.dna-specimen-bio-axis em{font:900 9px/1 "Courier Prime","Courier New",monospace;font-style:normal;color:#b8ff35}
@media(max-width:760px){.dna-specimen-bio-head{align-items:flex-start;flex-direction:column;gap:4px}.dna-specimen-bio-head small{text-align:left}.dna-specimen-bio-axis{grid-template-columns:1fr}}

/* BETA 20 — switchable SELF / SPECIMEN / OVERLAY DNA reader. */
.dna-profile-switch{
  display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(390px,100%);margin:0 0 13px;border:1px solid #3b4937;background:#0d120c;
}
.dna-profile-switch button{
  min-height:34px;padding:7px 10px;border:0;border-right:1px solid #3b4937;
  background:transparent;color:#737e70;cursor:pointer;
  font:700 8px/1 "Courier Prime","Courier New",monospace;letter-spacing:.12em;
}
.dna-profile-switch button:last-child{border-right:0}
.dna-profile-switch button:hover,.dna-profile-switch button:focus-visible{color:#e4eadf;outline:1px solid #b8ff35;outline-offset:-3px}
.dna-profile-switch button.is-active{background:#b8ff35;color:#11140f}
.dna-profile-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right}
.dna-profile-overlay-key{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#8c9788;font:700 7px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.08em}
.dna-profile-overlay-key[hidden]{display:none!important}
.dna-profile-overlay-key span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.dna-profile-overlay-key span b{font:700 7px/1.2 "Courier Prime","Courier New",monospace;color:#8c9788;letter-spacing:.08em}
.dna-profile-overlay-key span i{width:9px;height:9px;border-radius:50%;background:#b8ff35;box-shadow:0 0 0 1px #b8ff35;flex:0 0 9px}
.dna-profile-overlay-key .is-film i{background:#0d120c;box-shadow:0 0 0 2px #0d120c,0 0 0 3px #dce2d5}
.dna-profile-overlay-key .is-self b{color:#a9b5a4}
.dna-profile-overlay-key .is-film b{color:#a9b5a4}
.dna-profile-axis.is-specimen>i>em{background:#dce2d5}
.dna-profile-axis.is-specimen>div b{color:#dce2d5}
.dna-profile-axis-overlay>div b{display:flex;gap:10px;align-items:center;font-size:7px;white-space:nowrap}
.dna-profile-axis-overlay>div b em,.dna-profile-axis-overlay>div b strong{font:700 7px/1.2 "Courier Prime","Courier New",monospace;font-style:normal}
.dna-profile-axis-overlay>div b em{color:#b8ff35}
.dna-profile-axis-overlay>div b strong{color:#dce2d5}
.dna-overlay-rail{position:relative!important;overflow:visible!important;height:4px!important;background:#2e382d!important}
.dna-overlay-rail:before{content:"";position:absolute;inset:-5px 0;pointer-events:none}
.dna-overlay-self,.dna-overlay-film{position:absolute;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;z-index:2}
.dna-overlay-self{background:#b8ff35;box-shadow:0 0 0 2px #0d120c,0 0 0 3px #b8ff35}
.dna-overlay-film{background:#0d120c;box-shadow:0 0 0 2px #0d120c,0 0 0 3px #dce2d5}
@media(max-width:760px){
  .dna-profile-switch{width:100%}
  .dna-profile-head-right{width:100%;align-items:flex-start;text-align:left}
  .dna-profile-overlay-key{justify-content:flex-start;flex-wrap:wrap;gap:8px 12px}
  .dna-profile-axis-overlay>div b{gap:7px;font-size:6px}
  .dna-profile-axis-overlay>div b em,.dna-profile-axis-overlay>div b strong{font-size:6px}
}

/* BETA 25 — shareable GENOME KEY, friend crosscheck, quieter export drawer. */
.dna-result-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.dna-genome-key{display:grid;grid-template-columns:auto auto;align-items:center;gap:7px 12px;min-width:360px;padding:10px 11px;border:1px solid #354033;background:#0c110b;box-shadow:inset 3px 0 0 #b8ff35}
.dna-genome-key-copy{display:grid;gap:2px}
.dna-genome-key-copy span{font:900 9px/1 Arial Black,Impact,sans-serif;color:#b8ff35;letter-spacing:.06em}
.dna-genome-key-copy small{font:700 6px/1.25 "Courier Prime","Courier New",monospace;color:#6d7869;letter-spacing:.09em}
.dna-genome-key code{justify-self:end;color:#e2e8dc;font:700 10px/1 "Courier Prime","Courier New",monospace;letter-spacing:.055em;white-space:nowrap}
.dna-genome-key-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dna-genome-key-actions button{min-height:28px;border:1px solid #3b4937;background:#111710;color:#99a495;cursor:pointer;font:700 7px/1 "Courier Prime","Courier New",monospace;letter-spacing:.1em}
.dna-genome-key-actions button:hover,.dna-genome-key-actions button:focus-visible{border-color:#b8ff35;color:#b8ff35;outline:none}
.dna-genome-key>em{grid-column:1/-1;min-height:8px;color:#b8ff35;font:700 6px/1.2 "Courier Prime","Courier New",monospace;font-style:normal;letter-spacing:.08em}

.dna-compare-panel{display:grid;gap:10px;padding:14px 15px;border:1px solid #4a5946;background:linear-gradient(135deg,#101710,#0a100a);box-shadow:inset 3px 0 0 #b8ff35}
.dna-compare-panel[hidden]{display:none!important}
.dna-compare-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.dna-compare-panel-head>div{display:grid;gap:3px}
.dna-compare-panel-head span{font:900 13px/1 Arial Black,Impact,sans-serif;color:#eef0e8;letter-spacing:-.02em}
.dna-compare-panel-head small{font:700 7px/1.3 "Courier Prime","Courier New",monospace;color:#778273;letter-spacing:.09em}
.dna-compare-panel-head button{width:28px;height:28px;border:1px solid #354033;background:#0a0f09;color:#879381;cursor:pointer;font:700 16px/1 Arial,sans-serif}
.dna-compare-panel-head button:hover{border-color:#b8ff35;color:#b8ff35}
.dna-compare-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.dna-compare-entry input{min-width:0;border:1px solid #354033;background:#080d08;color:#e6ebe1;padding:10px 11px;font:700 10px/1 "Courier Prime","Courier New",monospace;letter-spacing:.07em;text-transform:uppercase}
.dna-compare-entry input:focus{outline:1px solid #b8ff35;border-color:#b8ff35}
.dna-compare-hint{font:700 7px/1.45 "Courier Prime","Courier New",monospace;color:#64705f;letter-spacing:.055em}
.dna-compare-output{display:grid;grid-template-columns:160px minmax(180px,.75fr) minmax(0,1.55fr);gap:8px}
.dna-compare-output[hidden]{display:none!important}
.dna-compare-score,.dna-compare-specimen,.dna-compare-signals>div{border:1px solid #303a2e;background:#090e09;padding:11px}
.dna-compare-score{display:grid;align-content:center;gap:2px}
.dna-compare-score strong{font:900 30px/.9 Arial Black,Impact,sans-serif;color:#b8ff35;letter-spacing:-.05em}
.dna-compare-score span,.dna-compare-specimen span,.dna-compare-signals span{font:700 7px/1.25 "Courier Prime","Courier New",monospace;color:#778273;letter-spacing:.1em}
.dna-compare-score small{margin-top:5px;font:700 6px/1.35 "Courier Prime","Courier New",monospace;color:#566151}
.dna-compare-specimen{display:grid;align-content:center;gap:6px}
.dna-compare-specimen b{font:900 16px/.98 Arial Black,Impact,sans-serif;color:#e8ece4;text-transform:uppercase}
.dna-compare-signals{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dna-compare-signals>div{display:grid;align-content:start;gap:6px}
.dna-compare-signals b{display:flex;justify-content:space-between;gap:8px;border-top:1px dotted #2e392c;padding-top:5px;font:700 8px/1.2 "Courier Prime","Courier New",monospace;color:#b8c1b2}
.dna-compare-signals b em{color:#b8ff35;font-style:normal}
.dna-compare-error{grid-column:1/-1;border:1px solid #53614f;background:#0a0f09;padding:11px;color:#b8ff35;font:700 8px/1.35 "Courier Prime","Courier New",monospace;letter-spacing:.07em}

/* Near Mutations remains part of the diagnosis; export controls no longer compete with it. */
.dna-near{display:grid;grid-template-columns:1fr;gap:9px;padding:14px 15px;border:1px solid #354033;border-top:1px solid #50604b;background:#0d120c}
.dna-near-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.dna-near-head span{font:900 12px/1 Arial Black,Impact,sans-serif;color:#eef0e8;letter-spacing:-.02em}
.dna-near-head small{font:700 7px/1.25 "Courier Prime","Courier New",monospace;color:#687363;letter-spacing:.08em;text-align:right}
.dna-near-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.dna-near-grid>b{display:grid;gap:4px;border:1px solid #303a2e;background:#090e09;padding:9px 10px;min-width:0}
.dna-near-grid em{font:700 7px/1 "Courier Prime","Courier New",monospace;color:#b8ff35;font-style:normal;letter-spacing:.1em}
.dna-near-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 9px/1.25 "Courier Prime","Courier New",monospace;color:#c6cec0}

.dna-share{display:block;padding:0;border:1px solid #354033;background:#0d120c}
.dna-share-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:0;background:#0d120c;color:inherit;cursor:pointer;text-align:left}
.dna-share-toggle:hover,.dna-share-toggle:focus-visible{background:#111811;outline:1px solid #b8ff35;outline-offset:-3px}
.dna-share-toggle>span{display:grid;gap:3px}
.dna-share-toggle b{font:900 11px/1 Arial Black,Impact,sans-serif;color:#e6ebe1;letter-spacing:-.01em}
.dna-share-toggle small{font:700 7px/1.25 "Courier Prime","Courier New",monospace;color:#667061;letter-spacing:.08em}
.dna-share-toggle em{font:700 7px/1 "Courier Prime","Courier New",monospace;color:#b8ff35;font-style:normal;letter-spacing:.1em;white-space:nowrap}
.dna-share.is-open .dna-share-toggle{border-bottom:1px solid #354033;background:#101610}
.dna-share-drawer{display:grid;gap:10px;padding:12px 14px 14px}
.dna-share-drawer[hidden]{display:none!important}

@media(max-width:760px){
  .dna-result-toolbar{display:grid;grid-template-columns:1fr;gap:10px}
  .dna-genome-key{min-width:0;width:100%;grid-template-columns:1fr}
  .dna-genome-key code{justify-self:start;font-size:9px}
  .dna-genome-key-actions{grid-column:auto}
  .dna-genome-key>em{grid-column:auto}
  .dna-compare-entry{grid-template-columns:1fr}
  .dna-compare-output{grid-template-columns:1fr}
  .dna-compare-signals{grid-template-columns:1fr 1fr}
  .dna-near-head{align-items:flex-start;flex-direction:column;gap:4px}
  .dna-near-head small{text-align:left}
  .dna-near-grid{grid-template-columns:1fr}
  .dna-near-grid strong{white-space:normal}
  .dna-share-toggle{align-items:flex-start}
}

/* BETA 26 — hybrid Genome Key: local-first, cloud share only on demand. */
.dna-genome-key.is-cloud{border-color:#4d6146;box-shadow:inset 3px 0 0 #b8ff35,0 0 0 1px rgba(184,255,53,.03)}
.dna-genome-key.is-cloud code{color:#b8ff35}
.dna-genome-key-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.dna-genome-key-actions button:disabled{cursor:wait;opacity:.55}
.dna-compare-specimen small{font:700 6px/1.3 "Courier Prime","Courier New",monospace;color:#687363;letter-spacing:.08em}

/* Compact crosscheck readout: verified values, coverage and a single interpretation. */
.dna-compare-output{grid-template-columns:1fr;gap:10px}
.dna-compare-score{gap:5px;padding:16px;border-left:3px solid #b8ff35}
.dna-compare-score strong{font-size:clamp(30px,5vw,46px)}
.dna-compare-score small{font-size:8px;color:#94a28d}
.dna-compare-specimen{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.dna-compare-specimen>div{display:grid;gap:6px;min-width:0}
.dna-compare-specimen>i{font:700 9px "Courier Prime","Courier New",monospace;color:#b8ff35;font-style:normal}
.dna-compare-specimen b{overflow-wrap:anywhere}
.dna-compare-signals{grid-template-columns:repeat(2,minmax(0,1fr))}
.dna-compare-signals>div{gap:8px}
.dna-compare-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;border-top:1px dotted #2e392c;padding-top:8px}
.dna-compare-row b{display:block;border:0;padding:0;color:#e3e9df;font:700 9px/1.3 "Courier Prime","Courier New",monospace}
.dna-compare-row small{grid-column:1;color:#a1afa0;font:700 8px/1.4 "Courier Prime","Courier New",monospace}
.dna-compare-row em{grid-column:2;grid-row:1/3;align-self:center;color:#b8ff35;font:700 10px "Courier Prime","Courier New",monospace;font-style:normal}
.dna-compare-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #52634b;padding:10px 0 2px}
.dna-compare-reading>div{display:grid;align-content:start;gap:5px;min-width:0;padding:3px 14px 3px 0}
.dna-compare-reading>div+div{border-left:1px dotted #364432;padding-left:14px}
.dna-compare-reading span{color:#8ea37f;font:700 7px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.14em}
.dna-compare-reading b{color:#b8ff35;font:900 12px/1.1 Arial Black,Impact,sans-serif;letter-spacing:.01em}
.dna-compare-reading small,.dna-compare-reading p{margin:0;color:#a7b4a2;font:700 8px/1.45 "Courier Prime","Courier New",monospace}
.dna-compare-reading p{grid-column:1/-1;padding:3px 0}
.dna-compare-route-lines{display:grid;gap:5px}
.dna-compare-route-lines small{display:flex;justify-content:space-between;gap:10px;border-top:1px dotted #364432;padding-top:6px;color:#a7b4a2}
.dna-compare-route-lines b{font:700 9px/1.35 "Courier Prime","Courier New",monospace;overflow-wrap:anywhere;text-align:right}
@media(max-width:760px){.dna-compare-specimen{grid-template-columns:1fr}.dna-compare-signals{grid-template-columns:1fr}.dna-compare-specimen>i{padding:1px 0}}
@media(max-width:480px){.dna-compare-reading{grid-template-columns:1fr;gap:10px}.dna-compare-reading>div+div{border-left:0;border-top:1px dotted #364432;padding:10px 0 0}}
@media(max-width:760px){
  .dna-genome-key-actions{grid-template-columns:1fr}
}

/* BETA 27 — cloud key is the public identity; offline key remains invisible fallback. */
.dna-genome-key.is-unpublished code{color:#687363;letter-spacing:.08em}
.dna-genome-key.is-unpublished{box-shadow:inset 3px 0 0 #465142;border-color:#354033}
.dna-genome-key.is-unpublished .dna-genome-key-copy span{color:#d9dfd4}
.dna-genome-key-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.dna-genome-key-actions button[hidden]{display:none!important}
.dna-genome-key.is-cloud .dna-genome-key-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
  .dna-genome-key-actions,.dna-genome-key.is-cloud .dna-genome-key-actions{grid-template-columns:1fr 1fr}
}

/* Beta 28 — per-user connection route into the winning specimen */
.dna-connection{display:grid;gap:11px;padding:17px;border:1px solid #465442;background:linear-gradient(135deg,#111811 0%,#0b110b 100%);box-shadow:inset 3px 0 0 #b8ff35}
.dna-connection-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.dna-connection-head span{font:900 13px/1 Arial Black,Impact,sans-serif;letter-spacing:-.025em;color:#b8ff35}
.dna-connection-head small{font:700 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.09em;color:#687363;text-align:right}
.dna-connection-type{display:flex;align-items:baseline;gap:8px;padding:2px 0 1px}
.dna-connection-type strong{font:900 clamp(26px,4vw,46px)/.95 Arial Black,Impact,sans-serif;letter-spacing:-.055em;color:#eef0e8}
.dna-connection-type b{font:900 24px/1 "Courier Prime","Courier New",monospace;color:#b8ff35}
.dna-connection p{margin:0;max-width:940px;font:10px/1.7 "Courier Prime","Courier New",monospace;color:#adb7a7}
.dna-connection-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.dna-connection-evidence span{display:grid;gap:4px;padding:8px 9px;border:1px solid #303a2e;background:#0a0f09}
.dna-connection-evidence b{font:700 8px/1.25 "Courier Prime","Courier New",monospace;letter-spacing:.09em;color:#d9dfd2}
.dna-connection-evidence em{font:700 8px/1.25 "Courier Prime","Courier New",monospace;font-style:normal;color:#b8ff35}
.dna-connection>small{padding-top:8px;border-top:1px dashed #33402f;font:700 8px/1.55 "Courier Prime","Courier New",monospace;color:#687363}
@media(max-width:760px){.dna-connection{padding:13px}.dna-connection-head{align-items:flex-start;flex-direction:column;gap:4px}.dna-connection-head small{text-align:left}.dna-connection-evidence{grid-template-columns:1fr}.dna-connection-type strong{font-size:30px}.dna-connection-type b{font-size:20px}}

/* BETA 30 — consolidated FILMPRINT report: phenotype + affinity + deviation + subject route. */
.dna-phenotype-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 2px;padding:7px 9px;border:1px solid #303a2e;background:#0b100a;font-family:"Courier Prime","Courier New",monospace;text-transform:uppercase}
.dna-phenotype-line span{font:700 7px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.12em;color:#6f7a6b}
.dna-phenotype-line b{font:900 8px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.08em;color:#dbe2d5}
.dna-phenotype-line small{margin-left:auto;font:700 7px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.08em;color:#b8ff35}
.dna-affinity{box-shadow:inset 3px 0 0 #b8ff35}
.dna-affinity-band{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;align-items:start;padding:9px 10px;border:1px solid #303a2e;background:#0b100a}
.dna-affinity-band>b{font:900 8px/1.3 "Courier Prime","Courier New",monospace;letter-spacing:.11em;color:#b8ff35}
.dna-affinity-band p{margin:0!important;font:10px/1.55 "Courier Prime","Courier New",monospace;color:#dce3d6!important}
.dna-affinity-band.is-deviation{border-style:dashed;background:#0a0f09}
.dna-affinity-band.is-deviation>b{color:#cbd3c5}
.dna-affinity-band.is-deviation em{grid-column:2;font:700 7px/1.3 "Courier Prime","Courier New",monospace;font-style:normal;letter-spacing:.06em;color:#7f8b79}
.dna-subject-readout{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 9px;border:1px dashed #344031;background:#0a0f09}
.dna-subject-readout span{font:700 7px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.12em;color:#687363}
.dna-subject-readout b{font:900 8px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.07em;color:#dbe2d5}
@media(max-width:760px){
  .dna-phenotype-line small{width:100%;margin-left:0}
  .dna-affinity-band{grid-template-columns:1fr;gap:5px}
  .dna-affinity-band.is-deviation em{grid-column:1}
}


/* BETA 32 — FILMPRINT becomes an immersive black/acid-green laboratory mode. */
body.filmprint-mode{
  --paper:#070a07;
  --paper-2:#0a0f09;
  --ink:#b8ff35;
  --muted:#708066;
  --line:#293326;
  --panel:#0b100a;
  --panel-dark:#050805;
  --shadow:rgba(0,0,0,.5);
  background:
    linear-gradient(rgba(184,255,53,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,255,53,.032) 1px,transparent 1px),
    radial-gradient(circle at 78% 12%,rgba(184,255,53,.055),transparent 30%),#050805;
  background-size:28px 28px,28px 28px,auto;
  color:#dce5d7;
}
body.filmprint-mode .sidebar{
  border-color:#34412f;
  background:rgba(5,8,5,.96);
  box-shadow:inset -1px 0 0 rgba(184,255,53,.12);
}
body.filmprint-mode .brand-block,
body.filmprint-mode .hero-panel,
body.filmprint-mode .containment-card{
  background:#090e09;
  border-color:#384634;
  box-shadow:4px 4px 0 rgba(0,0,0,.45);
}
body.filmprint-mode .brand-mark,
body.filmprint-mode .brand-wordmark,
body.filmprint-mode .reactor-status,
body.filmprint-mode .hero-panel h1,
body.filmprint-mode .hero-panel h1 span{color:#d8e3d2}
body.filmprint-mode .brand-topline,
body.filmprint-mode .brand-sub,
body.filmprint-mode .eyebrow,
body.filmprint-mode .hero-panel p,
body.filmprint-mode .containment-row,
body.filmprint-mode .section-kicker{color:#667360}
body.filmprint-mode .status-led{background:#b8ff35;border-color:#b8ff35;box-shadow:0 0 12px rgba(184,255,53,.62)}
body.filmprint-mode .module-btn{
  color:#788574;
  border-color:#293326;
  background:#070b07;
}
body.filmprint-mode .module-btn:hover{background:#0c120b;color:#c8d4c3}
body.filmprint-mode .module-btn small{color:#4f5c4b!important}
body.filmprint-mode .dna-nav-btn,
body.filmprint-mode .dna-nav-btn.is-active{
  background:#b8ff35;
  border-color:#b8ff35;
  color:#050805;
  box-shadow:0 0 0 1px #b8ff35,0 0 22px rgba(184,255,53,.12);
}
body.filmprint-mode .dna-nav-btn b,
body.filmprint-mode .dna-nav-btn.is-active b,
body.filmprint-mode .dna-nav-btn.is-active span{color:#050805!important}
body.filmprint-mode .dna-nav-btn small,
body.filmprint-mode .dna-nav-btn.is-active small{color:#28351f!important}
body.filmprint-mode .warning-stamp{border-color:#b8ff35;color:#b8ff35;background:#070b07;opacity:.72}
body.filmprint-mode .site-footer{border-color:#283326;color:#5b6756}
body.filmprint-mode .site-footer .footer-link{color:#81907b;border-color:#33402f;background:#080d08}

body.filmprint-mode .dna-test-section{
  border:1px solid #43523e;
  box-shadow:0 0 0 1px rgba(184,255,53,.035),0 18px 70px rgba(0,0,0,.34);
  background:#070b07;
}
body.filmprint-mode .dna-test-section:before{opacity:.16}
body.filmprint-mode .dna-test-head{
  min-height:220px;
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);
  grid-template-areas:"kicker title" "copy title";
  align-items:end;
  gap:8px 30px;
  padding:28px 32px 25px;
  border-bottom:1px solid #3a4935;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(184,255,53,.055) 1px,transparent 1px),
    linear-gradient(rgba(184,255,53,.04) 1px,transparent 1px),
    linear-gradient(115deg,#080d08 0%,#0b1309 58%,#050805 100%);
  background-size:42px 42px,42px 42px,auto;
}
body.filmprint-mode .dna-test-head:before{
  content:"ASSAY CHANNEL // FP-030\A SUBJECT STATE // UNLOCKED\A MATCH ENGINE // DETERMINISTIC";
  white-space:pre;
  position:absolute;
  left:32px;
  top:28px;
  font:700 8px/1.65 "Courier Prime","Courier New",monospace;
  letter-spacing:.12em;
  color:#54624f;
}
body.filmprint-mode .dna-test-head:after{
  content:"+";
  position:absolute;
  right:30px;
  top:20px;
  width:34px;height:34px;
  display:grid;place-items:center;
  border:1px solid #3d4d37;
  border-radius:50%;
  color:#b8ff35;
  font:400 22px/1 monospace;
  box-shadow:0 0 0 8px rgba(184,255,53,.018),0 0 28px rgba(184,255,53,.08);
}
body.filmprint-mode .dna-test-head>span{
  grid-area:kicker;
  align-self:end;
  margin-top:70px;
  color:#778672;
}
body.filmprint-mode .dna-test-head>p{
  grid-area:copy;
  color:#95a48e;
  max-width:520px;
}
body.filmprint-mode .dna-test-head h2{
  grid-area:title;
  justify-self:end;
  align-self:center;
  margin:28px 0 0;
  text-align:right;
  color:#b8ff35;
  font-family:var(--font-brand,"Oxanium","Arial Narrow",sans-serif)!important;
  font-weight:700;
  font-size:clamp(70px,9vw,138px);
  letter-spacing:-.075em;
  text-shadow:0 0 28px rgba(184,255,53,.12);
}
body.filmprint-mode .dna-test-console{
  border:0;
  background:
    linear-gradient(rgba(184,255,53,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,255,53,.018) 1px,transparent 1px),#060a06;
  background-size:24px 24px;
}

/* Result actions: export becomes a peer action at the bottom instead of a content block. */
.dna-result-actions{justify-content:space-between;border-top:1px dashed #354033;padding-top:14px}
.dna-result-action-buttons{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.dna-export-open{border-color:#b8ff35!important;color:#b8ff35!important;background:#091008!important;box-shadow:inset 0 0 0 1px rgba(184,255,53,.08)}
.dna-export-open:hover{background:#111b0f!important}

/* Export terminal is modal-only; it consumes no result-page height until opened. */
.dna-export-dialog{
  width:min(760px,calc(100vw - 32px));
  max-height:min(760px,calc(100vh - 32px));
  margin:auto;
  padding:0;
  border:1px solid #53644d;
  background:#070b07;
  color:#e0e7dc;
  box-shadow:0 30px 100px rgba(0,0,0,.68),inset 3px 0 0 #b8ff35;
}
.dna-export-dialog::backdrop{background:rgba(2,4,2,.78);backdrop-filter:blur(3px)}
.dna-export-shell{display:grid;gap:14px;padding:17px}
.dna-export-head{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:12px;border-bottom:1px dashed #384534}
.dna-export-head>div{display:grid;gap:5px}
.dna-export-head span{font:700 8px/1.2 "Courier Prime","Courier New",monospace;letter-spacing:.13em;color:#71806c}
.dna-export-head b{font:900 22px/.95 Arial Black,Impact,sans-serif;color:#b8ff35;letter-spacing:-.04em}
.dna-export-head button{width:30px;height:30px;border:1px solid #394634;background:#080d08;color:#94a28e;font:700 18px/1 Arial,sans-serif}
.dna-export-head button:hover{color:#b8ff35;border-color:#b8ff35}
.dna-export-formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dna-export-format{display:grid;gap:5px;text-align:left;padding:13px;border:1px solid #354033;background:#0a0f09;color:#dce4d7;cursor:pointer}
.dna-export-format:hover,.dna-export-format:focus-visible{border-color:#b8ff35;background:#10180e;outline:none}
.dna-export-format b{font:900 12px/1 Arial Black,Impact,sans-serif;color:#eef2ea}
.dna-export-format small{font:700 8px/1.2 "Courier Prime","Courier New",monospace;color:#71806c;letter-spacing:.07em}
.dna-export-format:disabled{opacity:.45;cursor:wait}
.dna-export-utility{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.dna-export-utility .lab-btn{min-width:150px}
.dna-export-utility .lab-btn:disabled{opacity:.38;cursor:not-allowed}
.dna-export-utility small{font:700 7px/1.45 "Courier Prime","Courier New",monospace;color:#71806c;letter-spacing:.05em;text-align:right}

@media(max-width:900px){
  body.filmprint-mode .dna-test-head{grid-template-columns:1fr;grid-template-areas:"title" "kicker" "copy";min-height:0;gap:8px;padding:24px 20px}
  body.filmprint-mode .dna-test-head:before{display:none}
  body.filmprint-mode .dna-test-head>span{margin-top:0}
  body.filmprint-mode .dna-test-head h2{justify-self:end;font-size:clamp(56px,13vw,94px);margin:24px 0 8px}
}
@media(max-width:760px){
  .dna-result-actions{align-items:stretch;flex-direction:column}
  .dna-result-action-buttons{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr}
  .dna-export-formats{grid-template-columns:1fr}
  .dna-export-utility{align-items:stretch;flex-direction:column}
  .dna-export-utility small{text-align:left}
}


/* BETA 34 — fingerprint assay transition. Purely visual: no biometric sensor or biometric data is used. */
.filmprint-scan-gate{
  position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:24px;
  background:rgba(2,6,3,.96);color:#b8ff35;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .16s ease,visibility .16s ease;
}
.filmprint-scan-gate.is-active{opacity:1;visibility:visible;pointer-events:auto}
.filmprint-scan-gate:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;
  background:
    linear-gradient(rgba(184,255,53,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,255,53,.025) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,rgba(184,255,53,.08),transparent 34%);
  background-size:26px 26px,26px 26px,100% 100%;
}
.fp-scan-terminal{position:relative;width:min(620px,92vw);display:grid;justify-items:center;gap:16px;text-align:center}
.fp-scan-kicker{font:700 9px/1.35 var(--font-body,"Courier Prime",monospace);letter-spacing:.2em;color:#66785f}
.fp-scan-title{font:700 clamp(24px,4vw,42px)/1 var(--font-brand,"Oxanium",sans-serif);letter-spacing:.04em;color:#dfffaa;text-transform:uppercase}
.fp-scan-copy{min-height:16px;font:700 9px/1.4 var(--font-body,"Courier Prime",monospace);letter-spacing:.12em;color:#8ea185;text-transform:uppercase}
.fp-sensor{
  --fp-size:clamp(150px,22vw,230px);position:relative;width:var(--fp-size);height:var(--fp-size);display:grid;place-items:center;
  border:1px solid #32412e;background:#050905;box-shadow:0 0 0 1px #0e160c,inset 0 0 40px rgba(184,255,53,.03),0 0 46px rgba(184,255,53,.04);overflow:hidden;
}
.fp-sensor:before,.fp-sensor:after{content:"";position:absolute;pointer-events:none}
.fp-sensor:before{inset:10px;border:1px dashed rgba(184,255,53,.18)}
.fp-sensor:after{left:0;right:0;height:2px;top:-3px;background:#b8ff35;box-shadow:0 0 13px rgba(184,255,53,.9);animation:fpScanLine 1.05s linear infinite}
.fp-sensor svg{width:72%;height:72%;overflow:visible;filter:drop-shadow(0 0 7px rgba(184,255,53,.25))}
.fp-sensor path{fill:none;stroke:#b8ff35;stroke-width:2.05;stroke-linecap:round;opacity:.78;stroke-dasharray:260;stroke-dashoffset:260;animation:fpTrace .9s ease-out forwards}
.filmprint-scan-gate:not(.is-active) .fp-sensor path{animation:none;stroke-dashoffset:260}
.filmprint-scan-gate.is-active .fp-sensor path{animation:fpTrace .9s ease-out forwards}
.fp-sensor path:nth-child(2){animation-delay:.05s}.fp-sensor path:nth-child(3){animation-delay:.1s}.fp-sensor path:nth-child(4){animation-delay:.15s}.fp-sensor path:nth-child(5){animation-delay:.2s}.fp-sensor path:nth-child(6){animation-delay:.25s}.fp-sensor path:nth-child(7){animation-delay:.3s}.fp-sensor path:nth-child(8){animation-delay:.35s}
.fp-scan-meter{width:min(360px,78vw);height:3px;background:#182117;overflow:hidden}
.fp-scan-meter i{display:block;width:0;height:100%;background:#b8ff35;box-shadow:0 0 10px rgba(184,255,53,.65);transition:width .45s ease}
.fp-scan-readouts{width:min(500px,86vw);display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.fp-scan-readouts span{border:1px solid #243121;background:#060b06;padding:7px 8px;font:700 7px/1.25 var(--font-body,"Courier Prime",monospace);letter-spacing:.1em;color:#596b53}
.fp-scan-readouts span.is-on{border-color:#6d8c5f;color:#c6f6a1;background:#0b120a}
@keyframes fpScanLine{0%{top:7%}50%{top:91%}100%{top:7%}}
@keyframes fpTrace{to{stroke-dashoffset:0}}

.dna-sequence-scan{min-height:440px;display:grid;place-items:center;padding:20px}
.dna-sequence-scan .fp-scan-terminal{gap:14px}
.dna-sequence-scan .fp-sensor{--fp-size:190px}
.dna-sequence-scan .fp-scan-title{font-size:clamp(22px,3.2vw,36px)}
.dna-sequence-scan .fp-scan-copy{color:#8d9d86}

@media(max-width:720px){
  .filmprint-scan-gate{padding:16px}
  .fp-scan-readouts{grid-template-columns:1fr;max-width:270px}
  .dna-sequence-scan{min-height:390px;padding:8px}
  .dna-sequence-scan .fp-sensor{--fp-size:165px}
}
@media(prefers-reduced-motion:reduce){
  .fp-sensor:after,.fp-sensor path{animation:none!important}
  .fp-sensor path{stroke-dashoffset:0}
}

/* BETA 35 — specimen synthesis reveal. Distinct from the entry fingerprint scan. */
.dna-synthesis-stage{
  position:relative;min-height:620px;display:grid;place-items:center;overflow:hidden;padding:28px 24px 34px;
  background:
    radial-gradient(circle at 50% 43%,rgba(184,255,53,.085),transparent 31%),
    linear-gradient(rgba(184,255,53,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,255,53,.018) 1px,transparent 1px),
    #020502;
  background-size:auto,30px 30px,30px 30px,auto;
  color:#b8ff35;
  isolation:isolate;
}
.dna-synthesis-stage:before,.dna-synthesis-stage:after{
  content:"";position:absolute;pointer-events:none;z-index:-1;
}
.dna-synthesis-stage:before{
  inset:-20%;opacity:.24;
  background:conic-gradient(from 90deg at 50% 50%,transparent,rgba(184,255,53,.08),transparent 22%,transparent 74%,rgba(184,255,53,.055),transparent);
  animation:synthRadar 5.5s linear infinite;
}
.dna-synthesis-stage:after{
  left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(184,255,53,.14),transparent);
  box-shadow:0 -180px 0 rgba(184,255,53,.025),0 180px 0 rgba(184,255,53,.025);
}
.synthesis-terminal{width:min(760px,94vw);display:grid;justify-items:center;gap:14px;text-align:center;position:relative}
.synthesis-kicker{font:700 8px/1.3 var(--font-body,"Courier Prime",monospace);letter-spacing:.24em;color:#61705b;text-transform:uppercase}
.synthesis-hud{position:absolute;top:24px;display:grid;gap:7px;font:700 7px/1.2 var(--font-body,"Courier Prime",monospace);letter-spacing:.13em;color:#53604f;text-transform:uppercase;z-index:2}
.synthesis-hud span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border:1px solid #64765d;vertical-align:-1px}
.synthesis-hud-left{left:28px;text-align:left}.synthesis-hud-right{right:28px;text-align:right}.synthesis-hud-right span:before{display:none}.synthesis-hud-right span:after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border:1px solid #64765d;vertical-align:-1px}

.synthesis-chamber{position:relative;width:178px;height:322px;margin:2px 0 4px;filter:drop-shadow(0 0 22px rgba(184,255,53,.06));transition:filter .35s ease,transform .35s ease}
.synthesis-glass{
  position:absolute;inset:22px 13px;border:1px solid #40503b;border-radius:54px 54px 42px 42px;overflow:hidden;
  background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(184,255,53,.025) 46%,rgba(255,255,255,.012));
  box-shadow:inset 18px 0 30px rgba(255,255,255,.012),inset -18px 0 30px rgba(184,255,53,.025),0 0 0 1px #0a1009;
}
.synthesis-glass:before{content:"";position:absolute;inset:7px;border:1px dashed rgba(184,255,53,.08);border-radius:47px 47px 35px 35px;z-index:7;pointer-events:none}
.synthesis-cap{position:absolute;left:19px;right:19px;height:34px;border:1px solid #3c4b38;background:linear-gradient(#0f160d,#050805);z-index:8;display:flex;align-items:center;justify-content:space-around;padding:0 34px;box-shadow:0 0 0 1px #050805}
.synthesis-cap i{width:4px;height:4px;border:1px solid #53644d;border-radius:50%}
.synthesis-cap-top{top:4px;border-radius:50% 50% 9px 9px}.synthesis-cap-bottom{bottom:4px;border-radius:9px 9px 50% 50%}
.synthesis-liquid{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(180deg,rgba(184,255,53,.035),rgba(184,255,53,.105));border-top:1px solid rgba(184,255,53,.28);box-shadow:0 -8px 18px rgba(184,255,53,.03);transition:height .85s cubic-bezier(.22,.8,.24,1)}
.synthesis-liquid:before{content:"";position:absolute;left:-10%;right:-10%;top:-7px;height:13px;border-radius:50%;border:1px solid rgba(184,255,53,.2);background:#071006}
.synthesis-chamber.is-live .synthesis-liquid{height:72%}
.synthesis-chamber.is-assembling .synthesis-liquid{height:89%}

.synthesis-bubbles{position:absolute;inset:12px;z-index:2;opacity:0;transition:opacity .3s ease;overflow:hidden}
.synthesis-bubbles i{position:absolute;left:var(--x);bottom:-12px;width:var(--s);height:var(--s);border:1px solid rgba(184,255,53,.32);border-radius:50%;animation:synthBubble 2.1s var(--d) linear infinite}
.synthesis-chamber.is-live .synthesis-bubbles{opacity:1}

.synthesis-helix{position:absolute;left:50%;top:12%;width:112px;height:76%;transform:translateX(-50%);z-index:4;opacity:.08;filter:drop-shadow(0 0 6px rgba(184,255,53,.4));transition:opacity .5s ease,filter .35s ease}
.synth-rung{position:absolute;left:50%;top:var(--y);width:88px;height:1px;background:linear-gradient(90deg,#b8ff35,rgba(184,255,53,.18),#dfffb0);transform:translate(-50%,-50%) perspective(160px) rotateY(var(--phase));transform-origin:center;animation:synthHelixSpin 2.25s var(--delay) linear infinite;opacity:.72}
.synth-rung:before,.synth-rung:after{content:"";position:absolute;top:50%;width:7px;height:7px;border:1px solid #caff77;border-radius:50%;background:#071006;box-shadow:0 0 8px rgba(184,255,53,.5)}
.synth-rung:before{left:-4px;transform:translateY(-50%)}.synth-rung:after{right:-4px;transform:translateY(-50%)}
.synthesis-chamber.is-live .synthesis-helix{opacity:.38}
.synthesis-chamber.is-assembling .synthesis-helix{opacity:.94;filter:drop-shadow(0 0 10px rgba(184,255,53,.58))}
.synthesis-chamber.is-searching .synthesis-helix{animation:synthHelixPulse .32s steps(2,end) infinite}

.synthesis-beam{position:absolute;z-index:6;left:7px;right:7px;height:2px;top:8%;opacity:0;background:#d8ff91;box-shadow:0 0 14px rgba(184,255,53,.95),0 0 34px rgba(184,255,53,.35)}
.synthesis-chamber.is-searching .synthesis-beam{opacity:1;animation:synthBeam .62s linear infinite}
.synthesis-lock{position:absolute;inset:0;z-index:10;display:grid;place-items:center;align-content:center;opacity:0;transform:scale(.8);font:900 18px/1.05 var(--font-brand,"Oxanium",sans-serif);letter-spacing:.08em;color:#eaffc8;text-shadow:0 0 16px rgba(184,255,53,.8);background:rgba(2,8,2,.42);transition:opacity .18s ease,transform .28s cubic-bezier(.18,.89,.32,1.28)}
.synthesis-lock:before{content:"";width:74px;height:74px;border:1px solid #b8ff35;border-radius:50%;position:absolute;box-shadow:0 0 0 7px rgba(184,255,53,.025),0 0 22px rgba(184,255,53,.18)}
.synthesis-lock.is-on{opacity:1;transform:scale(1)}
.synthesis-chamber.is-locked{filter:drop-shadow(0 0 40px rgba(184,255,53,.25));animation:synthLockKick .46s ease-out both}
.synthesis-chamber.is-locked .synthesis-helix{opacity:.16}.synthesis-chamber.is-locked .synthesis-beam{opacity:0;animation:none}

.synthesis-copy{display:grid;gap:5px;min-height:52px;align-content:center}
.synthesis-title{font:800 clamp(23px,3.5vw,36px)/1 var(--font-brand,"Oxanium",sans-serif);letter-spacing:.055em;color:#ddffae;text-transform:uppercase;text-shadow:0 0 15px rgba(184,255,53,.12)}
.synthesis-status{font:700 8px/1.35 var(--font-body,"Courier Prime",monospace);letter-spacing:.12em;color:#7d9075;text-transform:uppercase}
.synthesis-axis-grid{width:min(610px,86vw);display:grid;grid-template-columns:repeat(15,1fr);gap:4px;margin-top:2px}
.synthesis-axis-grid span{height:34px;border:1px solid #172016;background:#050805;display:grid;place-items:center;align-content:center;gap:3px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.synthesis-axis-grid span i{width:4px;height:4px;border-radius:50%;background:#263124;transition:background .18s ease,box-shadow .18s ease}
.synthesis-axis-grid span b{font:700 6px/1 var(--font-body,"Courier Prime",monospace);letter-spacing:.035em;color:#3f4d3b;font-weight:700}
.synthesis-axis-grid span.is-on{border-color:#4b6244;background:#091008;box-shadow:inset 0 0 12px rgba(184,255,53,.025)}
.synthesis-axis-grid span.is-on i{background:#b8ff35;box-shadow:0 0 8px rgba(184,255,53,.75)}
.synthesis-axis-grid span.is-on b{color:#8ea883}
.synthesis-progress{width:min(500px,78vw);height:3px;background:#111a10;overflow:hidden;margin-top:1px}
.synthesis-progress i{display:block;height:100%;background:#b8ff35;box-shadow:0 0 12px rgba(184,255,53,.7);transition:width .5s cubic-bezier(.22,.8,.24,1)}
.dna-synthesis-stage.is-release{animation:synthRelease .34s ease-in forwards}

/* The specimen result enters as a lock/reveal, not as ordinary content. */
.dna-result.is-specimen-reveal{animation:specimenResultIn .9s cubic-bezier(.18,.82,.22,1) both;transform-origin:50% 12%}
.dna-result.is-specimen-reveal:before{content:"";position:fixed;inset:0;z-index:9997;pointer-events:none;background:#b8ff35;mix-blend-mode:screen;animation:specimenFlash .52s ease-out forwards}
.dna-result.is-specimen-reveal .dna-result-poster{animation:specimenPosterLock 1.05s cubic-bezier(.16,.84,.24,1) both}
.dna-result.is-specimen-reveal .dna-result-copy{animation:specimenCopyIn .86s .13s ease both}

@keyframes synthRadar{to{transform:rotate(360deg)}}
@keyframes synthBubble{0%{transform:translateY(0) scale(.75);opacity:0}12%{opacity:.55}100%{transform:translateY(-260px) scale(1.15);opacity:0}}
@keyframes synthHelixSpin{0%{transform:translate(-50%,-50%) perspective(160px) rotateY(var(--phase)) scaleX(.92)}100%{transform:translate(-50%,-50%) perspective(160px) rotateY(calc(var(--phase) + 360deg)) scaleX(.92)}}
@keyframes synthHelixPulse{50%{filter:brightness(1.8);transform:translateX(-50%) scale(1.025)}}
@keyframes synthBeam{0%{top:8%}100%{top:91%}}
@keyframes synthLockKick{0%{transform:scale(1)}42%{transform:scale(1.055)}100%{transform:scale(1)}}
@keyframes synthRelease{to{opacity:0;transform:scale(1.035);filter:blur(5px)}}
@keyframes specimenResultIn{0%{opacity:0;transform:translateY(20px) scale(.986);filter:blur(7px)}48%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes specimenFlash{0%{opacity:.56}35%{opacity:.12}100%{opacity:0}}
@keyframes specimenPosterLock{0%{opacity:0;transform:scale(.94);filter:contrast(1.9) brightness(1.6)}45%{opacity:1;transform:scale(1.015);filter:contrast(1.25) brightness(1.1)}100%{transform:none;filter:none}}
@keyframes specimenCopyIn{0%{opacity:0;transform:translateX(14px)}100%{opacity:1;transform:none}}

@media(max-width:760px){
  .dna-synthesis-stage{min-height:560px;padding:22px 12px 28px}
  .synthesis-hud{display:none}
  .synthesis-chamber{width:150px;height:280px}
  .synthesis-cap{left:16px;right:16px}
  .synthesis-title{font-size:22px}
  .synthesis-axis-grid{grid-template-columns:repeat(5,1fr);max-width:320px;gap:3px}
  .synthesis-axis-grid span{height:27px}
  .synthesis-progress{max-width:320px}
}
@media(prefers-reduced-motion:reduce){
  .dna-synthesis-stage:before,.synthesis-bubbles i,.synth-rung,.synthesis-beam,.dna-synthesis-stage.is-release,.dna-result.is-specimen-reveal,.dna-result.is-specimen-reveal .dna-result-poster,.dna-result.is-specimen-reveal .dna-result-copy{animation:none!important}
  .synthesis-helix{opacity:.9}
}

/* BETA 36 — premium FILMPRINT fingerprint acquisition sequence. */
.filmprint-scan-gate{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(184,255,53,.095),transparent 29%),
    linear-gradient(rgba(184,255,53,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,255,53,.018) 1px,transparent 1px),
    #020502;
  background-size:auto,30px 30px,30px 30px,auto;
  transition:opacity .22s ease,visibility .22s ease,clip-path .48s cubic-bezier(.4,0,.2,1);
  clip-path:inset(0 0 0 0);
}
.filmprint-scan-gate:after{
  content:"";position:absolute;inset:-22%;pointer-events:none;opacity:.18;
  background:conic-gradient(from 0deg at 50% 50%,transparent 0 20%,rgba(184,255,53,.08) 25%,transparent 31% 66%,rgba(184,255,53,.055) 72%,transparent 78%);
  animation:fpEntryRadar 5s linear infinite;
}
.filmprint-scan-gate.is-release{clip-path:inset(50% 0 50% 0);opacity:.15}
.fp-entry-flash{position:absolute;inset:0;z-index:8;pointer-events:none;background:#caff83;opacity:0;mix-blend-mode:screen}
.filmprint-scan-gate.phase-lock .fp-entry-flash{animation:fpEntryFlash .42s ease both}
.fp-scan-terminal{z-index:2;width:min(820px,94vw);gap:11px}
.fp-scan-kicker{letter-spacing:.25em;color:#61705b}
.fp-assay-rig{width:min(720px,90vw);display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);align-items:center;gap:20px;margin:2px 0 4px}
.fp-rig-side{display:grid;gap:10px;font:700 7px/1.2 var(--font-body,"Courier Prime",monospace);letter-spacing:.14em;color:#4d5d49;text-transform:uppercase}
.fp-rig-left{text-align:right}.fp-rig-right{text-align:left}
.fp-rig-side span{position:relative;padding:5px 0}
.fp-rig-left span:after,.fp-rig-right span:before{content:"";display:inline-block;width:22px;height:1px;background:#33402f;vertical-align:middle;margin:0 8px}
.fp-scan-core{position:relative;width:clamp(210px,28vw,290px);height:clamp(210px,28vw,290px);display:grid;place-items:center}
.fp-orbit{position:absolute;border:1px solid rgba(184,255,53,.16);border-radius:50%;opacity:.55}
.fp-orbit-a{inset:5%;border-style:dashed;animation:fpOrbit 8s linear infinite}
.fp-orbit-b{inset:14%;border-color:rgba(184,255,53,.10);animation:fpOrbit 5s linear infinite reverse}
.fp-reticle{position:absolute;inset:0}
.fp-reticle i{position:absolute;width:22px;height:22px;border-color:#52644c;border-style:solid;opacity:.48}
.fp-reticle i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.fp-reticle i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.fp-reticle i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}.fp-reticle i:nth-child(4){left:0;bottom:0;border-width:0 0 1px 1px}
.fp-sensor{
  --fp-size:clamp(170px,22vw,225px);border-radius:50%;overflow:visible;
  border:1px solid #354332;background:radial-gradient(circle,#071008 0 55%,#030603 75%);
  box-shadow:0 0 0 8px rgba(184,255,53,.015),0 0 0 9px #172015,inset 0 0 45px rgba(184,255,53,.045),0 0 50px rgba(184,255,53,.045);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .25s ease,box-shadow .25s ease;
}
.fp-sensor:before{inset:14px;border-radius:50%;border:1px dashed rgba(184,255,53,.12)}
.fp-sensor:after{display:none}
.fp-sensor-grid{position:absolute;inset:18px;border-radius:50%;overflow:hidden;opacity:.35;background:linear-gradient(rgba(184,255,53,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(184,255,53,.04) 1px,transparent 1px);background-size:14px 14px}
.fp-sensor svg{z-index:3;width:66%;height:72%;filter:drop-shadow(0 0 8px rgba(184,255,53,.18));transform:scale(.9);transition:transform .55s cubic-bezier(.2,.75,.15,1),filter .25s ease}
.fp-sensor path{stroke:#b8ff35;stroke-width:1.75;opacity:.18;stroke-dasharray:280;stroke-dashoffset:280;animation:none!important}
.filmprint-scan-gate.phase-reading .fp-sensor path{animation:fpPremiumTrace 1.18s cubic-bezier(.25,.7,.2,1) forwards!important}
.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(1){animation-delay:.02s!important}.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(2){animation-delay:.08s!important}.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(3){animation-delay:.14s!important}.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(4){animation-delay:.20s!important}.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(5){animation-delay:.26s!important}.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(6){animation-delay:.32s!important}.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(7){animation-delay:.38s!important}.filmprint-scan-gate.phase-reading .fp-sensor path:nth-child(8){animation-delay:.44s!important}
.fp-scan-sweep{position:absolute;z-index:5;left:10%;right:10%;height:2px;top:13%;opacity:0;background:#b8ff35;box-shadow:0 0 8px #b8ff35,0 0 22px rgba(184,255,53,.72)}
.filmprint-scan-gate.phase-reading .fp-scan-sweep{opacity:1;animation:fpPremiumSweep 1.45s cubic-bezier(.35,.05,.2,1) .08s both}
.fp-lock-mark{position:absolute;z-index:6;inset:0;display:grid;place-items:center;align-content:center;gap:4px;opacity:0;transform:scale(.72);color:#dfffaa;text-shadow:0 0 14px rgba(184,255,53,.7);font:800 8px/1.15 var(--font-body,"Courier Prime",monospace);letter-spacing:.15em;text-align:center}
.fp-lock-mark b{font-size:31px;line-height:.65}.fp-lock-mark span{border:1px solid #b8ff35;padding:6px 8px;background:rgba(2,6,3,.76)}
.filmprint-scan-gate.phase-lock .fp-lock-mark{animation:fpLockStamp .48s cubic-bezier(.2,.9,.2,1) both}
.filmprint-scan-gate.phase-lock .fp-sensor{transform:scale(1.055);border-color:#b8ff35;box-shadow:0 0 0 8px rgba(184,255,53,.025),0 0 0 9px #41543a,inset 0 0 55px rgba(184,255,53,.10),0 0 70px rgba(184,255,53,.22)}
.filmprint-scan-gate.phase-lock .fp-sensor svg{transform:scale(.96);filter:drop-shadow(0 0 13px rgba(184,255,53,.62));opacity:.32}
.fp-axis-strip{width:min(640px,88vw);display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:4px;margin:5px 0 1px}
.fp-axis-strip span{display:grid;justify-items:center;gap:4px;opacity:.32;font:700 6px/1 var(--font-body,"Courier Prime",monospace);color:#61705b;transform:translateY(3px)}
.fp-axis-strip i{width:100%;height:3px;background:#1c271a;box-shadow:inset 0 0 0 1px #263223}
.filmprint-scan-gate.phase-mapping .fp-axis-strip span{animation:fpAxisAcquire .25s ease calc(var(--i)*.055s) forwards}
.filmprint-scan-gate.phase-mapping .fp-axis-strip span i{animation:fpAxisBar .25s ease calc(var(--i)*.055s) forwards}
.fp-scan-title{margin-top:0;transition:transform .3s ease,color .3s ease,text-shadow .3s ease}
.filmprint-scan-gate.phase-lock .fp-scan-title{transform:scale(1.06);color:#eaffc7;text-shadow:0 0 18px rgba(184,255,53,.34)}
.fp-scan-copy{min-height:15px}
.fp-scan-meter{height:4px;border:1px solid #263223;background:#050805;padding:1px}
.fp-scan-meter i{height:100%;transition:width .48s cubic-bezier(.2,.8,.2,1);background:linear-gradient(90deg,#597347,#b8ff35);box-shadow:0 0 14px rgba(184,255,53,.55)}
.fp-scan-readouts{margin-top:2px}
.fp-scan-readouts span{transition:border-color .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease}
.fp-scan-readouts span.is-on{box-shadow:inset 0 0 18px rgba(184,255,53,.035)}
@keyframes fpPremiumTrace{0%{stroke-dashoffset:280;opacity:.08}65%{opacity:.82}100%{stroke-dashoffset:0;opacity:.72}}
@keyframes fpPremiumSweep{0%{top:12%;opacity:0}8%{opacity:1}49%{top:82%}52%{top:82%}94%{opacity:1}100%{top:12%;opacity:0}}
@keyframes fpAxisAcquire{to{opacity:1;transform:none;color:#a9cb91}}
@keyframes fpAxisBar{0%{background:#1c271a}60%{background:#dfffaa;box-shadow:0 0 12px rgba(184,255,53,.9)}100%{background:#718c61;box-shadow:0 0 5px rgba(184,255,53,.35)}}
@keyframes fpLockStamp{0%{opacity:0;transform:scale(1.35)}55%{opacity:1;transform:scale(.92)}100%{opacity:1;transform:scale(1)}}
@keyframes fpEntryFlash{0%,100%{opacity:0}35%{opacity:.22}52%{opacity:.08}}
@keyframes fpOrbit{to{transform:rotate(360deg)}}
@keyframes fpEntryRadar{to{transform:rotate(360deg)}}
@media(max-width:720px){
  .fp-assay-rig{grid-template-columns:1fr}.fp-rig-side{display:none}.fp-scan-core{width:230px;height:230px}.fp-axis-strip{grid-template-columns:repeat(8,1fr);max-width:360px}.fp-scan-terminal{gap:9px}
}
@media(prefers-reduced-motion:reduce){
  .filmprint-scan-gate:after,.fp-orbit,.fp-scan-sweep,.fp-axis-strip span,.fp-axis-strip span i,.fp-entry-flash{animation:none!important}
  .filmprint-scan-gate.phase-reading .fp-sensor path{animation:none!important;stroke-dashoffset:0;opacity:.72}
}


/* ===== CINEGENOME ALT v49.13 BETA48 / seamless FILMPRINT entry cover ===== */
/* The cover becomes opaque in the click frame, hiding the paper theme before
   FILMPRINT swaps the underlying shell to black. The scanner UI then eases in. */
.filmprint-scan-gate{
  transition:visibility 0s linear .34s,opacity .34s ease,clip-path .64s cubic-bezier(.22,.72,.18,1)!important;
}
.filmprint-scan-gate.is-active{
  opacity:1!important;
  visibility:visible!important;
  transition:visibility 0s linear 0s,opacity 0s linear,clip-path .64s cubic-bezier(.22,.72,.18,1)!important;
}
.filmprint-scan-gate .fp-scan-terminal{
  opacity:0;
  transform:translateY(10px) scale(.992);
  filter:blur(1.5px);
}
.filmprint-scan-gate.phase-reading .fp-scan-terminal,
.filmprint-scan-gate.phase-mapping .fp-scan-terminal,
.filmprint-scan-gate.phase-lock .fp-scan-terminal{
  animation:fpTerminalEaseIn .62s cubic-bezier(.22,.72,.18,1) both;
}
.filmprint-scan-gate.is-release .fp-scan-terminal{
  opacity:.78;
  transform:scale(.995);
  transition:opacity .5s ease,transform .5s ease;
}
@keyframes fpTerminalEaseIn{
  0%{opacity:0;transform:translateY(10px) scale(.992);filter:blur(1.5px)}
  100%{opacity:1;transform:none;filter:none}
}
@media(prefers-reduced-motion:reduce){
  .filmprint-scan-gate .fp-scan-terminal{opacity:1;transform:none;filter:none;animation:none!important}
}
