/* GENERATED from output/app/app.css by tools/build/coa_public_build.py. DO NOT HAND-EDIT.

   The public COA surface wears the APP'S OWN instrument: the same lens, the same ritual, the
   same reactor, the same gate rows, the same tokens. Selectors are lifted UNCHANGED and the
   public page carries the app's real ids (#view-coa, #coascore, #coaritual, #coascanner), so
   there is no rewriting step that could drift.

   480 rules, 22 keyframes, from a 334873 byte stylesheet. */
:root{
  --led-grad:linear-gradient(180deg,#22E0A0,#10C6E8 55%,#1296F2);
  --led-grad-90:linear-gradient(90deg,#22E0A0,#10C6E8 55%,#1296F2);
  --glass-bg:rgba(255,255,255,.06);
  --glass-border:1px solid rgba(255,255,255,.16);
  --glass-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 30px -12px rgba(0,0,0,.7);
  --glow-blue:rgba(18,182,236,.15);
  --glow-sheen:rgba(255,255,255,.07);
  --blue:#12B6EC;
  --amber:#F2B25A;
  --co-cyan-core:#8FEAFF;
  --co-warn:#F2B25A;
  --co-fail:#E5674C;
  --co-warn-glow:rgba(242,178,90,.5);
  --co-fail-glow:rgba(229,103,76,.5);
}
@keyframes clbrk{0%,100%{opacity:.55;}50%{opacity:.9;}}
@keyframes cldriftA{from{transform:translate(-14px,-9px);}to{transform:translate(16px,13px);}}
@keyframes cldriftB{from{transform:translate(11px,7px);}to{transform:translate(-15px,-11px);}}
@keyframes cleyebeat{0%,100%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 6px rgba(200,250,255,.95),0 0 20px rgba(74,220,255,.85),0 0 48px rgba(24,180,235,.42),inset 0 0 6px rgba(190,248,255,.45);}50%{transform:translate(-50%,-50%) scale(1.16);box-shadow:0 0 9px rgba(216,252,255,1),0 0 31px rgba(74,220,255,.95),0 0 76px rgba(24,180,235,.55),inset 0 0 7px rgba(200,250,255,.55);}}
@keyframes clirisbr{0%,100%{transform:translate(-50%,-50%) scale(.94);opacity:.8;}50%{transform:translate(-50%,-50%) scale(1.06);opacity:1;}}
@keyframes clpingexp{0%{transform:scale(.98);opacity:.85;}70%{transform:scale(1.14);opacity:0;}100%{transform:scale(1.14);opacity:0;}}
@keyframes clrimbeatbr{0%,100%{opacity:.26;}50%{opacity:.9;}}
@keyframes clseambreath{0%,100%{opacity:.62;}50%{opacity:1;}}
@keyframes clsweepspin{to{transform:rotate(360deg);}}
@keyframes coCoreBreath{0%,100%{opacity:.55;transform:scale(.95);}50%{opacity:1;transform:scale(1.05);}}
@keyframes coScoreIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes coaScanBreath{0%,100%{box-shadow:var(--glass-shadow),0 0 26px -14px rgba(16,198,232,.6);}
  50%{box-shadow:var(--glass-shadow),0 0 36px -8px rgba(16,198,232,.95);}}
@keyframes coaSeal{0%,100%{box-shadow:0 0 14px rgba(16,198,232,.6),inset 0 1px 2px rgba(255,255,255,.5);}
  50%{box-shadow:0 0 22px rgba(16,198,232,.95),inset 0 1px 2px rgba(255,255,255,.5);}}
@keyframes crbeam{0%{top:7%;opacity:0;}12%{opacity:1;}88%{opacity:1;}100%{top:89%;opacity:0;}}
@keyframes crglint{0%{left:-50%;opacity:0;}16%{opacity:.85;}42%{opacity:.4;}62%{left:130%;opacity:0;}100%{left:130%;opacity:0;}}
@keyframes crmote{0%{opacity:0;transform:translate(0,0);}25%{opacity:.75;}70%{opacity:.45;}100%{opacity:0;transform:translate(5px,-11px);}}
@keyframes crstar{to{transform:rotate(360deg);}}
@keyframes csPing{0%,18%{transform:scale(1);opacity:.7;}70%,100%{transform:scale(1.8);opacity:0;}}
@keyframes csScan{0%,100%{top:8px;}50%{top:calc(100% - 10px);}}
@keyframes cscapspin{to{transform:rotate(360deg);}}
@keyframes cvLamp{0%,100%{box-shadow:0 0 8px rgba(16,198,232,.7),0 0 3px rgba(180,240,255,.85),inset 0 1px 1.5px rgba(255,255,255,.85);}
  50%{box-shadow:0 0 15px rgba(16,198,232,1),0 0 5px rgba(180,240,255,.95),inset 0 1px 1.5px rgba(255,255,255,.9);}}
@keyframes taphintbr{0%,100%{opacity:.7;}50%{opacity:1;}}
#view-coa .coalenshero{text-align:center;margin:6px 0 8px;display:flex;flex-direction:column;align-items:center;overflow-x:clip;}
.coalens{position:relative;width:min(66vw,270px);aspect-ratio:1;flex:none;margin:20px 0 18px;
  border:none;background:none;padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .5s cubic-bezier(.16,.84,.3,1);}
.coalens:active{transform:scale(.975);}
.clhalo{position:absolute;left:50%;top:50%;width:192%;height:192%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(16,198,232,.09) 0%,rgba(18,150,242,.045) 38%,transparent 66%);}
.clpool{position:absolute;left:50%;bottom:-15%;width:152%;height:24%;transform:translateX(-50%);pointer-events:none;background:radial-gradient(48% 62% at 50% 40%,rgba(16,198,232,.13),transparent 70%);filter:blur(8px);}
.clfloor{position:absolute;left:50%;bottom:-7%;width:94%;height:10%;transform:translateX(-50%);border-radius:50%;pointer-events:none;background:radial-gradient(46% 80% at 50% 50%,rgba(0,0,0,.62),rgba(0,0,0,.26) 52%,transparent 72%);filter:blur(5px);}
.clwell{position:absolute;left:50%;top:50%;width:112%;height:112%;transform:translate(-50%,-50%);border-radius:50%;background:#0a1017;box-shadow:inset 0 5px 16px rgba(0,0,0,.8),inset 0 -1px 0 rgba(190,232,255,.14);}
.cllens{position:absolute;inset:0;border-radius:50%;}
.clrimbeat{position:absolute;inset:-26px;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,transparent 82.4%,rgba(228,252,255,.55) 84%,rgba(140,235,255,.66) 85%,rgba(16,198,232,.36) 88.5%,rgba(18,150,242,.12) 94%,transparent 100%);
  box-shadow:0 0 44px 6px rgba(16,198,232,.28);
  animation:clrimbeatbr 3.2s ease-in-out infinite;}
.clr1{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 210deg,#39434e,#8b9ba9 9%,#1b222a 24%,#68767f 39%,#141b23 55%,#94a4b2 71%,#2b343e 86%,#39434e);box-shadow:inset 0 1.5px 1px rgba(205,238,255,.5),inset 0 -1.5px 2.5px rgba(0,0,0,.75),0 40px 84px -28px rgba(0,0,0,.95),0 14px 30px -12px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.5);}
.clbrush{position:absolute;inset:0;border-radius:50%;opacity:.5;background:repeating-conic-gradient(rgba(200,232,255,.07) 0 .4deg, transparent .4deg .9deg);}
.clgap1{position:absolute;inset:8px;border-radius:50%;background:#141a21;box-shadow:inset 0 2px 3px rgba(0,0,0,.85),inset 0 -1.5px 0 rgba(190,232,255,.3);}
.clr2{position:absolute;inset:11px;border-radius:50%;background:conic-gradient(from 170deg,#333c47,#7f8f9d 14%,#171e26 30%,#5a6773 46%,#121820 62%,#8896a4 78%,#282f39 90%,#333c47);box-shadow:inset 0 1px 1px rgba(205,238,255,.44),inset 0 -2px 3px rgba(0,0,0,.7);}
.clticks{position:absolute;inset:0;pointer-events:none;}
.clticks circle:last-child{stroke:rgba(200,232,252,.52);}
.clthroat{position:absolute;inset:30px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),#10161d;box-shadow:inset 0 2px 4px rgba(0,0,0,.75),inset 0 -1px 1px rgba(255,255,255,.16);}
.clseam{position:absolute;inset:0;pointer-events:none;animation:clseambreath 3.1s ease-in-out infinite;}
.clping{position:absolute;inset:0;pointer-events:none;}
.clping circle{transform-box:fill-box;transform-origin:center;}
.clpg1{animation:clpingexp 3.4s ease-out infinite;}
.clpg2{animation:clpingexp 3.4s ease-out infinite;animation-delay:1.7s;}
.clportal{position:absolute;inset:39px;border-radius:50%;overflow:hidden;isolation:isolate;-webkit-clip-path:circle(50% at 50% 50%);clip-path:circle(50% at 50% 50%);background:radial-gradient(circle at 50% 50%,#020509 0 15.5%,rgba(2,5,9,0) 26%),radial-gradient(circle at 50% 50%,rgba(2,5,9,0) 15.5%,rgba(160,215,240,.05) 17.5%,rgba(2,5,9,0) 21%),radial-gradient(135% 135% at 50% 20%,#0d141d 0%,#080d13 46%,#04060a 82%);box-shadow:inset 0 10px 26px rgba(0,0,0,.85),inset 0 -3px 14px rgba(18,150,242,.10);}
.clcoat{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(58% 46% at 30% 24%,rgba(34,224,160,.10),rgba(16,198,232,.07) 45%,transparent 70%);}
.clcoat2{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(64% 54% at 70% 78%,rgba(18,110,242,.15),transparent 62%);}
.clcoatv{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 62% 38%,transparent 42%,rgba(150,110,255,.07) 54%,transparent 68%);}
.cldrift{position:absolute;left:12%;top:12%;width:62%;height:62%;border-radius:50%;background:radial-gradient(circle,rgba(16,198,232,.20),transparent 64%);animation:cldriftA 9s ease-in-out infinite alternate;}
.cldrift2{position:absolute;right:4%;bottom:0;width:56%;height:56%;border-radius:50%;background:radial-gradient(circle,rgba(34,224,160,.10),transparent 62%);animation:cldriftB 13s ease-in-out infinite alternate;}
.clel{position:absolute;border-radius:50%;pointer-events:none;}
.clel.e1{inset:6% 6% 4% 6%;box-shadow:inset 0 0 0 1px rgba(150,205,235,.09),inset 0 -10px 16px -12px rgba(16,198,232,.20);}
.clel.e2{inset:15% 15% 11% 15%;box-shadow:inset 0 0 0 1px rgba(150,205,235,.065),inset 0 7px 12px -9px rgba(255,255,255,.10);}
.clel.e3{inset:26% 26% 20% 26%;box-shadow:inset 0 0 0 1px rgba(150,205,235,.05);}
.clbrackets{position:absolute;inset:0;pointer-events:none;opacity:.8;animation:clbrk 4.6s ease-in-out infinite;}
.clsweep{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;}
.clsweepline{transform-box:fill-box;transform-origin:center;animation:clsweepspin 6.5s linear infinite;opacity:.5;}
.clap{position:absolute;left:50%;top:50%;width:54%;height:54%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(from 12deg,rgba(180,220,240,.055) 0deg .9deg,transparent .9deg 51.43deg);
  -webkit-mask-image:radial-gradient(circle,transparent 30%,#000 37%,#000 58%,transparent 66%);
  mask-image:radial-gradient(circle,transparent 30%,#000 37%,#000 58%,transparent 66%);}
.cliris{position:absolute;left:50%;top:50%;width:40%;height:40%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 42%,rgba(18,60,90,0) 34%,rgba(16,198,232,.12) 60%,rgba(6,8,11,0) 78%);animation:clirisbr 4.6s ease-in-out infinite;}
.cleye{position:absolute;left:50%;top:50%;width:11.5%;height:11.5%;transform:translate(-50%,-50%);transform-box:fill-box;transform-origin:center;border-radius:50%;background:radial-gradient(circle at 50% 42%,#FFFFFF 0%,#E9FDFF 7%,#95ECFF 24%,#33C4EE 56%,#0E74A6 86%,#08405A 100%);box-shadow:0 0 6px rgba(200,250,255,.95),0 0 20px rgba(74,220,255,.85),0 0 48px rgba(24,180,235,.42),inset 0 0 6px rgba(190,248,255,.45);animation:cleyebeat 2.8s ease-in-out infinite;}
.clspec{position:absolute;left:-14%;top:-18%;width:118%;height:118%;border-radius:50%;pointer-events:none;box-shadow:inset 20px 26px 34px -16px rgba(196,232,252,.3);}
.clspec2{position:absolute;left:-8%;top:-11%;width:106%;height:106%;border-radius:50%;pointer-events:none;box-shadow:inset 9px 12px 11px -7px rgba(222,244,255,.34);}
.clglint{position:absolute;right:20%;bottom:24%;width:4.5%;height:2.8%;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse,rgba(240,252,255,.7),transparent 70%);filter:blur(.4px);transform:rotate(-24deg);}
.clgring{position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(185,225,245,.15),inset 0 2px 3px rgba(255,255,255,.16),inset 0 -16px 24px -20px rgba(16,198,232,.28);}
.clglass{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:linear-gradient(128deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 36%);}
.coataphint{margin-top:-4px;font-size:11px;font-weight:700;letter-spacing:.34em;text-indent:.34em;
  background:var(--led-grad-90);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:taphintbr 3.4s ease-in-out infinite;}
.coabandcap{margin-top:13px;font-size:14.5px;font-weight:500;color:#B7C6D4;line-height:1.4;max-width:320px;}
.coabandcap b{color:#F4F8FB;font-weight:600;}
.coaqrglyph{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:6px;}
.coaqrglyph svg{width:100%;height:100%;display:block;fill:#10C6E8;}
.coaupglyph{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:6px;}
.coaupglyph svg{width:100%;height:100%;display:block;fill:none;stroke:#10C6E8;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;}
.coaallowance{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:7px;}
.coaallowance:empty{display:none;}
.coaallowance .cameter{display:inline-flex;gap:5px;align-items:center;}
.coaallowance .catick{width:16px;height:3px;border-radius:2px;background:rgba(255,255,255,.12);transition:background .3s ease,box-shadow .3s ease;}
.coaallowance .catick.used{background:var(--led-grad-90);box-shadow:0 0 7px rgba(16,198,232,.5);}
.coaallowance .catxt{font-size:11.5px;font-weight:500;letter-spacing:.02em;color:#8FA0B0;}
.coaallowance .catxt b{color:#B7C6D4;font-weight:700;}
.coaallowance .cadot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);}
.coaallowance .cadot.on{background:var(--led-grad-90);box-shadow:0 0 8px rgba(16,198,232,.6);}
.coaallowance.cap .catick.used{background:var(--amber);box-shadow:0 0 7px rgba(242,178,90,.5);}
.coaallowance.cap .catxt{color:var(--amber);}
.coaallowance.cap .catxt b{color:var(--amber);}
.coaupbtn{margin-top:20px;display:inline-flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;
  padding:6px 8px;font-size:13px;font-weight:500;color:#9FB2C2;letter-spacing:.01em;transition:color .2s;}
.coaupbtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.coaupbtn:hover,.coaupbtn:active{color:#D7E5EF;}
.coaupsub{margin-top:3px;font-size:11.5px;font-weight:500;color:#6E7E8E;letter-spacing:.01em;line-height:1.4;max-width:none;margin-left:auto;margin-right:auto;}
.coaupsub b{display:block;font-weight:600;color:#9FB2C2;font-size:12px;margin-bottom:1px;}
.coaupsub .cusline{display:block;}
.coacambtn{margin-top:8px;display:inline-flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;
  padding:6px 8px;font-size:12.5px;font-weight:500;color:#7E8FA0;letter-spacing:.01em;transition:color .2s;}
.cborb{display:inline-flex;flex:none;}
.coacambtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.coacambtn:hover,.coacambtn:active{color:#CFE0EC;}
#view-coa.coa-graded .coalenshero,
#view-coa.coa-graded .coaverdict,
#view-coa.coa-graded .coasethead,
#view-coa.coa-graded .coacards,
#view-coa.coa-graded .coafoot{display:none;}
@media (prefers-reduced-motion: reduce){
.clseam,.clpg1,.clpg2,.cliris,.cldrift,.cldrift2,.clsweepline,.clbrackets,.cleye,.clrimbeat{animation:none;}
.clseam{opacity:.85;}
.cliris{transform:translate(-50%,-50%);}
.cleye{transform:translate(-50%,-50%);}
.clrimbeat{opacity:.45;}
}
.coaritual{position:fixed;inset:0;z-index:2100;background:radial-gradient(80% 60% at 50% 38%,#0b1119,#06080b 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.16,.84,.3,1);padding:0 26px;}
.coaritual.on{opacity:1;pointer-events:auto;}
.crlensbox{width:min(64vw,246px);aspect-ratio:1;position:relative;margin-bottom:36px;}
.crlens{position:absolute;inset:0;border-radius:50%;transform:scale(.9);opacity:.5;transition:transform .7s cubic-bezier(.16,.84,.3,1),opacity .7s cubic-bezier(.16,.84,.3,1);}
.coaritual.on .crlens{transform:scale(1);opacity:1;}
.crr1{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 208deg,#dfe5ea,#f9fbfc 10%,#bcc5ce 25%,#f1f4f7 40%,#aab4bd 56%,#fafcfd 72%,#c6ced6 87%,#dfe5ea);box-shadow:inset 0 1px 1px rgba(255,255,255,.98),inset 0 -1px 2px rgba(20,30,40,.32),0 30px 60px -24px rgba(0,0,0,.9);}
.crgap1{position:absolute;inset:7px;border-radius:50%;background:#828b94;box-shadow:inset 0 1px 2px rgba(0,0,0,.45),inset 0 -1px 0 rgba(255,255,255,.7);}
.crr2{position:absolute;inset:10px;border-radius:50%;background:conic-gradient(from 170deg,#c8cfd6,#f2f6f9 14%,#a6afb8 30%,#e6ebef 46%,#949ea7 62%,#eef3f6 78%,#b2bac2 90%,#c8cfd6);box-shadow:inset 0 1px 1px rgba(255,255,255,.85),inset 0 -2px 3px rgba(30,40,50,.3);}
.crseam,.crarc{position:absolute;inset:0;pointer-events:none;z-index:6;}
.crportal{position:absolute;inset:7%;border-radius:50%;overflow:hidden;isolation:isolate;-webkit-clip-path:circle(50% at 50% 50%);clip-path:circle(50% at 50% 50%);background:radial-gradient(130% 130% at 50% 20%,#0f1822 0%,#0a1017 48%,#05070a 84%);box-shadow:inset 0 3px 13px rgba(0,0,0,.82),inset 0 0 0 1px rgba(120,130,140,.55),inset 1.2px 0 3px rgba(255,90,130,.10),inset -1.2px 0 3px rgba(90,180,255,.13);}
.crpaper{position:absolute;inset:0;border-radius:50%;z-index:0;background:radial-gradient(120% 120% at 50% 24%,#131d27 0%,#0d151d 52%,#080c11 100%);box-shadow:inset 0 10px 24px rgba(0,0,0,.55);}
.crgrain{position:absolute;inset:0;border-radius:50%;z-index:3;pointer-events:none;mix-blend-mode:overlay;opacity:.6;transition:opacity 1.1s cubic-bezier(.16,.84,.3,1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");background-size:150px 150px;}
.crdoc.focused ~ .crgrain{opacity:.12;}
.crdoc{position:absolute;left:11%;right:11%;top:10%;bottom:10%;z-index:2;display:flex;flex-direction:column;font-family:'Geist',sans-serif;padding:0 1px;color:#AEC2D2;}
.crdoc .crdtitle{font-size:5.4px;font-weight:700;letter-spacing:.16em;color:#7FA6C4;text-transform:uppercase;text-align:center;}
.crdoc .crdname{font-size:9px;font-weight:700;color:#EAF4FB;text-align:center;margin-top:2px;}
.crdoc .crdlab{font-size:4.6px;font-weight:600;letter-spacing:.12em;color:#5E7488;text-transform:uppercase;text-align:center;margin-top:1.5px;margin-bottom:5px;}
.crdoc .crdhr{height:1px;background:linear-gradient(90deg,transparent,rgba(120,160,190,.42),transparent);margin:2px 0 4px;}
.crdoc .crdrow{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:1.7px 0;}
.crdoc .crdk{font-size:6px;font-weight:600;color:#7E93A6;white-space:nowrap;}
.crdoc .crdv{font-size:6.6px;font-weight:700;color:#93A7BA;transition:color .35s,text-shadow .35s;}
.crdoc .crdchart{width:100%;height:25px;margin:3px 0 2px;}
.crdoc .crdchart .crdgrid{stroke:rgba(120,150,175,.14);stroke-width:.4;}
.crdoc .crdchart .crdbase{stroke:rgba(120,145,168,.5);stroke-width:.7;fill:none;transition:stroke .4s;}
.crdoc .crdchart .crdpeak{stroke:#5E7488;stroke-width:1.1;fill:none;stroke-dasharray:220;stroke-dashoffset:220;}
.crdoc.focused .crdchart .crdbase{stroke:rgba(150,196,228,.7);}
.crdoc.drawn .crdchart .crdpeak{stroke:url(#crSeam);stroke-dashoffset:0;transition:stroke-dashoffset 1.5s cubic-bezier(.16,.84,.3,1),stroke .4s;filter:drop-shadow(0 0 2px rgba(16,198,232,.6));}
.crdoc .crdrow.read .crdv{color:#EAFDFF;text-shadow:0 0 8px rgba(16,198,232,.75);}
.crdoc .crdrow.read .crdk{color:#B7CCDD;}
.crscan{position:absolute;left:4%;right:4%;top:8%;height:2px;z-index:4;opacity:0;pointer-events:none;}
.crscan .crbcore{position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#8CF0FF 16%,#FFFFFF 50%,#8CF0FF 84%,transparent);box-shadow:0 0 12px 2px rgba(16,198,232,.9),0 0 44px 9px rgba(16,198,232,.42);}
.crscan .crbcone{position:absolute;left:-9%;right:-9%;top:2px;height:44px;background:linear-gradient(180deg,rgba(16,198,232,.30),rgba(16,198,232,.06) 55%,transparent);filter:blur(1.5px);}
.crscan.sweeping{animation:crbeam 1.65s cubic-bezier(.45,.05,.55,.95) infinite;}
.crmotes{position:absolute;inset:0;z-index:4;pointer-events:none;}
.crmotes i{position:absolute;width:1.6px;height:1.6px;border-radius:50%;background:rgba(214,246,255,.9);box-shadow:0 0 4px rgba(16,198,232,.9);opacity:0;}
.coaritual.on .crmotes i{animation:crmote 3.3s ease-in-out infinite;}
.crmotes i:nth-child(1){left:32%;top:40%;animation-delay:.1s;}
.crmotes i:nth-child(2){left:58%;top:52%;animation-delay:.7s;}
.crmotes i:nth-child(3){left:44%;top:64%;animation-delay:1.3s;}
.crmotes i:nth-child(4){left:66%;top:38%;animation-delay:1.9s;}
.crmotes i:nth-child(5){left:38%;top:56%;animation-delay:2.4s;}
.crglass{position:absolute;inset:0;border-radius:50%;z-index:5;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(115% 85% at 30% 12%,rgba(255,255,255,.24),rgba(255,255,255,0) 44%),radial-gradient(85% 60% at 76% 90%,rgba(150,205,255,.11),transparent 56%);}
.crglint{position:absolute;top:-60%;left:-45%;width:55%;height:220%;z-index:5;pointer-events:none;transform:rotate(17deg);mix-blend-mode:screen;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);}
.coaritual.on .crglint{animation:crglint 3.3s ease-in-out 1 both;}
.crstatus{font-size:12px;font-weight:600;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:#8FA2B2;margin-bottom:22px;}
.crchecks{display:flex;flex-direction:column;gap:9px;width:100%;max-width:300px;}
.crchecks .rcheck{display:flex;align-items:center;gap:12px;opacity:.28;transform:translateY(2px);transition:opacity .35s cubic-bezier(.16,.84,.3,1),transform .35s cubic-bezier(.16,.84,.3,1);}
.crchecks .rcheck.lit{opacity:1;transform:translateY(0);}
.crchecks .rcdot{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:background .3s,box-shadow .3s,border-color .3s;}
.crchecks .rcheck.lit .rcdot{background:var(--led-grad);border-color:transparent;box-shadow:0 0 12px rgba(16,198,232,.5);}
.crchecks .rcdot svg{width:12px;height:12px;fill:none;stroke:#04121c;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .25s;}
.crchecks .rcheck.lit .rcdot svg{opacity:1;}
.crchecks .rclabel{font-size:14px;font-weight:600;color:#7D8B99;transition:color .3s;}
.crchecks .rcheck.lit .rclabel{color:#F4F8FB;}
@media (prefers-reduced-motion: reduce){
.crlens,.crscan,.crmotes i,.crglint{animation:none!important;transition:none!important;}
}
.coaresult{position:fixed;inset:0;z-index:2200;background:var(--room-grad);background-attachment:fixed;overflow-y:auto;transform:translateY(100%);transition:transform .5s cubic-bezier(.16,.84,.3,1);padding:calc(env(safe-area-inset-top) + 14px) 20px calc(env(safe-area-inset-bottom) + 40px);}
.coaresult.up{transform:translateY(0);}
.coaresult .crtop{display:flex;align-items:center;gap:12px;margin:0 auto 22px;max-width:520px;}
.coaresult .crback{width:34px;height:34px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#EAF6FC;display:grid;place-items:center;cursor:pointer;}
.coaresult .crback svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.coaresult .crtitle{font-size:12px;font-weight:600;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:#5E6E7D;}
.coaresult .crwrap{max-width:520px;margin:0 auto;}
.coaresult .vhero{text-align:center;padding:14px 0 26px;}
.coaresult .vbadge{width:96px;height:96px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;position:relative;}
.coaresult .vbadge svg{width:44px;height:44px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.coaresult .vbadge.pass{background:radial-gradient(circle at 50% 40%,#CFF6FF,#2FD4F2 48%,#10A8DE);box-shadow:0 0 40px rgba(16,198,232,.55),inset 0 2px 6px rgba(255,255,255,.6);}
.coaresult .vbadge.pass svg{stroke:#04121c;}
.coaresult .vbadge.caution{background:radial-gradient(circle at 50% 40%,#FFE2B0,#F2B25A 60%,#C98832);box-shadow:0 0 40px rgba(242,178,90,.5),inset 0 2px 6px rgba(255,255,255,.5);}
.coaresult .vbadge.caution svg{stroke:#3a2606;}
.coaresult .vbadge.fail{background:radial-gradient(circle at 50% 40%,#FFD9A8,#E58A3C 60%,#B5661F);box-shadow:0 0 40px rgba(230,138,60,.5),inset 0 2px 6px rgba(255,255,255,.45);}
.coaresult .vbadge.fail svg{stroke:#3a1f04;}
.coaresult .vbadge.star::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px solid rgba(34,224,160,.5);animation:crstar 8s linear infinite;}
.coaresult .vword{font-size:29px;font-weight:700;color:#F4F8FB;letter-spacing:-.01em;}
.coaresult .vword.pass{background:var(--led-grad-90);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.coaresult .vword.caution,.coaresult .vword.fail{color:#F2B25A;}
.coaresult .vsentence{margin:10px auto 0;font-size:14.5px;line-height:1.5;color:#B7C6D4;max-width:32ch;}
.coaresult .vprod{margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.06em;color:#8FA2B2;text-transform:uppercase;}
.coaresult .source{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border-radius:16px;margin-bottom:22px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
.coaresult .source.master{border-color:rgba(16,198,232,.28);background:rgba(16,198,232,.06);}
.coaresult .source.vendor{border-color:rgba(242,178,90,.28);background:rgba(242,178,90,.06);}
.coaresult .source.warn{border-color:rgba(230,138,60,.35);background:rgba(230,138,60,.08);}
.coaresult .srcic{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;}
.coaresult .srcic svg{width:18px;height:18px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.coaresult .source.master .srcic{background:rgba(16,198,232,.16);color:#62E8FF;}
.coaresult .source.vendor .srcic{background:rgba(242,178,90,.16);color:#F2B25A;}
.coaresult .source.warn .srcic{background:rgba(230,138,60,.18);color:#F0A868;}
.coaresult .srct{display:block;font-size:13.5px;font-weight:700;color:#F4F8FB;}
.coaresult .srcd{display:block;font-size:12px;color:#8FA2B2;margin-top:4px;line-height:1.45;}
.coaresult .gsec{font-size:10px;font-weight:700;letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;color:#5E6E7D;margin:4px 2px 12px;}
.coaresult .grow{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:14px;margin-bottom:9px;background:linear-gradient(180deg,rgba(18,25,34,.7),rgba(9,13,19,.75));border:1px solid rgba(255,255,255,.05);}
.coaresult .gdot{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;}
.coaresult .gdot svg{width:13px;height:13px;fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;}
.coaresult .gdot.ok{background:var(--led-grad);}
.coaresult .gdot.ok svg{stroke:#04121c;}
.coaresult .gdot.warn{background:radial-gradient(circle at 50% 40%,#FFE2B0,#F2B25A 62%,#C98832);}
.coaresult .gdot.warn svg{stroke:#3a2606;}
.coaresult .gdot.miss{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#5E6E7D;font-size:13px;font-weight:700;}
.coaresult .gmid{flex:1;min-width:0;}
.coaresult .gt{font-size:14.5px;font-weight:600;color:#F4F8FB;}
.coaresult .gsub{display:block;font-size:11.5px;color:#8FA2B2;margin-top:2px;}
.coaresult .gv{font-size:14px;font-weight:700;flex:none;text-align:right;}
.coaresult .gv.ok{background:var(--led-grad-90);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.coaresult .gv.warn{color:#F2B25A;}
.coaresult .gv.miss{color:#5E6E7D;}
.coaresult .tracklbl{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#5E6E7D;margin:20px 2px 11px;}
.coaresult .v2{border-radius:18px;padding:20px;background:linear-gradient(180deg,rgba(242,178,90,.08),rgba(242,178,90,.03));border:1px solid rgba(242,178,90,.22);text-align:center;margin-bottom:18px;}
.coaresult .v2ic{width:52px;height:52px;margin:0 auto 12px;border-radius:14px;display:grid;place-items:center;background:rgba(242,178,90,.14);color:#F2B25A;font-size:24px;}
.coaresult .v2t{font-size:16px;font-weight:700;color:#F4F8FB;}
.coaresult .v2d{font-size:13px;color:#B7C6D4;margin-top:8px;line-height:1.5;}
.coaresult .v2btn{margin-top:16px;display:inline-block;padding:13px 22px;border-radius:13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#EAF6FC;font-size:13.5px;font-weight:600;text-decoration:none;}
.coaresult .rdisc{margin-top:24px;font-size:10.5px;line-height:1.55;color:#5E6E7D;text-align:center;max-width:40ch;margin-left:auto;margin-right:auto;}
.coaresult .rdisc b{color:#8FA2B2;font-weight:600;}
@media (prefers-reduced-motion: reduce){
.coaresult .vbadge.star::after{animation:none;}
}
.coaresult{--co-cyan-core:#8FEAFF;--co-cyan-glow:rgba(64,216,255,.85);--co-cyan-glow-soft:rgba(28,196,240,.45);
  --co-warn:#F2B25A;--co-warn-glow:rgba(242,178,90,.5);--co-fail:#E5674C;--co-fail-glow:rgba(229,103,76,.5);}
.coaresult .cohero{text-align:center;padding:22px 0 8px;}
.coaresult .coreactor{position:relative;width:min(74vw,290px);aspect-ratio:1;margin:0 auto;}
.coaresult .coreactor svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible;}
.coaresult .rx-track{fill:none;stroke:rgba(255,255,255,.05);stroke-width:7;stroke-linecap:round;}
.coaresult .rx-arc{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.16,.84,.3,1);}
.coaresult .corx-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.coaresult .corx-num{font-weight:800;line-height:.84;letter-spacing:-.03em;display:flex;align-items:baseline;color:#F6FAFD;}
.coaresult .corx-num .big{font-size:88px;}
.coaresult .corx-num .of{font-size:30px;color:#5A6673;font-weight:500;margin-left:2px;}
.coaresult .corx-word{margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;}
.coaresult .cohero.full .corx-word{color:var(--co-cyan-core);}
.coaresult .cohero.partial .corx-word{color:var(--co-warn);}
.coaresult .cohero.fail .corx-word{color:#E8A99E;}
.coaresult .cohero.full .coreactor::after{content:"";position:absolute;inset:15%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(143,234,255,.3),rgba(22,169,222,.15) 40%,transparent 68%);
  animation:coCoreBreath 3.6s ease-in-out infinite;}
.coaresult .cohsub{margin:20px auto 0;font-size:14px;color:#9AA6B3;max-width:300px;line-height:1.46;font-weight:450;}
.coaresult .cohsub b{color:#F2F6FA;font-weight:600;}
.coaresult .coprod{margin-top:20px;font-size:21px;font-weight:700;letter-spacing:-.01em;color:#F2F6FA;}
.coaresult .cogatehead{margin:30px 0 12px;display:flex;align-items:center;gap:10px;}
.coaresult .cogl{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#5A6673;white-space:nowrap;}
.coaresult .cogrule{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent);}
.coaresult .cog{display:flex;align-items:stretch;border-radius:16px;margin-bottom:8px;position:relative;overflow:hidden;isolation:isolate;
  background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--glass-shadow);}
.coaresult .cog::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(95% 70% at 16% 0%,var(--glow-sheen),transparent 56%),radial-gradient(70% 85% at 96% 120%,var(--glow-blue),transparent 62%);}
.coaresult .cog.open{border-color:rgba(16,198,232,.28);box-shadow:var(--glass-shadow),0 0 22px -14px rgba(16,198,232,.6);}
.coaresult .cog.shut{border-color:rgba(242,178,90,.24);}
.coaresult .cog.fail{border-color:rgba(229,103,76,.3);}
.coaresult .cograil{width:4px;align-self:stretch;flex:none;position:relative;z-index:1;}
.coaresult .cog.open .cograil{background:linear-gradient(180deg,var(--co-cyan-core),#16A9DE 55%,#0970AA);box-shadow:0 0 10px var(--co-cyan-glow),0 0 22px var(--co-cyan-glow-soft);}
.coaresult .cog.shut .cograil{background:linear-gradient(180deg,#F2C87A,var(--co-warn) 60%,#B87F2E);box-shadow:0 0 8px var(--co-warn-glow);}
.coaresult .cog.fail .cograil{background:linear-gradient(180deg,#FF9A86,var(--co-fail) 60%,#B84A38);box-shadow:0 0 8px var(--co-fail-glow);}
.coaresult .cogbody{flex:1;display:flex;align-items:center;gap:14px;padding:14px 16px 14px 15px;min-width:0;position:relative;z-index:1;}
.coaresult .coglamp{width:27px;height:27px;border-radius:50%;flex:none;position:relative;}
.coaresult .cog.open .coglamp{box-shadow:inset 0 0 5px rgba(70,215,250,.55),0 0 10px rgba(64,216,255,.85),0 0 26px rgba(28,196,240,.5),0 0 50px rgba(16,198,232,.24);}
.coaresult .cog.open .coglamp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(2,44,74,0) 54%,rgba(4,58,92,.45) 84%,rgba(3,46,76,.65) 100%),radial-gradient(circle at 50% 44%,#FFFFFF 0%,#DCFAFF 7%,#8FEAFF 20%,#3FD3F5 44%,#16A9DE 68%,#0C86C0 87%,#0970AA 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -1.5px 1.5px rgba(170,244,255,.5),inset 0 -4px 7px rgba(4,62,98,.45),inset 0 0 7px rgba(140,236,255,.55);}
.coaresult .cog.shut .coglamp{box-shadow:inset 0 0 5px rgba(240,200,120,.5),0 0 9px rgba(224,165,74,.75),0 0 22px rgba(224,165,74,.4);}
.coaresult .cog.shut .coglamp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(74,48,10,0) 54%,rgba(92,58,4,.4) 84%,rgba(76,50,3,.6) 100%),radial-gradient(circle at 50% 44%,#FFFFFF 0%,#FFF3DE 7%,#FFE0A6 20%,#F2C87A 44%,#E0A54A 68%,#C0862E 87%,#9C6E27 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -1.5px 1.5px rgba(255,224,166,.5),inset 0 -4px 7px rgba(74,48,10,.45),inset 0 0 7px rgba(255,224,166,.5);}
.coaresult .cog.fail .coglamp{box-shadow:inset 0 0 5px rgba(255,128,120,.5),0 0 9px rgba(229,84,75,.8),0 0 22px rgba(229,84,75,.42);}
.coaresult .cog.fail .coglamp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(74,14,10,0) 54%,rgba(92,20,14,.42) 84%,rgba(76,16,12,.62) 100%),radial-gradient(circle at 50% 44%,#FFFFFF 0%,#FFE2DE 7%,#FFB3AC 20%,#FF8079 44%,#E5544B 68%,#C03A32 87%,#A83229 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -1.5px 1.5px rgba(255,179,172,.5),inset 0 -4px 7px rgba(74,14,10,.45),inset 0 0 7px rgba(255,179,172,.5);}
.coaresult .coglamp::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(circle at 36% 22%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 4%,rgba(255,255,255,0) 11%),radial-gradient(140% 70% at 50% -18%,rgba(255,255,255,.28),rgba(255,255,255,0) 34%),radial-gradient(circle at 68% 78%,rgba(255,255,255,.12),rgba(255,255,255,0) 24%);}
.coaresult .coglamp svg{position:absolute;inset:0;margin:auto;width:13px;height:13px;fill:none;stroke-width:2.9;stroke-linecap:round;stroke-linejoin:round;z-index:3;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));}
.coaresult .cog.open .coglamp svg{stroke:#04303f;}
.coaresult .cog.shut .coglamp svg{stroke:#3a2708;}
.coaresult .cog.fail .coglamp svg{stroke:#3a0d08;}
.coaresult .cogmid{flex:1;min-width:0;}
.coaresult .cogtop{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.coaresult .cogname{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#F2F6FA;}
.coaresult .cogsay{font-size:12.5px;color:#9AA6B3;margin-top:3px;font-weight:450;display:block;}
.coaresult .cogval{font-size:14px;font-weight:700;text-align:right;flex:none;letter-spacing:-.01em;white-space:nowrap;color:#EEF4F9;}
.coaresult .cog.shut .cogval{color:#8A94A0;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;}
@media (prefers-reduced-motion: reduce){
.coaresult .cohero.full .coreactor::after{animation:none;opacity:.72;}
}
#coascore{--co-cyan-core:#8FEAFF;--co-warn:#F2B25A;--co-warn-glow:rgba(242,178,90,.5);--co-fail:#E5674C;--co-fail-glow:rgba(229,103,76,.5);
  max-width:520px;margin:8px auto 6px;animation:coScoreIn .6s cubic-bezier(.16,.84,.3,1);}
#coascore[hidden]{display:none;}
#coascore .cohero{text-align:center;padding:12px 0 8px;}
#coascore .coreactor{position:relative;width:min(72vw,282px);aspect-ratio:1;margin:0 auto;}
#coascore .coreactor svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible;}
#coascore .rx-track{fill:none;stroke:rgba(255,255,255,.05);stroke-width:7;stroke-linecap:round;}
#coascore .rx-arc{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.16,.84,.3,1);}
#coascore .corx-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
#coascore .corx-num{font-weight:800;line-height:.84;letter-spacing:-.03em;display:flex;align-items:baseline;color:#F6FAFD;}
#coascore .corx-num .big{font-size:84px;}
#coascore .corx-num .of{font-size:29px;color:#5A6673;font-weight:500;margin-left:2px;}
#coascore .corx-word{margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;}
#coascore .cohero.full .corx-word{color:var(--co-cyan-core);}
#coascore .cohero.partial .corx-word{color:var(--co-warn);}
#coascore .cohero.fail .corx-word{color:#E8A99E;}
#coascore .cohero.full .coreactor::after{content:"";position:absolute;inset:15%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(143,234,255,.3),rgba(22,169,222,.15) 40%,transparent 68%);animation:coCoreBreath 3.6s ease-in-out infinite;}
#coascore .cohsub{margin:18px auto 0;font-size:14px;color:#9AA6B3;max-width:300px;line-height:1.46;font-weight:450;}
#coascore .cohsub b{color:#F2F6FA;font-weight:600;}
#coascore .coprod{margin-top:18px;font-size:21px;font-weight:700;letter-spacing:-.01em;color:#F2F6FA;}
#coascore .coalias{display:block;margin-top:4px;font-size:12px;font-weight:600;letter-spacing:.04em;color:#62E8FF;}
#coascore .coblend{margin:14px 0 2px;padding:14px 16px 10px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);}
#coascore .cobl{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#7E8A98;margin-bottom:8px;}
#coascore .cobrow{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.05);}
#coascore .cobrow:first-of-type{border-top:0;}
#coascore .cobn{flex:1;font-size:14px;font-weight:600;color:#EAF0F6;}
#coascore .cobv{font-size:14px;font-weight:700;color:#F2F6FA;white-space:nowrap;}
#coascore .cobof{font-weight:500;color:#8FA2B2;font-size:12px;}
#coascore .cobp{font-size:11.5px;color:#8FA2B2;min-width:74px;text-align:right;white-space:nowrap;}
#coascore .source{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border-radius:16px;margin:16px 0 6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);}
#coascore .source.master{border-color:rgba(16,198,232,.28);background:rgba(16,198,232,.06);}
#coascore .source.vendor{border-color:rgba(242,178,90,.28);background:rgba(242,178,90,.06);}
#coascore .source.warn{border-color:rgba(230,138,60,.35);background:rgba(230,138,60,.08);}
#coascore .source .srcic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;}
#coascore .source .srcic svg{width:17px;height:17px;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
#coascore .source.master .srcic{background:rgba(16,198,232,.16);color:#62E8FF;}
#coascore .source.vendor .srcic{background:rgba(242,178,90,.16);color:#F2B25A;}
#coascore .source.warn .srcic{background:rgba(230,138,60,.18);color:#F0A868;}
#coascore .source .srct{font-size:13.5px;font-weight:600;color:#EAF0F6;display:block;}
#coascore .source .srcd{font-size:11.5px;color:#8FA2B2;line-height:1.45;display:block;margin-top:2px;}
#coascore .cocontent{margin:14px 0 2px;padding:16px 16px 15px;border-radius:16px;text-align:center;
  background:rgba(16,198,232,.05);border:1px solid rgba(16,198,232,.22);}
#coascore .ccql{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#7E8A98;}
#coascore .ccrow{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 4px;}
#coascore .ccval{font-size:24px;font-weight:700;letter-spacing:-.01em;color:#F2F6FA;min-width:110px;}
#coascore .ccnudge{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);color:#EAF0F6;font-size:20px;font-weight:600;line-height:1;cursor:pointer;
  display:grid;place-items:center;-webkit-tap-highlight-color:transparent;}
#coascore .ccnudge:active{background:rgba(255,255,255,.12);}
#coascore .ccsub{display:block;font-size:11.5px;color:#8FA2B2;line-height:1.45;}
#coascore .ccok{margin-top:12px;padding:10px 22px;border-radius:12px;border:0;cursor:pointer;
  font-size:13.5px;font-weight:700;color:#04121c;background:var(--led-grad-90);letter-spacing:.01em;}
#coascore .ccok:active{opacity:.9;}
#coascore .cogatehead{margin:24px 0 12px;display:flex;align-items:center;gap:10px;}
#coascore .cogl{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#5A6673;white-space:nowrap;}
#coascore .cogrule{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent);}
#coascore .cog{display:flex;flex-direction:column;border-radius:16px;margin-bottom:8px;position:relative;overflow:hidden;isolation:isolate;
  background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--glass-shadow);}
#coascore .cog::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(95% 70% at 16% 0%,var(--glow-sheen),transparent 56%),radial-gradient(70% 85% at 96% 120%,var(--glow-blue),transparent 62%);}
#coascore .cog.open{border-color:rgba(16,198,232,.28);box-shadow:var(--glass-shadow),0 0 22px -14px rgba(16,198,232,.6);}
#coascore .cog.shut{border-color:rgba(242,178,90,.24);}
#coascore .cog.fail{border-color:rgba(229,103,76,.3);}
#coascore .cograil{position:absolute;left:0;top:0;bottom:0;width:4px;z-index:1;}
#coascore .cog.open .cograil{background:linear-gradient(180deg,var(--co-cyan-core),#16A9DE 55%,#0970AA);box-shadow:0 0 10px rgba(64,216,255,.85),0 0 22px rgba(28,196,240,.45);}
#coascore .cog.shut .cograil{background:linear-gradient(180deg,#F2C87A,var(--co-warn) 60%,#B87F2E);box-shadow:0 0 8px var(--co-warn-glow);}
#coascore .cog.fail .cograil{background:linear-gradient(180deg,#FF9A86,var(--co-fail) 60%,#B84A38);box-shadow:0 0 8px var(--co-fail-glow);}
#coascore .cogbody{flex:1;display:flex;align-items:center;gap:14px;padding:14px 16px 14px 15px;min-width:0;position:relative;z-index:1;}
#coascore .coglamp{width:27px;height:27px;border-radius:50%;flex:none;position:relative;}
#coascore .cog.open .coglamp{box-shadow:inset 0 0 5px rgba(70,215,250,.55),0 0 10px rgba(64,216,255,.85),0 0 26px rgba(28,196,240,.5),0 0 50px rgba(16,198,232,.24);}
#coascore .cog.open .coglamp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(2,44,74,0) 54%,rgba(4,58,92,.45) 84%,rgba(3,46,76,.65) 100%),radial-gradient(circle at 50% 44%,#FFFFFF 0%,#DCFAFF 7%,#8FEAFF 20%,#3FD3F5 44%,#16A9DE 68%,#0C86C0 87%,#0970AA 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -1.5px 1.5px rgba(170,244,255,.5),inset 0 -4px 7px rgba(4,62,98,.45),inset 0 0 7px rgba(140,236,255,.55);}
#coascore .cog.shut .coglamp{box-shadow:inset 0 0 5px rgba(240,200,120,.5),0 0 9px rgba(224,165,74,.75),0 0 22px rgba(224,165,74,.4);}
#coascore .cog.shut .coglamp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(74,48,10,0) 54%,rgba(92,58,4,.4) 84%,rgba(76,50,3,.6) 100%),radial-gradient(circle at 50% 44%,#FFFFFF 0%,#FFF3DE 7%,#FFE0A6 20%,#F2C87A 44%,#E0A54A 68%,#C0862E 87%,#9C6E27 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -1.5px 1.5px rgba(255,224,166,.5),inset 0 -4px 7px rgba(74,48,10,.45),inset 0 0 7px rgba(255,224,166,.5);}
#coascore .cog.fail .coglamp{box-shadow:inset 0 0 5px rgba(255,128,120,.5),0 0 9px rgba(229,84,75,.8),0 0 22px rgba(229,84,75,.42);}
#coascore .cog.fail .coglamp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(74,14,10,0) 54%,rgba(92,20,14,.42) 84%,rgba(76,16,12,.62) 100%),radial-gradient(circle at 50% 44%,#FFFFFF 0%,#FFE2DE 7%,#FFB3AC 20%,#FF8079 44%,#E5544B 68%,#C03A32 87%,#A83229 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -1.5px 1.5px rgba(255,179,172,.5),inset 0 -4px 7px rgba(74,14,10,.45),inset 0 0 7px rgba(255,179,172,.5);}
#coascore .coglamp::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(circle at 36% 22%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 4%,rgba(255,255,255,0) 11%),radial-gradient(140% 70% at 50% -18%,rgba(255,255,255,.28),rgba(255,255,255,0) 34%),radial-gradient(circle at 68% 78%,rgba(255,255,255,.12),rgba(255,255,255,0) 24%);}
#coascore .coglamp svg{position:absolute;inset:0;margin:auto;width:13px;height:13px;fill:none;stroke-width:2.9;stroke-linecap:round;stroke-linejoin:round;z-index:3;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));}
#coascore .cog.open .coglamp svg{stroke:#04303f;}
#coascore .cog.shut .coglamp svg{stroke:#3a2708;}
#coascore .cog.fail .coglamp svg{stroke:#3a0d08;}
#coascore .cogmid{flex:1;min-width:0;}
#coascore .cogtop{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
#coascore .cogname{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#F2F6FA;}
#coascore .cogsay{font-size:12.5px;color:#9AA6B3;margin-top:3px;font-weight:450;display:block;}
#coascore .cogval{font-size:14px;font-weight:700;text-align:right;flex:none;letter-spacing:-.01em;white-space:nowrap;color:#EEF4F9;}
#coascore .cog.shut .cogval{color:#8A94A0;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;}
.coaresult .cog.warn, #coascore .cog.warn{border-color:rgba(242,178,90,.28);}
.coaresult .cog.warn .cograil, #coascore .cog.warn .cograil{background:linear-gradient(180deg,#F2C87A,var(--co-warn) 60%,#B87F2E);box-shadow:0 0 8px var(--co-warn-glow);}
.coaresult .cog.warn .coglamp, #coascore .cog.warn .coglamp{box-shadow:inset 0 0 5px rgba(240,200,120,.5),0 0 9px rgba(224,165,74,.75),0 0 22px rgba(224,165,74,.4);}
.coaresult .cog.warn .coglamp::before, #coascore .cog.warn .coglamp::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(74,48,10,0) 54%,rgba(92,58,4,.4) 84%,rgba(76,50,3,.6) 100%),radial-gradient(circle at 50% 44%,#FFFFFF 0%,#FFF3DE 7%,#FFE0A6 20%,#F2C87A 44%,#E0A54A 68%,#C0862E 87%,#9C6E27 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7),inset 0 -1.5px 1.5px rgba(255,224,166,.5),inset 0 -4px 7px rgba(74,48,10,.45),inset 0 0 7px rgba(255,224,166,.5);}
.coaresult .cog.warn .coglamp svg, #coascore .cog.warn .coglamp svg{stroke:#3a2708;}
.coaresult .cohero.warn .corx-word, #coascore .cohero.warn .corx-word{color:var(--co-warn);}
#coascore .cog:has(.cogdetail) .cogbody{cursor:pointer;-webkit-tap-highlight-color:transparent;}
#coascore .cogchev{flex:none;width:19px;height:19px;display:flex;align-items:center;justify-content:center;color:#6E7E8D;transition:transform .28s cubic-bezier(.16,.84,.3,1),color .2s;}
#coascore .cogchev svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
#coascore .cog.xopen .cogchev{transform:rotate(90deg);color:var(--blue);}
#coascore .cogdetail{max-height:0;overflow:hidden;transition:max-height .34s cubic-bezier(.16,.84,.3,1);position:relative;z-index:1;}
#coascore .cog.xopen .cogdetail{max-height:340px;}
#coascore .cogdin{padding:0 18px 16px 34px;}
#coascore .cogmiss{margin:0 0 8px;font-size:12.5px;font-weight:650;color:var(--amber);letter-spacing:.005em;}
#coascore .cogwhy{margin:0;font-size:13px;line-height:1.5;color:#B7C6D4;font-weight:450;}
#coascore .cogtell{margin-top:10px;display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.45;color:#8FA2B2;font-weight:450;}
#coascore .cogtd{flex:none;width:5px;height:5px;border-radius:50%;margin-top:6px;background:var(--led-grad);box-shadow:0 0 7px rgba(16,198,232,.6);}
@media (prefers-reduced-motion: reduce){
#coascore .cogdetail,#coascore .cogchev{transition:none;}
}
#coascore .coscoreact{display:flex;gap:10px;margin-top:18px;}
#coascore .v2btn{flex:1;text-align:center;padding:14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#EAF6FC;font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer;}
#coascore .cosagain{background:var(--led-grad);border-color:transparent;color:#04121c;}
#coascore .rdisc{margin:20px auto 6px;font-size:10.5px;line-height:1.55;color:#5E6E7D;text-align:center;max-width:42ch;}
#coascore .rdisc b{color:#8FA2B2;font-weight:600;}
#coascore .coaddhint{margin:20px auto 10px;font-size:12px;line-height:1.5;color:#9AA6B3;text-align:center;max-width:36ch;}
#coascore .coaddmore{display:block;width:100%;text-align:center;padding:14px;border-radius:14px;background:rgba(16,198,232,.10);border:1px solid rgba(16,198,232,.42);color:#EAF6FC;font-size:13.5px;font-weight:600;cursor:pointer;margin-bottom:10px;}
#coascore .comism{margin:14px auto 0;font-size:12px;line-height:1.5;color:#F2B25A;text-align:center;max-width:38ch;}
@media (prefers-reduced-motion: reduce){
#coascore{animation:none;}
#coascore .cohero.full .coreactor::after{animation:none;opacity:.72;}
}
.coaresult .unlock{text-align:center;padding:8px 6px 4px;}
.coaresult .unlockic{width:60px;height:60px;margin:6px auto 16px;border-radius:16px;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%,rgba(16,198,232,.2),rgba(16,198,232,.06));border:1px solid rgba(16,198,232,.3);}
.coaresult .unlockic svg{width:28px;height:28px;fill:none;stroke:#62E8FF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.coaresult .unlockh{font-size:22px;font-weight:700;color:#F4F8FB;letter-spacing:-.01em;}
.coaresult .unlocks{font-size:14px;line-height:1.5;color:#B7C6D4;max-width:30ch;margin:10px auto 22px;}
.coaresult .unlockbtn{display:block;width:100%;max-width:340px;margin:0 auto 12px;padding:16px;border-radius:15px;border:none;cursor:pointer;
  background:var(--led-grad);color:#04121c;font-size:16px;font-weight:700;text-decoration:none;text-align:center;
  box-shadow:0 0 26px -6px rgba(16,198,232,.7),inset 0 1px 0 rgba(255,255,255,.4);letter-spacing:.01em;}
.coaresult .unlockbtn:active{transform:scale(.985);}
.coaresult .unlockcap{display:block;width:100%;max-width:340px;margin:0 auto;padding:14px;border-radius:14px;cursor:pointer;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#EAF6FC;font-size:14px;font-weight:600;}
.coaresult .unlockalt{display:block;margin:14px auto 2px;padding:6px 8px;border:none;background:none;cursor:pointer;
  color:#8FA2B2;font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px;}
.coaresult .unlockalt:active{color:#B7C6D4;}
.coaresult .unlocksteps{list-style:none;counter-reset:s;max-width:300px;margin:2px auto 18px;padding:0;text-align:left;}
.coaresult .unlocksteps li{counter-increment:s;position:relative;padding:7px 0 7px 34px;font-size:13.5px;color:#B7C6D4;}
.coaresult .unlocksteps li::before{content:counter(s);position:absolute;left:0;top:6px;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;font-size:11px;font-weight:700;color:#04121c;background:var(--led-grad);}
.coaresult .cfhead{text-align:center;margin-bottom:18px;}
.coaresult .cfh{font-size:20px;font-weight:700;color:#F4F8FB;}
.coaresult .cfs{font-size:13px;color:#8FA2B2;margin-top:6px;}
.coaresult .cfrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-radius:13px;margin-bottom:10px;
  background:linear-gradient(180deg,rgba(18,25,34,.7),rgba(9,13,19,.75));border:1px solid rgba(255,255,255,.06);}
.coaresult .cfrow label{font-size:13.5px;font-weight:600;color:#C4D2DE;}
.coaresult .cfrow input,.coaresult .cfrow select{width:120px;padding:9px 11px;border-radius:9px;background:rgba(0,0,0,.35);
  border:1px solid rgba(16,198,232,.3);color:#EAFDFF;font-size:16px;font-weight:700;font-family:inherit;text-align:right;}
.coaresult .cfrow select{text-align:left;width:140px;}
.coaresult .cfrow input:focus,.coaresult .cfrow select:focus{outline:none;border-color:rgba(16,198,232,.7);}
.coaresult #cfgrade{margin-top:8px;}
.cscapbtn{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 40px);transform:translateX(-50%);
  width:74px;height:74px;border-radius:50%;border:none;background:none;cursor:pointer;z-index:3;padding:0;}
.cscapbtn[hidden]{display:none;}
.cscapring{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,255,255,.9);box-shadow:0 0 16px rgba(16,198,232,.5);}
.cscapdot{position:absolute;inset:7px;border-radius:50%;background:var(--led-grad);box-shadow:inset 0 1px 3px rgba(255,255,255,.4);}
.cscapbtn:active .cscapdot{transform:scale(.92);}
.cscapbtn.busy{pointer-events:none;}
.cscapbtn.busy .cscapdot{transform:scale(.62);opacity:.7;}
.cscapbtn.busy .cscapring{border-color:rgba(255,255,255,.16);border-top-color:#22E0A0;border-right-color:#10C6E8;
  box-shadow:0 0 20px rgba(16,198,232,.7);animation:cscapspin .8s linear infinite;}
@media (prefers-reduced-motion:reduce){
.cscapbtn.busy .cscapring{animation:none;}
}
.cscanprog{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 130px);display:flex;justify-content:center;gap:10px;z-index:3;padding:0 16px;flex-wrap:wrap;}
.cscanprog[hidden]{display:none;}
.cspf{font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:20px;color:#8FA2B2;
  background:rgba(6,12,18,.7);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s;}
.cspf.got{color:#04121c;background:var(--led-grad);border-color:transparent;box-shadow:0 0 14px rgba(16,198,232,.5);}
#view-coa .coaeyebrow{margin-top:17px;font-size:11px;font-weight:700;letter-spacing:.46em;text-indent:.46em;
  background:var(--led-grad-90);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase;}
#view-coa .coah1{margin-top:11px;font-size:25px;font-weight:800;letter-spacing:-.018em;line-height:1.14;color:var(--gink);max-width:none;margin-left:auto;margin-right:auto;white-space:nowrap;
  text-shadow:0 1px 20px rgba(16,198,232,.12);}
#view-coa .coah1b{display:block;}
.coaverdict:empty{display:none;}
.coaverdict{position:relative;margin-top:20px;border:1px solid rgba(16,198,232,.28);border-radius:20px;
  background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  box-shadow:var(--glass-shadow),0 0 34px -16px rgba(16,198,232,.6);
  padding:18px 17px 16px;overflow:hidden;isolation:isolate;}
.coaverdict::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(95% 65% at 18% 0%,var(--glow-sheen),transparent 55%),
    radial-gradient(80% 90% at 92% 112%,var(--glow-blue),transparent 60%),
    radial-gradient(60% 75% at 6% 110%,var(--glow-green),transparent 60%);}
.coaverdict>*{position:relative;z-index:1;}
.coaverdict .cvhead{display:flex;align-items:center;gap:11px;margin-bottom:14px;}
.coaverdict .cvseal{flex:none;width:30px;height:30px;border-radius:50%;background:var(--led-grad);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 14px rgba(16,198,232,.7),inset 0 1px 2px rgba(255,255,255,.5);
  animation:coaSeal 3.8s ease-in-out infinite;}
.coaverdict .cvseal svg{width:15px;height:15px;stroke:#06222e;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.coaverdict .cvt{font-size:9px;font-weight:600;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:#8FA2B2;}
.cvrow{display:flex;align-items:center;gap:11px;padding:5px 0;}
.cvrow+.cvrow{border-top:1px solid rgba(255,255,255,.05);}
.cvrow .cvk{flex:none;width:13px;height:13px;border-radius:50%;
  background:radial-gradient(circle at 50% 42%,#FFFFFF 0%,#DCFAFF 10%,#8FEAFF 26%,#3FD3F5 52%,#16A9DE 78%,#0C86C0 100%);
  box-shadow:0 0 10px rgba(16,198,232,.85),0 0 3px rgba(180,240,255,.9),inset 0 1px 1.5px rgba(255,255,255,.85);
  animation:cvLamp 3.4s ease-in-out infinite;}
.cvrow:nth-child(3) .cvk{animation-delay:.5s;}
.cvrow:nth-child(4) .cvk{animation-delay:1s;}
.cvrow .cvx{flex:1;font-size:13px;font-weight:500;color:#DCE6EF;letter-spacing:.006em;}
.cvrow .cvx b{font-weight:700;color:#fff;}
.cvrow .cvn{flex:none;font-size:13.5px;font-weight:700;letter-spacing:.02em;
  background:var(--led-grad-90);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.coasethead{display:flex;align-items:center;gap:11px;margin:30px 4px 14px;}
.coasethead .coasetrule{flex:none;width:16px;height:2px;border-radius:2px;background:var(--led-grad-90);
  box-shadow:0 0 9px rgba(16,198,232,.7);}
.coasetlbl{flex:none;font-size:9px;font-weight:600;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:#8FA2B2;}
.coasetline{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.02));}
.coasetn{flex:none;font-size:8.5px;font-weight:700;letter-spacing:.22em;color:#5E6E7D;
  font-variant-numeric:tabular-nums;}
.coacards{display:flex;flex-direction:column;gap:12px;}
.coacard{position:relative;border:var(--glass-border);background:var(--glass-bg);border-radius:18px;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--glass-shadow);
  overflow:hidden;isolation:isolate;transition:border-color .25s var(--ease),box-shadow .3s var(--ease);}
.coacard::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(95% 70% at 16% 0%,var(--glow-sheen),transparent 56%),
    radial-gradient(70% 85% at 96% 120%,var(--glow-blue),transparent 62%);}
.coacard>*{position:relative;z-index:1;}
.coacard.open{border-color:rgba(16,198,232,.42);box-shadow:var(--glass-shadow),0 0 26px -14px rgba(16,198,232,.7);}
.coahead{display:flex;align-items:center;gap:13px;padding:16px 15px;cursor:pointer;touch-action:manipulation;}
.coanum{flex:none;width:27px;height:27px;border-radius:9px;border:var(--glass-border);background:rgba(255,255,255,.05);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--gink2);}
.coacard.req .coanum{background:var(--led-grad);border-color:transparent;color:#06222e;box-shadow:0 2px 10px -2px rgba(16,198,232,.6);}
.coamid{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.coaq{font-size:14.5px;font-weight:600;color:#F4F8FB;letter-spacing:.004em;line-height:1.15;}
.coat{font-size:8px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#5E6E7D;}
.coacard.req .coat{background:var(--led-grad-90);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.coalook{flex:none;text-align:right;display:flex;flex-direction:column;gap:2px;align-items:flex-end;}
.coalook .col1{font-size:8px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5E6E7D;}
.coalook .col2{font-size:14px;font-weight:700;letter-spacing:.01em;white-space:nowrap;
  background:var(--led-grad-90);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.coalook .col2.amb{background:none;-webkit-text-fill-color:var(--amber);color:var(--amber);}
.coachev{flex:none;width:16px;height:16px;margin-left:2px;color:#5E6E7D;transition:transform .28s var(--ease),color .28s var(--ease);}
.coacard.open .coachev{transform:rotate(90deg);color:var(--blue);}
.coachev svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;fill:none;}
.coabody{max-height:0;overflow:hidden;transition:max-height .34s var(--ease);}
.coacard.open .coabody{max-height:280px;}
.coabin{padding:0 16px 17px 55px;}
.coabin p{font-size:12.5px;line-height:1.55;color:var(--gink2);letter-spacing:.008em;}
.coabin p b{color:#DCE6EF;font-weight:600;}
.coatell{margin-top:11px;display:flex;align-items:flex-start;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:#CDE7F2;line-height:1.4;}
.coatell .d{flex:none;width:6px;height:6px;border-radius:50%;margin-top:4px;background:var(--led-grad);box-shadow:0 0 8px rgba(16,198,232,.75);}
.coafoot{margin-top:26px;text-align:center;font-size:10.5px;line-height:1.6;color:#5E6E7D;letter-spacing:.01em;padding:0 8px;}
@media (prefers-reduced-motion: reduce){
.coacard,.coachev,.coabody,.coaverdict .cvseal,.cvrow .cvk{transition:none!important;animation:none!important;}
}
.coascan{position:relative;width:100%;margin-top:22px;display:flex;align-items:center;gap:14px;
  padding:15px 16px;border-radius:18px;cursor:pointer;text-align:left;
  border:1px solid rgba(16,198,232,.4);background:var(--glass-bg);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;isolation:isolate;
  box-shadow:var(--glass-shadow),0 0 30px -12px rgba(16,198,232,.75);
  animation:coaScanBreath 3.4s ease-in-out infinite;}
.coascan::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(80% 120% at 12% 0%,var(--glow-blue),transparent 60%),
    radial-gradient(70% 100% at 96% 120%,var(--glow-green),transparent 62%);}
.coascan>*{position:relative;z-index:1;}
.coascan:active{transform:scale(.985);}
.csorb{position:relative;flex:none;width:56px;height:56px;border-radius:50%;background:var(--led-grad);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 22px rgba(16,198,232,.8),0 0 44px -8px rgba(16,198,232,.5),inset 0 1px 3px rgba(255,255,255,.55);}
.csorb::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  border:1.5px solid rgba(90,226,255,.85);animation:csPing 3.4s ease-out infinite;}
@media (prefers-reduced-motion: reduce){
.csorb::after{animation:none;opacity:0;}
}
.csorb svg{width:29px;height:29px;stroke:#06222e;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.cstxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.cstxt b{font-size:15.5px;font-weight:700;color:#F4F8FB;letter-spacing:.004em;}
.cssub{font-size:11.5px;font-weight:500;letter-spacing:.02em;color:var(--gink2);}
.cschev{flex:none;width:18px;height:18px;color:var(--blue);}
.cschev svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
@media (prefers-reduced-motion: reduce){
.coascan{animation:none;}
}
.coascanner{position:fixed;inset:0;z-index:2000;background:#04070a;
  display:flex;align-items:center;justify-content:center;}
.coascanner[hidden]{display:none;}
.csvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.coascanner::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 40% at 50% 42%,transparent,rgba(4,7,10,.72) 78%);}
.csframe{position:relative;z-index:2;width:min(74vw,300px);height:min(74vw,300px);}
.cscorner{position:absolute;width:34px;height:34px;border:3px solid var(--blue);
  box-shadow:0 0 12px rgba(16,198,232,.7);}
.cscorner.tl{top:0;left:0;border-right:0;border-bottom:0;border-top-left-radius:14px;}
.cscorner.tr{top:0;right:0;border-left:0;border-bottom:0;border-top-right-radius:14px;}
.cscorner.bl{bottom:0;left:0;border-right:0;border-top:0;border-bottom-left-radius:14px;}
.cscorner.br{bottom:0;right:0;border-left:0;border-top:0;border-bottom-right-radius:14px;}
.csline{position:absolute;left:8px;right:8px;height:2px;border-radius:2px;top:8px;
  background:var(--led-grad-90);box-shadow:0 0 14px rgba(16,198,232,.9);
  animation:csScan 2.4s ease-in-out infinite;}
.cshint{position:absolute;z-index:3;bottom:calc(env(safe-area-inset-bottom) + 40px);left:0;right:0;
  text-align:center;font-size:13px;font-weight:600;letter-spacing:.02em;color:#EAF1F8;
  text-shadow:0 1px 12px rgba(0,0,0,.8);padding:0 30px;}
.csclose{position:absolute;z-index:4;top:calc(env(safe-area-inset-top) + 16px);right:16px;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.24);
  background:rgba(6,10,14,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:center;cursor:pointer;}
.csclose svg{width:20px;height:20px;stroke:#EAF1F8;stroke-width:2.2;fill:none;stroke-linecap:round;}
.csfallback{position:relative;z-index:5;max-width:320px;margin:0 26px;padding:26px 22px;text-align:center;
  border:var(--glass-border);border-radius:20px;background:rgba(10,14,18,.82);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  box-shadow:0 20px 60px -20px rgba(0,0,0,.9);}
.csfallback[hidden]{display:none;}
.csfbtitle{font-size:16px;font-weight:700;color:#F4F8FB;letter-spacing:.004em;}
.csfbtext{margin-top:10px;font-size:12.5px;line-height:1.55;color:var(--gink2);}
@media (prefers-reduced-motion: reduce){
.csline{animation:none;top:calc(50% - 1px);}
}
.cs-capmode .csframe{width:min(90vw,440px);height:min(46vw,210px);}
.cs-capmode .csline{animation-duration:1.8s;}
.coasheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,100%);z-index:2100;
  width:min(440px,100%);border-radius:26px 26px 0 0;padding:26px 22px calc(env(safe-area-inset-bottom) + 24px);
  text-align:center;background:linear-gradient(180deg,#0E1520,#0A0F16);
  border:1px solid rgba(255,255,255,.09);border-bottom:0;
  box-shadow:0 -18px 60px -20px rgba(0,0,0,.85);transition:transform .34s var(--ease);}
.coasheet.up{transform:translate(-50%,0);}
.cshseal{width:46px;height:46px;border-radius:50%;margin:0 auto 14px;background:var(--led-grad);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 20px rgba(16,198,232,.7),inset 0 1px 3px rgba(255,255,255,.5);}
.cshseal svg{width:22px;height:22px;stroke:#06222e;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.cshttl{font-size:9px;font-weight:600;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:#8FA2B2;}
.cshurl{margin:10px auto 20px;max-width:340px;font-size:13px;font-weight:600;color:#DCE6EF;
  letter-spacing:.004em;line-height:1.4;word-break:break-all;}
.cshgo{display:block;width:100%;padding:16px;border-radius:15px;background:var(--led-grad);
  color:#06222e;font-size:15px;font-weight:700;letter-spacing:.01em;text-decoration:none;
  box-shadow:0 8px 26px -8px rgba(16,198,232,.7);}
.cshcancel{margin-top:12px;width:100%;padding:13px;border-radius:13px;cursor:pointer;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  color:var(--gink2);font-size:13.5px;font-weight:600;font-family:inherit;letter-spacing:.01em;}
.cshnote{margin-top:16px;font-size:10.5px;line-height:1.55;color:#5E6E7D;padding:0 6px;}
.coascrim{z-index:2090;}
.card .csup{margin-top:5px;font-size:10px;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;color:var(--sup-hi);opacity:.85;}

/* ------------------------------------------------------------------ public page only */
#coascore .source .srcic svg{stroke:currentColor;}
/* the arcs are held at zero length for one frame so the ring builds in front of the reader
   rather than arriving already finished. Without this the transition has nothing to run from. */
#coascore.igniting .rx-arc{transition:none;}
/* the camera overlay owns the screen while it is open */
html.coacamopen,html.coacamopen body{overflow:hidden;}
/* a dropped file is welcome anywhere on the lens */
#view-coa .coalenshero.over .coalens{filter:brightness(1.12);}

/* GATE STATE AND ACCORDION STATE ARE DIFFERENT THINGS.
   coaGateRow emits class="cog <state>", and a PASSED gate's state is literally the word "open".
   app.css USED TO overload `.cog.open` to mean BOTH "passed" (cyan rail, lit lamp, dark check)
   and "expanded" (max-height), so running an accordion on that one class repainted a passed gate
   the moment a reader tapped it. This page split the two first. app.css carries the same split as
   of 2026-08-30 (VER_cog_accordion.mjs), so the rules lifted above ALREADY key expansion off
   `.xopen` and these four are now redundant. They are kept deliberately: the lift is verbatim, so
   if app.css ever regresses to the overload these four keep the public page correct on their own.
   Order matters, the `.xopen` rule must follow the `.open` one. */
#coascore .cog.open .cogdetail{max-height:0;}
#coascore .cog.xopen .cogdetail{max-height:340px;}
#coascore .cog.open .cogchev{transform:none;}
#coascore .cog.xopen .cogchev{transform:rotate(90deg);color:var(--blue);}

/* THE CAMERA IS A PRIMARY DOOR HERE, NOT A FOOTNOTE.
   In the app this button is a quiet second door for a printed QR, and quiet is right there. On
   this page a stranger is holding a vial and a phone, so the camera is one of the two real ways
   in. It gets a real target: a bordered pill, a full size tap area, and its own glyph weight. */
#view-coa .coacambtn{margin-top:14px;padding:11px 20px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);
  color:#CFE0EC;font-size:14.5px;font-weight:600;letter-spacing:.005em;
  display:inline-flex;align-items:center;gap:9px;min-height:44px;
  transition:background .18s ease,border-color .18s ease,color .18s ease;}
#view-coa .coacambtn svg{width:17px;height:17px;}
#view-coa .coacambtn:hover,#view-coa .coacambtn:active{
  background:rgba(255,255,255,.085);border-color:rgba(60,211,240,.45);color:#EAF6FF;}
#view-coa .coaupsub{margin-top:11px;}

/* ---------- the quiet "email me this report" offer ----------
   Same restraint as the flow's Step 4 offer: one low-contrast underlined line, no box and no
   colour until it is asked for, so it never competes with the reactor above it. Hidden entirely
   until a verdict exists. */
#view-coa .coamail{margin:18px auto 0;max-width:340px;width:100%;text-align:center;}
#view-coa .coamailgo{appearance:none;-webkit-appearance:none;background:none;border:0;
  padding:6px 8px;min-height:34px;cursor:pointer;font-size:13px;font-weight:600;
  letter-spacing:.005em;color:#8496a6;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(132,150,166,.38);transition:color .18s ease;}
#view-coa .coamailgo:hover{color:#CFE0EC;}
#view-coa .coamail.open .coamailgo{display:none;}
#view-coa .coamailform{display:flex;gap:7px;align-items:center;}
/* MUST follow the display:flex rule: a class setting `display` outranks the UA sheet's
   [hidden]{display:none}, so without this the field sits open before it is asked for. */
#view-coa .coamailform[hidden]{display:none;}
/* 16px is not a taste call: anything smaller makes iOS Safari zoom the page on focus. */
#view-coa .coamailin{flex:1 1 auto;min-width:0;width:100%;height:40px;padding:0 12px;
  border-radius:11px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);
  color:#EAF6FF;font-size:16px;font-weight:500;outline:none;
  -webkit-appearance:none;appearance:none;}
#view-coa .coamailin::placeholder{color:#71818f;}
#view-coa .coamailin:focus{border-color:rgba(60,211,240,.5);background:rgba(255,255,255,.08);}
#view-coa .coamailsend{flex:none;width:40px;height:40px;border-radius:11px;border:0;
  cursor:pointer;display:grid;place-items:center;background:var(--blue,#1296F2);color:#fff;
  transition:opacity .18s ease;-webkit-appearance:none;appearance:none;}
#view-coa .coamailsend:disabled{opacity:.38;cursor:default;}
#view-coa .coamailsend svg{width:18px;height:18px;}
/* an empty status line still reserves a line box plus its margin */
#view-coa .coamailsaid:empty{display:none;}
#view-coa .coamailsaid{margin:7px 0 0;font-size:12.5px;line-height:1.45;color:#8496a6;}
#view-coa .coamailsaid.good{color:#22E0A0;}
#view-coa .coamailsaid.bad{color:#FF9A9A;}
