/* Nexus Academy: Field Hunt (camera mission) + Case Files */
.hunt{position:fixed;inset:0;z-index:4000;background:#0b141a;color:#eaf2f5;font-family:'Space Grotesk',system-ui,sans-serif;overflow:hidden;touch-action:none;user-select:none;}
.h-stage{position:absolute;inset:0;background:linear-gradient(180deg,#25414f,#16262f);}
.h-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.h-bg{position:absolute;inset:0;background-repeat:repeat-x;background-size:auto 100%;filter:saturate(1.05);}
.h-world{position:absolute;inset:0;pointer-events:none;}
.h-mk{position:absolute;left:0;top:0;width:112px;margin:-56px 0 0 -56px;text-align:center;will-change:transform;transition:opacity .2s;}
.h-mk .orb{width:76px;height:76px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.75),color-mix(in srgb,var(--teal,var(--teal,#00e0d0)) 55%,transparent) 45%,rgba(0,150,140,.55));border:3px solid #fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--teal,var(--teal,#00e0d0)) 25%,transparent),0 8px 24px rgba(0,0,0,.4);animation:hbob 1.8s ease-in-out infinite;}
.h-mk.rare .orb{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.8),rgba(255,176,32,.7) 45%,rgba(214,128,0,.65));box-shadow:0 0 0 6px rgba(255,176,32,.28),0 8px 24px rgba(0,0,0,.4);}
.h-mk.epic .orb{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.8),rgba(168,120,255,.75) 45%,rgba(110,60,220,.7));box-shadow:0 0 0 6px rgba(168,120,255,.3),0 8px 24px rgba(0,0,0,.4);}
.h-mk.wild .orb{background:radial-gradient(circle at 35% 30%,#fff,#ffe27a 45%,#f0a500);box-shadow:0 0 0 8px rgba(255,226,122,.35),0 0 30px #ffd34d;}
.h-mk .nm{margin-top:6px;display:inline-block;background:rgba(10,24,32,.78);padding:3px 9px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;}
.h-mk.locked .orb{animation:hlock .5s ease-in-out infinite;border-color:#fff;box-shadow:0 0 0 10px rgba(255,255,255,.55),0 0 36px #fff;}
.h-mk.caught .orb{animation:hcatch .7s forwards;}
@keyframes hbob{50%{transform:translateY(-9px)}}
@keyframes hlock{50%{transform:scale(1.12)}}
@keyframes hcatch{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(0);opacity:0}}
.h-ret{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;border:3px solid rgba(255,255,255,.85);border-radius:50%;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.25),inset 0 0 0 1px rgba(0,0,0,.2);transition:all .25s;}
.h-ret::before,.h-ret::after{content:"";position:absolute;background:rgba(255,255,255,.85);}
.h-ret::before{left:50%;top:-12px;width:2px;height:12px;margin-left:-1px;box-shadow:0 162px 0 rgba(255,255,255,.85);}
.h-ret::after{top:50%;left:-12px;height:2px;width:12px;margin-top:-1px;box-shadow:162px 0 0 rgba(255,255,255,.85);}
.h-ret.on{border-color:var(--teal2,#33ffe8);width:128px;height:128px;margin:-64px 0 0 -64px;box-shadow:0 0 22px var(--teal,#00e0d0);}
.h-top{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(rgba(8,20,27,.78),transparent);z-index:5;}
.h-btn{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:7px 14px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit;}
.h-btn:hover{background:rgba(255,255,255,.28);}
.h-title{flex:1;font-weight:700;font-size:15px;letter-spacing:.04em;}
.h-score{font-family:'JetBrains Mono',monospace;font-size:13px;background:color-mix(in srgb,var(--teal,var(--teal,#00e0d0)) 22%,transparent);padding:4px 10px;border-radius:12px;}
.h-hdg{font-family:'JetBrains Mono',monospace;font-size:12px;opacity:.85;min-width:52px;text-align:right;}
.h-radar{position:absolute;right:12px;top:58px;width:104px;height:104px;border-radius:50%;background:rgba(8,20,27,.55);border:2px solid rgba(255,255,255,.4);z-index:5;}
.h-arrow{position:absolute;left:50%;top:70px;transform:translateX(-50%);background:rgba(8,20,27,.7);padding:5px 14px;border-radius:16px;font-size:13px;font-weight:600;z-index:5;white-space:nowrap;}
.h-card{position:absolute;left:10px;right:10px;bottom:84px;max-width:520px;margin:0 auto;background:rgba(10,24,32,.82);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:12px 14px;z-index:5;backdrop-filter:blur(6px);}
.h-card .t{font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px;}
.h-card .r{font-size:10px;letter-spacing:.14em;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--teal,var(--teal,#00e0d0)) 30%,transparent);}
.h-card .r.rare{background:rgba(255,176,32,.4);}.h-card .r.epic{background:rgba(168,120,255,.45);}
.h-card .d{font-size:13px;line-height:1.45;margin-top:4px;color:#d8e6ec;}
.h-card .fb{font-size:13px;margin-top:6px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.12);}
.h-card .fb.bad{background:rgba(255,120,100,.3);}.h-card .fb.good{background:rgba(0,224,138,.3);}
.h-dock{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 12px 14px;background:linear-gradient(transparent,rgba(8,20,27,.8));z-index:5;}
.h-cap{width:66px;height:66px;border-radius:50%;border:4px solid #fff;background:rgba(255,255,255,.3);cursor:pointer;transition:all .2s;position:relative;}
.h-cap::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff;opacity:.55;}
.h-cap:disabled{opacity:.45;cursor:not-allowed;}
.h-cap.ready{border-color:var(--teal2,#33ffe8);background:color-mix(in srgb,var(--teal,var(--teal,#00e0d0)) 45%,transparent);box-shadow:0 0 24px var(--teal,#00e0d0);}
.h-cap.ready::after{opacity:1;}
.h-dex{display:flex;gap:6px;}
.h-slot{width:38px;height:38px;border-radius:10px;border:2px dashed rgba(255,255,255,.45);background:rgba(255,255,255,.1) center/cover;display:flex;align-items:center;justify-content:center;font-size:17px;}
.h-slot.got{border:2px solid var(--teal2,#33ffe8);}.h-slot.na{border:2px solid #aab;opacity:.7;}
.h-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:6;}
.h-flash.go{animation:hfl .35s;}
@keyframes hfl{0%{opacity:.85}100%{opacity:0}}
.h-over{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,24,32,.62);overflow-y:auto;}
.h-panel{max-width:520px;width:100%;background:#16303c;border:1px solid #3b6174;border-radius:18px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.h-panel h2{margin:0 0 6px;font-family:'Space Grotesk',sans-serif;letter-spacing:.06em;font-size:26px;}
.h-panel p,.h-panel li{font-size:14px;line-height:1.55;color:#d3e2e9;}
.h-panel ul{padding-left:18px;margin:8px 0;}
.h-opt{display:flex;gap:10px;margin:12px 0;flex-wrap:wrap;}
.h-opt button{flex:1;min-width:140px;background:#1f3d4b;border:2px solid #3b6174;color:#fff;border-radius:12px;padding:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;}
.h-opt button.sel{border-color:var(--teal2,#33ffe8);background:#0f5a58;}
.h-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin:10px 0;line-height:1.45;}
.h-go{width:100%;background:var(--teal,#00e0d0);color:#04201e;border:none;border-radius:12px;padding:13px;font-weight:700;font-size:16px;letter-spacing:.06em;cursor:pointer;font-family:inherit;}
.h-go:disabled{opacity:.4;cursor:not-allowed;}
.h-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;}
.h-gal div{aspect-ratio:1;border-radius:10px;background:#244555 center/cover;border:2px solid #3b6174;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;padding:4px;}
.h-stars i{font-style:normal;font-size:34px;color:#4a6572;}.h-stars i.on{color:#ffd34d;text-shadow:0 0 14px #ffb020;}
/* Case files */
.case-card{padding:0;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;}
.case-card .cimg{height:150px;background:#244555 center/cover;}
.case-card .cb{padding:14px 16px 16px;}
.case-card .mtitle{font-size:20px;}
.cf-bg{position:fixed;inset:0;z-index:5500;background:rgba(10,24,32,.72);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;}
.cf{max-width:760px;width:100%;background:var(--panel,#16252f);border:1px solid var(--line,#2b4352);border-radius:14px;padding:20px;}
.cf h2{font-family:'Space Grotesk',sans-serif;margin:0 0 4px;font-size:28px;letter-spacing:.05em;}
.cf-main{width:100%;aspect-ratio:4/3;border-radius:10px;background:#244555 center/contain no-repeat;margin:10px 0 6px;}
.cf-th{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px;}
.cf-th div{flex:0 0 74px;height:56px;border-radius:6px;background:#244555 center/cover;border:2px solid transparent;cursor:pointer;}
.cf-th div.on{border-color:var(--teal,var(--teal,#00e0d0));}
.cf ul{padding-left:18px;line-height:1.6;font-size:14px;}
.cf .good,.cf .watch{padding:10px 12px;border-radius:8px;font-size:13.5px;line-height:1.5;margin:8px 0;}
.cf .good{background:rgba(0,224,138,.12);border-left:3px solid var(--green,#00e08a);}
.cf .watch{background:rgba(255,176,32,.12);border-left:3px solid var(--amber,#ffb020);}
.m-ex{display:flex;gap:6px;margin:10px 0;}
.m-ex div{flex:1;height:64px;border-radius:8px;background:#244555 center/cover;cursor:pointer;border:1px solid var(--line);}
.m-excap{font-size:12px;color:var(--gray);margin:-4px 0 8px;line-height:1.4;}
