/* 效果图 v2：三层各守一条规则
   实物（机框）= Codex 的 Three.js 金属，只有一圈，是我们这艘船的观察窗。
   宇宙（背景、黑洞、物质流、字幕框）= 漫画印刷：平涂、黑墨线、网点、Kirby 黑点。
   全息（海图、船、读数）= 光：半透明、发光、扫描线，不用黑墨线。 */
:root{--ink:#15120f;--cream:#f6ead0;--gold:#ffd23c;--orange:#ff6a1a;--cobalt:#2f63d8;--holo:#7fe3ff;--holo-t:#d8f6ff;--warn:#ff8a6a;--tilt:54deg;--rz:0deg}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#05070c;overflow:hidden;font-family:'Noto Sans SC',sans-serif;color:var(--holo-t)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
#hardware{position:fixed;inset:0;z-index:3;pointer-events:none;width:100%;height:100%}
#vp{position:fixed;inset:0}
.stage{position:absolute;width:1600px;height:900px;transform-origin:0 0}
.chassis{position:absolute;inset:8px;padding:16px;border-radius:10px;background:linear-gradient(130deg,#5a6976,#2d3b49 24%,#17232e 55%,#4d606e);box-shadow:0 12px 30px #000a}
.window{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px;background:#060714;box-shadow:inset 0 0 0 2px #000}

/* ---------- 宇宙层 ---------- */
.cosmos{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 42% 48%,#0d1440 0,#070818 60%,#04040c 100%)}
.nebula{position:absolute;background-image:radial-gradient(var(--c) 34%,transparent 37%);background-size:9px 9px;opacity:.55}
.nebula.n1{--c:#2f63d8;left:-6%;top:-10%;width:52%;height:62%;-webkit-mask:radial-gradient(closest-side,#000 0,#000a 45%,transparent 100%);mask:radial-gradient(closest-side,#000 0,#000a 45%,transparent 100%)}
.nebula.n2{--c:#b2389a;right:14%;bottom:-18%;width:46%;height:60%;-webkit-mask:radial-gradient(closest-side,#000 0,#0008 50%,transparent 100%);mask:radial-gradient(closest-side,#000 0,#0008 50%,transparent 100%);opacity:.42}
.nebula.n3{--c:#2f63d8;right:-8%;top:-14%;width:36%;height:48%;-webkit-mask:radial-gradient(closest-side,#000 0,transparent 100%);mask:radial-gradient(closest-side,#000 0,transparent 100%);opacity:.35}
#stars,#streams{position:absolute;inset:0;width:100%;height:100%}
#holes{position:absolute;inset:0}
.bh{position:absolute;width:170px;height:170px;transform:translate(-50%,-50%);transition:left .7s,top .7s;padding:0;border-radius:50%;cursor:pointer}
.bh:hover svg{transform:scale(1.07)}.bh svg{transition:transform .2s}
.bh svg{width:100%;height:100%;overflow:visible}
.bh.near svg{animation:near 1.6s ease-in-out infinite}
@keyframes near{50%{transform:scale(1.08)}}

/* 旁白字幕框 */
.cap{position:absolute;z-index:20;background:var(--gold);color:var(--ink);border:3px solid var(--ink);box-shadow:5px 5px 0 #000;padding:6px 12px;text-decoration:none}
.cap.title{right:18px;top:16px;width:340px}
.cap.title h1{font:400 40px/1.05 'ZCOOL QingKe HuangYou';letter-spacing:4px}
.cap.title p{font:700 15px/1.4 'Noto Sans SC';margin-top:3px}
.cap.cta{right:18px;top:104px;width:340px;text-align:center;background:var(--cream);font:700 18px 'Noto Sans SC';padding:7px 14px;transition:transform .12s,box-shadow .12s}
.cap.cta:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #000;background:#fff}
.cap.mon{display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;text-align:left;cursor:pointer;transform:translate(-50%,0);white-space:nowrap;transition:left .7s,top .7s;box-shadow:4px 4px 0 #000}
.cap.mon .ic{width:48px;height:48px;border:2.5px solid var(--ink);border-radius:50%;background:var(--cream);display:grid;place-items:center;overflow:hidden;flex:none}
.cap.mon .ic svg{width:44px;height:44px}
.cap.mon:hover{transform:translate(calc(-50% - 2px),-2px);box-shadow:6px 6px 0 #000}
.cap.mon b{display:block;font:400 25px/1.05 'ZCOOL QingKe HuangYou';letter-spacing:1px}
.cap.mon small{display:block;font:700 13.5px/1.3 'Noto Sans SC'}
.cap.mon.near{background:#ff5a3c;color:#fff}
.cap.result{right:18px;top:158px;width:344px;max-width:340px;font:700 16px/1.5 'Noto Sans SC';background:var(--cream)}
body.me-on .ro{top:300px}
.cap.result b{font:400 27px 'ZCOOL QingKe HuangYou';letter-spacing:1px;display:block}

/* ---------- 全息层 ---------- */
#holo{position:absolute;left:0;top:0;width:1200px;height:852px;perspective:1500px;perspective-origin:600px 300px;z-index:10;pointer-events:none}
.plane{position:absolute;left:222px;top:14px;width:760px;height:760px;transform-style:preserve-3d;pointer-events:none;transform:rotateX(var(--tilt)) rotateZ(var(--rz)) scale(var(--sc,.88));transition:transform .7s cubic-bezier(.2,.8,.2,1)}
body.drag .plane{transition:none}
.plane>*{position:absolute}
.base{left:80px;top:80px;width:600px;height:600px;border-radius:50%;transform:translateZ(-24px);background:radial-gradient(closest-side,#41c8ff30,#41c8ff10 60%,transparent 100%)}
.rose{inset:0;opacity:.55;animation:spin 90s linear infinite}
.rose svg{width:100%;height:100%}
@keyframes spin{to{transform:rotate(360deg)}}
.band{left:0;top:0;width:760px;height:760px;overflow:visible}
.tile,.rc,.lab.ring{pointer-events:auto}
.tile{transform:translateZ(1px)}
.band .flick{animation:flick 3.2s steps(1) infinite}
@keyframes flick{0%,100%{opacity:1}43%{opacity:.55}45%{opacity:1}71%{opacity:.75}72%{opacity:1}}

.tile{position:absolute;width:88px;height:88px;--h:#7fe3ff;border:1px solid color-mix(in srgb,var(--h) 52%,transparent);background:color-mix(in srgb,var(--h) 8%,transparent);box-shadow:inset 0 0 14px color-mix(in srgb,var(--h) 20%,transparent);color:var(--h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .22s cubic-bezier(.2,1.6,.4,1),background .2s,box-shadow .2s;cursor:pointer}
.tile .nm{font:700 16.5px/1 'Noto Sans SC';letter-spacing:0;text-shadow:0 0 6px var(--h);white-space:nowrap}
.tile .dot{position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--h);box-shadow:0 0 8px var(--h)}
.tile .gf{position:absolute;left:4px;top:4px;font:700 10px/1 'Space Mono';font-style:normal;padding:2px 3px;border:1px solid var(--h);color:#fff;background:color-mix(in srgb,var(--h) 35%,transparent)}
.tile.hl{background:color-mix(in srgb,var(--h) 13%,transparent)}
.tile.hot{transform:translateZ(18px);background:color-mix(in srgb,var(--h) 24%,transparent);box-shadow:inset 0 0 24px color-mix(in srgb,var(--h) 45%,transparent),0 0 22px color-mix(in srgb,var(--h) 60%,transparent)}
.tile.lock{border:2px solid #fff;box-shadow:inset 0 0 24px color-mix(in srgb,var(--h) 45%,transparent),0 0 0 3px color-mix(in srgb,var(--h) 50%,transparent)}
.tile.me{border:2px dashed #fff}
.hs svg *{fill:color-mix(in srgb,var(--h) 13%,transparent)!important;stroke:var(--h)!important}
.hs svg{filter:drop-shadow(0 0 3px var(--h));overflow:visible}
.tile .hs{opacity:.85;height:40px;display:block}
.tile .hs svg{width:66px;height:40px}

.lab{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:700 17px 'Noto Sans SC';color:#bfefff;text-shadow:0 0 6px #3fc8ff;letter-spacing:1px}
.lab.v{writing-mode:vertical-rl}
.lab.ring{color:#ffd0c2;text-shadow:0 0 8px #ff6a4a;font-size:23px;letter-spacing:3px;padding:2px 8px;border:1px dashed transparent;cursor:pointer}
.lab.ring:hover,.lab.ring.on{border-color:#ff8a6a;background:#ff6a4a33;color:#fff}
.lab.axis{font:700 14px 'Noto Sans SC';color:#7fe3ff;letter-spacing:0;opacity:.85}
.lab.hl{color:#fff;text-shadow:0 0 10px #fff}
.rc{position:absolute;transform:translate(-50%,-50%);font:700 15.5px 'Noto Sans SC';color:#ffe2d8;padding:3px 7px;border:1px solid #ff8a6a99;background:#ff6a4a1f;text-shadow:0 0 6px #ff6a4a;white-space:nowrap;cursor:pointer}
.rc.v{writing-mode:vertical-rl;padding:7px 3px}
.rc:hover,.rc.on{background:#ff6a4a55;border-color:#fff;color:#fff}
.rc::before{content:'◆ ';color:#ff8a6a}
.anc{position:absolute;width:2px;height:2px;transform:translate(-50%,-50%)}

#pop,#mePin{left:0;top:0;width:300px;height:340px;transform-origin:50% 100%;transform:translate(-50%,-100%) translateZ(18px) rotateZ(calc(-1 * var(--rz))) rotateX(calc(-1 * var(--tilt)));pointer-events:none}
#mePin{transform:translate(-50%,-100%) translateZ(6px) rotateZ(calc(-1 * var(--rz))) rotateX(calc(-1 * var(--tilt)))}
.pin{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;transform-origin:50% 100%;animation:pop .42s cubic-bezier(.2,1.5,.4,1) both}
@keyframes pop{0%{transform:scale(.2,.02);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}
.pin .tag{background:color-mix(in srgb,var(--h) 16%,#04121ccc);border:1px solid var(--h);box-shadow:0 0 18px color-mix(in srgb,var(--h) 45%,transparent);padding:7px 12px 8px;text-align:center;color:#fff;max-width:300px}
.pin .tag b{display:block;font:700 23px/1.2 'Noto Sans SC';letter-spacing:2px;text-shadow:0 0 8px var(--h)}
.pin .tag span{display:block;font:700 14px 'Noto Sans SC';color:var(--h);margin:1px 0 2px}
.pin .tag em{display:block;font:400 15px/1.45 'Noto Sans SC';font-style:normal;opacity:.92}
.pin .big{margin-top:4px;animation:hover 2.4s ease-in-out infinite}
.pin .big svg{width:170px;height:102px}
.pin .gifholo{position:relative;width:150px;height:150px;-webkit-mask:radial-gradient(closest-side,#000 70%,transparent 100%);mask:radial-gradient(closest-side,#000 70%,transparent 100%)}
.pin .gifholo img{width:100%;height:100%;display:block;filter:grayscale(1) contrast(1.25) brightness(1.15);opacity:.92}
.pin .gifholo::after{content:'';position:absolute;inset:0;background:var(--h);mix-blend-mode:multiply}
.pin .gifholo::before{content:'';position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(0deg,#0007 0 1px,transparent 1px 3px)}
@keyframes hover{50%{transform:translateY(-5px)}}
.pin .beam{width:170px;height:76px;margin-top:-18px;background:linear-gradient(to top,var(--h),color-mix(in srgb,var(--h) 25%,transparent));clip-path:polygon(40% 100%,60% 100%,100% 0,0 0);opacity:.5}
.pin .beam::after{content:'';display:block;height:100%;background:repeating-linear-gradient(0deg,#fff3 0 1px,transparent 1px 4px)}
#mePin .pin{animation:none}
#mePin .tag{border-style:dashed}

.wake{left:0;top:0;width:760px;height:760px;overflow:visible;transform:translateZ(3px);pointer-events:none}

/* ---------- 全息读数 ---------- */
.ro{position:absolute;right:16px;top:158px;bottom:16px;width:344px;z-index:15;padding:16px 18px 18px;background:linear-gradient(180deg,#0b3550aa,#041826bb);border:1px solid #7fe3ff55;box-shadow:0 0 34px #2bb8ff22,inset 0 0 40px #2bb8ff18;overflow:auto;scrollbar-width:thin;scrollbar-color:#7fe3ff55 transparent}
.ro::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#7fe3ff0c 0 1px,transparent 1px 3px);pointer-events:none}
.ro .cn{position:absolute;width:14px;height:14px;border:2px solid var(--holo)}
.ro .cn.a{left:-1px;top:-1px;border-right:0;border-bottom:0}.ro .cn.b{right:-1px;top:-1px;border-left:0;border-bottom:0}
.ro .cn.c{left:-1px;bottom:-1px;border-right:0;border-top:0}.ro .cn.d{right:-1px;bottom:-1px;border-left:0;border-top:0}
.ro .k{font:700 13px 'Noto Sans SC';color:var(--holo);letter-spacing:1px;text-transform:uppercase}
.ro h2{font:700 30px/1.15 'Noto Sans SC';letter-spacing:3px;margin:4px 0 2px;text-shadow:0 0 12px currentColor}
.ro .line{font-size:16px;line-height:1.6;color:#e8fbff}
.ro .sec{margin-top:14px;padding-top:10px;border-top:1px solid #7fe3ff2a}
.ro .sec>h4{font:700 14px 'Noto Sans SC';color:var(--holo);letter-spacing:2px;margin-bottom:6px}
.meter{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin:6px 0 4px}
.meter i{height:8px;background:#7fe3ff1f;border:1px solid #7fe3ff33}
.meter i.end{background:#ff6a4a1f;border-color:#ff8a6a44}
.meter i.on{background:var(--holo);box-shadow:0 0 10px var(--holo);border-color:#fff}
.meter i.end.on{background:var(--warn);box-shadow:0 0 10px var(--warn)}
.mlab{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;font-size:12px;color:#a9dceb;text-align:center}
.mlab span.on{color:#fff;font-weight:700}
.ans{font-size:15.5px;line-height:1.55;margin-top:5px;color:#fff}
.ans q{color:var(--holo)}
.reps{display:flex;flex-direction:column;gap:5px}
.rep{display:flex;justify-content:space-between;align-items:center;padding:6px 9px;border:1px solid #7fe3ff2e;background:#7fe3ff0a;font-size:13.5px;text-align:left;width:100%}
.rep.has{border-color:#7fe3ff77;background:#7fe3ff14}
.rep.has:hover,.rep.on{background:#7fe3ff30;border-color:#fff}
.rep em{font:400 10.5px 'Space Mono';font-style:normal;color:var(--holo)}
.rep.none em{color:#a9dceb88}
.pic{position:relative;margin:4px 0 8px;border:1px solid #7fe3ff66;overflow:hidden;background:#032033}
.pic img{display:block;width:100%;filter:grayscale(1) contrast(1.15) brightness(1.05);mix-blend-mode:screen;opacity:.9}
.pic::after{content:'';position:absolute;inset:0;background:linear-gradient(#7fe3ff38,#2b8cff30),repeating-linear-gradient(0deg,#0006 0 1px,transparent 1px 3px);mix-blend-mode:color;pointer-events:none}
.pic::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0005 0 1px,transparent 1px 3px);z-index:1;pointer-events:none}
.credit{font:400 10px 'Space Mono';color:#a9dceb99;margin-top:-4px;margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.chip{font-size:12px;padding:2px 8px;border:1px solid #7fe3ff66;color:#fff}
.chip b{color:var(--holo);margin-right:4px}
.chip.deep{border-color:var(--warn)}.chip.deep b{color:var(--warn)}
.why{font-size:13.5px;line-height:1.65;color:#f0fcff}
.steps{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.step{display:grid;grid-template-columns:62px 1fr;gap:8px;text-align:left;padding:5px 8px;border:1px solid #7fe3ff2e;font-size:12.5px}
.step b{font:700 11px 'Space Mono';color:var(--holo)}
.step.on{border-color:#fff;background:#7fe3ff22}
.step.ring b{color:var(--warn)}
.play{margin-top:6px;padding:5px 12px;border:1px solid var(--holo);color:var(--holo);font-size:12.5px}
.play:hover{background:#7fe3ff22}
.hint{font-size:12px;line-height:1.6;color:#a9dceb;margin-top:12px}
.conf{font:400 11px 'Space Mono';color:#a9dceb}

.ctrl{position:absolute;left:236px;bottom:16px;z-index:16;display:flex;gap:6px;align-items:center}
.ctrl button{padding:6px 14px;border:1px solid #7fe3ff66;background:#0b355088;color:var(--holo-t);font-size:16px}
.ctrl button.g{background:var(--gold);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 #000;font-weight:700}
.ctrl button.on{background:#7fe3ff33;border-color:#fff;color:#fff}
.ctrl span{font-size:14.5px;color:#a9dceb;margin-left:6px}

/* 入口：测试是门，海图在门后亮着 */
.intro{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:radial-gradient(ellipse at 45% 50%,#0000 0,#000a 70%)}
.intro[hidden]{display:none}
.cap.big{position:relative;max-width:640px;padding:20px 26px 22px;transform:translateX(-120px)}
.cap.big p{font:700 17px/1.65 'Noto Sans SC'}
.cap.big h2{font:400 50px/1.1 'ZCOOL QingKe HuangYou';letter-spacing:4px;margin:6px 0 8px}
.ibtn{display:flex;gap:12px;margin-top:16px;align-items:center}
.ibtn .go{background:#e4412b;color:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 #000;padding:9px 18px;font:700 16px 'Noto Sans SC';text-decoration:none}
.ibtn .go:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #000}
.ibtn .skip{font:700 14px 'Noto Sans SC';text-decoration:underline;color:var(--ink)}
body.intro-on .ro,body.intro-on .ctrl,body.intro-on .cap.cta{opacity:.15;pointer-events:none}

.mock-tag{position:fixed;left:12px;bottom:10px;z-index:90;font:11px 'Space Mono';color:#d8f6ff88;background:#000a;padding:3px 8px;border-radius:3px}

.more{margin-top:14px;width:100%;padding:8px;border:1px solid var(--holo);color:#fff;font-size:15.5px;font-weight:700;background:#7fe3ff1f}
.more:hover{background:#7fe3ff3a}

/* ---------- 档案抽屉：真实像素，不跟机框缩放，保证能读 ---------- */
.dex{position:fixed;top:0;right:0;bottom:0;width:clamp(340px,50vw,560px);z-index:100;display:flex;flex-direction:column;background:linear-gradient(180deg,#06263af5,#03131ff7);border-left:1px solid #7fe3ff88;box-shadow:-20px 0 50px #000c,inset 0 0 60px #2bb8ff14;color:#eafcff}
.dex[hidden]{display:none}
.dex::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#7fe3ff08 0 1px,transparent 1px 3px);pointer-events:none}
.dexHead{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid #7fe3ff33;font:700 14px 'Noto Sans SC';color:var(--holo);letter-spacing:1px}
.dexHead button{border:1px solid #7fe3ff77;padding:4px 12px;color:#fff;font-size:14px}
.dexHead button:hover{background:#7fe3ff2a}
#dexBody{flex:1;overflow:auto;padding:18px 22px 40px;font-size:16px;line-height:1.8;scrollbar-width:thin;scrollbar-color:#7fe3ff55 transparent}
#dexBody h2{font:700 30px/1.25 'Noto Sans SC';letter-spacing:2px;margin-bottom:6px;text-shadow:0 0 12px #7fe3ff66}
#dexBody h3{font:700 17px 'Noto Sans SC';color:var(--holo);letter-spacing:1px;margin:20px 0 6px;padding-top:12px;border-top:1px solid #7fe3ff22}
#dexBody p{margin:6px 0;color:#eafcff}
#dexBody .lead{font-size:18px;color:#fff}
#dexBody .meta{font-size:14.5px;color:#a9e6f7;line-height:1.6}
#dexBody .coord{margin-top:6px;font-size:14px;line-height:1.6;color:#fff;padding:6px 10px;border:1px solid #7fe3ff44;background:#7fe3ff10}
#dexBody .todo{font-size:14px;color:#ffd9a8;line-height:1.6}
#dexBody .small{font-size:14px;color:#a9dceb}
#dexBody figure{margin:14px 0 4px}
#dexBody figure img{display:block;width:100%;border:1px solid #7fe3ff55}
#dexBody figure.gif img{border:3px solid var(--ink);box-shadow:6px 6px 0 #000;background:var(--cream)}
#dexBody figcaption{font-size:14px;line-height:1.65;color:#cdeefa;margin-top:8px}
.fit{display:inline-block;font:700 12.5px 'Noto Sans SC';padding:0 7px;margin-right:6px;border:1px solid;border-radius:2px}
.fit-对位{color:#5cf2b4}.fit-部分对位{color:#ffc94d}.fit-不对位,.fit-原稿未收{color:#ff8a6a}
.q2{margin:8px 0;padding:8px 12px;border-left:3px solid var(--holo);background:#7fe3ff0d}
.q2 b{color:#fff;font-size:16.5px}
.q2 p{margin:2px 0!important;font-size:15.5px}
.works{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.wk{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8px 12px;border:1px solid #7fe3ff2e;background:#7fe3ff08;width:100%}
.wk b{font-size:16.5px;color:#fff}
.wk span{font-size:14px;color:#a9dceb;line-height:1.55}
.wk.has{border-color:#7fe3ff77;background:#7fe3ff14;cursor:pointer}
.wk.has span{color:var(--holo)}
.wk.has:hover{background:#7fe3ff30;border-color:#fff}
.lnk{color:var(--holo);text-decoration:underline;margin-left:6px;font-size:15px}
.monster{margin:16px 0;padding:12px 14px;border:1px solid #ff8a6a77;background:#ff6a4a12}
.monster .dk{font:700 13px 'Noto Sans SC';color:#ff9a7e;letter-spacing:1px}
.monster h2{color:#ffd0c2}
#dexBody .chips span{font-size:14px;padding:2px 10px;border:1px solid #7fe3ff66}
#dexBody .steps .step{font-size:15px;grid-template-columns:96px 1fr}
#dexBody .steps .step b{font:700 14px 'Noto Sans SC'}
#dexBody .play{font-size:15px;padding:6px 14px}
#dexBody ul{padding-left:20px}
#dexBody a{color:var(--holo)}

/* 完整版补充 */
.grp{margin:8px 0 2px}.grp .gh{font:700 13.5px 'Noto Sans SC';color:#ffd9a8;letter-spacing:1px;margin:6px 0 4px}
.wk b .star{font-style:normal;font-size:11px;margin-left:6px;padding:0 5px;border:1px solid var(--gold);color:var(--gold)}
.marks{margin:8px 0}.marks div{font-size:14.5px;line-height:1.6;padding:3px 0}.marks b{color:var(--holo);margin-right:6px}
ul.src{padding-left:20px;font-size:14.5px;line-height:1.7}ul.src a{word-break:break-all}
#dexBody figure .atlas{width:100%;aspect-ratio:1;border:3px solid var(--ink);box-shadow:6px 6px 0 #000;background:#d4b47d url('../assets/cosmic-comic-atlas.png') no-repeat;background-size:600% 600%;background-position:var(--px) var(--py)}
.cap.result a{color:var(--red);font-weight:700;margin-left:6px}
