.pub{--bg:#071427;--bg-2:#0b1f3a;--bg-3:#102a4c;--bg-4:#163659;--line:rgba(181,246,255,.12);--line-strong:rgba(181,246,255,.24);--ink:#EAF2FA;--ink-2:#B7C7D9;--ink-3:#7F95AE;--ink-4:#52657E;--ice:#00EAFF;--ice-hi:#B5F6FF;--ice-lo:#00A5B5;--ice-glow:rgba(0,234,255,.35);--ice-soft:rgba(0,234,255,.1);--ok:#5EE6A8;--warn:#F5B301;--bad:#FF6B6B;--f-display:"Bricolage Grotesque",system-ui,sans-serif;--f-body:"IBM Plex Sans","IBM Plex Sans Arabic",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:40px;--sp-5:64px;--sp-6:96px;--sp-7:144px;--r-1:6px;--r-2:12px;--r-3:20px;--r-4:28px;--w:1240px;--gutter:24px;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur:.45s;--motion:1;--nav-h:76px;--z-grain:60;--z-nav:80;--z-menu:90;--z-toast:100;--z-tune:110}.pub *,.pub *:before,.pub *:after{box-sizing:border-box}{-webkit-text-size-adjust:100%;background:var(--bg)}.pub{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);position:relative;isolation:isolate;font:400 16px/1.6 var(--f-body);letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}.pub:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 12% -10%,rgba(0,234,255,.08),transparent 60%),radial-gradient(700px 500px at 100% 110%,rgba(0,165,181,.07),transparent 60%)}.pub .grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-grain);pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");background-size:160px 160px}.pub main{position:relative;z-index:1}.pub img,.pub svg,.pub video,.pub canvas{display:block;max-width:100%}.pub a{color:inherit;text-decoration:none}.pub a:focus-visible,.pub button:focus-visible,.pub input:focus-visible,.pub select:focus-visible,.pub textarea:focus-visible,.pub [tabindex]:focus-visible{outline:2px solid var(--ice);outline-offset:3px;border-radius:4px}.pub ::selection{background:#00eaff47;color:#fff}.pub .skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ice);color:#04101f;padding:10px 14px;border-radius:8px;font-weight:600}.pub .skip:focus{top:12px}.pub .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pub .btn{background:transparent;color:inherit}.pub .card{cursor:auto;box-shadow:none}.pub .card h3{font-size:clamp(20px,2vw,26px)}.pub .card .meta{margin-top:0}.pub .muted{font-size:inherit}.pub .bar{height:auto;background:none;border-radius:0;overflow:visible;margin-top:0}.pub .bar>span{display:inline;height:auto;background:none}.pub .chip{white-space:normal}.pub .heat{border-collapse:separate}.pub .qa{margin-bottom:0}.pub table{background:none;border-radius:0;overflow:visible}.pub th,.pub td{background:none;border:0;padding:0;font-size:inherit;color:inherit}.pub input,.pub select,.pub textarea{border:0;border-radius:0;padding:0;font-size:inherit}.pub h1,.pub h2,.pub h3,.pub h4{font-family:var(--f-display);font-weight:600;line-height:1.05;letter-spacing:-.025em;margin:0;text-wrap:balance;font-variation-settings:"opsz" 96}.pub h1{font-size:clamp(40px,5.5vw,76px);font-weight:700;letter-spacing:-.035em;line-height:.98}.pub h2{font-size:clamp(30px,4.2vw,54px)}.pub h3{font-size:clamp(20px,2vw,26px);letter-spacing:-.015em;line-height:1.15;font-variation-settings:"opsz" 32}.pub h4{font-size:18px;letter-spacing:-.01em;line-height:1.25;font-variation-settings:"opsz" 24}.pub p{margin:0}.pub .lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--ink-2);max-width:62ch;text-wrap:pretty}.pub .lede a{color:var(--ice-hi);border-bottom:1px solid rgba(181,246,255,.35)}.pub .lede a:hover{border-color:var(--ice)}.pub .muted{color:var(--ink-3)}.pub .mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.pub .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--ice-hi);font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}.pub .eyebrow:before{content:"";width:18px;height:1px;background:var(--ice);box-shadow:0 0 8px var(--ice-glow)}.pub .accent{color:var(--ice);text-shadow:0 0 22px rgba(0,234,255,.35)}.pub .num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.pub strong{font-weight:600;color:var(--ink)}.pub em{font-style:italic}.pub .prose{max-width:68ch}.pub .prose p{margin:0 0 1.15em;color:var(--ink-2);font-size:17px;line-height:1.7;text-wrap:pretty}.pub .prose p:last-child{margin-bottom:0}.pub .prose h2{font-size:clamp(24px,2.6vw,34px);margin:2.2em 0 .7em;color:var(--ink)}.pub .prose h3{margin:1.8em 0 .5em}.pub .prose ul,.pub .prose ol{margin:0 0 1.2em;padding-inline-start:1.2em;color:var(--ink-2)}.pub .prose li{margin:.35em 0;padding-inline-start:.2em}.pub .prose li::marker{color:var(--ice-lo)}.pub .prose a{color:var(--ice-hi);border-bottom:1px solid rgba(181,246,255,.35);transition:border-color var(--dur) var(--ease)}.pub .prose a:hover{border-color:var(--ice)}.pub .prose blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-inline-start:2px solid var(--ice-lo);color:var(--ink);font-family:var(--f-display);font-size:1.25em;line-height:1.35}.pub .wrap{width:min(var(--w),100% - 2*var(--gutter));margin-inline:auto}.pub .wrap-n{width:min(1440px,100% - 2*var(--gutter));margin-inline:auto}.pub .section{position:relative;padding:var(--sp-6) 0 calc(var(--sp-6) + 8px)}.pub .section.tight{padding:var(--sp-5) 0 calc(var(--sp-5) + 8px)}.pub .section.alt{background:linear-gradient(180deg,#0b1f3a00,#0b1f3a8c 18%,#0b1f3a8c 82%,#0b1f3a00)}.pub .section-head{display:grid;gap:18px;max-width:760px;margin-bottom:var(--sp-5)}.pub .section-head.center{margin-inline:auto;text-align:center;justify-items:center}.pub .section-head.center .eyebrow:before{display:none}.pub .split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}.pub .split>.sticky{position:sticky;top:calc(var(--nav-h) + 24px)}.pub .grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.pub .hairline{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong) 20%,var(--line-strong) 80%,transparent)}@media (max-width:900px){.pub .split{grid-template-columns:1fr}.pub .split>.sticky{position:static}}.pub .btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font:500 15px/1 var(--f-body);letter-spacing:.005em;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .35s var(--ease-out),background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),color var(--dur) var(--ease);transform:translate3d(var(--mx,0),var(--my,0),0)}.pub .btn:active{transform:translate3d(var(--mx,0),var(--my,0),0) scale(.98)}.pub .btn .arr{display:inline-block;transition:transform .35s var(--ease-out)}.pub .btn:hover .arr{transform:translate(4px)}.pub .btn-ice{background:var(--ice);color:#04101f;font-weight:600;box-shadow:0 0 #00eaff00,0 8px 24px -10px #00eaff80}.pub .btn-ice:hover{background:var(--ice-hi);box-shadow:0 0 0 4px #00eaff24,0 12px 30px -10px #00eaff99}.pub .btn-ghost{color:var(--ink);border-color:var(--line-strong);background:#b5f6ff08}.pub .btn-ghost:hover{border-color:#b5f6ff80;background:#b5f6ff12}.pub .btn-text{padding:10px 2px;color:var(--ice-hi);border-radius:4px;background:linear-gradient(var(--ice),var(--ice)) no-repeat 0 100%/0 1px;transition:background-size .4s var(--ease-out)}.pub .btn-text:hover{background-size:100% 1px}.pub .btn-sm{padding:10px 16px;font-size:14px}.pub .btn[disabled]{opacity:.5;cursor:not-allowed}.pub .nav{position:fixed;inset:0 0 auto 0;z-index:var(--z-nav);height:var(--nav-h);transition:height .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease)}.pub .nav:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0714278c;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid transparent;transition:border-color .5s var(--ease),background .5s var(--ease)}.pub .nav.is-scrolled{height:64px}.pub .nav.is-scrolled:before{border-bottom-color:var(--line);background:#071427c7}.pub .nav-in{position:relative;height:100%;display:flex;align-items:center;gap:28px}.pub .brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:-.02em;color:var(--ink)}.pub .brand svg{width:30px;height:30px;color:var(--ice);filter:drop-shadow(0 0 10px rgba(0,234,255,.35))}.pub .brand .b2{color:var(--ice-hi);font-weight:500}.pub .nav-links{display:flex;align-items:center;gap:4px;margin-inline-start:8px}.pub .nav-links a{position:relative;padding:10px 12px;font-size:14px;font-weight:500;color:var(--ink-2);border-radius:8px;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.pub .nav-links a:hover{color:var(--ink);background:#b5f6ff0d}.pub .nav-links a[aria-current=page]{color:var(--ink)}.pub .nav-links a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:1px;background:var(--ice);box-shadow:0 0 8px var(--ice-glow)}.pub .nav-right{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.pub .lang{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font:500 13px/1 var(--f-body);color:var(--ink-2);background:transparent;cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.pub .lang:hover{border-color:var(--line-strong);color:var(--ink)}.pub .lang .g{width:14px;height:14px;color:var(--ice-lo)}.pub .nav-right .textlink{padding:10px;font-size:14px;color:var(--ink-2)}.pub .nav-right .textlink:hover{color:var(--ink)}.pub .burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;place-items:center}.pub .burger span{display:block;width:18px;height:1.5px;background:currentColor;margin:3px auto;transition:transform .4s var(--ease),opacity .3s}.pub .burger[aria-expanded=true] span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}.pub .burger[aria-expanded=true] span:nth-child(2){opacity:0}.pub .burger[aria-expanded=true] span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}.pub .menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-menu);background:#071427f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:none;flex-direction:column;padding:calc(var(--nav-h) + 24px) var(--gutter) 40px;overflow:auto}.pub .menu.open{display:flex}@keyframes menu-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.pub .menu.open a{animation:menu-in .6s var(--ease-out) both}.pub .menu.open>a:nth-child(2){animation-delay:.05s}.pub .menu.open>a:nth-child(3){animation-delay:.1s}.pub .menu.open>a:nth-child(4){animation-delay:.15s}.pub .menu.open>a:nth-child(5){animation-delay:.2s}.pub .menu.open>a:nth-child(6){animation-delay:.25s}.pub .menu.open>a:nth-child(7){animation-delay:.3s}.pub .menu.open>a:nth-child(8){animation-delay:.35s}.pub .menu.open .menu-foot a{animation-delay:.4s}.pub .menu a{font-family:var(--f-display);font-size:clamp(28px,7vw,40px);font-weight:600;letter-spacing:-.02em;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);opacity:0;transform:translateY(16px)}.pub .menu .menu-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;padding-top:28px}.pub .menu .menu-foot a{font:500 15px/1 var(--f-body);border:0;padding:0}@media (max-width:1100px){.pub .nav-links,.pub .nav-right .textlink,.pub .nav-right .partner{display:none}.pub .burger{display:grid}}@media (max-width:520px){.pub .lang{display:none}.pub .nav-right .btn{padding:10px 14px;font-size:14px}}.pub .hero{position:relative;min-height:100dvh;display:grid;align-items:center;padding:calc(var(--nav-h) + 48px) 0 64px;overflow:hidden;isolation:isolate}.pub .hero-plate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-3;background:var(--bg)}.pub .hero-plate img{width:100%;height:100%;object-fit:cover;object-position:74% 42%;opacity:0;transform:scale(1.06);transition:opacity 1.4s var(--ease),transform 3s var(--ease-out)}.pub .hero-plate.loaded img{opacity:.9;transform:scale(1)}.pub .hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(90deg,#071427f7,#071427eb 32%,#0714278c 58%,#07142740),linear-gradient(180deg,rgba(7,20,39,.5) 0%,rgba(7,20,39,0) 30%,rgba(7,20,39,0) 70%,var(--bg) 100%)}.pub .hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none}.pub .hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center}.pub .hero-copy{display:grid;gap:26px;max-width:720px}.pub .chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border:1px solid var(--line-strong);border-radius:999px;background:#0b1f3a8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 13px/1 var(--f-body);color:var(--ink-2);width:max-content}.pub .chip .dot{width:7px;height:7px;border-radius:50%;background:var(--ice);box-shadow:0 0 10px var(--ice-glow);animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%,to{box-shadow:0 0 #00eaff99}60%{box-shadow:0 0 0 9px #00eaff00}}.pub .hero h1{max-width:13ch}.pub .hero h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}.pub .hero h1 .w>span{display:inline-block;transform:translateY(110%);will-change:transform}.pub .hero .lede{max-width:56ch}.pub .hero .lede-2{margin-top:-10px;font-size:clamp(15px,1.15vw,17px);color:var(--ink-3)}.pub .hero .lede-2 strong{color:var(--ice-hi);font-weight:500}.pub .hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pub .hero-side{position:relative;perspective:1200px;align-self:end;padding-bottom:12px}.pub .hero-claims{margin-top:clamp(40px,6vw,72px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pub .hero-claims div{padding:18px 20px 18px 0;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-inline-start:1px solid var(--line);padding-inline-start:18px}.pub .hero-claims div:first-child{border-inline-start:0;padding-inline-start:0}@media (max-width:1000px){.pub .hero-grid{grid-template-columns:1fr}.pub .hero-side{max-width:520px}.pub .hero-plate img{object-position:80% 30%}.pub .hero-scrim{background:linear-gradient(180deg,rgba(7,20,39,.85) 0%,rgba(7,20,39,.9) 55%,var(--bg) 100%)}}@media (max-width:700px){.pub .hero-claims{grid-template-columns:1fr 1fr}.pub .hero-claims div{border-inline-start:0;padding-inline-start:0}.pub .hero-claims div:nth-child(n+3){border-top:1px solid var(--line)}}.pub .frame{position:relative;border-radius:var(--r-3);background:linear-gradient(180deg,#102a4cd9,#0b1f3ad9);border:1px solid var(--line-strong);box-shadow:0 30px 80px -30px #000000b3,inset 0 1px #ffffff0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform-style:preserve-3d;will-change:transform}.pub .frame:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:radial-gradient(320px 320px at var(--mx,50%) var(--my,50%),rgba(0,234,255,.55),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s var(--ease);pointer-events:none}.pub .frame:hover:before{opacity:1}.pub .frame-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}.pub .frame-bar i{width:8px;height:8px;border-radius:50%;background:var(--ink-4)}.pub .frame-bar i:first-child{background:var(--ice-lo)}.pub .frame-bar .t{margin-inline-start:auto;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.pub .snap{padding:22px 22px 20px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}.pub .ring{position:relative;width:120px;height:120px}.pub .ring svg{width:100%;height:100%;transform:rotate(-90deg)}.pub .ring .bg{stroke:#b5f6ff1f}.pub .ring .fg{stroke:var(--ice);stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(0,234,255,.6))}.pub .ring .val{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--f-display);font-size:30px;font-weight:700;letter-spacing:-.03em}.pub .ring .val small{font-size:14px;color:var(--ink-3);margin-inline-start:2px;font-weight:500}.pub .bars{display:grid;gap:10px}.pub .bar{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;font-size:13px}.pub .bar .n{color:var(--ink-2)}.pub .bar .v{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);min-width:38px;text-align:end}.pub .bar .tr{grid-column:1/-1;height:3px;border-radius:2px;background:#b5f6ff1a;overflow:hidden}.pub .bar .tr i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ice-lo),var(--ice));border-radius:2px;box-shadow:0 0 8px #00eaff66}.pub .frame-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 22px 14px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.pub .frame-foot b{color:var(--ok);font-weight:500}.pub .frame-foot b:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ok);margin-inline-end:8px;box-shadow:0 0 8px #5ee6a899}.pub .frame-tag{position:absolute;inset-inline-start:-14px;bottom:44px;transform:translate(calc(-100% * var(--dirx,1)));padding:8px 12px;border-radius:10px;border:1px solid var(--line-strong);background:#071427d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--ice-hi);white-space:nowrap;opacity:0}.pub .frame-tag:after{content:"";position:absolute;inset-inline-end:-9px;top:50%;width:8px;height:1px;background:var(--ice)}@media (max-width:1180px){.pub .frame-tag{display:none}}.pub .card{position:relative;border-radius:var(--r-3);background:linear-gradient(180deg,#102a4c8c,#0b1f3a59);border:1px solid var(--line);padding:28px;transition:transform .5s var(--ease-out),border-color .5s var(--ease),background .5s var(--ease);overflow:hidden}.pub .card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:radial-gradient(360px 360px at var(--mx,50%) var(--my,50%),rgba(0,234,255,.5),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s var(--ease);pointer-events:none}.pub .card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(420px 300px at var(--mx,50%) var(--my,50%),rgba(0,234,255,.07),transparent 60%);opacity:0;transition:opacity .5s var(--ease);pointer-events:none}.pub .card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.pub .card:hover:before,.pub .card:hover:after{opacity:1}.pub .card>*{position:relative;z-index:1}.pub a.card{display:block;color:inherit}.pub .card .idx{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--ink-4);margin-bottom:22px}.pub .card h3{margin:14px 0 10px}.pub .card p{color:var(--ink-2);font-size:15px;line-height:1.6;text-wrap:pretty}.pub .card .more{margin-top:18px;display:inline-flex;align-items:center;gap:8px;color:var(--ice-hi);font-size:14px;font-weight:500}.pub .card .more .arr{transition:transform .35s var(--ease-out)}.pub .card:hover .more .arr{transform:translate(4px)}.pub .glyph{width:44px;height:44px;color:var(--ice)}.pub .glyph path,.pub .glyph circle,.pub .glyph rect,.pub .glyph line,.pub .glyph polyline{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pub .glyph .fill{fill:currentColor;stroke:none;opacity:.9}.pub .card:hover .glyph{filter:drop-shadow(0 0 10px rgba(0,234,255,.55))}.pub .bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.pub .bento .card{min-height:260px;display:flex;flex-direction:column}.pub .bento .card p{margin-top:auto}.pub .bento .card.photo{padding:0;min-height:300px;color:var(--ink)}.pub .bento .card.photo .bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.2s var(--ease),transform 1.6s var(--ease-out);filter:saturate(.85)}.pub .bento .card.photo.loaded .bg{opacity:.55}.pub .bento .card.photo:hover .bg{opacity:.7;transform:scale(1.08)}.pub .bento .card.photo .veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,#0714271a,#0714278c 45%,#071427f0)}.pub .bento .card.photo .body{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;padding:28px}.pub .bento .card.photo .body h3{margin:14px 0 10px;text-shadow:0 2px 18px rgba(0,0,0,.5)}.pub .bento .card.photo .body p{margin-top:auto;color:var(--ink);text-shadow:0 1px 12px rgba(0,0,0,.6)}.pub .bento .card.photo .body .more{margin-top:16px}.pub .bento .card.photo .body svg{margin-top:auto}.pub .bento .card.photo .body .idx+svg{margin-top:0}.pub .bento .c5{grid-column:span 5}.pub .bento .c4{grid-column:span 4}.pub .bento .c3{grid-column:span 3}@media (max-width:1000px){.pub .bento .c5,.pub .bento .c4,.pub .bento .c3{grid-column:span 6}}@media (max-width:600px){.pub .bento .c5,.pub .bento .c4,.pub .bento .c3{grid-column:span 12}.pub .bento .card{min-height:0}}.pub .ledger{display:grid;border-top:1px solid var(--line)}.pub .ledger .row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px 24px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start;transition:background .5s var(--ease)}.pub .ledger .row .no{font-family:var(--f-mono);font-size:13px;color:var(--ice-lo);letter-spacing:.1em;padding-top:6px}.pub .ledger .row h3{font-size:clamp(19px,1.6vw,23px)}.pub .ledger .row h4{font-size:19px}.pub .ledger .row p{margin-top:10px;color:var(--ink-2);max-width:60ch;text-wrap:pretty}.pub .ledger .row:hover{background:linear-gradient(90deg,rgba(0,234,255,.04),transparent 70%)}@media (max-width:600px){.pub .ledger .row{grid-template-columns:1fr;gap:6px}}.pub .marquee{position:relative;overflow:hidden;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.pub .marquee .track{display:flex;gap:12px;width:max-content;animation:mq 90s linear infinite}.pub .marquee:hover .track{animation-play-state:paused}@keyframes mq{to{transform:translate(-50%)}}.pub .tag{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;background:#0b1f3a66}.pub .tag b{color:var(--ink);font-weight:500}.pub .tag .r{color:var(--ink-4)}.pub a.tag:hover{border-color:var(--line-strong);color:var(--ink)}.pub .filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:28px}.pub .filters .lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-inline-end:6px}.pub .fchip{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-2);font:500 13px/1 var(--f-body);cursor:pointer;transition:all var(--dur) var(--ease)}.pub .fchip:hover{border-color:var(--line-strong);color:var(--ink)}.pub .fchip[aria-pressed=true]{background:var(--ice);border-color:var(--ice);color:#04101f;font-weight:600}.pub .fsearch{margin-inline-start:auto;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#0b1f3a66;min-width:240px}.pub .fsearch input{flex:1;background:transparent;border:0;color:var(--ink);font:400 14px/1 var(--f-body);outline:0}.pub .fsearch input::placeholder{color:var(--ink-4)}.pub .fsearch svg{width:16px;height:16px;color:var(--ink-4)}.pub .fw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pub .fw-grid .card{padding:24px 24px 22px}.pub .fw-grid .card .top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.pub .fw-grid .badge{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ice-hi)}.pub .fw-grid .avail{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ok)}.pub .fw-grid .avail:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px #5ee6a8b3}.pub .fw-grid .card h3{font-size:20px;margin:0 0 8px}.pub .fw-grid .card .iss{font-size:13px;color:var(--ink-3);margin-bottom:12px}.pub .fw-grid .card ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:13.5px;color:var(--ink-2)}.pub .fw-grid .card ul li{padding-inline-start:16px;position:relative}.pub .fw-grid .card ul li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--ice-lo)}.pub .fw-grid .card.is-hidden{display:none}.pub .fw-empty{display:none;padding:40px;text-align:center;color:var(--ink-3);border:1px dashed var(--line-strong);border-radius:var(--r-3)}.pub .fw-empty.show{display:block}.pub .collapsed .fw-grid .card:nth-child(n+7){display:none}.pub .collapsed .fw-grid .card.is-hidden{display:none}.pub .showall{display:flex;justify-content:center;margin-top:28px}@media (max-width:1000px){.pub .fw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pub .fsearch{margin-inline-start:0;flex:1 1 100%}}@media (max-width:640px){.pub .fw-grid{grid-template-columns:1fr}}.pub .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pub .stats>div{padding:36px 28px 34px 0;border-inline-start:1px solid var(--line);padding-inline-start:28px}.pub .stats>div:first-child{border-inline-start:0;padding-inline-start:0}.pub .stats .big{font-family:var(--f-display);font-size:clamp(40px,5vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.pub .stats .big .accent{font-weight:700}.pub .stats .lab{margin-top:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}@media (max-width:800px){.pub .stats{grid-template-columns:1fr 1fr}.pub .stats>div{border-inline-start:0;padding-inline-start:0}.pub .stats>div:nth-child(n+3){border-top:1px solid var(--line)}}.pub .how{position:relative}.pub .how-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}.pub .steps{display:grid;gap:4px;position:relative}.pub .steps:before{content:"";position:absolute;inset-inline-start:19px;top:24px;bottom:24px;width:1px;background:var(--line)}.pub .steps .prog{position:absolute;inset-inline-start:19px;top:24px;width:1px;height:0;background:var(--ice);box-shadow:0 0 10px var(--ice-glow)}.pub .step{position:relative;display:grid;grid-template-columns:40px 1fr;gap:18px;padding:18px 0;opacity:.45;transition:opacity .5s var(--ease)}.pub .step.is-active{opacity:1}.pub .step .k{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg);display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;color:var(--ink-2);transition:all .5s var(--ease)}.pub .step.is-active .k{border-color:var(--ice);color:var(--ice);box-shadow:0 0 0 4px #00eaff1f}.pub .step h4{font-size:clamp(20px,1.8vw,24px);font-family:var(--f-display)}.pub .step p{margin-top:8px;color:var(--ink-2);max-width:44ch}.pub .screens{position:relative;aspect-ratio:16/11;min-height:360px}.pub .screens .frame{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transform:translateY(18px) scale(.985);transition:opacity .6s var(--ease),transform .7s var(--ease-out);display:flex;flex-direction:column}.pub .screens .frame.is-active{opacity:1;transform:none}.pub .ui{padding:22px;display:grid;gap:14px;flex:1}.pub .ui .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pub .ui .box{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#07142759}.pub .ui .box .l{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px}.pub .ui .box .v{font-size:15px;color:var(--ink);font-weight:500}.pub .ui .line{height:8px;border-radius:4px;background:#b5f6ff14}.pub .ui .line.s{width:60%}.pub .ui .line.m{width:80%}.pub .ui .pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line)}.pub .ui .pill.ok{color:var(--ok);border-color:#5ee6a859}.pub .ui .pill.ice{color:var(--ice-hi);border-color:#00eaff59}.pub .ui .pill.warn{color:var(--warn);border-color:#f5b30159}.pub .ui .ctl{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:13.5px}.pub .ui .ctl .id{font-family:var(--f-mono);font-size:11px;color:var(--ice-lo)}.pub .ui .ctl .st{width:8px;height:8px;border-radius:50%;background:var(--ok)}.pub .ui .ctl .st.w{background:var(--warn)}.pub .ui .ctl .st.n{background:var(--ink-4)}.pub .ui .conf{display:grid;gap:6px}.pub .ui .conf .tr{height:6px;border-radius:3px;background:#b5f6ff14;overflow:hidden}.pub .ui .conf .tr i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ice-lo),var(--ice))}.pub .ui .heat{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.pub .ui .heat i{aspect-ratio:1;border-radius:3px;background:rgba(0,234,255,var(--a,.1))}.pub .ui .doc{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:10px;font-size:13px;color:var(--ink-2)}.pub .ui .doc .ic{width:26px;height:32px;border:1px solid var(--line-strong);border-radius:4px;position:relative}.pub .ui .doc .ic:after{content:"";position:absolute;left:5px;right:5px;top:8px;height:1px;background:var(--line-strong);box-shadow:0 5px 0 var(--line-strong),0 10px 0 var(--line-strong)}.pub .ui .ex{display:flex;gap:8px;flex-wrap:wrap}@media (max-width:1000px){.pub .how-grid{grid-template-columns:1fr}.pub .screens{min-height:320px}}.pub .page-head{position:relative;padding:calc(var(--nav-h) + 72px) 0 72px;overflow:hidden;isolation:isolate}.pub .page-head .plate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2}.pub .page-head .plate img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:0;transform:scale(1.04);transition:opacity 1.2s var(--ease),transform 2.5s var(--ease-out)}.pub .page-head .plate.loaded img{opacity:.75;transform:none}.pub .page-head .plate:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#071427f5,#071427d9 40%,#07142773 75%,#0714274d),linear-gradient(180deg,rgba(7,20,39,.6),rgba(7,20,39,0) 40%,var(--bg) 100%)}.pub .page-head .crumbs{display:flex;gap:10px;align-items:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:26px}.pub .page-head .crumbs a:hover{color:var(--ink)}.pub .page-head .crumbs i{width:14px;height:1px;background:var(--ink-4)}.pub .page-head h1{font-size:clamp(36px,5.4vw,72px);max-width:20ch}.pub .page-head .lede{margin-top:22px}.pub .page-head .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.pub .page-head .head-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:end}.pub .page-head .head-grid .frame{transform:translateY(0)}.pub .page-head.big{padding-bottom:96px}.pub .page-head .field{position:absolute;top:0;bottom:0;right:0;left:52%;z-index:-1;pointer-events:none;-webkit-mask:linear-gradient(90deg,transparent,#000 22%);mask:linear-gradient(90deg,transparent,#000 22%)}@media (max-width:1000px){.pub .page-head .field{left:30%;opacity:.5}}@media (max-width:1000px){.pub .page-head .head-grid{grid-template-columns:1fr}}.pub .kv{list-style:none;margin:0;padding:0;display:grid}.pub .kv li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.pub .kv li:last-child{border-bottom:0}.pub .kv li strong{color:var(--ink-3);font-weight:500;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.pub .kv li span{color:var(--ink)}.pub .frame .frame-body{padding:6px 22px 12px}.pub .faq{display:grid;gap:0;border-top:1px solid var(--line)}.pub .faq .qa{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px 40px;padding:26px 0;border-bottom:1px solid var(--line)}.pub .faq .qa h3{font-size:19px;font-family:var(--f-display)}.pub .faq .qa p{color:var(--ink-2);max-width:62ch;text-wrap:pretty}@media (max-width:800px){.pub .faq .qa{grid-template-columns:1fr}}.pub .feat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pub .feat-grid .card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:24px}.pub .feat-grid .card .glyph{width:36px;height:36px}.pub .feat-grid .card h3{margin:0 0 8px;font-size:19px}@media (max-width:760px){.pub .feat-grid{grid-template-columns:1fr}}.pub .rel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pub .rel a{display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:var(--r-2);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.pub .rel a:hover{border-color:var(--line-strong);background:#00eaff0a}.pub .rel a b{font-family:var(--f-display);font-weight:600;font-size:18px;letter-spacing:-.01em}.pub .rel a span{font-size:13px;color:var(--ink-3)}@media (max-width:900px){.pub .rel{grid-template-columns:1fr 1fr}}.pub .cta-band{position:relative;overflow:hidden;border-radius:var(--r-4);border:1px solid var(--line-strong);padding:clamp(40px,6vw,84px) clamp(24px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;isolation:isolate}.pub .cta-band .plate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.pub .cta-band .plate img{width:100%;height:100%;object-fit:cover;opacity:.55}.pub .cta-band .plate:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#071427eb,#07142799 60%,#07142759)}.pub .cta-band h2{max-width:16ch}.pub .cta-band p{margin-top:14px;color:var(--ink-2);max-width:56ch;font-size:17px}.pub .cta-band .actions{display:flex;flex-wrap:wrap;gap:12px}@media (max-width:800px){.pub .cta-band{grid-template-columns:1fr}}.pub .zig{display:grid;gap:clamp(48px,7vw,110px)}.pub .zig .row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}.pub .zig .row .copy{grid-column:1/span 5}.pub .zig .row .vis{grid-column:7/span 6}.pub .zig .row.rev .copy{grid-column:8/span 5;order:2}.pub .zig .row.rev .vis{grid-column:1/span 6;order:1}.pub .zig .copy h3{font-size:clamp(24px,2.4vw,32px);margin:14px 0}.pub .zig .copy p{color:var(--ink-2);font-size:16.5px;max-width:48ch;text-wrap:pretty}.pub .zig .copy ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:10px}.pub .zig .copy li{display:flex;gap:12px;align-items:baseline;color:var(--ink-2);font-size:15px}.pub .zig .copy li:before{content:"";flex:0 0 8px;height:8px;border-radius:2px;background:var(--ice);opacity:.85;transform:translateY(-1px) rotate(45deg)}.pub .zig .kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ice-lo)}@media (max-width:900px){.pub .zig .row .copy,.pub .zig .row .vis,.pub .zig .row.rev .copy,.pub .zig .row.rev .vis{grid-column:1/-1;order:0}}.pub .eco{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.pub .eco .card{display:grid;gap:14px;padding:26px}.pub .eco .lg{width:56px;height:56px;border-radius:14px;border:1px solid var(--line);display:grid;place-items:center;background:#07142780}.pub .eco .lg img{width:34px;height:34px;object-fit:contain}@media (max-width:900px){.pub .eco{grid-template-columns:1fr 1fr}}@media (max-width:520px){.pub .eco{grid-template-columns:1fr}}.pub .trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.pub .trio>div{padding:32px 28px 36px 0;border-inline-start:1px solid var(--line);padding-inline-start:28px;display:grid;gap:14px;align-content:start;position:relative}.pub .trio>div:first-child{border-inline-start:0;padding-inline-start:0}.pub .trio .no{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--ice-lo)}.pub .trio h3{font-size:clamp(22px,2vw,28px)}.pub .trio p{color:var(--ink-2);text-wrap:pretty}@media (max-width:860px){.pub .trio{grid-template-columns:1fr}.pub .trio>div{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--line)}.pub .trio>div:first-child{border-top:0}}.pub .two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pub .two .card ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}.pub .two .card li{display:flex;gap:12px;color:var(--ink-2);font-size:15px}.pub .two .card li:before{content:"";flex:0 0 14px;height:14px;margin-top:5px;border-radius:50%;border:1px solid var(--ice-lo);background:radial-gradient(circle,var(--ice) 0 30%,transparent 32%)}@media (max-width:760px){.pub .two{grid-template-columns:1fr}}.pub .posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pub .post{display:grid;grid-template-rows:auto 1fr;padding:0;overflow:hidden}.pub .post .cover{aspect-ratio:16/9;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.pub .post .cover svg{width:100%;height:100%;transition:transform 1.2s var(--ease-out)}.pub .post:hover .cover svg{transform:scale(1.04)}.pub .post .body{padding:22px 24px 24px;display:grid;gap:10px;align-content:start}.pub .post .cat{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ice-hi)}.pub .post h3{font-size:21px;line-height:1.2}.pub .post .meta{font-family:var(--f-mono);font-size:11.5px;color:var(--ink-4);letter-spacing:.04em}.pub .post.feature{grid-column:1/-1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:none}.pub .post.feature .cover{aspect-ratio:auto;min-height:340px;border-bottom:0;border-inline-end:1px solid var(--line)}.pub .post.feature h3{font-size:clamp(26px,3vw,40px)}.pub .post.feature .body{padding:36px}.pub .post.feature p{font-size:16.5px}@media (max-width:1000px){.pub .posts{grid-template-columns:1fr 1fr}.pub .post.feature{grid-template-columns:1fr}.pub .post.feature .cover{min-height:240px;border-inline-end:0;border-bottom:1px solid var(--line)}}@media (max-width:600px){.pub .posts{grid-template-columns:1fr}}.pub .article-head .cat{color:var(--ice-hi)}.pub .article-head .meta{margin-top:18px;font-family:var(--f-mono);font-size:12.5px;color:var(--ink-3);letter-spacing:.04em}.pub .cover-band{height:clamp(200px,32vw,380px);border-radius:var(--r-3);overflow:hidden;border:1px solid var(--line)}.pub .cover-band svg{width:100%;height:100%}.pub .article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,80px)}.pub .article .aside{position:sticky;top:calc(var(--nav-h) + 24px);display:grid;gap:18px;align-self:start}.pub .article .aside .card{padding:22px}.pub .article .aside h4{font-size:15px;margin-bottom:10px}.pub .article .aside .toc{display:grid;gap:8px}.pub .article .aside .toc a{font-size:14px;color:var(--ink-3);padding-inline-start:14px;position:relative;transition:color var(--dur) var(--ease)}.pub .article .aside .toc a:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:1px;background:var(--ink-4)}.pub .article .aside .toc a:hover,.pub .article .aside .toc a.is-active{color:var(--ink)}.pub .article .aside .toc a.is-active:before{background:var(--ice);width:8px}.pub .disclaimer{margin-top:40px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-2);font-size:14px;color:var(--ink-3);background:#0b1f3a59}.pub .disclaimer a{color:var(--ice-hi)}@media (max-width:900px){.pub .article{grid-template-columns:1fr}.pub .article .aside{position:static}}.pub .groups{display:grid;gap:clamp(40px,6vw,72px)}.pub .group{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:start}.pub .group .gh{position:sticky;top:calc(var(--nav-h) + 24px)}.pub .group .gh h3{font-size:clamp(26px,2.6vw,36px)}.pub .group .gh .no{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--ice-lo);margin-bottom:14px;display:block}.pub .group .gh p{margin-top:12px;color:var(--ink-3);font-size:14px}.pub .svc{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pub .svc .card{padding:24px;min-height:190px;display:flex;flex-direction:column}.pub .svc .card h4{font-size:19px;margin:12px 0 8px}.pub .svc .card p{font-size:14.5px}@media (max-width:900px){.pub .group{grid-template-columns:1fr}.pub .group .gh{position:static}}@media (max-width:560px){.pub .svc{grid-template-columns:1fr}}.pub .values{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pub .values .card h4{font-size:20px;margin:14px 0 8px;font-family:var(--f-display)}@media (max-width:640px){.pub .values{grid-template-columns:1fr}}.pub .quote-band{padding:clamp(48px,8vw,110px) 0;text-align:center}.pub .quote-band h2{font-size:clamp(30px,4.6vw,60px);max-width:22ch;margin:0 auto 22px}.pub .quote-band p{max-width:58ch;margin:0 auto;color:var(--ink-2);font-size:18px}.pub .contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}.pub .contact .info{display:grid;gap:26px}.pub .contact .info h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-weight:500;margin-bottom:8px}.pub .contact .info a{color:var(--ink);font-size:18px;font-weight:500;border-bottom:1px solid var(--line-strong)}.pub .contact .info a:hover{border-color:var(--ice)}.pub .contact .info p{color:var(--ink);font-size:17px}.pub .form{display:grid;gap:18px}.pub .form .f2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pub .field{display:grid;gap:8px}.pub .field label{font-size:13.5px;font-weight:500;color:var(--ink-2)}.pub .field label .req{color:var(--ice)}.pub .field input,.pub .field select,.pub .field textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line-strong);background:#0b1f3a80;color:var(--ink);font:400 15px/1.4 var(--f-body);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);-moz-appearance:none;appearance:none;-webkit-appearance:none}.pub .field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23B5F6FF' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-inline-end:44px}.pub .field select option{background:#0b1f3a;color:#eaf2fa}.pub .field textarea{min-height:150px;resize:vertical}.pub .field input::placeholder,.pub .field textarea::placeholder{color:var(--ink-4)}.pub .field input:focus,.pub .field select:focus,.pub .field textarea:focus{border-color:var(--ice);box-shadow:0 0 0 4px #00eaff1f;outline:0}.pub .field.is-bad input,.pub .field.is-bad select,.pub .field.is-bad textarea{border-color:var(--bad)}.pub .field .err{display:none;font-size:12.5px;color:var(--bad)}.pub .field.is-bad .err{display:block}.pub .form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}.pub .form .actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:6px}.pub .form .note{font-size:13px;color:var(--ink-4)}.pub .form-ok{display:none;padding:28px;border:1px solid rgba(94,230,168,.4);border-radius:var(--r-3);background:#5ee6a80f}.pub .form-ok.show{display:block}.pub .form-ok h3{color:var(--ok);margin-bottom:8px}.pub .form.done{display:none}@media (max-width:900px){.pub .contact{grid-template-columns:1fr}}@media (max-width:560px){.pub .form .f2{grid-template-columns:1fr}}.pub .stepper{display:flex;gap:10px;align-items:center;margin-bottom:28px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.pub .stepper b{color:var(--ink);font-weight:500}.pub .stepper i{flex:1;height:1px;background:var(--line)}.pub .stepper i.on{background:var(--ice)}.pub .fstep{display:none}.pub .fstep.is-active{display:grid;gap:18px}.pub .review{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden}.pub .review div{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px}.pub .review div:last-child{border-bottom:0}.pub .review div span:first-child{color:var(--ink-3)}.pub .check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-2)}.pub .check input{width:18px;height:18px;margin-top:2px;accent-color:var(--ice)}.pub .toast{position:fixed;left:50%;bottom:28px;z-index:var(--z-toast);transform:translate(-50%,20px);opacity:0;padding:14px 18px;border-radius:12px;border:1px solid var(--line-strong);background:#0b1f3aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-size:14px;box-shadow:0 20px 50px -20px #000c;transition:all .5s var(--ease-out);pointer-events:none;max-width:min(92vw,520px)}.pub .toast.show{opacity:1;transform:translate(-50%)}.pub .footer{position:relative;z-index:1;margin-top:var(--sp-6);border-top:1px solid var(--line);background:linear-gradient(180deg,#0b1f3a4d,#040c18e6)}.pub .footer-in{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2.3fr));gap:40px;padding:72px 0 48px}.pub .footer .brand{font-size:24px}.pub .footer .desc{margin-top:18px;color:var(--ink-3);max-width:44ch;font-size:15px;text-wrap:pretty}.pub .footer h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);font-weight:500;margin-bottom:18px}.pub .footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.pub .footer li a,.pub .footer li{color:var(--ink-2);font-size:15px;transition:color var(--dur) var(--ease)}.pub .footer li a:hover{color:var(--ice-hi)}.pub .footer .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:22px 0 28px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink-4)}.pub .footer .legal a:hover{color:var(--ink)}.pub .footer .legal .links{display:flex;gap:18px}.pub .footer .wordmark{overflow:hidden;line-height:.8;padding:24px 0 0}.pub .footer .wordmark span{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(64px,15vw,220px);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(181,246,255,.12);text-align:center;transform:translateY(.08em)}@media (max-width:900px){.pub .footer-in{grid-template-columns:1fr 1fr}}@media (max-width:520px){.pub .footer-in{grid-template-columns:1fr;gap:32px}}.pub.js [data-reveal]{opacity:0;transform:translateY(22px);will-change:transform,opacity}.pub.js [data-reveal].in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform 1s var(--ease-out)}.pub.js .hero-side .frame{opacity:0;transform:translateY(30px) rotateX(6deg)}.pub.js .hero .chip,.pub.js .hero .lede,.pub.js .hero .hero-cta,.pub.js .hero .hero-claims div{opacity:0}.pub.no-js .hero h1 .w>span{transform:none}.pub .tune{position:fixed;right:16px;bottom:16px;z-index:var(--z-tune);display:none;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);background:#071427eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-2);min-width:240px}.pub .tune.show{display:grid}.pub .tune label{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.pub .tune input{grid-column:1/-1;accent-color:var(--ice);width:100%}.pub .tune b{color:var(--ice-hi);font-weight:500}.pub .field svg{width:100%;height:100%}.pub .field .node{fill:var(--ice);filter:drop-shadow(0 0 6px rgba(0,234,255,.6))}.pub .field .halo{fill:none;stroke:var(--ice);stroke-opacity:.25}.pub .field .link{stroke:var(--ice);stroke-opacity:.18;fill:none;stroke-dasharray:4 6}.pub .field text{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;fill:var(--ink-3)}.pub .notfound{min-height:100dvh;display:grid;place-items:center;text-align:center;padding:var(--nav-h) var(--gutter)}.pub .notfound .code{font-family:var(--f-display);font-size:clamp(90px,22vw,240px);font-weight:800;letter-spacing:-.06em;line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(181,246,255,.35)}@media (prefers-reduced-motion:reduce){.pub *,.pub *:before,.pub *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.pub.js [data-reveal],.pub.js .hero-side .frame,.pub.js .hero .chip,.pub.js .hero .lede,.pub.js .hero-cta,.pub.js .hero-claims div{opacity:1;transform:none}.pub .hero h1 .w>span{transform:none!important}.pub .hero-plate img,.pub .page-head .plate img{opacity:.9;transform:none}.pub .marquee .track{animation:none}.pub .hero-canvas{display:none}}@media print{.pub .nav,.pub .grain,.pub .menu,.pub .tune,.pub .toast{display:none!important}.pub{background:#fff;color:#000}}.pub.js .hero.is-in h1 .w>span{transform:none;transition:transform 1.1s var(--ease-out);transition-delay:calc(.35s + var(--i,0) * .07s)}.pub.js .hero.is-in .chip{opacity:1;transition:opacity .6s var(--ease) .25s}.pub.js .hero.is-in .lede{opacity:1;transition:opacity .8s var(--ease) .9s}.pub.js .hero.is-in .hero-cta{opacity:1;transition:opacity .8s var(--ease) 1.05s}.pub.js .hero.is-in .hero-side .frame{opacity:1;transform:none;transition:opacity 1.3s var(--ease-out) .7s,transform 1.3s var(--ease-out) .7s}.pub.js .hero.is-in .hero-claims div{opacity:1;transition:opacity .7s var(--ease);transition-delay:calc(1.5s + var(--i,0) * .08s)}.pub.js .hero.is-in .frame-tag{opacity:1;transition:opacity .8s var(--ease) 2.6s}.pub .hero .ring .fg{transition:stroke-dashoffset 1.6s cubic-bezier(.45,0,.55,1) 1.3s}.pub .hero .bar .tr i{transition:width 1.2s cubic-bezier(.45,0,.55,1);transition-delay:calc(1.5s + var(--i,0) * .12s)}@keyframes float{0%{translate:0 0}to{translate:0 -7px}}.pub.js .hero.is-idle .hero-side .frame{animation:float 5.5s ease-in-out 0s infinite alternate}.pub .how.is-pinned{padding-bottom:0}.pub .how.is-pinned .how-grid{position:sticky;top:calc(var(--nav-h) + 34px);align-items:stretch}.pub .how.is-pinned .screens{aspect-ratio:auto;min-height:0;display:grid;align-content:center}.pub .how.is-pinned .screens .frame{position:relative;inset:auto;grid-area:1/1}.pub .how .frame.inline{position:relative;inset:auto;opacity:1;transform:none;margin:12px 0 18px}.pub .how .conf .tr i.in{width:var(--pct)}.pub .how .conf .tr i{transition:width 1.4s var(--ease-out)}[dir=rtl] .pub{--f-display:"Tajawal","IBM Plex Sans Arabic",system-ui,sans-serif;--f-body:"Tajawal","IBM Plex Sans Arabic",system-ui,sans-serif;--dirx:-1;letter-spacing:0}[dir=rtl] .pub h1,[dir=rtl] .pub h2,[dir=rtl] .pub h3,[dir=rtl] .pub h4,[dir=rtl] .pub .footer .wordmark span,[dir=rtl] .pub .menu a,[dir=rtl] .pub .stats .big{letter-spacing:0;font-variation-settings:normal}[dir=rtl] .pub h1{line-height:1.12}[dir=rtl] .pub h2,[dir=rtl] .pub h3{line-height:1.25}[dir=rtl] .pub .hero h1{max-width:16ch}[dir=rtl] .pub .hero h1 .w{padding-bottom:.28em;margin-bottom:-.28em}[dir=rtl] .pub .arr{display:inline-block;transform:scaleX(-1)}[dir=rtl] .pub .btn:hover .arr,[dir=rtl] .pub .card:hover .more .arr{transform:scaleX(-1) translate(4px)}[dir=rtl] .pub .field select{background-position:left 16px center;padding-inline-start:44px;padding-inline-end:16px}[dir=rtl] .pub .page-head .field{left:0;right:52%;-webkit-mask:linear-gradient(-90deg,transparent,#000 22%);mask:linear-gradient(-90deg,transparent,#000 22%)}[dir=rtl] .pub .marquee .track{animation-direction:reverse}.pub .form.flat{display:block}.pub .form.flat label{display:block;margin-top:16px;font-size:13.5px;font-weight:500;color:var(--ink-2)}.pub .form.flat input:not([type=checkbox]),.pub .form.flat select,.pub .form.flat textarea{width:100%;margin-top:6px;padding:14px 16px;border-radius:12px;border:1px solid var(--line-strong);background:#0b1f3a80;color:var(--ink);font:400 15px/1.4 var(--f-body);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.pub .form.flat select option{background:#0b1f3a;color:#eaf2fa}.pub .form.flat input::placeholder,.pub .form.flat textarea::placeholder{color:var(--ink-4)}.pub .form.flat input:focus,.pub .form.flat select:focus,.pub .form.flat textarea:focus{border-color:var(--ice);box-shadow:0 0 0 4px #00eaff1f;outline:0}.pub .form.flat .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:560px){.pub .form.flat .row2{grid-template-columns:1fr}}.pub .form.flat .err{color:var(--bad);font-size:13px;margin:8px 0 0}.pub .form.flat .sub{margin-top:20px;width:100%;justify-content:center}.pub .form.flat .hint{font-size:12.5px;color:var(--ink-4);margin-top:2px}.pub .form.flat .panel{margin-top:26px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-2);background:#07142759}.pub .form.flat .panel h2{font-size:17px;margin:0}.pub .form.flat .verdict{margin-top:18px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:#0b1f3a80;font-size:13.5px;color:var(--ink-2)}.pub .form.flat .verdict ul{margin:6px 0 0;padding-inline-start:20px}.pub .appcard{max-width:760px;margin:0 auto;border-radius:var(--r-3);border:1px solid var(--line-strong);background:linear-gradient(180deg,#102a4cb3,#0b1f3ab3);overflow:hidden;box-shadow:0 30px 80px -30px #000000b3}.pub .appcard .band{padding:20px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.pub .appcard .band h1{font-size:clamp(22px,2.4vw,28px);margin:0}.pub .appcard .body{padding:26px 28px 28px}.pub .appcard .step{display:inline-block;white-space:nowrap;opacity:1;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ice-hi);border:1px solid rgba(0,234,255,.35);border-radius:999px;padding:6px 12px}.pub .appcard .done{text-align:center;padding:24px 10px}.pub .appcard .done .tick{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-size:30px;color:var(--ok);border:1px solid rgba(94,230,168,.4);background:#5ee6a814}.pub .appcard .fine{font-size:12.5px;color:var(--ink-4);margin-top:22px;text-align:center}.pub .appcard .fine a{color:var(--ink-3);text-decoration:underline}.pub .sev{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--ink)}.mat{--mat-teal-900: #0E3130;--mat-teal-800: #103938;--mat-teal-700: #1A5B5A;--mat-teal-600: #21806E;--mat-teal-500: #258E7B;--mat-teal-400: #3F9181;--mat-teal-300: #51B0A1;--mat-teal-200: #86CFCD;--mat-teal-100: #AFE2E2;--mat-teal-050: #DDF1EF;--mat-mint-050: #D5F0E3;--mat-header: linear-gradient(90deg, var(--mat-teal-600) 0%, var(--mat-teal-700) 55%, var(--mat-teal-900) 100%);--mat-gold-500: #F6B926;--mat-gold-300: #F9DB80;--mat-gold-100: #EED5AA;--mat-level-0: #E82D36;--mat-level-1: #F58D10;--mat-level-2: #F8EE2D;--mat-level-3: #48AC42;--mat-ok: #2CB673;--mat-warn: #F58D10;--mat-bad: #E82D36;--mat-na: #677489;--mat-alt: #5396F4;--mat-dom-gov: #AFE2E2;--mat-dom-infosec: #D5F0E3;--mat-dom-persec: #EED5AA;--mat-dom-physec: #EFBFCF;--mat-chart-1: #21806E;--mat-chart-2: #F6B926;--mat-chart-3: #90C1F8;--mat-chart-4: #C680D4;--mat-chart-5: #2CB673;--mat-chart-grid: #C9D6D4;--mat-ink: #101729;--mat-ink-soft: #414A5E;--mat-ink-muted: #677489;--mat-surface: #FFFFFF;--mat-line: #D8E4E2;--mat-radius: 10px;--mat-shadow: 0 1px 3px rgba(16, 23, 41, .08);color:var(--mat-ink-soft)}.mat-banner{background:var(--mat-header);color:#fff;border-radius:var(--mat-radius);padding:18px 22px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.mat-banner h2{margin:0;font-size:22px;font-weight:700;letter-spacing:.2px}.mat-banner .sub{opacity:.82;font-size:13px;margin-top:4px}.mat-banner .headline{font-size:30px;font-weight:800;line-height:1}.mat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}.mat-tab{--tab-accent: var(--mat-teal-600);border:1px solid var(--mat-line);border-inline-start:3px solid var(--tab-accent);background:var(--mat-surface);color:var(--mat-ink-soft);border-radius:8px;padding:9px 16px 9px 13px;padding-inline:13px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.mat-tab:hover{border-color:var(--tab-accent);background:color-mix(in srgb,var(--tab-accent) 8%,var(--mat-surface))}.mat-tab[aria-selected=true]{background:var(--tab-accent);border-color:var(--tab-accent);color:#fff}.mat-tab:focus-visible{outline:2px solid var(--mat-ink);outline-offset:2px}.mat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.mat-card{background:var(--mat-surface);border:1px solid var(--mat-line);border-radius:var(--mat-radius);padding:16px;box-shadow:var(--mat-shadow)}.mat-card .label{font-size:12px;color:var(--mat-ink-muted);font-weight:600}.mat-card .value{font-size:30px;font-weight:800;color:var(--mat-ink);line-height:1.15}.mat-card .foot{font-size:11px;color:var(--mat-ink-muted)}.mat-panel{background:var(--mat-surface);border:1px solid var(--mat-line);border-radius:var(--mat-radius);padding:16px;margin-top:16px;box-shadow:var(--mat-shadow)}.mat-panel>h3{margin:0 0 12px;font-size:15px;color:var(--mat-ink)}.mat-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mat-level{border-radius:8px;padding:14px;text-align:center;color:#fff}.mat-level .n{font-size:28px;font-weight:800;line-height:1}.mat-level .t{font-size:12px;opacity:.95;margin-top:6px}.mat-level .s{font-size:11px;opacity:.85}.mat-level.l0{background:var(--mat-level-0)}.mat-level.l1{background:var(--mat-level-1)}.mat-level.l2{background:var(--mat-level-2);color:var(--mat-ink)}.mat-level.l3{background:var(--mat-level-3)}.mat-pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid transparent}.mat-pill.ok{background:#e6f7ef;color:#14724c;border-color:#b7e8d2}.mat-pill.warn{background:#fef1e0;color:#9a5a05;border-color:#f8dab4}.mat-pill.bad{background:#fde7e8;color:#a81620;border-color:#f7c3c6}.mat-pill.na{background:#eef1f5;color:#4b5768;border-color:#d6dde6}.mat-pill.alt{background:#e8f1fe;color:#1b4f9c;border-color:#c3dafb}.mat-req-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;border:2px solid var(--mat-ink)}.mat-req{padding:12px 8px;text-align:center}.mat-req .k{font-weight:700;font-size:13px;color:var(--mat-ink)}.mat-req .v{font-size:12px;margin-top:8px;color:var(--mat-ink-soft)}.mat-req.gov{background:var(--mat-dom-gov)}.mat-req.infosec{background:var(--mat-dom-infosec)}.mat-req.persec{background:var(--mat-dom-persec)}.mat-req.physec{background:var(--mat-dom-physec)}.mat-btn{border:0;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;background:var(--mat-teal-600);color:#fff}.mat-btn:hover{background:var(--mat-teal-500)}.mat-btn:disabled{opacity:.5;cursor:not-allowed}.mat-btn.gold{background:var(--mat-gold-300);color:var(--mat-ink)}.mat-btn.gold:hover{background:var(--mat-gold-500)}.mat-btn.ghost{background:transparent;color:var(--mat-teal-600);border:1px solid var(--mat-teal-300)}.mat-field{display:flex;flex-direction:column;gap:5px}.mat-field>label{font-size:12px;font-weight:600;color:var(--mat-ink-muted)}.mat-field input,.mat-field select,.mat-field textarea{border:1px solid var(--mat-line);border-radius:8px;padding:9px 11px;font:inherit;color:var(--mat-ink);background:var(--mat-surface)}.mat-field input:focus,.mat-field select:focus,.mat-field textarea:focus{outline:2px solid var(--mat-teal-300);outline-offset:1px;border-color:var(--mat-teal-400)}.mat-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 760px){.mat-grid2,.mat-levels{grid-template-columns:1fr}}.mat-bars{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:18px}.mat-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.mat-bar{width:100%;max-width:46px;background:var(--mat-gold-500);border-radius:3px 3px 0 0;min-height:2px}.mat-bar.teal{background:var(--mat-teal-600)}.mat-bar-lab{font-size:10px;color:var(--mat-ink-muted);margin-top:6px;text-align:center;word-break:break-word;line-height:1.2}.mat-bar-val{font-size:10px;color:var(--mat-ink-soft);margin-bottom:3px}.mat-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}@media (max-width: 720px){.mat-meta-grid{grid-template-columns:1fr}}.mat-select-like{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:start;cursor:pointer;border:1px solid var(--mat-line);border-radius:8px;padding:9px 11px;background:#fff;font:inherit}.mat-select-like:focus-visible{outline:2px solid var(--mat-teal-600);outline-offset:1px}.mat-leg-list{margin-top:6px;border:1px solid var(--mat-line);border-radius:8px;background:#fff;max-height:232px;overflow-y:auto}.mat-leg-item{display:flex;align-items:center;gap:9px;padding:7px 11px;font-size:13px;cursor:pointer}.mat-leg-item:hover{background:var(--mat-teal-050)}.mat-leg-item+.mat-leg-item{border-top:1px solid var(--mat-line)}.aes-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 10px}.aes-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--mat-line);border-radius:8px;background:#fff;color:var(--mat-ink);cursor:pointer;padding:7px 12px;font:inherit;font-size:13px;font-weight:600}.aes-tab.on{background:var(--mat-teal-600);border-color:var(--mat-teal-600);color:#fff}.aes-tab:focus-visible{outline:2px solid var(--mat-teal-900);outline-offset:1px}.aes-dot{font-size:10px}.aes-count{font-size:11px;opacity:.75;font-weight:500}.aes-domain-head{background:var(--mat-teal-050);border:1px solid var(--mat-teal-100);border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:10px}.aes-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.aes-subtab{display:inline-flex;align-items:center;gap:6px;flex:1 1 auto;justify-content:center;min-width:150px;border:1px solid var(--mat-line);border-radius:8px;background:var(--mat-teal-050);color:var(--mat-teal-700);cursor:pointer;padding:8px 12px;font:inherit;font-size:13px;font-weight:600}.aes-subtab.on{background:#fff;border-color:var(--mat-teal-600)}.aes-subtab.ap{color:#92400e;background:#fffbeb;border-color:#fcd34d}.aes-subtab:focus-visible{outline:2px solid var(--mat-teal-600);outline-offset:1px}.aes-mil{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--mat-line);margin-bottom:4px}.aes-mil-badge{background:var(--mat-teal-700);color:#fff;border-radius:5px;font-size:11px;font-weight:700;padding:2px 8px}.aes-practice{padding:14px 0;border-top:1px solid var(--mat-line)}.aes-code{display:inline-block;background:var(--mat-teal-050);color:var(--mat-teal-700);border:1px solid var(--mat-teal-100);border-radius:5px;font-size:11px;font-weight:700;padding:2px 8px}.aes-guidance{font-size:12px;margin-top:6px;background:var(--mat-teal-050);padding:10px;border-radius:8px;color:var(--mat-ink)}.pci-module{background:#f9fafb;margin:-8px;padding:0 0 32px;min-height:100%;border-radius:8px}.pci-header{background:#fff;box-shadow:0 1px 2px #0000000f;padding:22px 28px;border-radius:8px 8px 0 0}.pci-header h1{margin:0;font-size:22px;font-weight:700;color:#0b2747}.pci-tagline{margin:4px 0 0;font-size:13px;color:#64748b}.pci-tabs{display:flex;gap:4px;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 20px;overflow-x:auto}.pci-tab{padding:12px 16px;font-size:14px;font-weight:600;color:#64748b;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.pci-tab:hover{color:#0e9aa7}.pci-tab.active{color:#0e9aa7;border-bottom-color:#0e9aa7}.pci-body{padding:24px 28px}.pci-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px;box-shadow:0 1px 2px #0000000a}.pci-card h3{margin-top:0}.pci-grid{display:grid;gap:16px}.pci-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pci-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pci-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1000px){.pci-grid.cols-3,.pci-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.pci-grid.cols-2,.pci-grid.cols-3,.pci-grid.cols-4{grid-template-columns:1fr}}.pci-chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.pci-chip.basic,.pci-chip.green{background:#dcfce7;color:#166534}.pci-chip.moderate,.pci-chip.amber{background:#fef3c7;color:#92400e}.pci-chip.complex,.pci-chip.red{background:#fee2e2;color:#991b1b}.pci-chip.blue{background:#dbeafe;color:#1e40af}.pci-chip.gray{background:#f1f5f9;color:#475569}.pci-chip.purple{background:#ede9fe;color:#5b21b6}.pci-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.pci-status.DRAFT{background:#f1f5f9;color:#475569}.pci-status.IN_PROGRESS{background:#dbeafe;color:#1e40af}.pci-status.COMPLETED{background:#dcfce7;color:#166534}.pci-status.SIGNED{background:#ede9fe;color:#5b21b6}.pci-status.DISPATCHED{background:#cffafe;color:#155e75}.pci-status.PENDING{background:#fef3c7;color:#92400e}.pci-status.APPROVED{background:#dcfce7;color:#166534}.pci-status.REJECTED{background:#fee2e2;color:#991b1b}.pci-btn{display:inline-block;border:1px solid #0e9aa7;background:#0e9aa7;color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.pci-btn:hover{background:#0b7f8b}.pci-btn:disabled{opacity:.5;cursor:not-allowed}.pci-btn.outline{background:#fff;color:#0e9aa7}.pci-btn.danger{background:#dc2626;border-color:#dc2626}.pci-btn.ghost{background:transparent;border-color:#cbd5e1;color:#334155}.pci-field{display:block;margin-bottom:14px}.pci-field>span{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:4px}.pci-input,.pci-select,.pci-textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-size:14px;background:#fff;color:#0f172a}.pci-textarea{min-height:80px;resize:vertical}.pci-table{width:100%;border-collapse:collapse;font-size:14px}.pci-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#64748b;border-bottom:1px solid #e5e7eb;padding:8px 10px}.pci-table td{border-bottom:1px solid #f1f5f9;padding:10px;vertical-align:top}.pci-table tr:hover td{background:#f8fafc}.pci-progress{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.pci-progress>div{height:100%;background:#0e9aa7;border-radius:999px;transition:width .3s}.pci-ai{border:1px solid #e0d7fb;background:#faf8ff;border-radius:8px;padding:10px 12px;font-size:13px;margin-top:8px}.pci-ai .pci-ai-head{display:flex;align-items:center;gap:8px;font-weight:700;color:#5b21b6;margin-bottom:4px}.pci-muted{color:#64748b;font-size:13px}.pci-error{color:#b91c1c;font-size:13px}.pci-empty{text-align:center;color:#94a3b8;padding:40px 0}.pci-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}.pci-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 18px}.pci-kpi .v{font-size:26px;font-weight:800;color:#0b2747}.pci-kpi .l{font-size:12px;color:#64748b;margin-top:2px}.pci-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:60}.pci-modal{background:#fff;border-radius:12px;padding:22px 24px;width:min(680px,92vw);max-height:86vh;overflow:auto}.pci-page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}.pci-page-head h2{margin:0;font-size:22px;font-weight:700;color:#1a7b7b}.pci-page-head .sub{margin:4px 0 0;font-size:13px;color:#64748b}.pci-dash-title{font-size:24px;font-weight:600;color:#0d9488;margin:0}.pci-metric{background:#fff;border:2px solid #6b7280;border-left-width:6px;border-radius:12px;padding:22px 24px}.pci-metric .pm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pci-metric .pm-label{font-size:15px;font-weight:500;color:#374151}.pci-metric .pm-icon{font-size:22px;line-height:1}.pci-metric .pm-value{font-size:44px;font-weight:700;line-height:1;margin-bottom:8px}.pci-metric .pm-subtext{font-size:14px;color:#6b7280;margin-bottom:8px}.pci-metric .pm-badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:13px;font-weight:600}.pci-metric.green{border-color:#10b981}.pci-metric.green .pm-value{color:#10b981}.pci-metric.red{border-color:#ef4444}.pci-metric.red .pm-value{color:#ef4444}.pci-metric.blue{border-color:#3b82f6}.pci-metric.blue .pm-value{color:#3b82f6}.pci-metric.gray{border-color:#6b7280}.pci-metric.gray .pm-value{color:#6b7280}.pm-badge.green{background:#d1fae5;color:#065f46}.pm-badge.red{background:#fee2e2;color:#991b1b}.pm-badge.blue{background:#dbeafe;color:#1e40af}.pm-badge.gray{background:#f3f4f6;color:#374151}.pci-section-title{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 16px}.pci-ai-card{border-left:3px solid #7c3aed}.pci-ai-card .ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pci-ai-card .ai-title{font-weight:700;font-size:14px}.pci-ai-btn{background:#7c3aed;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer}.pci-ai-btn:disabled{opacity:.7;cursor:wait}.pci-ai-card ol{margin:0;padding-left:20px;font-size:13px;line-height:1.6}.pci-recent-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #f1f5f9;font-size:14px}.pci-recent-row:last-child{border-bottom:none}.pci-acc{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;overflow:hidden}.pci-acc-summary{width:100%;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff;border:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.pci-acc-summary:hover{background:#f8fafc}.pci-acc-title{font-weight:600;font-size:14.5px;color:#0f172a;margin:0}.pci-acc-desc{font-size:13px;color:#64748b;margin:2px 0 0}.pci-acc-arrow{margin-left:auto;color:#64748b;font-size:13px;align-self:center;flex-shrink:0}.pci-acc-body{padding:4px 16px 16px 32px}.pci-chip.teal{background:#1a7b7b;color:#fff}.pci-chip.outline{background:#fff;border:1px solid #cbd5e1;color:#334155;font-weight:500}.pci-subreq{border-left:4px solid #1a7b7b;padding-left:16px;margin:0 0 22px}.pci-subreq-title{font-weight:600;font-size:14px;color:#1a7b7b;margin:0 0 10px}.pci-tp-item{background:#f9fafb;padding:14px 16px;border-radius:8px;margin-bottom:10px;display:flex;gap:10px;align-items:flex-start}.pci-tp-text{font-size:14px;color:#0f172a;white-space:pre-line;margin:0 0 8px;line-height:1.5}.pci-tp-box{background:#eff6ff;border:1px solid #bfdbfe;padding:10px 12px;border-radius:6px;font-size:12.5px;line-height:1.5;margin-bottom:8px;white-space:pre-line}.pci-ri-box{background:#fefce8;border:1px solid #fde68a;padding:10px 12px;border-radius:6px;font-size:12.5px;line-height:1.5;margin-bottom:8px}.pci-ri-box ul{margin:4px 0 0;padding-left:18px}.pci-ri-box p{margin:6px 0 0}.pci-gap-wrap{border:4px solid #1a7b7b;background:#fff;border-radius:10px;padding:20px}.pci-gap-num{font-size:28px;font-weight:700;line-height:1.1}.pci-gap-num.red{color:#dc2626}.pci-gap-num.orange{color:#ea580c}.pci-gap-num.blue{color:#2563eb}.pci-gap-num.green{color:#16a34a}.pci-chip.orange{background:#ffedd5;color:#9a3412}.pci-chip.yellow{background:#fef9c3;color:#854d0e}.pci-pre{background:#f5f5f5;padding:16px;border-radius:8px;white-space:pre-wrap;font-family:inherit;font-size:14px;line-height:1.5;margin:8px 0 0}.pci-toast{position:fixed;bottom:24px;right:24px;z-index:80;padding:12px 18px;border-radius:8px;font-size:14px;font-weight:600;color:#fff;box-shadow:0 4px 12px #00000040}.pci-toast.success{background:#16a34a}.pci-toast.error{background:#dc2626}.pci-toast.warning{background:#d97706}.pci-saq-title{color:#0e9aa7;margin:0 0 4px}.pci-step-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.pci-step-circle{width:32px;height:32px;border-radius:999px;background:#0e9aa7;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pci-step-head h3{margin:0}.pci-info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:14px 16px;margin-top:14px;font-size:14px}.pci-info-box p{margin:3px 0}.pci-info-box .lead{color:#1e3a8a;font-weight:600}.pci-type-btn{text-align:left;border:2px solid #cbd5e1;border-radius:10px;background:#fff;padding:16px;cursor:pointer;width:100%;font:inherit}.pci-type-btn:hover:not(:disabled){border-color:#0e9aa7;background:#f8fafc}.pci-type-btn.selected{border-color:#0e9aa7;background:#f0fdfa}.pci-type-btn:disabled{background:#f3f4f6;border-color:#e5e7eb;opacity:.5;cursor:not-allowed}.pci-type-btn h3{margin:0 0 6px}.pci-type-btn p{margin:0 0 10px;color:#4b5563;font-size:14px}.pci-saq-card{display:flex;flex-direction:column}.pci-saq-card .head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pci-saq-card .head h3{margin:0;color:#0e9aa7}.pci-saq-card .desc{color:#4b5563;font-size:14px;margin:4px 0 10px}.pci-saq-card .numreq{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:6px}.pci-criteria{list-style:none;margin:6px 0 12px;padding:0;flex:1}.pci-criteria li{display:flex;gap:8px;font-size:13px;color:#4b5563;margin-bottom:6px;align-items:flex-start}.pci-criteria li .check{color:#0e9aa7;flex-shrink:0}.pci-guidelines ul{margin:6px 0 14px;padding-left:22px;color:#4b5563;font-size:14px}.pci-guidelines p{margin:0 0 4px;font-size:14px}.pci-accordion{border:1px solid #e5e7eb;border-radius:10px;background:#fff;margin-bottom:12px;box-shadow:0 1px 2px #0000000a}.pci-accordion>summary{cursor:pointer;padding:14px 16px;font-weight:600;color:#0e9aa7;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}.pci-accordion>summary::-webkit-details-marker{display:none}.pci-accordion>summary:after{content:"▾";color:#94a3b8;transition:transform .15s}.pci-accordion[open]>summary:after{transform:rotate(180deg)}.pci-accordion .pci-accordion-body{padding:0 16px 16px}.pci-req-desc{color:#4b5563;font-size:14px;margin:0 0 4px}.pci-subreq{background:#f9fafb;border:1px solid #f1f5f9;border-radius:8px;padding:14px;margin-top:12px}.pci-subreq .q{font-weight:600;font-size:14px;margin-bottom:10px}.pci-subreq .sub-label{font-weight:600;font-size:13px;color:#334155;margin:10px 0 4px}.pci-radio-group label{display:flex;gap:8px;align-items:center;font-size:14px;margin:3px 0;cursor:pointer}.pci-radio-group input{width:auto;margin:0}.pci-evidence-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;margin-top:8px;font-size:13px}.pci-evidence-row .line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pci-evidence-row .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pci-evidence-row .actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pci-evidence-row .actions .pci-btn{padding:3px 10px;font-size:12px}.pci-link-btn{background:none;border:none;padding:0;color:#0e9aa7;font-size:12px;text-decoration:underline;cursor:pointer}.pci-link-btn.danger{color:#dc2626}.pci-link-btn:disabled{color:#94a3b8;cursor:not-allowed}.pci-lock-banner{background:#ede9fe;border:1px solid #ddd6fe;color:#5b21b6;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:14px}.pci-warn-banner{background:#fef3c7;border:1px solid #fde68a;color:#92400e;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:14px}.pci-progress-head{display:flex;align-items:center;gap:12px;margin:12px 0 16px}.pci-progress-head .pci-progress{flex:1}.pci-progress-head .pct{font-size:13px;font-weight:600;color:#334155;white-space:nowrap}.pci-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.pci-row-actions{display:flex;gap:6px;flex-wrap:wrap}.pci-row-actions .pci-btn{padding:4px 10px;font-size:12px}.pci-doc-tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;overflow-x:auto;margin-bottom:18px}.pci-doc-tab{border:none;background:transparent;padding:10px 14px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.pci-doc-tab:hover{color:#0e9aa7}.pci-doc-tab.active{color:#0e9aa7;border-bottom-color:#0e9aa7}.pci-roc-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0 14px}.pci-roc-table th{background:#00897b;color:#fff;padding:8px 10px;border:1px solid #d1d5db;text-align:left;font-size:12px}.pci-roc-table th.center,.pci-roc-table td.center{text-align:center}.pci-roc-table th.gray{background:#d1d5db;color:#111827}.pci-roc-table th.pink{background:#ffb6c1;color:#111827}.pci-roc-table th.purple{background:#9b7dbf;color:#fff}.pci-roc-table td{border:1px solid #d1d5db;padding:8px 10px;vertical-align:top}.pci-roc-table td.mid{vertical-align:middle}.pci-roc-table .pci-input,.pci-roc-table .pci-textarea{font-size:13px}.pci-acc{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;background:#fff}.pci-acc-head{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;padding:12px 14px;cursor:pointer;text-align:left;font-size:14px;color:#0f172a}.pci-acc-head:hover{background:#f8fafc}.pci-acc-head .caret{margin-left:auto;color:#64748b}.pci-acc-body{padding:4px 14px 16px;border-top:1px solid #f1f5f9}.pci-acc-chip{background:#1a7b7b;color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;white-space:nowrap}.pci-subreq{border-left:4px solid #1a7b7b;padding-left:14px;margin:14px 0}.pci-subreq-title{font-weight:600;color:#1a7b7b;margin:0 0 8px}.pci-item-box{background:#f9fafb;border-radius:8px;padding:14px;margin-bottom:14px}.pci-item-id{display:inline-block;border:1px solid #cbd5e1;border-radius:999px;padding:1px 8px;font-size:12px;color:#334155;margin-right:8px;white-space:nowrap}.pci-info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:#1e40af}.pci-warning-box{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:#92400e}.pci-note-box{background:#f9fafb;border-radius:8px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:#374151}.pci-success-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:14px 16px;margin-bottom:14px;font-size:13px;color:#166534}.pci-check{display:flex;align-items:flex-start;gap:8px;margin:6px 0;font-size:14px;color:#0f172a;cursor:pointer}.pci-check input{margin-top:3px;accent-color:#0e9aa7}.pci-check-row{display:flex;gap:24px;flex-wrap:wrap}.pci-field-label{display:block;font-size:13px;font-weight:600;color:#334155;margin:12px 0 4px}.pci-italic-note{font-style:italic;color:#64748b;font-size:12px;margin:4px 0 8px}.pci-sig-canvas{border:2px solid #ccc;border-radius:4px;cursor:crosshair;background:#fafafa;touch-action:none;display:block;max-width:100%}.pci-sig-preview{border:1px solid #eee;padding:10px;border-radius:4px;background:#fff;display:inline-block;margin-top:8px}.pci-sig-preview img{max-width:400px;max-height:150px;display:block}.pci-wf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;margin-bottom:10px}.pci-wf-row.locked{background:#f9fafb}.pci-wf-row .t{font-weight:600}.pci-wf-row .d{font-size:13px;color:#64748b}.pci-wf-row.locked .t{color:#6b7280}.pci-wf-row.locked .d{font-style:italic;color:#9ca3af}.pci-comment{border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;background:#f9fafb;margin-bottom:10px}.pci-comment .head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.pci-comment .author{font-weight:600;color:#0f172a}.pci-comment .when{font-size:12px;color:#94a3b8}.pci-comment .body{font-size:14px;color:#0f172a;margin-top:6px;white-space:pre-wrap}.pci-comment .actions{margin-top:6px;display:flex;gap:12px}.pci-comment .actions button{border:none;background:none;padding:0;color:#0e9aa7;font-size:12px;font-weight:600;cursor:pointer}.pci-comment .actions button.danger{color:#dc2626}.pci-comment-replies{margin-left:26px}.pci-report-card{display:block;text-decoration:none;color:inherit}.pci-report-card .pci-card{height:100%;transition:box-shadow .15s}.pci-report-card:hover .pci-card{box-shadow:0 4px 12px #00000014}.pci-report-icon{font-size:26px}.pci-locked-banner{background:#ede9fe;border:1px solid #ddd6fe;color:#5b21b6;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;margin-bottom:14px}.risk-head{margin-bottom:4px}.risk-head h2{margin:0 0 4px;font-size:24px}.risk-head .sub{color:var(--muted);font-size:14px;margin:0 0 16px}.risk-tabs{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:5px;margin-bottom:22px}.risk-tab{border:none;background:transparent;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:#334155;padding:9px 18px;border-radius:9px;display:flex;align-items:center;gap:7px}.risk-tab.active{background:var(--brand);color:#fff}.risk-tab:not(.active):hover{background:#f1f5f9}.risk-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:22px}.risk-kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;position:relative}.risk-kpi .k-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.risk-kpi .k-label{font-size:13.5px;color:#334155;font-weight:600}.risk-kpi .k-ic{width:42px;height:42px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.risk-kpi .k-value{font-size:34px;font-weight:800;margin:6px 0 4px}.risk-kpi .k-delta{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:4px}.risk-kpi .k-delta .up{color:#ea580c;font-weight:700}.risk-kpi .k-delta .down{color:var(--green);font-weight:700}.risk-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}@media (max-width: 1000px){.risk-panels{grid-template-columns:1fr}}.risk-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px}.risk-panel h3{margin:0 0 14px;font-size:16px}.sev-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}.sev-row .sev-name{width:70px;font-weight:600}.sev-row .sev-track{flex:1;height:12px;background:#f1f5f9;border-radius:8px;overflow:hidden}.sev-row .sev-fill{height:100%;border-radius:8px}.sev-row .sev-n{width:26px;text-align:right;font-weight:700}.cat-list{list-style:none;margin:0;padding:0}.cat-list li{display:flex;justify-content:space-between;padding:8px 2px;border-bottom:1px dashed var(--border);font-size:13.5px}.cat-list li:last-child{border-bottom:none}.cat-list .n{font-weight:700;color:var(--brand-dark)}.heat-wrap{overflow-x:auto}.heat{border-collapse:collapse}.heat th{background:none;border:none;font-size:11px;color:var(--muted);padding:4px 6px;text-align:center;white-space:nowrap}.heat td.cell{width:64px;height:46px;text-align:center;vertical-align:middle;border:2px solid #fff;border-radius:8px;font-weight:800;font-size:15px;color:#fff}.heat td.cell .cnt{opacity:.95}.heat .axis-y{font-size:11px;color:var(--muted);text-align:right;padding-right:8px;white-space:nowrap}.heat-legend{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}.heat-legend .sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}.sev-pill{padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap}.risk-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.risk-toolbar input[type=text]{width:240px}.risk-toolbar select{width:auto;min-width:140px}.risk-toolbar .spacer{flex:1}.risk-form{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:18px}.risk-form h3{margin:0 0 12px}.risk-form .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.risk-form label{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}.risk-form .full{grid-column:1 / -1}.risk-form .score-live{font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px;margin-top:6px}.risk-form .actions{display:flex;gap:10px;margin-top:14px}.breach-flag{color:var(--red);font-weight:700;font-size:11px}.assess-topbar{display:flex;align-items:center;gap:16px;margin-bottom:14px}.assess-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.assess-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:0 10px}.assess-tab{border:none;background:none;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:#475569;padding:15px 16px;border-bottom:3px solid transparent;margin-bottom:-1px}.assess-tab.active{color:var(--brand-dark);border-bottom-color:var(--brand)}.assess-tab:not(.active):hover{color:var(--brand-dark)}.assess-body{padding:22px 24px}.assess-footer{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border);background:#f8fafc}.assess-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.assess-grid{grid-template-columns:1fr}}.assess-grid .full{grid-column:1 / -1}.flabel{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:#fff}.chips input{border:none;outline:none;flex:1;min-width:140px;padding:4px}.chip{display:inline-flex;align-items:center;gap:6px;background:#e2e8f0;border-radius:999px;padding:3px 10px;font-size:12.5px;white-space:nowrap}.chip button{border:none;background:#cbd5e1;border-radius:50%;width:16px;height:16px;font-size:9px;line-height:1;cursor:pointer;color:#334155}.qa{margin-bottom:18px}.qa-q{font-size:14.5px;font-weight:500;color:#1e293b;margin-bottom:8px}.impact-block{margin-bottom:26px}.impact-block h4{text-align:center;font-size:15px;letter-spacing:.4px;margin:0 0 14px}.pia-title{color:var(--brand-dark);text-align:center;margin:4px 0 18px}.pia-h{color:var(--brand-dark);margin:26px 0 10px}.evidence-box{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-top:18px}.evidence-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.evidence-item{border-top:1px dashed var(--border);padding:8px 0}.evidence-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.evidence-row .doc-x{border:none;background:none;color:var(--red);cursor:pointer;font-size:12px}.ai-verdict{display:flex;align-items:baseline;gap:8px;margin-top:6px;font-size:12.5px;flex-wrap:wrap}.ai-verdict .ai-sum{color:#475569}.principle{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px}.principle-head{font-weight:600;font-size:14px;margin-bottom:12px;display:flex;align-items:center;gap:10px}.p-num{background:var(--gold);color:#1d2a26;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.risk-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1000px){.risk-settings-grid{grid-template-columns:1fr}}.scale-table td input{width:100%}.scale-table td:first-child{width:46px;font-weight:800;color:var(--brand-dark);text-align:center}.settings-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.settings-row label{font-size:13px;font-weight:600}.settings-row select,.settings-row input[type=number]{width:90px}.save-ok{color:var(--green);font-weight:600;font-size:13px}:root{--bg: #1e6b5e;--bg-deep: #14544a;--gold: #f0b429;--panel: #ffffff;--muted: #64748b;--border: #e2e8f0;--brand: #0f766e;--brand-dark: #115e59;--green: #16a34a;--amber: #d97706;--red: #dc2626;--slate: #94a3b8;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:#f1f5f9;color:#0f172a}a{color:var(--brand);text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--bg);color:#e6f2ef;padding:20px 14px;flex-shrink:0}.sidebar h1{font-size:16px;margin:0 0 20px;line-height:1.4}.sidebar nav a{display:block;color:#d7ebe6;padding:10px 12px;border-radius:8px;margin-bottom:4px;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:var(--bg-deep);color:#fff}.sidebar .framework-tag{font-size:10px;padding:1px 6px;border-radius:6px;background:var(--bg-deep);margin-left:6px}.nav-divider{height:1px;background:#ffffff2e;margin:12px 0}.nav-section-label{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#a8d4ca;margin:14px 4px 6px}.fw-group{margin-bottom:4px}.fw-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:transparent;border:none;cursor:pointer;color:#eaf6f2;font:inherit;font-size:14px;font-weight:600;padding:10px 12px;border-radius:8px;text-align:start}.fw-head:hover{background:var(--bg-deep);color:#fff}.fw-group.current>.fw-head{background:var(--gold);color:#1d2a26}.fw-group.current>.fw-head:hover{background:#e5a91f}.fw-chevron{font-size:11px;transition:transform .15s;transform:rotate(-90deg);flex-shrink:0}.fw-group.open .fw-chevron{transform:rotate(0)}.fw-sub{margin:2px 0 6px;padding-inline-start:10px;border-inline-start:2px solid rgba(255,255,255,.22);margin-inline-start:12px}.fw-sub a{font-size:13px;padding:8px 10px}.main{flex:1;min-width:0;padding:28px 36px;max-width:2400px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar .user{font-size:13px;color:var(--muted)}.btn{background:var(--brand);color:#fff;border:none;padding:9px 16px;border-radius:8px;cursor:pointer;font-size:14px}.btn:hover{background:var(--brand-dark)}.btn.ghost{background:transparent;color:var(--brand);border:1px solid var(--border)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;cursor:pointer;transition:box-shadow .15s}.card:hover{box-shadow:0 4px 16px #0f172a14}.card h3{margin:0 0 4px;font-size:15px}.card .pct{font-size:30px;font-weight:700}.card .meta{font-size:12px;color:var(--muted);margin-top:6px}.kpi-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 22px}.kpi .label{font-size:12px;color:var(--muted)}.kpi .value{font-size:26px;font-weight:700}.bar{height:8px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-top:8px}.bar>span{display:block;height:100%;background:var(--brand)}table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:12px;overflow:hidden}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}th{background:#f8fafc;color:var(--muted);font-weight:600}.code-cell{font-family:ui-monospace,monospace;white-space:nowrap;color:var(--brand-dark)}select,textarea,input{font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;width:100%}input[type=checkbox],input[type=radio]{width:auto;padding:0;flex:0 0 auto}.status-pill{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.s-impl{background:#dcfce7;color:var(--green)}.s-part{background:#fef3c7;color:var(--amber)}.s-not{background:#fee2e2;color:var(--red)}.s-na{background:#e2e8f0;color:var(--muted)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{background:#fff;padding:36px;border-radius:16px;width:360px;box-shadow:0 10px 40px #0f172a1f}.login-box h2{margin-top:0}.login-box label{font-size:13px;color:var(--muted);display:block;margin:14px 0 5px}.error{color:var(--red);font-size:13px;margin-top:12px}.muted{color:var(--muted);font-size:13px}.docs-box{margin-top:10px;border-top:1px dashed var(--border);padding-top:8px}.docs-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:6px}.docs-list{list-style:none;margin:0 0 8px;padding:0}.docs-list li{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px}.docs-list .doc-ic{flex-shrink:0}.docs-list a{word-break:break-all}.docs-list .doc-x{margin-left:auto;color:var(--red);white-space:nowrap}.upload-btn{padding:6px 12px;font-size:12px;background:var(--brand)}.upload-btn:disabled{opacity:.6;cursor:default}.docs-list-ai{list-style:none;margin:0 0 10px;padding:0}.doc-ai{border:1px solid var(--border);border-radius:10px;padding:10px;margin-bottom:8px;background:#fff}.doc-ai-top{display:flex;align-items:center;gap:6px;font-size:12.5px}.doc-ai-top a{word-break:break-all}.doc-ai-top .doc-x{margin-left:auto;color:var(--red);white-space:nowrap}.ai-block{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.ai-row{display:flex;align-items:center;gap:8px}.ai-conf{color:#fff;font-weight:700;font-size:11px;padding:2px 8px;border-radius:999px}.ai-rel{font-size:12px;font-weight:600;color:var(--brand-dark)}.ai-summary{font-size:12px;color:#475569;margin-top:6px;line-height:1.5}.ai-review{display:flex;align-items:center;gap:8px;margin-top:8px}.toggle{position:relative;width:58px;height:28px;border-radius:999px;border:none;background:#cbd5e1;cursor:pointer;flex-shrink:0}.toggle.on{background:var(--green)}.toggle .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px #00000040}.toggle.on .knob{left:33px}.toggle .toggle-label{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-size:11px;font-weight:700;color:#fff;right:8px}.toggle.on .toggle-label{right:auto;left:8px}.nav-badge{background:var(--red);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;margin-left:6px;font-weight:700}.notif-item{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start}.notif-item.unread{border-left:3px solid var(--brand);background:#f8fbfd}.notif-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--brand-dark)}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.filter-bar select{width:auto;min-width:150px}.filter-search{width:280px;max-width:100%}tr.cat-row td{background:#eef5f9;color:var(--brand-dark);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.3px;padding:8px 14px;position:sticky}.detail{font-size:12px;color:var(--muted);max-width:420px}.subtabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid #e2e8f0}.subtab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:9px 14px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.subtab:hover{color:var(--brand-dark)}.subtab.active{color:var(--brand-dark);border-bottom-color:var(--p-teal-2, #0e9aa7)}.fw-tabs{margin:-6px 0 22px}.fw-tabs-row{display:flex;align-items:center;gap:2px;flex-wrap:wrap;border-bottom:2px solid var(--border)}.fw-tab{padding:9px 14px;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;border-radius:8px 8px 0 0;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--tab-ink, var(--muted));background:var(--tab-tint, transparent)}.fw-tab:hover{filter:brightness(.96)}button.fw-tab{font-family:inherit;line-height:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:0}button.fw-tab-pill{border-width:1px}.fw-tab.active{background:var(--tab-ink, var(--brand));border-bottom-color:var(--tab-ink, var(--brand));color:#fff}.fw-tab.active:hover{color:#fff}.fw-tabs-domains{border-bottom:1px solid var(--border);background:#f8fafc;padding:7px 10px;gap:6px;border-radius:0 0 8px 8px}.fw-tabs-label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--slate);margin-inline-end:4px}.fw-tab-pill{padding:5px 11px;font-size:13px;font-weight:600;border-radius:999px;margin-bottom:0;border:1px solid transparent;border-bottom:1px solid transparent}.fw-tab-pill:hover{border-color:var(--tab-ink, var(--border));filter:none}.fw-tab-pill.active{border-color:var(--tab-ink, var(--brand))}.fw-tab[data-hue="0"]{--tab-ink: #0f766e;--tab-tint: #ccfbf1}.fw-tab[data-hue="1"]{--tab-ink: #1d4ed8;--tab-tint: #dbeafe}.fw-tab[data-hue="2"]{--tab-ink: #7e22ce;--tab-tint: #f3e8ff}.fw-tab[data-hue="3"]{--tab-ink: #92400e;--tab-tint: #fef3c7}.fw-tab[data-hue="4"]{--tab-ink: #be123c;--tab-tint: #ffe4e6}.fw-tab[data-hue="5"]{--tab-ink: #15803d;--tab-tint: #dcfce7}.fw-tab[data-hue="6"]{--tab-ink: #0369a1;--tab-tint: #e0f2fe}.fw-tab[data-hue="7"]{--tab-ink: #a21caf;--tab-tint: #fae8ff}@media (prefers-contrast: more){.fw-tab.active{outline:2px solid currentColor;outline-offset:-2px}}.domain-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 8px;padding-top:16px;border-top:1px solid var(--border)}.domain-nav .domain-nav-next{display:flex;align-items:center;gap:10px}.domain-nav .muted{font-size:12px}.lang-switch{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:13px;cursor:pointer;width:auto;min-width:0;flex:0 0 auto}[dir=rtl] body,[dir=rtl]{font-family:Segoe UI,Tahoma,Arial,sans-serif}[dir=rtl] th,[dir=rtl] td{text-align:right}[dir=rtl] .docs-list .doc-x,[dir=rtl] .doc-ai-top .doc-x{margin-left:0;margin-right:auto}[dir=rtl] .nav-badge,[dir=rtl] .sidebar .framework-tag{margin-left:0;margin-right:6px}[dir=rtl] input,[dir=rtl] textarea,[dir=rtl] select{text-align:right}[dir=rtl] .code-cell{direction:ltr;text-align:right}.fw-banner{background:linear-gradient(120deg,#0b1f3a,#102a4c 55%,#0e9aa7);color:#fff;padding:14px 36px;margin:-6px -36px 20px}.fw-banner h1{font-size:17px;font-weight:700;margin:0;line-height:1.3}.fw-banner .sub{font-size:12px;opacity:.78;margin-top:3px}@media (max-width: 700px){.fw-banner{padding:12px 28px;margin:0 -28px 16px}}
