/**
 * @file site.css
 * @description Stilmall för chillcore.se – layout, radar, spårlinje, drönare och scrolleffekter.
 * @version 1.0.0
 * @since 1.0.0
 * @copyright Chillcore Technology AB
 */
body{margin:0;background:#0B0E0C}
a{color:#E6E8E3}a:hover{color:#FFFFFF}
@keyframes ccFlow{to{stroke-dashoffset:-48}}
@keyframes ccPing{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}
@keyframes ccBlink{0%,100%{opacity:1}50%{opacity:.25}}
.cc-flow{stroke-dasharray:4 8;animation:ccFlow 2.4s linear infinite}
.cc-ping{transform-box:fill-box;transform-origin:center;animation:ccPing 2.8s ease-out infinite}
.cc-blink{animation:ccBlink 1.6s steps(2) infinite}
.cc-trace{position:absolute;top:0;bottom:0;left:calc(50% - 640px);width:1px;z-index:2;pointer-events:none;background-image:repeating-linear-gradient(to bottom,#3E4A42 0 6px,transparent 6px 12px)}
.cc-pulse{position:absolute;left:-3px;width:7px;height:56px;background:linear-gradient(to bottom,transparent,var(--cc-accent));animation:ccTrace 11s linear infinite}
@keyframes ccTrace{from{top:-56px}to{top:100%}}
.cc-wp{position:absolute;left:calc(50% - 640px);z-index:3;pointer-events:none;width:0;height:0}
.cc-wp-mark{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border:1.5px solid var(--cc-accent);background:#0B0E0C;transform:rotate(45deg);box-sizing:border-box}
.cc-wp-mark::after{content:"";position:absolute;inset:2.5px;background:var(--cc-accent)}
.cc-wp-ring{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border:1px solid var(--cc-accent);border-radius:50%;animation:ccPing 3.2s ease-out infinite}
.cc-wp-label{position:absolute;right:18px;top:-9px;white-space:nowrap;text-align:right;font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.5;letter-spacing:.08em;color:#7A8478}
.cc-wp-label b{display:block;font-weight:500;color:#C8CEC4}
.cc-mask{position:absolute;left:calc(50% - 646px);width:13px;bottom:0;background:#0B0E0C;z-index:2;pointer-events:none}
.cc-arc{position:absolute;border-radius:50%;border:1px solid #1C241F;pointer-events:none;z-index:0}
.cc-arc::before{content:"";position:absolute;inset:110px;border-radius:50%;border:1px dashed #1A211C}
.cc-corner{position:absolute;width:18px;height:18px;border-color:var(--cc-accent);border-style:solid;border-width:0}
.cc-corner.tl{left:0;top:0;border-left-width:2px;border-top-width:2px}
.cc-corner.tr{right:0;top:0;border-right-width:2px;border-top-width:2px}
.cc-corner.bl{left:0;bottom:0;border-left-width:2px;border-bottom-width:2px}
.cc-corner.br{right:0;bottom:0;border-right-width:2px;border-bottom-width:2px}
@media (max-width:1330px){.cc-trace,.cc-wp,.cc-mask,.cc-arc{display:none}}
@media (prefers-reduced-motion: reduce){.cc-pulse,.cc-wp-ring{animation:none}.cc-pulse{display:none}}
.cc-uav-track{position:absolute;top:0;bottom:430px;left:calc(50% - 640px);width:0;z-index:4;pointer-events:none}
.cc-uav{position:sticky;top:calc(50vh - 28px);width:300px;height:56px;margin-left:-28px}
.cc-uav svg{display:block;overflow:visible;animation:ccBob 3.4s ease-in-out infinite}
.cc-rotor{transform-box:fill-box;transform-origin:center;animation:ccSpin .22s linear infinite}
.cc-fov{animation:ccScan 4s ease-in-out infinite}
.cc-uav-label{position:absolute;right:calc(100% - 10px);top:12px;white-space:nowrap;text-align:right;font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.5;letter-spacing:.08em;color:#7A8478}
.cc-uav-label b{display:block;font-weight:500;color:#E6E8E3}
@keyframes ccSpin{to{transform:rotate(360deg)}}
@keyframes ccBob{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@keyframes ccScan{0%,100%{opacity:.55}50%{opacity:1}}
@media (max-width:1330px){.cc-uav-track{display:none}}
@media (prefers-reduced-motion: reduce){.cc-uav svg,.cc-rotor,.cc-fov{animation:none}}
.cc-band{position:absolute;left:0;width:1px;height:80px;opacity:0;pointer-events:none}
.cc-drone{position:absolute;left:0;top:0;width:0;height:0;z-index:6;pointer-events:none;will-change:transform}
.cc-drone-body{position:absolute;left:-36px;top:-19px;width:72px;height:38px;transform-origin:50% 45%}
.cc-blade{transform-box:fill-box;transform-origin:center;animation:ccBlade .15s linear infinite}
.cc-blade.b2{animation-delay:-.0375s;opacity:.45}
.cc-blade.b3{animation-delay:-.075s;opacity:.2}
@keyframes ccBlade{0%{transform:scaleX(1)}25%{transform:scaleX(.06)}50%{transform:scaleX(-1)}75%{transform:scaleX(-.06)}100%{transform:scaleX(1)}}
.cc-disc{opacity:.14;animation:ccDisc .6s ease-in-out infinite alternate}
@keyframes ccDisc{from{opacity:.1}to{opacity:.24}}
@media (prefers-reduced-motion: reduce){.cc-blade,.cc-disc{animation:none}.cc-blade.b2,.cc-blade.b3{display:none}}
.cc-drone-body svg{display:block;overflow:visible;filter:drop-shadow(0 2px 6px rgba(0,0,0,.65))}
.cc-drone-dir{position:absolute;left:0;top:0;width:0;height:0;opacity:0;transition:opacity .4s}
.cc-drone-dir span{position:absolute;left:42px;top:-1px;width:16px;height:2px;background:var(--cc-accent)}
.cc-drone-dir span::after{content:"";position:absolute;right:-6px;top:-3px;border-left:6px solid var(--cc-accent);border-top:4px solid transparent;border-bottom:4px solid transparent}
.cc-drone-label{position:absolute;left:-30px;top:24px;white-space:nowrap;font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.45;letter-spacing:.08em;color:#9AA197;background:rgba(11,14,12,.78);padding:3px 6px;border-left:1px solid var(--cc-accent)}
.cc-drone-label b,.cc-drone-label span{display:block}
.cc-drone-label b{font-weight:500;color:#E6E8E3}
.cc-armed .cc-checked h3{text-shadow:0 0 10px var(--cc-accent)}
@media (max-width:1330px){.cc-drone{display:none}}
h1,h2{transition:color .4s,text-shadow .4s}
.cc-lit{color:#FFFFFF !important;text-shadow:0 0 24px var(--cc-accent),0 0 2px var(--cc-accent);animation:ccLock .6s linear 1}
@keyframes ccLock{0%{opacity:.35}15%{opacity:1}28%{opacity:.55}42%,100%{opacity:1}}
.cc-beam{position:absolute;left:0;top:0;width:0;height:0;z-index:5;pointer-events:none;transform-origin:0 50%;clip-path:polygon(0 46%,100% 0,100% 100%,0 54%);background:linear-gradient(90deg,var(--cc-accent),transparent 120%);opacity:0;mix-blend-mode:screen;transition:opacity .35s}
@media (max-width:1330px){.cc-beam{display:none}}
@media (prefers-reduced-motion: reduce){.cc-lit{animation:none}}
.cc-checked > span:first-child{color:#E6E8E3 !important}
@keyframes ccTick{from{opacity:0}to{opacity:1}}
article[data-intel]{position:relative;transition:border-color .6s}
article[data-intel]::before{content:attr(data-intel);position:absolute;left:24px;top:-8px;padding:0 8px;background:#0B0E0C;font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:16px;letter-spacing:.08em;color:var(--cc-accent);opacity:0;transition:opacity .4s ease var(--cc-delay,0s);pointer-events:none}
article[data-intel]::after{content:"";position:absolute;left:-1px;right:-1px;top:0;height:2px;background:var(--cc-accent);box-shadow:0 0 12px var(--cc-accent);opacity:0;pointer-events:none}
article.cc-scanned{border-color:#4A564E !important}
article.cc-scanned::before{opacity:1}
article.cc-scanned::after{animation:ccSweep 1.2s ease-out var(--cc-delay,0s) 1 both}
@keyframes ccSweep{0%{top:0;opacity:0}10%{opacity:1}100%{top:100%;opacity:0}}
@media (prefers-reduced-motion: reduce){article.cc-scanned::after,.cc-checked::after{animation:none}}
[data-uav="brieflist"] > div{position:relative}
.cc-armed [data-uav="brieflist"] > div:not(:last-child) > div{opacity:.4;transition:opacity .5s}
.cc-armed [data-uav="brieflist"] > div.cc-checked > div{opacity:1}
.cc-checked::after{position:absolute;right:24px;top:24px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:#0B0E0C;background:var(--cc-accent);padding:2px 8px;animation:ccTick .35s ease-out 1}
.cc-armed [data-uav="statbox"] .cc-bar{transform:scaleY(0);transform-origin:bottom;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.cc-armed [data-uav="statbox"] .cc-barn{opacity:0;transition:opacity .4s ease}
.cc-armed [data-uav="statbox"].cc-grown .cc-bar{transform:scaleY(1)}
.cc-armed [data-uav="statbox"].cc-grown .cc-barn{opacity:1}
.cc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.cc-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:rgba(11,14,12,.74);backdrop-filter:grayscale(1);-webkit-backdrop-filter:grayscale(1);display:none}
.cc-armed .cc-veil{display:block}
.cc-scanned .cc-veil{animation:ccVeil 1.2s ease-out var(--cc-delay,0s) 1 both}
@keyframes ccVeil{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(100% 0 0 0)}}
article[data-intel]::before,article[data-intel]::after{z-index:3}
@media (prefers-reduced-motion: reduce){.cc-flow,.cc-ping,.cc-blink{animation:none}.cc-motion{display:none}}
