/* BLANCO 30 · v24.62 approved cover art implementation */
:root{--aim:#d946ef;--aim-hot:#f472ff;--aim-soft:#f6c9ff;--aim-deep:#6f1480;--aim-bg:#0d0910}

/* Hub identity ------------------------------------------------------------- */
.clandestine-game--aim{cursor:pointer}
.clandestine-cover--aim{
  --cover-accent:var(--aim);
  background:
    radial-gradient(circle at 76% 30%,rgba(217,70,239,.22),transparent 24%),
    linear-gradient(140deg,#120b16 0%,#2b1233 58%,#6d1b79 100%);
}
.clandestine-cover--aim>span,.clandestine-cover--aim>strong>b{color:var(--aim-hot)!important}
.clandestine-cover--aim>strong{color:#fff4ff!important;max-width:62%;font-size:clamp(38px,11vw,54px)!important;letter-spacing:-.07em}
.clandestine-game--aim .clandestine-play{background:linear-gradient(135deg,#d946ef,#f28cff)!important;color:#25072a!important;border-color:rgba(244,154,255,.55)!important;box-shadow:0 12px 28px rgba(217,70,239,.22)!important}
.aim-cover-scene{position:absolute;right:7px;top:24px;bottom:8px;width:49%;min-width:148px;pointer-events:none;perspective:500px}
.aim-cover-target{position:absolute;width:64px;height:64px;border-radius:50%;opacity:0;filter:drop-shadow(0 0 12px rgba(217,70,239,.34));animation:aimCoverTarget 4.1s ease-in-out infinite}
.aim-cover-target svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.aim-cover-target__ring-bg{fill:none;stroke:rgba(246,201,255,.12);stroke-width:3.2}
.aim-cover-target__ring{fill:none;stroke:#f472ff;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;filter:drop-shadow(0 0 3px rgba(244,114,255,.62));animation:aimCoverLife 4.1s linear infinite}
.aim-cover-target b{position:absolute;inset:9px;border:1px solid rgba(246,201,255,.58);border-radius:50%;background:radial-gradient(circle,rgba(244,114,255,.22) 0 8%,transparent 9% 35%,rgba(217,70,239,.08) 36% 38%,transparent 39%);box-shadow:inset 0 0 18px rgba(217,70,239,.06)}
.aim-cover-target b::before,.aim-cover-target b::after{content:'';position:absolute;left:50%;top:50%;background:rgba(244,114,255,.78);transform:translate(-50%,-50%)}
.aim-cover-target b::before{width:1px;height:40px}.aim-cover-target b::after{width:40px;height:1px}
.aim-cover-target b u{position:absolute;inset:13px;border:2px solid #f472ff;border-radius:50%;box-shadow:0 0 12px rgba(217,70,239,.22);text-decoration:none}
.aim-cover-target--one{left:4px;top:18px;transform:scale(.72);animation-delay:.1s}.aim-cover-target--one .aim-cover-target__ring{animation-delay:.1s}
.aim-cover-target--two{right:0;top:35px;transform:scale(.92);animation-delay:.8s}.aim-cover-target--two .aim-cover-target__ring{animation-delay:.8s}
.aim-cover-target--three{left:32px;bottom:0;transform:scale(1.16);z-index:4;animation-delay:1.55s}.aim-cover-target--three .aim-cover-target__ring{animation-delay:1.55s}
.aim-cover-shard{position:absolute;width:0;height:0;border-style:solid;opacity:.68;filter:drop-shadow(0 0 7px rgba(244,114,255,.55));animation:aimCoverShard 4.1s ease-in-out infinite}
.aim-cover-shard--one{left:18px;bottom:24px;border-width:5px 10px 5px 0;border-color:transparent #ef58ff transparent transparent;transform:rotate(18deg)}
.aim-cover-shard--two{right:12px;bottom:34px;border-width:4px 0 4px 8px;border-color:transparent transparent transparent #bc48ef;transform:rotate(-20deg);animation-delay:.5s}
.aim-cover-shard--three{left:72px;top:66px;border-width:4px 7px 4px 0;border-color:transparent #e55df4 transparent transparent;transform:rotate(42deg);animation-delay:1s}
.aim-cover-burst{position:absolute;width:14px;height:14px;left:75px;bottom:25px;border:2px solid rgba(255,221,255,.96);border-radius:50%;box-shadow:0 0 20px rgba(244,114,255,.62);z-index:8;animation:aimCoverBurst 4.1s ease-out infinite;animation-delay:1.55s}
.aim-cover-burst::before,.aim-cover-burst::after{content:'';position:absolute;left:50%;top:50%;background:#fff1ff;transform:translate(-50%,-50%)}
.aim-cover-burst::before{width:1px;height:34px}.aim-cover-burst::after{width:34px;height:1px}
@keyframes aimCoverLife{0%{stroke-dashoffset:0}72%,100%{stroke-dashoffset:100}}
@keyframes aimCoverTarget{0%,7%{opacity:0}12%,74%{opacity:1}84%,100%{opacity:0}}
@keyframes aimCoverShard{0%,42%,100%{opacity:.15;transform:translate3d(0,0,0) rotate(18deg)}58%{opacity:.9;transform:translate3d(7px,-5px,0) rotate(30deg)}}
@keyframes aimCoverBurst{0%,49%{opacity:0;transform:scale(.5)}55%{opacity:1;transform:scale(1)}76%,100%{opacity:0;transform:scale(2.1)}}

/* Shell -------------------------------------------------------------------- */
.aim-dialog{background:#0b080d;color:#fff6ff}
.aim-shell{background:radial-gradient(circle at 50% -12%,rgba(217,70,239,.13),transparent 38%),#0d0910}
.aim-head small,.aim-ranking small{color:var(--aim-hot)}
.aim-game-card,.aim-ranking{max-width:540px;margin:0 auto 20px}
.aim-intro{background:radial-gradient(circle at 50% 35%,rgba(217,70,239,.10),transparent 34%),linear-gradient(180deg,#151019,#0b080d)}
.aim-intro>small{color:var(--aim-hot)!important}
.aim-intro .btn--accent{background:linear-gradient(135deg,#d946ef,#f28cff)!important;color:#26072c!important}
.aim-intro-visual{position:relative;width:196px;height:140px;margin:0 auto 18px;border:1px solid rgba(217,70,239,.12);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(217,70,239,.025));overflow:hidden}
.aim-intro-visual::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(217,70,239,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(217,70,239,.04) 1px,transparent 1px);background-size:22px 22px}
.aim-intro-target{position:absolute;left:50%;top:50%;width:62px;height:62px;transform:translate(-50%,-50%);border:1px solid rgba(246,201,255,.42);border-radius:50%;box-shadow:0 0 0 9px rgba(217,70,239,.05),0 0 28px rgba(217,70,239,.16)}
.aim-intro-target::before,.aim-intro-target::after{content:'';position:absolute;left:50%;top:50%;background:#e770f7;transform:translate(-50%,-50%)}
.aim-intro-target::before{width:1px;height:80px}.aim-intro-target::after{width:80px;height:1px}
.aim-intro-target i{position:absolute;inset:16px;border:2px solid var(--aim-hot);border-radius:50%}
.aim-intro-visual>b{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--aim-hot);box-shadow:0 0 12px rgba(244,114,255,.8);animation:aimIntroPing 2.8s ease-in-out infinite}
.aim-intro-visual>b:nth-of-type(1){left:27px;top:30px}.aim-intro-visual>b:nth-of-type(2){right:31px;top:24px;animation-delay:.7s}.aim-intro-visual>b:nth-of-type(3){right:42px;bottom:24px;animation-delay:1.4s}
@keyframes aimIntroPing{0%,100%{opacity:.18;transform:scale(.6)}45%{opacity:1;transform:scale(1.25)}}
.operation-loading--aim{--operation-accent:#d946ef;background:radial-gradient(circle at 50% 40%,rgba(217,70,239,.15),transparent 30%),linear-gradient(145deg,#130b17,#321339 56%,#64156f)}
.operation-loading--aim .operation-loading__visual{width:176px;height:146px}
.operation-loading--aim .operation-loading__spinner{width:98px;height:98px;border:1px solid rgba(217,70,239,.20);border-radius:50%}
.operation-loading--aim .operation-loading__spinner::before{content:'';position:absolute;inset:13px;border:2px solid transparent;border-top-color:#f472ff;border-right-color:rgba(244,114,255,.38);border-radius:50%;animation:aimLoader 1.15s linear infinite}
.operation-loading--aim .operation-loading__visual>i{width:8px;height:8px;border-radius:50%;background:#f472ff;box-shadow:0 0 18px rgba(244,114,255,.8)}
@keyframes aimLoader{to{transform:rotate(360deg)}}

/* Full-screen game --------------------------------------------------------- */
body.aim-playing{overflow:hidden!important;overscroll-behavior:none}
body.aim-playing .aim-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden}
body.aim-playing .aim-shell{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;overflow:hidden}
body.aim-playing .aim-game-card{position:absolute;inset:0;width:100%;max-width:none!important;height:100%;margin:0!important;border:0!important;border-radius:0!important}
body.aim-playing .aim-head,body.aim-playing .aim-ranking,body.aim-playing #aimMessage{display:none!important}
.aim-game{position:absolute;inset:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);box-sizing:border-box;padding:max(14px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 42%,rgba(217,70,239,.065),transparent 36%),linear-gradient(180deg,#0d0910,#120b15 58%,#09070b);touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden}
.aim-game[hidden]{display:none!important}
.aim-game::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.game-exit--aim{z-index:40}
.aim-practice-badge{position:absolute;z-index:35;top:max(17px,calc(env(safe-area-inset-top) + 3px));right:13px;padding:6px 8px;border:1px solid rgba(217,70,239,.18);border-radius:999px;background:rgba(14,8,16,.72);color:#e59af1;font-size:7px;font-weight:950;letter-spacing:.12em;backdrop-filter:blur(8px)}
.aim-livebar{position:relative;z-index:12;display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;width:min(100%,470px);margin:0 auto;padding-left:48px}
.aim-livebar>div{min-height:42px;padding:7px 11px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(17,10,20,.60);backdrop-filter:blur(8px)}
.aim-livebar small{display:block;color:rgba(249,221,255,.42);font-size:8px;font-weight:950;line-height:1;letter-spacing:.14em}
.aim-livebar strong{display:block;margin-top:4px;color:#fff4ff;font-size:17px;font-weight:950;line-height:1;font-variant-numeric:tabular-nums}
.aim-miss-meter{min-width:94px;text-align:right}
.aim-miss-meter>span{display:flex;justify-content:flex-end;gap:5px;margin-top:7px}
.aim-miss-meter i{display:block;width:14px;height:5px;border:1px solid rgba(244,114,255,.34);border-radius:999px;background:rgba(217,70,239,.04);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}
.aim-miss-meter i.is-used{background:#ff5d7d;border-color:#ff8da4;box-shadow:0 0 12px rgba(255,93,125,.35)}
.aim-cue{position:relative;z-index:10;min-height:34px;display:flex;align-items:center;justify-content:center;color:rgba(255,232,255,.65);font-size:9px;font-weight:950;letter-spacing:.15em;text-align:center}
.aim-arena{position:relative;z-index:6;width:min(100%,560px);height:100%;min-height:310px;margin:0 auto;border:1px solid rgba(217,70,239,.11);border-radius:24px;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(217,70,239,.045),transparent 52%),linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.004));box-shadow:inset 0 1px 0 rgba(255,255,255,.025),inset 0 -80px 130px rgba(0,0,0,.25),0 20px 50px rgba(0,0,0,.22);touch-action:none}
.aim-arena-grid{position:absolute;inset:0;pointer-events:none;opacity:.44;background-image:linear-gradient(rgba(217,70,239,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(217,70,239,.022) 1px,transparent 1px);background-size:25px 25px;mask-image:radial-gradient(circle at 50% 48%,#000,transparent 82%)}
.aim-target-layer,.aim-hit-layer{position:absolute;inset:0;pointer-events:none}
.aim-target{--life:1;position:absolute;left:calc(var(--x) * 100%);top:calc(var(--y) * 100%);width:70px;height:70px;transform:translate(-50%,-50%) scale(.82);border-radius:50%;opacity:0;animation:aimTargetIn .13s ease-out forwards;filter:drop-shadow(0 0 10px rgba(217,70,239,.28))}
.aim-target svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.aim-target__ring-bg{fill:none;stroke:rgba(246,201,255,.12);stroke-width:3.2}
.aim-target__ring{fill:none;stroke:#f472ff;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;animation:aimLife 1.65s linear forwards;filter:drop-shadow(0 0 3px rgba(244,114,255,.62))}
.aim-target__body{position:absolute;inset:9px;border:1px solid rgba(246,201,255,.58);border-radius:50%;background:radial-gradient(circle,rgba(244,114,255,.22) 0 8%,transparent 9% 35%,rgba(217,70,239,.08) 36% 38%,transparent 39%);box-shadow:inset 0 0 18px rgba(217,70,239,.06)}
.aim-target__body::before,.aim-target__body::after{content:'';position:absolute;left:50%;top:50%;background:rgba(244,114,255,.78);transform:translate(-50%,-50%)}
.aim-target__body::before{width:1px;height:40px}.aim-target__body::after{width:40px;height:1px}
.aim-target__body i{position:absolute;inset:13px;border:2px solid #f472ff;border-radius:50%;box-shadow:0 0 12px rgba(217,70,239,.22)}
@keyframes aimLife{to{stroke-dashoffset:100}}
@keyframes aimTargetIn{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.aim-game.is-paused .aim-target,.aim-game.is-paused .aim-target__ring{animation-play-state:paused!important}

.aim-target.is-hit{animation:aimTargetHit .18s ease-out forwards}.aim-target.is-expired{animation:aimTargetExpire .16s ease-in forwards}
@keyframes aimTargetHit{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.14)}100%{opacity:0;transform:translate(-50%,-50%) scale(.74)}}
@keyframes aimTargetExpire{to{opacity:0;transform:translate(-50%,-50%) scale(.72);filter:blur(1px)}}
.aim-hit-burst{position:absolute;left:calc(var(--x)*100%);top:calc(var(--y)*100%);width:18px;height:18px;transform:translate(-50%,-50%);border:2px solid rgba(248,174,255,.92);border-radius:50%;box-shadow:0 0 18px rgba(244,114,255,.45);animation:aimHitBurst .32s ease-out forwards}
.aim-hit-burst::before,.aim-hit-burst::after{content:'';position:absolute;left:50%;top:50%;background:#f7b0ff;transform:translate(-50%,-50%)}
.aim-hit-burst::before{width:1px;height:40px}.aim-hit-burst::after{width:40px;height:1px}
@keyframes aimHitBurst{to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}
.aim-arena.is-miss{animation:aimMissFlash .22s ease-out}
@keyframes aimMissFlash{0%{box-shadow:inset 0 0 0 2px rgba(255,93,125,.42),0 0 28px rgba(255,93,125,.12)}100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 20px 50px rgba(0,0,0,.22)}}
.aim-cue.is-pressure{color:#f3a7ff}.aim-cue.is-danger{color:#ff9cb0}

/* Result / ranking --------------------------------------------------------- */
.operation-result--aim{--result-accent:#d946ef;background:radial-gradient(circle at 50% 38%,rgba(217,70,239,.14),transparent 31%),linear-gradient(180deg,#160e1a,#0b080d)!important}
.operation-result--aim .operation-result__mark{width:36px;height:36px;border:1px solid rgba(217,70,239,.48);border-radius:50%;font-size:18px;color:#f472ff!important}
.operation-result--aim .btn--accent{background:linear-gradient(135deg,#d946ef,#f28cff)!important;color:#26072c!important}
.aim-result-meta{display:flex;justify-content:center;gap:8px;width:min(100%,340px);margin:10px auto 0}
.aim-result-meta span{min-width:0;flex:1;padding:9px 7px;border:1px solid rgba(217,70,239,.10);border-radius:10px;background:rgba(217,70,239,.035);text-align:center}
.aim-result-meta small{display:block;color:rgba(248,220,255,.42);font-size:6.5px;font-weight:950;letter-spacing:.12em}.aim-result-meta b{display:block;margin-top:3px;color:#fff4ff;font-size:12px;font-variant-numeric:tabular-nums}
.aim-ranking .arcade-ranking__head>span{background:rgba(217,70,239,.11);color:#f29cff}

@media(max-width:390px){
  .aim-arena{border-radius:21px}.aim-target{width:70px;height:70px}.aim-livebar{gap:7px}.aim-miss-meter{min-width:88px}
}
@media(max-height:720px){
  .aim-game{padding-bottom:max(9px,env(safe-area-inset-bottom))}.aim-livebar>div{min-height:38px;padding-block:6px}.aim-livebar strong{font-size:15px}.aim-cue{min-height:28px;font-size:8px}.aim-arena{min-height:250px;border-radius:20px}
}
@media(max-height:610px){
  .aim-game{grid-template-rows:auto auto minmax(0,1fr);padding-top:max(9px,env(safe-area-inset-top))}.aim-cue{min-height:24px}.aim-arena{min-height:210px}.aim-miss-meter i{width:12px}
}
@media(prefers-reduced-motion:reduce){
  .aim-cover-target,.aim-cover-target__ring,.aim-cover-shard,.aim-cover-burst,.aim-intro-visual>b,.operation-loading--aim .operation-loading__spinner::before{animation:none!important}.aim-target{animation:none;opacity:1;transform:translate(-50%,-50%)}.aim-target__ring{animation-duration:1.65s!important}.aim-hit-burst{animation-duration:.12s!important}
}
