/* Intercom borough pages (/intercoms-<borough>/, 5 pages).
   Loaded only by those pages (main.cam.ic), with the family script. Everything is scoped under main.cam,
   so nothing reaches the shared header, footer or mobile call bar.
   1. The intercoms overview's page CSS, unchanged (its colour layer included).
   2. State copies (.msv / .ms-off), the off-screen pause and the mono fallback face (as ac-areas.css).
   3. The pages' own rules. Animations use only transform, opacity, stroke-dashoffset and offset-distance;
      keyframes the overview lacks are named ica-*. Page code prefixes: .im- .ib- .iq- .ix- .is- */

/* ---- 1. overview ---- */
/* Camera pages, shared rules. Everything is scoped under main.cam so nothing
   reaches the shared header, footer or mobile call bar. Animations use only
   transform, opacity, stroke-dashoffset and offset-distance. */
main.cam{display:block;background:#060910;color:#e8edf5;font-family:var(--sans)}
.cam a{color:#4d9eff}.cam a:hover{color:#8bbcff}
.cam .wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.cam .m{font-family:var(--mono)}
.cam .sec{position:relative;padding:112px 0;overflow:hidden}
.cam .cam-hero{padding:calc(var(--nav-h) + 16px) 0 104px}
.cam .alt{background:#070b14;border-top:1px solid rgba(120,170,255,.12);border-bottom:1px solid rgba(120,170,255,.12)}
.cam .grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(77,158,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(77,158,255,.07) 1px,transparent 1px),linear-gradient(rgba(77,158,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(77,158,255,.032) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000 25%,transparent 85%);mask-image:radial-gradient(80% 70% at 50% 40%,#000 25%,transparent 85%)}
.cam .crumb{font-family:var(--mono);font-size:12px;line-height:19.2px;letter-spacing:.08em;color:#7d92b3;margin-bottom:22px;padding-top:4px}
.cam .crumb a{color:#8a95a8;padding:14px 6px;margin:0 -6px}.cam .crumb a:hover{color:#e8edf5}
.cam .kick{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#7d92b3}
.cam .cnt{border:1px solid rgba(120,170,255,.35);padding:2px 7px;color:#e8edf5}
.cam h1{margin:0;font-weight:900;letter-spacing:-.045em;line-height:.98;color:#e8edf5}
.cam .h2{margin:0;font-size:clamp(34px,4.6vw,56px);font-weight:800;letter-spacing:-.035em;line-height:1.02;color:#e8edf5}
.cam .cam-lead{margin:0;font-size:17px;line-height:1.65;color:#a3adbd}
.cam .c{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px;background:rgba(9,14,24,.82);border:1px solid rgba(120,170,255,.14);border-radius:4px;color:#e8edf5;overflow:hidden;transition:transform .3s}
.cam .c::before,.cam .c::after{content:"";position:absolute;width:12px;height:12px;border-color:#4d9eff;border-style:solid;opacity:.55;pointer-events:none}
.cam .c::before{top:-1px;left:-1px;border-width:2px 0 0 2px}
.cam .c::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.cam a.c:hover,.cam .c.hv:hover{border-color:rgba(77,158,255,.6);background:rgba(12,20,36,.92);transform:translateY(-3px);color:#e8edf5}
.cam a.c:hover::before,.cam a.c:hover::after,.cam .c.hv:hover::before,.cam .c.hv:hover::after{width:28px;height:28px;opacity:1}
.cam .n{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:#7d92b3;text-transform:uppercase}
.cam .t{margin:0;font-size:21px;font-weight:700;letter-spacing:-.015em;color:#e8edf5;line-height:1.25}
.cam .p{margin:0;font-size:15px;line-height:1.6;color:#a3adbd}
.cam .go{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#4d9eff}
.cam a.go{display:inline-flex;align-items:center;min-height:44px}
.cam .p a{text-decoration:underline;text-underline-offset:2px}
.cam .cam-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:6px;font-weight:700;font-size:15px;line-height:1.2;transition:transform .2s}
.cam .cam-btn-p{background:#0060df;color:#fff;box-shadow:0 10px 30px -10px rgba(29,123,255,.7)}
.cam .cam-btn-p:hover{background:#1d7bff;color:#fff;transform:translateY(-2px)}
.cam .cam-btn-g{border:1px solid rgba(120,170,255,.3);color:#e8edf5;background:rgba(9,14,24,.6)}
.cam .cam-btn-g:hover{color:#fff;border-color:#4d9eff}
.cam .pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border:1px solid rgba(120,170,255,.22);border-radius:999px;font-size:13px;font-weight:600;color:#c9d2e0;background:rgba(5,8,16,.5)}
.cam .pill i{width:6px;height:6px;border-radius:50%;background:#22c55e}
.cam .ill{stroke:#4d9eff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cam .dim{stroke:rgba(120,170,255,.35)}
.cam .lbl{font:600 10px var(--mono);fill:#8bbcff;letter-spacing:.08em}
.cam .lbl2{font:500 9.5px var(--mono);fill:#7d92b3;letter-spacing:.1em}
.cam .tog{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid rgba(120,170,255,.25);border-radius:5px;background:rgba(5,8,16,.6);color:#a9bddc;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.cam .tog:hover{border-color:#4d9eff;color:#fff}
.cam .tog.on{border-color:#4d9eff;background:rgba(29,123,255,.18);color:#fff}
.cam .tog.bad.on{border-color:#ff6b6b;background:rgba(255,107,107,.12);color:#ffb4b4}
.cam ul.lst{list-style:disc;margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.cam [hidden]{display:none!important}

@keyframes cam-flow{to{stroke-dashoffset:-48}}
.cam .flow{stroke-dasharray:6 6;animation:cam-flow 1.6s linear infinite}
.cam .flow-r{stroke-dasharray:3 9;animation:cam-flow 1.6s linear infinite reverse}
@keyframes cam-blink{0%,100%{opacity:1}50%{opacity:.15}}
.cam .blink{animation:cam-blink 1.1s step-end infinite}

.cam details.rfi{border-top:1px solid rgba(120,170,255,.14)}
.cam details.rfi summary{list-style:none;display:grid;grid-template-columns:90px minmax(0,1fr) 28px;align-items:center;gap:16px;min-height:76px;cursor:pointer;color:#e8edf5;font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.3;padding:8px 0}
.cam details.rfi summary::-webkit-details-marker{display:none}
.cam details.rfi .pl{width:28px;height:28px;border:1px solid rgba(120,170,255,.35);border-radius:4px;display:grid;place-items:center;color:#4d9eff;transition:transform .3s}
.cam details.rfi[open] .pl{transform:rotate(45deg)}
.cam .ans{margin:0 0 26px 106px;max-width:680px;font-size:15.5px}

/* Off-screen sections pause; reduced motion stops everything. */
.cam .paused,.cam .paused *{animation-play-state:paused!important}
@media (prefers-reduced-motion: reduce){
  .cam *,.cam *::before,.cam *::after{animation:none!important;transition:none!important}
}
@media (max-width:700px){
  .cam details.rfi summary{grid-template-columns:minmax(0,1fr) 28px;font-size:17px}
  .cam details.rfi summary .m{display:none}
  .cam .ans{margin-left:0}
  .cam .sec{padding:76px 0}
  .cam .cam-hero{padding:calc(var(--nav-h) + 16px) 0 72px}
}
/* Intercoms page: orange accent (#fb923c, light #fdba74) next to the site blue. Scoped to main.cam.ic.
   Green and red in the widgets mean open and locked or failed. Colour changes are instant or
   opacity layers; animations use transform, opacity and stroke-dashoffset. */
/* First paint uses a fallback font (Inter arrives with the async main.css). A fallback scaled
   to Inter's metrics keeps the hero lines and pill rows the same when Inter swaps in. */
@font-face{font-family:'Inter ic-fallback';font-weight:100 500;src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('LiberationSans'),local('Helvetica');ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%;size-adjust:107.25%}
@font-face{font-family:'Inter ic-fallback';font-weight:600;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('LiberationSans-Bold'),local('Helvetica Bold');ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%;size-adjust:101.6%}
@font-face{font-family:'Inter ic-fallback';font-weight:700 900;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('LiberationSans-Bold'),local('Helvetica Bold');ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%;size-adjust:105.1%}
@font-face{font-family:'Inter ic-fallback-h1';font-weight:100 900;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('LiberationSans-Bold'),local('Helvetica Bold');ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%;size-adjust:109%}
@font-face{font-family:'Inter ic-fallback-h1-mid';font-weight:100 900;src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('LiberationSans-Bold'),local('Helvetica Bold');ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%;size-adjust:106.5%}
main.cam.ic{font-family:'Inter','Inter ic-fallback',system-ui,-apple-system,sans-serif}
.cam.ic h1{font-family:'Inter','Inter ic-fallback-h1',system-ui,-apple-system,sans-serif}
/* The headline wraps like Inter with 109% on phones and wide screens, 106.5% in between (checked every 1px from 320 to 1920). */
@media (min-width:611px) and (max-width:1275px){.cam.ic h1{font-family:'Inter','Inter ic-fallback-h1-mid',system-ui,-apple-system,sans-serif}}
/* Narrow phones: the two hero buttons always stack, so the row never changes when Inter swaps in. */
@media (max-width:480px){.cam.ic .ctas{flex-direction:column;align-items:flex-start}}
.cam.ic .c::before,.cam.ic .c::after{border-color:#fb923c;opacity:.6}
.cam.ic a.c:hover,.cam.ic .c.hv:hover{border-color:rgba(251,146,60,.5)}
.cam.ic .tog{padding:0 14px;letter-spacing:.08em}
.cam.ic .tog:hover{border-color:#fb923c;color:#fff}
.cam.ic .tog.on{border-color:#fb923c;background:rgba(251,146,60,.12);color:#fff}
.cam.ic .tog.bad.on,.cam.ic .tog[data-sw-v="fire"].on{border-color:#ff6b6b;background:rgba(255,107,107,.12);color:#ffb4b4}
.cam.ic details.rfi summary{grid-template-columns:minmax(0,1fr) 28px}
.cam.ic details.rfi .pl{color:#fb923c}
.cam.ic .ans{margin:0 0 26px;max-width:720px}
.cam svg text{pointer-events:none}
/* Texts that swap share one grid cell, so the box is always as tall as the longest one. */
.cam .stk{display:inline-grid}
.cam .stk>*{grid-area:1/1}
.cam .stk>[hidden]{display:block!important;visibility:hidden}
@keyframes ic-ring{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.8);opacity:0}}
@keyframes ic-ledb{0%,100%{opacity:.25}50%{opacity:1}}
.cam .ledb{animation:ic-ledb 1.2s ease-in-out infinite}

/* hero call path: step and outcome states are opacity layers; the door leaf swings with transform */
.cam .cp .wire{fill:none;stroke:rgba(139,188,255,.55);stroke-width:2}
.cam .cp .pz{fill:none;stroke:#fb923c;stroke-width:3.4;stroke-linecap:round;stroke-dasharray:.1 2;stroke-dashoffset:.1;opacity:0}
@keyframes ic-pz{from{stroke-dashoffset:.1}to{stroke-dashoffset:-1}}
.cam .cp.s2 .pzc,.cam .cp.s3 .pzr{opacity:1;animation:ic-pz 1.1s linear infinite}
.cam .cp.m-bad .rw-good,.cam .cp.m-good .rw-bad{display:none}
.cam .cp .btn4b{fill:#fb923c;opacity:0;transition:opacity .3s}
.cam .cp.s1 .btn4b{opacity:1}
.cam .cp .ring1{fill:none;stroke:#fb923c;transform-box:fill-box;transform-origin:center;opacity:0}
.cam .cp.s1 .ring1{opacity:1;animation:ic-ring 1.2s ease-out infinite}
.cam .cp .scr{fill:#1c2b45;opacity:0;transition:opacity .4s}
.cam .cp.g2 .scr{opacity:1}
.cam .cp .face{opacity:0;transition:opacity .4s}
.cam .cp.g2 .face{opacity:1}
.cam .cp .rngt{opacity:0}
.cam .cp.s2 .rngt{opacity:1}
.cam .cp .dbtn{fill:#fb923c;opacity:0;transition:opacity .3s}
.cam .cp.s3 .dbtn{opacity:1}
.cam .cp .leaf{transform-box:fill-box;transform-origin:0 50%;transition:transform .8s cubic-bezier(.4,.1,.2,1)}
.cam .cp-m .leaf{transform-origin:100% 50%}
.cam .cp.m-good.s4 .leaf{transform:scaleX(.16)}
.cam .cp .stkr-ok,.cam .cp .stkr-bad{opacity:0;transition:opacity .3s}
.cam .cp .stkr-ok{fill:#4ade80;stroke:#4ade80}
.cam .cp .stkr-bad{fill:#ff4d4d;stroke:#ff4d4d}
.cam .cp.m-good.s4 .stkr-ok,.cam .cp.m-bad.s4 .stkr-bad{opacity:1}
.cam .cp .ok4,.cam .cp .bz{opacity:0;transition:opacity .3s}
.cam .cp.m-good.s4 .ok4,.cam .cp.m-bad.s4 .bz{opacity:1}
/* Under 700px the phone drawing replaces the wide one, so no label renders below 10px. */
.cam .cp-m{max-width:440px;margin:0 auto}
@media (max-width:699px){.cam .cp-d{display:none!important}}
@media (min-width:700px){.cam .cp-m{display:none!important}}
.cam .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(120,170,255,.14)}
.cam .stp{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 12px;border-right:1px solid rgba(120,170,255,.1);font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6f7f99}
.cam .stp:last-child{border-right:0}
.cam .stp b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-size:10px;flex:none}
.cam .stp .stk>*{align-self:center}
.cam .stp.on{color:#fdba74;background:rgba(251,146,60,.08)}
.cam .stp.done{color:#a9bddc}
.cam .stp.bad.on{color:#ff8a8a;background:rgba(255,107,107,.08)}
.cam .stp.good.on{color:#8bf0b0;background:rgba(74,222,128,.08)}
@media (max-width:640px){.cam .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.cam .stp:nth-child(2){border-right:0}.cam .stp:nth-child(-n+2){border-bottom:1px solid rgba(120,170,255,.1)}}
.cam .stat{display:grid;min-height:66px;padding:14px 18px;border-top:1px solid rgba(120,170,255,.14);font-size:15px;line-height:1.55}

/* chooser */
.cam .opt{display:flex;flex-wrap:wrap;gap:6px}
.cam .icchip{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid rgba(120,170,255,.25);border-radius:5px;background:rgba(5,8,16,.6);color:#c9d2e0;font:600 14px var(--sans);cursor:pointer;text-align:left}
.cam .icchip:hover{border-color:#fb923c;color:#fff}
.cam .icchip.on{border-color:#fb923c;background:rgba(251,146,60,.13);color:#fff}
.cam .xs g{opacity:0;transition:opacity .35s}
.cam .xs.w-w2 .x2,.cam .xs.w-w4 .x4,.cam .xs.w-cat .xc,.cam .xs.w-none .xn{opacity:1}
.cam .rr{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:14px;padding:12px 0;border-top:1px solid rgba(120,170,255,.12);font-size:14.5px;line-height:1.5}
.cam .rr .k{font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;padding-top:3px}
.cam .rr .v{color:#dfe6f2}
.cam .icalt{margin-top:10px;padding:12px 14px;border:1px dashed rgba(251,146,60,.4);border-radius:4px;font-size:14px;line-height:1.5;color:#fdba74}
@media (max-width:560px){.cam .rr{grid-template-columns:1fr;gap:4px}}

/* door release */
.cam .dl .v{opacity:0;transition:opacity .3s}
.cam .dl.d-normal .v-normal,.cam .dl.d-buzz .v-buzz,.cam .dl.d-power .v-power,.cam .dl.d-fire .v-fire{opacity:1}
.cam .dl .leaf2{transform-box:fill-box;transform-origin:0 50%;transition:transform .8s cubic-bezier(.4,.1,.2,1)}
.cam .dl.d-buzz .leaf2{transform:scaleX(.2)}
.cam .dl.d-power .mg .leaf2,.cam .dl.d-fire .mg .leaf2{transform:scaleX(.82)}
.cam .dl .skon,.cam .dl .mgon{opacity:0;transition:opacity .3s}
.cam .dl.d-buzz .skon,.cam .dl.d-normal .mgon{opacity:1}
.cam .st{display:grid;grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid rgba(120,170,255,.12);font-size:14.5px;line-height:1.45}
.cam .st .k{font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;padding-top:3px}

/* lists, property tiles, repair chips */
.cam .c.bad{background:rgba(255,107,107,.04);border-color:rgba(255,107,107,.22)}
.cam .c.good{background:rgba(74,222,128,.04);border-color:rgba(74,222,128,.25)}
.cam .chk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cam .chk li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.5;color:#dfe6f2}
.cam .mk{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:700 11px var(--sans);margin-top:1px}
.cam .pt{display:flex;flex-direction:column;gap:8px;min-height:180px}
.cam .pt svg{width:100%;height:64px}
.cam .bchip{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:1px solid rgba(120,170,255,.2);border-radius:5px;background:rgba(5,8,16,.6);color:#e8edf5;font-weight:600;font-size:15px}
.cam .bchip:hover{border-color:#fb923c;color:#fff}
.cam .bchip i{width:7px;height:7px;border-radius:50%;background:#fb923c}
@media (max-width:760px){
  .cam.ic details.rfi summary{font-size:17px}
}

/* ---- 2. state copies (the family script) ---- */
.cam .ms-off{opacity:0!important}
.cam .msv{transition:opacity .35s}
.cam .paused,.cam .paused *{animation-play-state:paused!important}
/* mono labels keep their height when the web font arrives: the local fallback carries
   JetBrains Mono's vertical metrics (as cam-areas.css) */
@font-face{font-family:'JetBrains Mono Fallback';src:local('Menlo'),local('Consolas'),local('DejaVu Sans Mono'),local('Noto Mono'),local('Liberation Mono'),local('Courier New');ascent-override:102%;descent-override:30%;line-gap-override:0%}
main.cam{--mono:'JetBrains Mono','JetBrains Mono Fallback','Fira Code',monospace}

/* ---- 3. the pages' own rules ---- */
.cam .bang{transform-box:fill-box;transform-origin:center;animation:ica-bang 4s infinite}
.cam .march{stroke-dasharray:4 4;animation:ica-dash 1.5s linear infinite}
.cam .bad{background:rgba(255,107,107,.04);border-color:rgba(255,107,107,.22)}
@media (max-width:760px){.cam details.rfi summary{font-size:17px}}
@media (max-width:760px){.cam .sec{padding:76px 0}}
.cam .stage{transition:opacity .45s}
.cam .stage.off{opacity:0}
.cam .step{display:flex;flex-direction:column;gap:10px;padding:24px;border-top:2px solid rgba(251,146,60,.5);background:rgba(9,14,24,.6)}
.cam .step .sn{font:700 13px var(--mono);letter-spacing:.14em;color:#fb923c}
.cam .sched{border:1px solid rgba(120,170,255,.16);border-radius:4px;background:rgba(5,8,16,.55);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr))}
.cam .shead{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid rgba(120,170,255,.16);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7d92b3}
.cam .srow{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;padding:22px 20px;border-bottom:1px solid rgba(120,170,255,.1)}
.cam .srow:hover{background:rgba(29,123,255,.05)}
.cam .sno{font-size:11px;letter-spacing:.12em;color:#4d9eff;padding-top:4px}
.cam .stag{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid rgba(120,170,255,.28);border-radius:3px;font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#8bbcff}
.cam .tc{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(9,14,24,.7);color:#e8edf5;min-height:120px;transition:transform .25s}
.cam .tc svg{width:100%;height:44px}
.cam .tc .tt2{font-size:15px;font-weight:700;letter-spacing:-.01em;color:#e8edf5}
.cam .tc .go{margin-top:auto;font-size:10.5px}
.cam a.tc:hover{border-color:rgba(77,158,255,.6);background:rgba(12,20,36,.92);transform:translateY(-2px)}
.cam .tc.here{border-style:dashed;border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.04)}
@media (max-width:560px){.cam .srow{grid-template-columns:1fr;gap:8px}}
.cam a.tc:hover{border-color:rgba(251,146,60,.6)}
.cam .tc.here{border-color:rgba(251,146,60,.45);background:rgba(251,146,60,.05)}
.cam .sno{color:#fb923c}
.cam .stag{border-color:rgba(251,146,60,.35);color:#fdba74}
.cam .srow:hover{background:rgba(251,146,60,.05)}
.cam .q{margin:0;font-size:16px;line-height:1.65;color:#dfe6f2}
.cam .rv{gap:16px}
.cam .stars{color:#f5c46b;letter-spacing:3px;font-size:15px}
.cam .hoods{display:flex;flex-direction:column;gap:14px;padding:22px 24px;margin-bottom:28px;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(9,14,24,.6)}
.cam .hoods ul{margin:0;padding:0;list-style:none;columns:4 180px;column-gap:28px}
.cam .hoods li{font-size:14.5px;line-height:1.9;color:#c9d2e0;break-inside:avoid}
.cam .ix-hero{display:flex;flex-wrap:wrap;align-items:stretch}
.cam .ix-map{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-bottom:14px;background:#03060b}
.cam .ix-map svg{display:block;width:100%;max-width:470px;height:auto}
.cam .ix-nbs{display:flex;flex-direction:column;gap:8px;width:100%;padding:0 16px}
.cam .ix-nbl{display:flex;flex-wrap:wrap;gap:5px}
.cam .ix-nb{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(120,170,255,.2);border-radius:999px;font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#7d92b3;background:rgba(5,8,16,.6)}
.cam .ix-nb.on{border-color:#fb923c;color:#e8edf5;background:rgba(251,146,60,.13)}
.cam .ix-side{flex:0 1 260px;min-width:0;display:grid;padding:18px 18px 16px;border-left:1px solid rgba(120,170,255,.14);background:linear-gradient(180deg,rgba(9,14,24,.9),rgba(5,8,16,.9))}
@media (max-width:640px){.cam .ix-side{flex-basis:100%;border-left:0;border-top:1px solid rgba(120,170,255,.14)}}
.cam .ix-lg{grid-area:1/1;display:flex;flex-direction:column;gap:9px;animation:ica-ix-in .5s ease both}
.cam .ix-lg.off{visibility:hidden;animation:none;opacity:0}
.cam .ix-lg .ix-ico{width:100%;height:40px;border:1px solid rgba(120,170,255,.14);border-radius:3px;background:rgba(4,7,13,.7)}
.cam .ix-ttl{font-size:16px;font-weight:800;letter-spacing:-.015em;line-height:1.2;color:#e8edf5}
.cam .ix-k{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;padding-top:6px;border-top:1px solid rgba(120,170,255,.12)}
.cam .ix-pl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cam .ix-pl li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;font-size:13px;line-height:1.35;color:#c9d2e0}
.cam .ix-pl i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #fb923c;border-radius:50%;font:700 9.5px var(--mono);font-style:normal;color:#fdba74}
.cam .ix-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-top:8px;border-top:1px solid rgba(120,170,255,.12)}
.cam .ix-kv span{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;margin-top:4px}
.cam .ix-kv b{font-size:13px;font-weight:600;line-height:1.35;color:#dfe6f2}
.cam .ix-lk{margin-top:2px;font:600 12px var(--mono);letter-spacing:.06em;color:#fdba74}
.cam .ix-lk:hover{color:#fff}
.cam .ix-tn{font-family:var(--mono);font-weight:700;letter-spacing:.06em;fill:#eef3fb}
.cam .ix-ts{font-family:var(--mono);font-weight:600;letter-spacing:.1em;fill:#fdba74}
.cam .ix-rv{font-family:var(--mono);font-weight:500;letter-spacing:.3em;fill:rgba(139,188,255,.42)}
.cam .ix-gt{font-family:var(--mono);font-weight:500;letter-spacing:.08em;fill:rgba(125,146,179,.8)}
.cam .ix-hl{fill:#fb923c;fill-opacity:.4;stroke:#fb923c;stroke-width:.6;stroke-opacity:.9;animation:ica-ix-zp 2.8s ease-in-out infinite}
.cam .ix-pg{transform-box:fill-box;transform-origin:center;animation:ica-ix-ping 2.2s ease-out infinite}
.cam .ix-wbox{display:flex;flex-wrap:wrap;border:1px solid rgba(120,170,255,.16);border-radius:4px;background:#04070d;overflow:hidden}
.cam .ix-wa,.cam .ix-wb{min-width:0;display:flex;align-items:center;justify-content:center;padding:10px}
.cam .ix-wa{flex:3 1 360px}
.cam .ix-wb{flex:2 1 260px;border-left:1px solid rgba(120,170,255,.12);background:rgba(9,14,24,.5)}
@media (max-width:640px){.cam .ix-wb{border-left:0;border-top:1px solid rgba(120,170,255,.12)}}
.cam .ix-wbox svg{display:block;width:100%;height:auto;max-height:440px}
.cam .ix-wt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .ix-wh{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.05)}
.cam .ix-rows{margin:0;display:flex;flex-direction:column;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .ix-rows div{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid rgba(120,170,255,.1)}
.cam .ix-rows div:last-child{border-bottom:0}
.cam .ix-rows dt{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7d92b3;padding-top:2px}
.cam .ix-rows dd{margin:0;font-size:14px;line-height:1.45;color:#dfe6f2}
.cam .ix-w2{font:500 11px var(--mono);letter-spacing:.08em;fill:#8a9bb5}
.cam .ix-w3{font:700 9px var(--mono);letter-spacing:.06em;fill:#cfe0ff}
.cam .ix-run{stroke-dasharray:600;stroke-dashoffset:600}
.cam .ix-go .ix-run{animation:ica-ix-draw 3.2s ease-in-out infinite}
.cam .ix-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .ix-rule{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .ix-rule a{color:#fdba74;text-decoration:underline;text-underline-offset:3px}
.cam .ix-lgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px 18px}
.cam .ix-lgp{display:flex;flex-direction:column;gap:8px}
.cam .ix-lks{display:flex;flex-wrap:wrap;gap:6px}
.cam .ix-ln{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.06);font-size:13.5px;font-weight:600;color:#e8edf5;line-height:1.3}
.cam .ix-ln:hover{border-color:#fb923c;background:rgba(251,146,60,.14)}
.cam .ix-src{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid rgba(120,170,255,.12)}
.cam .ix-src ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.cam .ix-src li{font-size:13px;line-height:1.45;color:#8a9bb5}
@media (max-width:640px){.cam .ix-wd{padding:14px !important}}
@media (max-width:640px){.cam .ix-nt{padding:16px !important}}
@media (max-width:640px){.cam .ix-w2{font-size:13px}}
@media (max-width:640px){.cam .ix-w3{font-size:11px}}
@media (prefers-reduced-motion:reduce){.cam .ix-io *,.cam .ix-hero *{animation:none!important}}
@media (prefers-reduced-motion:reduce){.cam .ix-run{stroke-dashoffset:0!important}}
.cam .ix-sw{transform-box:view-box;transform-origin:100px 150px}
.cam .ix-s0{transform:rotate(0deg)}
.cam .ix-s1{transform:rotate(-7deg)}
.cam .ix-s2{transform:rotate(-1.5deg)}
.cam .ix-s3{transform:rotate(0deg)}
.cam .ix-go .ix-s0{animation:ica-ix-c0 3.6s ease-in-out infinite}
.cam .ix-go .ix-s1{animation:ica-ix-c1 3.6s ease-in-out infinite}
.cam .ix-go .ix-s2{animation:ica-ix-c2 3.6s ease-in-out infinite}
.cam .ix-go .ix-s3{animation:ica-ix-c3 3.6s ease-in-out infinite}
.cam .ib-hero{display:flex;flex-wrap:wrap;align-items:stretch}
.cam .ib-map{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-bottom:14px;background:#03060b}
.cam .ib-map svg{display:block;width:100%;max-width:470px;height:auto}
.cam .ib-nbs{display:flex;flex-direction:column;gap:8px;width:100%;padding:0 16px}
.cam .ib-nbl{display:flex;flex-wrap:wrap;gap:5px}
.cam .ib-nb{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(120,170,255,.2);border-radius:999px;font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#7d92b3;background:rgba(5,8,16,.6)}
.cam .ib-nb.on{border-color:#fb923c;color:#e8edf5;background:rgba(251,146,60,.13)}
.cam .ib-side{flex:0 1 260px;min-width:0;display:grid;padding:18px 18px 16px;border-left:1px solid rgba(120,170,255,.14);background:linear-gradient(180deg,rgba(9,14,24,.9),rgba(5,8,16,.9))}
@media (max-width:640px){.cam .ib-side{flex-basis:100%;border-left:0;border-top:1px solid rgba(120,170,255,.14)}}
.cam .ib-lg{grid-area:1/1;display:flex;flex-direction:column;gap:9px;animation:ica-ib-in .5s ease both}
.cam .ib-lg.off{visibility:hidden;animation:none;opacity:0}
.cam .ib-lg .ib-ico{width:100%;height:40px;border:1px solid rgba(120,170,255,.14);border-radius:3px;background:rgba(4,7,13,.7)}
.cam .ib-ttl{font-size:16px;font-weight:800;letter-spacing:-.015em;line-height:1.2;color:#e8edf5}
.cam .ib-k{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;padding-top:6px;border-top:1px solid rgba(120,170,255,.12)}
.cam .ib-pl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cam .ib-pl li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;font-size:13px;line-height:1.35;color:#c9d2e0}
.cam .ib-pl i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #fb923c;border-radius:50%;font:700 9.5px var(--mono);font-style:normal;color:#fdba74}
.cam .ib-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-top:8px;border-top:1px solid rgba(120,170,255,.12)}
.cam .ib-kv span{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;margin-top:4px}
.cam .ib-kv b{font-size:13px;font-weight:600;line-height:1.35;color:#dfe6f2}
.cam .ib-lk{margin-top:2px;font:600 12px var(--mono);letter-spacing:.06em;color:#fdba74}
.cam .ib-lk:hover{color:#fff}
.cam .ib-tn{font-family:var(--mono);font-weight:700;letter-spacing:.06em;fill:#eef3fb}
.cam .ib-ts{font-family:var(--mono);font-weight:600;letter-spacing:.1em;fill:#fdba74}
.cam .ib-rv{font-family:var(--mono);font-weight:500;letter-spacing:.3em;fill:rgba(139,188,255,.42)}
.cam .ib-gt{font-family:var(--mono);font-weight:500;letter-spacing:.08em;fill:rgba(125,146,179,.8)}
.cam .ib-hl{fill:#fb923c;fill-opacity:.4;stroke:#fb923c;stroke-width:.6;stroke-opacity:.9;animation:ica-ib-zp 2.8s ease-in-out infinite}
.cam .ib-pg{transform-box:fill-box;transform-origin:center;animation:ica-ib-ping 2.2s ease-out infinite}
.cam .ib-wbox{display:flex;flex-wrap:wrap;border:1px solid rgba(120,170,255,.16);border-radius:4px;background:#04070d;overflow:hidden}
.cam .ib-wa,.cam .ib-wb{min-width:0;display:flex;align-items:center;justify-content:center;padding:10px}
.cam .ib-wa{flex:3 1 360px}
.cam .ib-wb{flex:2 1 260px;border-left:1px solid rgba(120,170,255,.12);background:rgba(9,14,24,.5)}
@media (max-width:640px){.cam .ib-wb{border-left:0;border-top:1px solid rgba(120,170,255,.12)}}
.cam .ib-wbox svg{display:block;width:100%;height:auto;max-height:440px}
.cam .ib-wt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .ib-wh{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.05)}
.cam .ib-rows{margin:0;display:flex;flex-direction:column;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .ib-rows div{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid rgba(120,170,255,.1)}
.cam .ib-rows div:last-child{border-bottom:0}
.cam .ib-rows dt{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7d92b3;padding-top:2px}
.cam .ib-rows dd{margin:0;font-size:14px;line-height:1.45;color:#dfe6f2}
.cam .ib-w1{font:700 13px var(--mono);letter-spacing:.06em;fill:#e8edf5;paint-order:stroke;stroke:#04070d;stroke-width:3px;stroke-linejoin:round}
.cam .ib-w2{font:500 11px var(--mono);letter-spacing:.08em;fill:#8a9bb5}
.cam .ib-w3{font:700 9px var(--mono);letter-spacing:.06em;fill:#cfe0ff}
.cam .ib-run{stroke-dasharray:600;stroke-dashoffset:600}
.cam .ib-go .ib-run{animation:ica-ib-draw 3.2s ease-in-out infinite}
.cam .ib-go .ib-late{animation:ica-ib-late 3.2s ease-in-out infinite}
.cam .ib-pulse{transform-box:fill-box;transform-origin:center;animation:ica-ib-ping 1.6s ease-out infinite}
.cam .ib-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .ib-rule{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .ib-rule a{color:#fdba74;text-decoration:underline;text-underline-offset:3px}
.cam .ib-lgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px 18px}
.cam .ib-lgp{display:flex;flex-direction:column;gap:8px}
.cam .ib-lks{display:flex;flex-wrap:wrap;gap:6px}
.cam .ib-ln{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.06);font-size:13.5px;font-weight:600;color:#e8edf5;line-height:1.3}
.cam .ib-ln:hover{border-color:#fb923c;background:rgba(251,146,60,.14)}
.cam .ib-src{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid rgba(120,170,255,.12)}
.cam .ib-src ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.cam .ib-src li{font-size:13px;line-height:1.45;color:#8a9bb5}
@media (max-width:640px){.cam .ib-wd{padding:14px !important}}
@media (max-width:640px){.cam .ib-nt{padding:16px !important}}
@media (max-width:640px){.cam .ib-w1{font-size:16px}}
@media (max-width:640px){.cam .ib-w2{font-size:13px}}
@media (max-width:640px){.cam .ib-w3{font-size:11px}}
@media (prefers-reduced-motion:reduce){.cam .ib-io *,.cam .ib-hero *{animation:none!important}}
@media (prefers-reduced-motion:reduce){.cam .ib-run{stroke-dashoffset:0!important}}
.cam .im-hero{display:flex;flex-wrap:wrap;align-items:stretch}
.cam .im-map{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-bottom:14px;background:#03060b}
.cam .im-map svg{display:block;width:100%;max-width:470px;height:auto}
.cam .im-nbs{display:flex;flex-direction:column;gap:8px;width:100%;padding:0 16px}
.cam .im-nbl{display:flex;flex-wrap:wrap;gap:5px}
.cam .im-nb{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(120,170,255,.2);border-radius:999px;font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#7d92b3;background:rgba(5,8,16,.6)}
.cam .im-nb.on{border-color:#fb923c;color:#e8edf5;background:rgba(251,146,60,.13)}
.cam .im-side{flex:0 1 260px;min-width:0;display:grid;padding:18px 18px 16px;border-left:1px solid rgba(120,170,255,.14);background:linear-gradient(180deg,rgba(9,14,24,.9),rgba(5,8,16,.9))}
@media (max-width:640px){.cam .im-side{flex-basis:100%;border-left:0;border-top:1px solid rgba(120,170,255,.14)}}
.cam .im-lg{grid-area:1/1;display:flex;flex-direction:column;gap:9px;animation:ica-im-in .5s ease both}
.cam .im-lg.off{visibility:hidden;animation:none;opacity:0}
.cam .im-lg .im-ico{width:100%;height:40px;border:1px solid rgba(120,170,255,.14);border-radius:3px;background:rgba(4,7,13,.7)}
.cam .im-ttl{font-size:16px;font-weight:800;letter-spacing:-.015em;line-height:1.2;color:#e8edf5}
.cam .im-k{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;padding-top:6px;border-top:1px solid rgba(120,170,255,.12)}
.cam .im-pl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cam .im-pl li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;font-size:13px;line-height:1.35;color:#c9d2e0}
.cam .im-pl i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #fb923c;border-radius:50%;font:700 9.5px var(--mono);font-style:normal;color:#fdba74}
.cam .im-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-top:8px;border-top:1px solid rgba(120,170,255,.12)}
.cam .im-kv span{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;margin-top:4px}
.cam .im-kv b{font-size:13px;font-weight:600;line-height:1.35;color:#dfe6f2}
.cam .im-lk{margin-top:2px;font:600 12px var(--mono);letter-spacing:.06em;color:#fdba74}
.cam .im-lk:hover{color:#fff}
.cam .im-tn{font-family:var(--mono);font-weight:700;letter-spacing:.06em;fill:#eef3fb}
.cam .im-ts{font-family:var(--mono);font-weight:600;letter-spacing:.1em;fill:#fdba74}
.cam .im-rv{font-family:var(--mono);font-weight:500;letter-spacing:.3em;fill:rgba(139,188,255,.42)}
.cam .im-gt{font-family:var(--mono);font-weight:500;letter-spacing:.08em;fill:rgba(125,146,179,.8)}
.cam .im-hl{fill:#fb923c;fill-opacity:.4;stroke:#fb923c;stroke-width:.6;stroke-opacity:.9;animation:ica-im-zp 2.8s ease-in-out infinite}
.cam .im-pg{transform-box:fill-box;transform-origin:center;animation:ica-im-ping 2.2s ease-out infinite}
.cam .im-wbox{display:flex;flex-wrap:wrap;border:1px solid rgba(120,170,255,.16);border-radius:4px;background:#04070d;overflow:hidden}
.cam .im-wa,.cam .im-wb{min-width:0;display:flex;align-items:center;justify-content:center;padding:10px}
.cam .im-wa{flex:3 1 360px}
.cam .im-wb{flex:2 1 260px;border-left:1px solid rgba(120,170,255,.12);background:rgba(9,14,24,.5)}
@media (max-width:640px){.cam .im-wb{border-left:0;border-top:1px solid rgba(120,170,255,.12)}}
.cam .im-wbox svg{display:block;width:100%;height:auto;max-height:440px}
.cam .im-wt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .im-wh{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.05)}
.cam .im-rows{margin:0;display:flex;flex-direction:column;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .im-rows div{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid rgba(120,170,255,.1)}
.cam .im-rows div:last-child{border-bottom:0}
.cam .im-rows dt{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7d92b3;padding-top:2px}
.cam .im-rows dd{margin:0;font-size:14px;line-height:1.45;color:#dfe6f2}
.cam .im-w2{font:500 11px var(--mono);letter-spacing:.08em;fill:#8a9bb5}
.cam .im-w3{font:700 9px var(--mono);letter-spacing:.06em;fill:#cfe0ff}
.cam .im-run{stroke-dasharray:600;stroke-dashoffset:600}
.cam .im-go .im-run{animation:ica-im-draw 3.2s ease-in-out infinite}
.cam .im-go .im-late{animation:ica-im-late 3.2s ease-in-out infinite}
.cam .im-go .im-early{animation:ica-im-early 3.2s ease-in-out infinite}
.cam .im-go .im-tapf{animation:ica-im-tapf 3.2s ease-in-out infinite}
.cam .im-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .im-rule{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .im-rule a{color:#fdba74;text-decoration:underline;text-underline-offset:3px}
.cam .im-lgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px 18px}
.cam .im-lgp{display:flex;flex-direction:column;gap:8px}
.cam .im-lks{display:flex;flex-wrap:wrap;gap:6px}
.cam .im-ln{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.06);font-size:13.5px;font-weight:600;color:#e8edf5;line-height:1.3}
.cam .im-ln:hover{border-color:#fb923c;background:rgba(251,146,60,.14)}
.cam .im-src{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid rgba(120,170,255,.12)}
.cam .im-src ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.cam .im-src li{font-size:13px;line-height:1.45;color:#8a9bb5}
@media (max-width:640px){.cam .im-wd{padding:14px !important}}
@media (max-width:640px){.cam .im-nt{padding:16px !important}}
@media (max-width:640px){.cam .im-w2{font-size:13px}}
@media (max-width:640px){.cam .im-w3{font-size:11px}}
@media (prefers-reduced-motion:reduce){.cam .im-io *,.cam .im-hero *{animation:none!important}}
@media (prefers-reduced-motion:reduce){.cam .im-run{stroke-dashoffset:0!important}}
@media (prefers-reduced-motion:reduce){.cam .im-late,.cam .im-early{opacity:1!important}}
.cam .iq-hero{display:flex;flex-wrap:wrap;align-items:stretch}
.cam .iq-map{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-bottom:14px;background:#03060b}
.cam .iq-map svg{display:block;width:100%;max-width:470px;height:auto}
.cam .iq-nbs{display:flex;flex-direction:column;gap:8px;width:100%;padding:0 16px}
.cam .iq-nbl{display:flex;flex-wrap:wrap;gap:5px}
.cam .iq-nb{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(120,170,255,.2);border-radius:999px;font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#7d92b3;background:rgba(5,8,16,.6)}
.cam .iq-nb.on{border-color:#fb923c;color:#e8edf5;background:rgba(251,146,60,.13)}
.cam .iq-side{flex:0 1 260px;min-width:0;display:grid;padding:18px 18px 16px;border-left:1px solid rgba(120,170,255,.14);background:linear-gradient(180deg,rgba(9,14,24,.9),rgba(5,8,16,.9))}
@media (max-width:640px){.cam .iq-side{flex-basis:100%;border-left:0;border-top:1px solid rgba(120,170,255,.14)}}
.cam .iq-lg{grid-area:1/1;display:flex;flex-direction:column;gap:9px;animation:ica-iq-in .5s ease both}
.cam .iq-lg.off{visibility:hidden;animation:none;opacity:0}
.cam .iq-lg .iq-ico{width:100%;height:40px;border:1px solid rgba(120,170,255,.14);border-radius:3px;background:rgba(4,7,13,.7)}
.cam .iq-ttl{font-size:16px;font-weight:800;letter-spacing:-.015em;line-height:1.2;color:#e8edf5}
.cam .iq-k{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;padding-top:6px;border-top:1px solid rgba(120,170,255,.12)}
.cam .iq-pl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cam .iq-pl li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;font-size:13px;line-height:1.35;color:#c9d2e0}
.cam .iq-pl i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #fb923c;border-radius:50%;font:700 9.5px var(--mono);font-style:normal;color:#fdba74}
.cam .iq-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-top:8px;border-top:1px solid rgba(120,170,255,.12)}
.cam .iq-kv span{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;margin-top:4px}
.cam .iq-kv b{font-size:13px;font-weight:600;line-height:1.35;color:#dfe6f2}
.cam .iq-lk{margin-top:2px;font:600 12px var(--mono);letter-spacing:.06em;color:#fdba74}
.cam .iq-lk:hover{color:#fff}
.cam .iq-tn{font-family:var(--mono);font-weight:700;letter-spacing:.06em;fill:#eef3fb}
.cam .iq-ts{font-family:var(--mono);font-weight:600;letter-spacing:.1em;fill:#fdba74}
.cam .iq-rv{font-family:var(--mono);font-weight:500;letter-spacing:.3em;fill:rgba(139,188,255,.42)}
.cam .iq-gt{font-family:var(--mono);font-weight:500;letter-spacing:.08em;fill:rgba(125,146,179,.8)}
.cam .iq-hl{fill:#fb923c;fill-opacity:.4;stroke:#fb923c;stroke-width:.6;stroke-opacity:.9;animation:ica-iq-zp 2.8s ease-in-out infinite}
.cam .iq-pg{transform-box:fill-box;transform-origin:center;animation:ica-iq-ping 2.2s ease-out infinite}
.cam .iq-wbox{display:flex;flex-wrap:wrap;border:1px solid rgba(120,170,255,.16);border-radius:4px;background:#04070d;overflow:hidden}
.cam .iq-wa,.cam .iq-wb{min-width:0;display:flex;align-items:center;justify-content:center;padding:10px}
.cam .iq-wa{flex:3 1 360px}
.cam .iq-wb{flex:2 1 260px;border-left:1px solid rgba(120,170,255,.12);background:rgba(9,14,24,.5)}
@media (max-width:640px){.cam .iq-wb{border-left:0;border-top:1px solid rgba(120,170,255,.12)}}
.cam .iq-wbox svg{display:block;width:100%;height:auto;max-height:440px}
.cam .iq-wt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .iq-wh{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.05)}
.cam .iq-rows{margin:0;display:flex;flex-direction:column;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .iq-rows div{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid rgba(120,170,255,.1)}
.cam .iq-rows div:last-child{border-bottom:0}
.cam .iq-rows dt{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7d92b3;padding-top:2px}
.cam .iq-rows dd{margin:0;font-size:14px;line-height:1.45;color:#dfe6f2}
.cam .iq-w1{font:700 13px var(--mono);letter-spacing:.06em;fill:#e8edf5;paint-order:stroke;stroke:#04070d;stroke-width:3px;stroke-linejoin:round}
.cam .iq-w2{font:500 11px var(--mono);letter-spacing:.08em;fill:#8a9bb5}
.cam .iq-w3{font:700 9px var(--mono);letter-spacing:.06em;fill:#cfe0ff}
.cam .iq-run{stroke-dasharray:600;stroke-dashoffset:600}
.cam .iq-go .iq-run{animation:ica-iq-draw 3.2s ease-in-out infinite}
.cam .iq-go .iq-late{animation:ica-iq-late 3.2s ease-in-out infinite}
.cam .iq-go .iq-early{animation:ica-iq-early 3.2s ease-in-out infinite}
.cam .iq-pulse{transform-box:fill-box;transform-origin:center;animation:ica-iq-ping 1.6s ease-out infinite}
.cam .iq-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .iq-rule{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .iq-rule a{color:#fdba74;text-decoration:underline;text-underline-offset:3px}
.cam .iq-lgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px 18px}
.cam .iq-lgp{display:flex;flex-direction:column;gap:8px}
.cam .iq-lks{display:flex;flex-wrap:wrap;gap:6px}
.cam .iq-ln{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.06);font-size:13.5px;font-weight:600;color:#e8edf5;line-height:1.3}
.cam .iq-ln:hover{border-color:#fb923c;background:rgba(251,146,60,.14)}
.cam .iq-src{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid rgba(120,170,255,.12)}
.cam .iq-src ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.cam .iq-src li{font-size:13px;line-height:1.45;color:#8a9bb5}
@media (max-width:640px){.cam .iq-wd{padding:14px !important}}
@media (max-width:640px){.cam .iq-nt{padding:16px !important}}
@media (max-width:640px){.cam .iq-w1{font-size:16px}}
@media (max-width:640px){.cam .iq-w2{font-size:13px}}
@media (max-width:640px){.cam .iq-w3{font-size:11px}}
@media (prefers-reduced-motion:reduce){.cam .iq-io *,.cam .iq-hero *{animation:none!important}}
@media (prefers-reduced-motion:reduce){.cam .iq-run{stroke-dashoffset:0!important}}
@media (prefers-reduced-motion:reduce){.cam .iq-late,.cam .iq-early{opacity:1!important}}
.cam .is-hero{display:flex;flex-wrap:wrap;align-items:stretch}
.cam .is-map{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-bottom:14px;background:#03060b}
.cam .is-map svg{display:block;width:100%;max-width:470px;height:auto}
.cam .is-nbs{display:flex;flex-direction:column;gap:8px;width:100%;padding:0 16px}
.cam .is-nbl{display:flex;flex-wrap:wrap;gap:5px}
.cam .is-nb{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(120,170,255,.2);border-radius:999px;font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#7d92b3;background:rgba(5,8,16,.6)}
.cam .is-nb.on{border-color:#fb923c;color:#e8edf5;background:rgba(251,146,60,.13)}
.cam .is-side{flex:0 1 260px;min-width:0;display:grid;padding:18px 18px 16px;border-left:1px solid rgba(120,170,255,.14);background:linear-gradient(180deg,rgba(9,14,24,.9),rgba(5,8,16,.9))}
@media (max-width:640px){.cam .is-side{flex-basis:100%;border-left:0;border-top:1px solid rgba(120,170,255,.14)}}
.cam .is-lg{grid-area:1/1;display:flex;flex-direction:column;gap:9px;animation:ica-is-in .5s ease both}
.cam .is-lg.off{visibility:hidden;animation:none;opacity:0}
.cam .is-lg .is-ico{width:100%;height:40px;border:1px solid rgba(120,170,255,.14);border-radius:3px;background:rgba(4,7,13,.7)}
.cam .is-ttl{font-size:16px;font-weight:800;letter-spacing:-.015em;line-height:1.2;color:#e8edf5}
.cam .is-k{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;padding-top:6px;border-top:1px solid rgba(120,170,255,.12)}
.cam .is-pl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cam .is-pl li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;font-size:13px;line-height:1.35;color:#c9d2e0}
.cam .is-pl i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #fb923c;border-radius:50%;font:700 9.5px var(--mono);font-style:normal;color:#fdba74}
.cam .is-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-top:8px;border-top:1px solid rgba(120,170,255,.12)}
.cam .is-kv span{font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d92b3;margin-top:4px}
.cam .is-kv b{font-size:13px;font-weight:600;line-height:1.35;color:#dfe6f2}
.cam .is-lk{margin-top:2px;font:600 12px var(--mono);letter-spacing:.06em;color:#fdba74}
.cam .is-lk:hover{color:#fff}
.cam .is-tn{font-family:var(--mono);font-weight:700;letter-spacing:.06em;fill:#eef3fb}
.cam .is-ts{font-family:var(--mono);font-weight:600;letter-spacing:.1em;fill:#fdba74}
.cam .is-rv{font-family:var(--mono);font-weight:500;letter-spacing:.3em;fill:rgba(139,188,255,.42)}
.cam .is-gt{font-family:var(--mono);font-weight:500;letter-spacing:.08em;fill:rgba(125,146,179,.8)}
.cam .is-hl{fill:#fb923c;fill-opacity:.4;stroke:#fb923c;stroke-width:.6;stroke-opacity:.9;animation:ica-is-zp 2.8s ease-in-out infinite}
.cam .is-pg{transform-box:fill-box;transform-origin:center;animation:ica-is-ping 2.2s ease-out infinite}
.cam .is-wbox{display:flex;flex-wrap:wrap;border:1px solid rgba(120,170,255,.16);border-radius:4px;background:#04070d;overflow:hidden}
.cam .is-wa,.cam .is-wb{min-width:0;display:flex;align-items:center;justify-content:center;padding:10px}
.cam .is-wa{flex:3 1 360px}
.cam .is-wb{flex:2 1 260px;border-left:1px solid rgba(120,170,255,.12);background:rgba(9,14,24,.5)}
@media (max-width:640px){.cam .is-wb{border-left:0;border-top:1px solid rgba(120,170,255,.12)}}
.cam .is-wbox svg{display:block;width:100%;height:auto;max-height:440px}
.cam .is-wt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .is-wh{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.05)}
.cam .is-rows{margin:0;display:flex;flex-direction:column;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .is-rows div{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid rgba(120,170,255,.1)}
.cam .is-rows div:last-child{border-bottom:0}
.cam .is-rows dt{font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7d92b3;padding-top:2px}
.cam .is-rows dd{margin:0;font-size:14px;line-height:1.45;color:#dfe6f2}
.cam .is-w1{font:700 13px var(--mono);letter-spacing:.06em;fill:#e8edf5;paint-order:stroke;stroke:#04070d;stroke-width:3px;stroke-linejoin:round}
.cam .is-w2{font:500 11px var(--mono);letter-spacing:.08em;fill:#8a9bb5}
.cam .is-w3{font:700 9px var(--mono);letter-spacing:.06em;fill:#cfe0ff}
.cam .is-run{stroke-dasharray:600;stroke-dashoffset:600}
.cam .is-go .is-run{animation:ica-is-draw 3.2s ease-in-out infinite}
.cam .is-go .is-late{animation:ica-is-late 3.2s ease-in-out infinite}
.cam .is-go .is-early{animation:ica-is-early 3.2s ease-in-out infinite}
.cam .is-pulse{transform-box:fill-box;transform-origin:center;animation:ica-is-ping 1.6s ease-out infinite}
.cam .is-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.cam .is-rule{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid rgba(120,170,255,.14);border-radius:4px;background:rgba(5,8,16,.6)}
.cam .is-rule a{color:#fdba74;text-decoration:underline;text-underline-offset:3px}
.cam .is-lgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px 18px}
.cam .is-lgp{display:flex;flex-direction:column;gap:8px}
.cam .is-lks{display:flex;flex-wrap:wrap;gap:6px}
.cam .is-ln{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid rgba(251,146,60,.35);border-radius:4px;background:rgba(251,146,60,.06);font-size:13.5px;font-weight:600;color:#e8edf5;line-height:1.3}
.cam .is-ln:hover{border-color:#fb923c;background:rgba(251,146,60,.14)}
.cam .is-src{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid rgba(120,170,255,.12)}
.cam .is-src ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.cam .is-src li{font-size:13px;line-height:1.45;color:#8a9bb5}
@media (max-width:640px){.cam .is-wd{padding:14px !important}}
@media (max-width:640px){.cam .is-nt{padding:16px !important}}
@media (max-width:640px){.cam .is-w1{font-size:16px}}
@media (max-width:640px){.cam .is-w2{font-size:13px}}
@media (max-width:640px){.cam .is-w3{font-size:11px}}
@media (prefers-reduced-motion:reduce){.cam .is-io *,.cam .is-hero *{animation:none!important}}
@media (prefers-reduced-motion:reduce){.cam .is-run{stroke-dashoffset:0!important}}
@media (prefers-reduced-motion:reduce){.cam .is-late,.cam .is-early{opacity:1!important}}
.cam .is-gat{transform-box:view-box}
.cam .is-gop{transform:translateX(-40px)}
.cam .is-go .is-gop{animation:ica-is-slide 3.2s ease-in-out infinite}
@keyframes ica-bang{0%,45%{opacity:0;transform:scale(.6)}50%,80%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes ica-dash{to{stroke-dashoffset:-30}}
@keyframes ica-ix-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ica-ix-zp{50%{opacity:.65}}
@keyframes ica-ix-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes ica-ix-draw{0%{stroke-dashoffset:600}45%,100%{stroke-dashoffset:0}}
@keyframes ica-ix-c0{0%{transform:rotate(-70deg)}55%,100%{transform:rotate(0deg)}}
@keyframes ica-ix-c1{0%{transform:rotate(-70deg)}55%,100%{transform:rotate(-7deg)}}
@keyframes ica-ix-c2{0%{transform:rotate(-70deg)}50%{transform:rotate(0deg)}58%,100%{transform:rotate(-1.5deg)}}
@keyframes ica-ix-c3{0%,15%{transform:rotate(0deg)}40%{transform:rotate(-70deg)}80%,100%{transform:rotate(0deg)}}
@keyframes ica-ib-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ica-ib-zp{50%{opacity:.65}}
@keyframes ica-ib-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes ica-ib-draw{0%{stroke-dashoffset:600}45%,100%{stroke-dashoffset:0}}
@keyframes ica-ib-late{0%,45%{opacity:0}55%,100%{opacity:1}}
@keyframes ica-im-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ica-im-zp{50%{opacity:.65}}
@keyframes ica-im-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes ica-im-draw{0%{stroke-dashoffset:600}45%,100%{stroke-dashoffset:0}}
@keyframes ica-im-late{0%,45%{opacity:0}55%,100%{opacity:1}}
@keyframes ica-im-early{0%,15%{opacity:0}25%,100%{opacity:1}}
@keyframes ica-im-tapf{0%,100%{transform:translate(0,0)}8%,16%{transform:translate(-3px,-3px)}}
@keyframes ica-iq-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ica-iq-zp{50%{opacity:.65}}
@keyframes ica-iq-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes ica-iq-draw{0%{stroke-dashoffset:600}45%,100%{stroke-dashoffset:0}}
@keyframes ica-iq-late{0%,45%{opacity:0}55%,100%{opacity:1}}
@keyframes ica-iq-early{0%,15%{opacity:0}25%,100%{opacity:1}}
@keyframes ica-is-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ica-is-zp{50%{opacity:.65}}
@keyframes ica-is-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes ica-is-draw{0%{stroke-dashoffset:600}45%,100%{stroke-dashoffset:0}}
@keyframes ica-is-late{0%,45%{opacity:0}55%,100%{opacity:1}}
@keyframes ica-is-early{0%,15%{opacity:0}25%,100%{opacity:1}}
@keyframes ica-is-slide{0%,50%{transform:translateX(0)}70%,100%{transform:translateX(-40px)}}
