:root{--c-text:#4b321d;--c-text-dark:#302013;--c-bg:#cdbd99;--c-parchment:#e8d2a4;--c-loading:#f2e7ca;--c-accent:#b9883d;--c-accent-light:#e6c470;--c-accent-bright:#f1d88c;--c-viewport-dark:#514534;--c-viewport-darker:#201b16;--c-cream:#fff3cf;--c-gold-glow:#ffe89a;}*{box-sizing:border-box;}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--c-bg);font-family:Inter,system-ui,sans-serif;user-select:none;}.viewport{position:fixed;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:radial-gradient(circle at center,var(--c-viewport-dark) 0%,var(--c-viewport-darker) 72%);opacity:0;transition:opacity .5s ease;}.viewport.ready{opacity:1;}.viewport.intro{cursor:default;}.viewport.dragging{cursor:grabbing;}.canvas{position:absolute;left:0;top:0;width:var(--cw,100%);height:var(--ch,100%);transform-origin:0 0;transform:translate3d(var(--x,0px),var(--y,0px),0) scale(var(--zoom,1));will-change:transform;}.map{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none;}.clouds{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;pointer-events:none;z-index:40;opacity:1;transform:translate3d(0,0,0) scale(1.08);mix-blend-mode:screen;will-change:transform,opacity;}.ambient{position:absolute;left:var(--x);top:var(--y);width:var(--size);transform:translate(-50%,-50%);pointer-events:none;opacity:0;z-index:12;}.ambient img{display:block;width:100%;height:auto;-webkit-user-drag:none;}.ambient.revealed{opacity:1;}.ambient.birds-a.revealed{animation:flyBirdsA 11s linear infinite;}.ambient.birds-b.revealed{animation:flyBirdsB 13s linear infinite;}.ambient.birds-c.revealed{animation:flyBirdsC 12s linear infinite;}.ambient.birds-d.revealed{animation:flyBirdsD 14s linear infinite;}.ambient.birds-e.revealed{animation:flyBirdsE 11.5s linear infinite;}.ambient.birds-f.revealed{animation:flyBirdsF 15s linear infinite;}.ambient.birds-g.revealed{animation:flyBirdsG 12.5s linear infinite;}.ambient.birds-h.revealed{animation:flyBirdsH 14.5s linear infinite;}.ambient.cloud-a.revealed{animation:driftCloudA 26s ease-in-out infinite;}.ambient.cloud-b.revealed{animation:driftCloudB 30s ease-in-out infinite;}.ambient.cloud-c.revealed{animation:driftCloudC 28s ease-in-out infinite;}.ambient.cloud-d.revealed{animation:driftCloudD 32s ease-in-out infinite;}.ambient.cloud-e.revealed{animation:driftCloudE 29s ease-in-out infinite;}.ambient.cloud-f.revealed{animation:driftCloudF 34s ease-in-out infinite;}.ambient.cloud-g.revealed{animation:driftCloudG 31s ease-in-out infinite;}.ambient.cloud-h.revealed{animation:driftCloudH 27s ease-in-out infinite;}.ambient.cloud-i.revealed{animation:driftCloudI 33s ease-in-out infinite;}.ambient.cloud{opacity:0;z-index:28;}.ambient.cloud .puff{position:absolute;display:block;width:100%;height:auto;opacity:.95;filter:blur(.16px) brightness(1.26);transform-origin:center center;-webkit-user-drag:none;}.ambient.cloud .puff.p2{transform:translate(18%,10%) scale(.86);opacity:.78;}.ambient.cloud .puff.p3{transform:translate(-16%,12%) scale(.72);opacity:.64;}@keyframes flyBirdsA{0%{transform:translate(-50%,-50%) translate(-120px,18px) rotate(-6deg);opacity:0;}35%{transform:translate(-50%,-50%) translate(-35px,-10px) rotate(-2deg);opacity:.9;}70%{transform:translate(-50%,-50%) translate(55px,-22px) rotate(4deg);opacity:.9;}100%{transform:translate(-50%,-50%) translate(130px,8px) rotate(6deg);opacity:0;}}@keyframes flyBirdsB{0%{transform:translate(-50%,-50%) translate(145px,-18px) rotate(5deg);opacity:0;}30%{transform:translate(-50%,-50%) translate(50px,8px) rotate(2deg);opacity:.88;}72%{transform:translate(-50%,-50%) translate(-40px,22px) rotate(-4deg);opacity:.88;}100%{transform:translate(-50%,-50%) translate(-150px,-6px) rotate(-6deg);opacity:0;}}@keyframes flyBirdsC{0%{transform:translate(-50%,-50%) translate(-115px,-14px) rotate(-4deg);opacity:0;}32%{transform:translate(-50%,-50%) translate(-20px,16px) rotate(1deg);opacity:.88;}68%{transform:translate(-50%,-50%) translate(62px,2px) rotate(3deg);opacity:.88;}100%{transform:translate(-50%,-50%) translate(122px,-18px) rotate(5deg);opacity:0;}}@keyframes flyBirdsD{0%{transform:translate(-50%,-50%) translate(135px,20px) rotate(6deg);opacity:0;}30%{transform:translate(-50%,-50%) translate(58px,-2px) rotate(2deg);opacity:.86;}68%{transform:translate(-50%,-50%) translate(-25px,-18px) rotate(-2deg);opacity:.86;}100%{transform:translate(-50%,-50%) translate(-138px,10px) rotate(-5deg);opacity:0;}}@keyframes flyBirdsE{0%{transform:translate(-50%,-50%) translate(-105px,12px) rotate(-4deg);opacity:0;}34%{transform:translate(-50%,-50%) translate(-12px,-6px) rotate(1deg);opacity:.84;}70%{transform:translate(-50%,-50%) translate(48px,-18px) rotate(3deg);opacity:.84;}100%{transform:translate(-50%,-50%) translate(108px,4px) rotate(4deg);opacity:0;}}@keyframes flyBirdsF{0%{transform:translate(-50%,-50%) translate(155px,-10px) rotate(5deg);opacity:0;}28%{transform:translate(-50%,-50%) translate(62px,12px) rotate(2deg);opacity:.86;}74%{transform:translate(-50%,-50%) translate(-48px,4px) rotate(-3deg);opacity:.86;}100%{transform:translate(-50%,-50%) translate(-160px,-14px) rotate(-6deg);opacity:0;}}@keyframes flyBirdsG{0%{transform:translate(-50%,-50%) translate(-130px,-4px) rotate(-5deg);opacity:0;}31%{transform:translate(-50%,-50%) translate(-40px,18px) rotate(-2deg);opacity:.88;}69%{transform:translate(-50%,-50%) translate(42px,-6px) rotate(2deg);opacity:.88;}100%{transform:translate(-50%,-50%) translate(130px,-20px) rotate(5deg);opacity:0;}}@keyframes flyBirdsH{0%{transform:translate(-50%,-50%) translate(120px,14px) rotate(4deg);opacity:0;}33%{transform:translate(-50%,-50%) translate(34px,-12px) rotate(1deg);opacity:.86;}71%{transform:translate(-50%,-50%) translate(-42px,-2px) rotate(-2deg);opacity:.86;}100%{transform:translate(-50%,-50%) translate(-118px,16px) rotate(-5deg);opacity:0;}}@keyframes driftCloudA{0%{transform:translate(-50%,-50%) translate(-38px,4px) scale(.98);opacity:0;}34%{opacity:.5;}66%{opacity:.5;}100%{transform:translate(-50%,-50%) translate(44px,-6px) scale(1.04);opacity:0;}}@keyframes driftCloudB{0%{transform:translate(-50%,-50%) translate(42px,-5px) scale(1.03);opacity:0;}34%{opacity:.46;}66%{opacity:.46;}100%{transform:translate(-50%,-50%) translate(-44px,6px) scale(.98);opacity:0;}}@keyframes driftCloudC{0%{transform:translate(-50%,-50%) translate(-34px,-4px) scale(.96);opacity:0;}34%{opacity:.42;}66%{opacity:.42;}100%{transform:translate(-50%,-50%) translate(38px,5px) scale(1.02);opacity:0;}}@keyframes driftCloudD{0%{transform:translate(-50%,-50%) translate(32px,5px) scale(1.01);opacity:0;}34%{opacity:.4;}66%{opacity:.4;}100%{transform:translate(-50%,-50%) translate(-40px,-4px) scale(.97);opacity:0;}}@keyframes driftCloudE{0%{transform:translate(-50%,-50%) translate(-30px,6px) scale(.97);opacity:0;}34%{opacity:.38;}66%{opacity:.38;}100%{transform:translate(-50%,-50%) translate(36px,-5px) scale(1.03);opacity:0;}}@keyframes driftCloudF{0%{transform:translate(-50%,-50%) translate(34px,-4px) scale(1.02);opacity:0;}34%{opacity:.36;}66%{opacity:.36;}100%{transform:translate(-50%,-50%) translate(-36px,5px) scale(.98);opacity:0;}}@keyframes driftCloudG{0%{transform:translate(-50%,-50%) translate(-36px,3px) scale(.99);opacity:0;}34%{opacity:.38;}66%{opacity:.38;}100%{transform:translate(-50%,-50%) translate(42px,-5px) scale(1.03);opacity:0;}}@keyframes driftCloudH{0%{transform:translate(-50%,-50%) translate(32px,-3px) scale(1.02);opacity:0;}34%{opacity:.4;}66%{opacity:.4;}100%{transform:translate(-50%,-50%) translate(-38px,4px) scale(.98);opacity:0;}}@keyframes driftCloudI{0%{transform:translate(-50%,-50%) translate(-34px,5px) scale(.98);opacity:0;}34%{opacity:.36;}66%{opacity:.36;}100%{transform:translate(-50%,-50%) translate(40px,-4px) scale(1.03);opacity:0;}}.loc{position:absolute;left:var(--x);top:var(--y);width:calc(var(--size) * 1.25);transform:translate(-50%,-50%) scale(.25);border:0;background:transparent;padding:0;cursor:pointer;opacity:0;z-index:20;transition:transform .55s cubic-bezier(.2,.9,.25,1.1),opacity .35s ease;}.loc.revealed{transform:translate(-50%,-50%) scale(1);opacity:1;}.loc img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 1px rgba(255,242,205,.72)) drop-shadow(0 0 4px rgba(246,207,121,.14));transition:transform .18s ease,filter .18s ease;pointer-events:none;-webkit-user-drag:none;}.loc span{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);white-space:nowrap;padding:2px 7px 3px;border-radius:999px;border:1px solid rgba(91,56,22,.42);background:rgba(231,205,155,.94);color:var(--c-text-dark);font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:clamp(9px,.72vw,13px);letter-spacing:.035em;line-height:1.05;text-shadow:0 1px 0 rgba(255,238,196,.72);box-shadow:0 1px 4px rgba(36,20,8,.14);pointer-events:none;opacity:0;transition:opacity .3s ease .08s;}.loc.revealed span{opacity:1;}.loc:hover img{transform:scale(1.08);filter:drop-shadow(0 0 4px rgba(255,244,205,.96)) drop-shadow(0 0 12px rgba(255,224,137,.72));}.loading{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;overflow:hidden;background:radial-gradient(circle at 20% 25%,rgba(255,255,255,.72) 0%,rgba(255,255,255,0) 22%),radial-gradient(circle at 78% 30%,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 20%),radial-gradient(circle at 50% 72%,rgba(255,255,255,.48) 0%,rgba(255,255,255,0) 24%),linear-gradient(180deg,var(--c-loading) 0%,var(--c-bg) 100%);transition:opacity .8s ease,visibility .8s ease;}.loading.hidden{opacity:0;visibility:hidden;}.loader{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;}.book-wrapper{width:118px;height:fit-content;display:flex;align-items:center;justify-content:flex-end;position:relative;filter:drop-shadow(8px 8px 4px rgba(0,0,0,0.12));}.book{width:100%;height:auto;}.book-wrapper .book-page{width:50%;height:auto;position:absolute;animation:paging 0.15s linear infinite;transform-origin:left;}@keyframes paging{0%{transform:rotateY(0deg) skewY(0deg);}50%{transform:rotateY(90deg) skewY(-20deg);}100%{transform:rotateY(180deg) skewY(0deg);}}.loading-copy{position:relative;z-index:2;min-height:22px;padding:0 18px;text-align:center;color:rgba(52,37,23,.88);font-family:'Cinzel',Georgia,serif;font-size:clamp(13px,1.1vw,17px);letter-spacing:.04em;text-shadow:0 1px 0 rgba(255,255,255,.55);opacity:.95;transition:opacity .35s ease,transform .35s ease;}.loading-copy.swap{opacity:.65;transform:translateY(4px);}.loading-progress{position:relative;z-index:2;width:min(260px,68vw);height:6px;border-radius:999px;overflow:hidden;background:rgba(91,61,25,.16);box-shadow:inset 0 1px 2px rgba(60,38,18,.18);}.loading-progress span{display:block;width:var(--progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5a24,var(--c-accent),var(--c-accent-bright));transition:width .22s ease;}.transition-wash{position:fixed;inset:0;z-index:64;pointer-events:none;opacity:0;background:var(--c-parchment);transition:opacity .3s ease;}.transition-wash.covering{opacity:1;}.transition-clouds{position:fixed;inset:-12%;width:124%;height:124%;object-fit:cover;pointer-events:none;z-index:65;opacity:0;transform:translate3d(-4%,-2%,0) scale(1.12);mix-blend-mode:screen;filter:brightness(1.18);transition:opacity .4s ease,transform .6s ease;}.transition-clouds.covering{opacity:1;transform:translate3d(2%,1%,0) scale(1.06);}.detail{position:fixed;inset:0;z-index:60;display:block;pointer-events:none;opacity:0;visibility:hidden;background:var(--c-parchment);transition:opacity .5s ease,visibility .5s ease;}.detail.active{opacity:1;visibility:visible;pointer-events:auto;}.detail-card{position:absolute;inset:0;overflow:hidden;background:var(--c-parchment);transform:scale(1.01);transition:transform .5s cubic-bezier(.2,.9,.25,1),opacity .4s ease;opacity:0;}.detail.active .detail-card{transform:scale(1);opacity:1;}.detail-map{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;}.detail-map.dragging{cursor:grabbing;}.detail-map img{position:absolute;left:50%;top:50%;display:block;max-width:none;max-height:none;width:var(--detail-w,100vw);height:var(--detail-h,auto);transform:translate(calc(-50% + var(--detail-x,0px)),calc(-50% + var(--detail-y,0px))) scale(var(--detail-scale,1));transform-origin:center center;-webkit-user-drag:none;user-select:none;}.detail-copy{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,36px);z-index:72;width:min(420px,calc(100vw - 36px));padding:16px 18px 17px;border-radius:16px;border:1px solid rgba(91,61,25,.42);background:rgba(232,210,164,.94);color:#32200f;box-shadow:0 12px 34px rgba(0,0,0,.24);font-family:Georgia,serif;opacity:0;transform:translateY(10px);transition:opacity .7s ease .35s,transform .7s ease .35s;pointer-events:none;}.detail.active .detail-copy{opacity:1;transform:translateY(0);}.detail-copy h2{margin:0 0 8px;font-family:'Cinzel',Georgia,serif;font-size:clamp(25px,3vw,42px);line-height:.95;}.detail-copy p{margin:0;font-size:clamp(13px,1vw,16px);line-height:1.36;}.poi-layer{position:absolute;left:50%;top:50%;width:var(--detail-w,100vw);height:var(--detail-h,auto);transform:translate(calc(-50% + var(--detail-x,0px)),calc(-50% + var(--detail-y,0px))) scale(var(--detail-scale,1));transform-origin:center center;pointer-events:none;}.poi{position:absolute;left:var(--px);top:var(--py);transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;border:2px solid rgba(62,39,16,.88);background:rgba(244,220,161,.92);box-shadow:0 0 0 5px rgba(244,220,161,.22),0 4px 10px rgba(35,20,8,.24);pointer-events:auto;cursor:pointer;}.poi::after{content:attr(data-label);position:absolute;left:22px;top:50%;transform:translateY(-50%);white-space:nowrap;padding:4px 8px;border-radius:999px;border:1px solid rgba(84,54,22,.38);background:rgba(235,211,162,.94);color:var(--c-text);font-family:'Cinzel',Georgia,serif;font-size:11px;font-weight:700;letter-spacing:.04em;opacity:0;transition:opacity .18s ease;}.poi:hover::after,.poi.active::after{opacity:1;}.poi.active{background:rgba(255,237,176,.98);box-shadow:0 0 0 7px rgba(255,237,176,.26),0 0 16px rgba(255,229,144,.55);}.detail-tools{position:fixed;left:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,36px);z-index:72;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(10px);transition:opacity .7s ease .35s,transform .7s ease .35s;}.detail.active .detail-tools{opacity:1;transform:translateY(0);}.detail-tools button{min-width:38px;height:38px;border-radius:999px;border:1px solid rgba(103,70,33,.54);background:rgba(239,218,173,.94);color:var(--c-text);cursor:pointer;font-family:'Cinzel',Georgia,serif;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.18);padding:0 13px;}.detail-tools .round{width:38px;padding:0;}#explore-place{min-width:210px;padding:0 22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(255,246,210,.99),rgba(233,193,98,.96));border-color:rgba(96,59,20,.68);box-shadow:0 0 0 1px rgba(255,250,220,.58) inset,0 12px 28px rgba(52,31,10,.26),0 0 22px rgba(255,220,126,.42);font-size:clamp(15px,1.08vw,18px);letter-spacing:.035em;animation:explorePulse 2.2s ease-in-out infinite;}#explore-place:hover{background:linear-gradient(180deg,#fff7d9,var(--c-accent-light));box-shadow:0 0 0 1px rgba(255,250,220,.66) inset,0 14px 30px rgba(52,31,10,.3),0 0 28px rgba(255,228,142,.62);transform:translateY(-1px) scale(1.01);}#explore-place:disabled{opacity:1;filter:saturate(.72);cursor:wait;transform:none;animation:none;}.music-toggle{position:fixed;left:clamp(18px,3vw,42px);top:clamp(16px,3vw,34px);z-index:86;width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(103,70,33,.54);background:rgba(239,218,173,.88);color:var(--c-text);cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.2);opacity:0;transform:translateY(-8px);transition:opacity .45s ease,transform .45s ease,background .18s ease,box-shadow .18s ease;}.viewport.ready ~ .music-toggle,.music-toggle.ready{opacity:1;transform:translateY(0);}.music-toggle svg{width:22px;height:22px;display:block;pointer-events:none;}.music-toggle.playing{background:rgba(255,234,187,.96);box-shadow:0 0 16px rgba(255,226,142,.55),0 8px 22px rgba(0,0,0,.2);}.top-right-cluster{position:fixed;right:clamp(18px,3vw,42px);top:clamp(16px,3vw,34px);z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}.video-tasks{display:flex;flex-direction:row;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:min(220px,40vw);}.video-task-bubble{position:relative;width:58px;height:58px;border:1px solid rgba(255,247,228,.98);border-radius:50%;padding:0;background:rgba(104,88,62,.34);color:#2d1a0b;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.35);overflow:hidden;box-shadow:0 0 0 1px rgba(255,251,240,.42) inset,0 0 16px rgba(255,236,186,.22),0 8px 20px rgba(0,0,0,.16);transition:opacity .32s ease,transform .38s cubic-bezier(.2,.9,.25,1.2),box-shadow .32s ease,border-color .32s ease;}.video-task-bubble.active{opacity:1;pointer-events:auto;transform:scale(1);}.video-task-bubble::before{content:'';position:absolute;inset:-7px;border-radius:inherit;border:2px solid rgba(255,242,205,.72);border-top-color:rgba(255,252,238,1);border-right-color:rgba(255,247,220,.92);border-bottom-color:rgba(255,238,196,.64);border-left-color:rgba(255,247,220,.92);opacity:0;transform:scale(.99) rotate(0deg);box-shadow:0 0 14px rgba(255,230,168,.26);}.video-task-bubble::after{content:'';position:absolute;left:-108%;top:-24%;width:112%;height:150%;background:linear-gradient(115deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.01) 14%,rgba(255,247,214,.12) 28%,rgba(255,249,226,.32) 40%,rgba(255,254,247,.72) 50%,rgba(255,249,226,.3) 60%,rgba(255,247,214,.1) 74%,rgba(255,255,255,.01) 88%,rgba(255,255,255,0) 100%);transform:rotate(14deg);opacity:0;pointer-events:none;z-index:2;}.video-task-bubble.generating{animation:taskGlow 1.8s ease-in-out infinite;}.video-task-bubble.generating::before{opacity:1;animation:taskHalo 1.8s ease-in-out infinite,taskSpin 1.45s linear infinite;}.video-task-bubble.generating::after{animation:bubbleSweep 2.1s ease-in-out infinite;}.video-task-bubble.ready{transform:scale(1.14);border-color:rgba(255,248,222,.98);box-shadow:0 0 0 1px rgba(255,252,242,.56) inset,0 0 26px rgba(255,238,170,.42),0 0 42px rgba(255,226,132,.48),0 10px 24px rgba(0,0,0,.18);animation:taskReady 2.05s ease-in-out infinite;}.video-task-bubble.ready::before{opacity:1;animation:taskHaloReady 2.4s ease-in-out infinite;}.video-task-bubble.ready::after{opacity:0;animation:none;}.video-task-bubble.failed{border-color:rgba(255,235,224,.9);background:rgba(124,72,60,.4);box-shadow:0 0 0 1px rgba(255,245,240,.26) inset,0 0 12px rgba(255,206,180,.16),0 8px 20px rgba(0,0,0,.16);}.video-task-bubble span{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) scale(.94);transform-origin:right center;white-space:nowrap;padding:7px 12px;border-radius:999px;border:1px solid rgba(91,61,25,.36);background:rgba(232,210,164,.9);color:var(--c-text);font-family:'Cinzel',Georgia,serif;font-size:13px;letter-spacing:.04em;box-shadow:0 8px 22px rgba(0,0,0,.18);opacity:0;transition:opacity .25s ease,transform .25s ease;}.video-task-bubble.ready span,.video-task-bubble.failed span,.video-task-bubble:hover span{opacity:1;transform:translateY(-50%) scale(1);}.video-task-bubble .bubble-img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);border-radius:50%;object-fit:cover;opacity:1;transition:filter .35s ease,transform .35s ease,opacity .35s ease;pointer-events:none;z-index:0;filter:saturate(1.02) brightness(.92);}.video-task-bubble.generating .bubble-img{filter:saturate(1.08) brightness(.96);}.video-task-bubble.ready .bubble-img{filter:saturate(1.16) brightness(1.08);transform:scale(1.08);}.video-task-bubble.failed .bubble-img{filter:saturate(.6) brightness(.66);opacity:.78;}.bubble-overlay{position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle at 30% 26%,rgba(255,251,235,.38) 0%,rgba(255,243,207,.18) 22%,rgba(255,255,255,0) 54%),linear-gradient(180deg,rgba(255,248,230,.12),rgba(255,255,255,0));pointer-events:none;opacity:1;transition:opacity .35s ease;z-index:1;}@keyframes taskSpin{to{transform:rotate(360deg);}}@keyframes bubbleSweep{0%{transform:translateX(0) rotate(14deg);opacity:0;}14%{opacity:0;}28%{opacity:.42;}50%{opacity:.82;}72%{opacity:.38;}88%{opacity:0;}100%{transform:translateX(228%) rotate(14deg);opacity:0;}}@keyframes explorePulse{0%,100%{box-shadow:0 0 0 1px rgba(255,250,220,.58) inset,0 12px 28px rgba(52,31,10,.26),0 0 18px rgba(255,220,126,.36);}50%{box-shadow:0 0 0 1px rgba(255,252,232,.76) inset,0 14px 32px rgba(52,31,10,.3),0 0 30px rgba(255,231,150,.68);}}@keyframes taskHalo{0%,100%{opacity:.72;box-shadow:0 0 12px rgba(255,228,160,.18);}50%{opacity:1;box-shadow:0 0 22px rgba(255,240,192,.42);}}@keyframes taskHaloReady{0%,100%{opacity:.64;transform:scale(1.02);box-shadow:0 0 18px rgba(255,235,172,.28);}50%{opacity:1;transform:scale(1.12);box-shadow:0 0 34px rgba(255,244,198,.58);}}@keyframes taskGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,251,240,.42) inset,0 0 16px rgba(255,236,186,.22),0 8px 20px rgba(0,0,0,.16);}50%{box-shadow:0 0 0 1px rgba(255,253,245,.5) inset,0 0 26px rgba(255,242,198,.4),0 8px 20px rgba(0,0,0,.16);}}@keyframes taskReady{0%,100%{transform:scale(1.12);box-shadow:0 0 0 1px rgba(255,252,241,.48) inset,0 0 26px rgba(255,238,170,.42),0 0 40px rgba(255,226,132,.38),0 8px 20px rgba(0,0,0,.16);}50%{transform:scale(1.2);box-shadow:0 0 0 1px rgba(255,254,246,.58) inset,0 0 34px rgba(255,244,198,.56),0 0 56px rgba(255,230,148,.58),0 8px 20px rgba(0,0,0,.16);}}.video-viewer{position:fixed;inset:0;z-index:96;display:grid;place-items:center;padding:0;background:rgba(8,6,4,.58);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility .4s ease;}.video-viewer.active{opacity:1;visibility:visible;pointer-events:auto;}.video-panel{position:relative;width:92vw;max-width:1280px;padding:0;border-radius:18px;overflow:hidden;border:1px solid rgba(230,202,144,.24);background:rgba(10,8,6,.42);box-shadow:0 20px 64px rgba(0,0,0,.42);backdrop-filter:blur(6px);transform:scale(.96);transition:transform .4s ease;}.video-viewer.active .video-panel{transform:scale(1);}.video-panel h3{position:absolute;left:20px;top:16px;z-index:3;margin:0;padding:6px 10px;border-radius:999px;background:rgba(10,8,6,.82);font-family:'Cinzel',Georgia,serif;font-size:18px;color:var(--c-cream);text-shadow:0 2px 8px rgba(0,0,0,.8);}.video-close{position:absolute;right:16px;top:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,235,190,.3);background:rgba(20,15,10,.7);color:var(--c-cream);cursor:pointer;font-size:20px;line-height:1;backdrop-filter:blur(4px);}.video-image-shell{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#0a0806;}.video-image-shell img,.video-image-shell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.video-image-shell img{filter:blur(14px) saturate(1.1) brightness(.5);transform:scale(1.08);}.video-image-shell video{background:transparent;z-index:1;}.video-actions{position:absolute;right:16px;bottom:14px;z-index:3;display:flex;gap:16px;align-items:center;font-family:Georgia,serif;font-size:13px;color:var(--c-cream);}.video-actions>span{padding:6px 10px;border-radius:999px;background:rgba(20,15,10,.82);}.video-actions a,.video-actions button{color:var(--c-cream);font-weight:700;background:rgba(20,15,10,.6);border:1px solid rgba(255,235,190,.25);border-radius:999px;padding:6px 14px;cursor:pointer;font-family:Georgia,serif;font-size:13px;text-decoration:none;backdrop-filter:blur(4px);transition:background .18s ease;}.video-actions a:hover,.video-actions button:hover{background:rgba(60,45,25,.8);}.video-actions button.danger{color:#ffd8d8;border-color:rgba(255,210,200,.32);}.video-actions button.danger:hover{background:rgba(120,42,32,.72);}.video-history-panel{position:fixed;right:clamp(18px,3vw,42px);top:calc(clamp(16px,3vw,34px) + 96px);z-index:91;width:min(560px,calc(100vw - 40px));max-height:min(68vh,660px);border-radius:26px;border:1px solid rgba(143,113,61,.38);background:linear-gradient(180deg,rgba(245,231,191,.96),rgba(239,223,181,.96));color:var(--c-text);box-shadow:0 16px 46px rgba(0,0,0,.22),0 0 0 1px rgba(255,249,228,.3) inset;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease;overflow:hidden;backdrop-filter:blur(4px);}.video-history-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 52% 18%,rgba(255,250,231,.58) 0%,rgba(255,250,231,0) 24%),linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0));pointer-events:none;opacity:.9;}.video-history-panel.visible{opacity:1;visibility:visible;transform:translateY(0);}.video-history-panel h4{position:relative;z-index:1;margin:0;padding:15px 18px 12px;font-family:'Cinzel',Georgia,serif;font-size:18px;line-height:1;border-bottom:1px solid rgba(126,97,49,.16);}.video-history-scroll{position:relative;z-index:1;max-height:min(calc(68vh - 58px),560px);overflow-y:auto;overscroll-behavior:contain;}.video-history-scroll::-webkit-scrollbar{width:9px;}.video-history-scroll::-webkit-scrollbar-track{background:rgba(150,117,67,.08);}.video-history-scroll::-webkit-scrollbar-thumb{background:rgba(136,97,45,.38);border-radius:999px;}.task-toast{position:fixed;right:clamp(18px,3vw,42px);top:calc(clamp(16px,3vw,34px) + 56px);z-index:92;max-width:min(260px,calc(100vw - 28px));padding:10px 12px 11px;border-radius:14px;border:1px solid rgba(110,78,37,.26);background:rgba(238,223,186,.94);color:var(--c-text);font-family:Georgia,serif;font-size:12px;line-height:1.35;box-shadow:0 12px 24px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transition:opacity .22s ease,transform .22s ease,visibility .22s ease;pointer-events:none;backdrop-filter:blur(4px);}.task-toast.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);}.task-toast strong{display:block;font-family:'Cinzel',Georgia,serif;font-size:13px;letter-spacing:.03em;}.task-toast .meta{margin-top:3px;opacity:.76;font-size:11px;}.video-history-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid rgba(126,97,49,.1);transition:background .15s ease;}.video-history-item:hover{background:rgba(255,244,214,.48);}.video-history-item img{width:48px;height:48px;border-radius:11px;object-fit:contain;flex-shrink:0;border:1px solid rgba(123,95,48,.18);background:rgba(247,238,208,.84);padding:4px;box-shadow:0 3px 8px rgba(74,48,17,.06);}.video-history-item .info{flex:1;min-width:0;}.video-history-item .info strong{display:block;font-family:'Cinzel',Georgia,serif;font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.video-history-item .info span{display:block;margin-top:3px;font-size:11px;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.video-history-delete{flex:none;min-width:58px;height:30px;border-radius:999px;border:1px solid rgba(126,80,49,.24);background:rgba(153,83,59,.08);color:#7c3a2a;cursor:pointer;font-family:'Cinzel',Georgia,serif;font-size:10px;font-weight:700;letter-spacing:.03em;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;}.video-history-delete:hover{background:rgba(153,83,59,.16);border-color:rgba(126,80,49,.38);color:#642818;transform:translateY(-1px);}.video-history-delete.confirming{background:rgba(126,55,36,.88);border-color:rgba(108,42,25,.92);color:#fff1df;}.video-history-empty{padding:20px 14px;text-align:center;font-size:12px;opacity:.8;}.video-history-btn{position:relative;width:72px;height:72px;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer;opacity:1;transform:translateY(0);transition:transform .18s ease,filter .18s ease;}.video-history-btn:hover{transform:translateY(-1px) scale(1.04);filter:brightness(1.04);}.video-history-btn .journal-icon{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 10px 22px rgba(0,0,0,.24)) drop-shadow(0 0 7px rgba(255,220,142,.22)) drop-shadow(0 0 14px rgba(255,236,186,.16));}.video-history-btn .count{position:absolute;right:2px;top:2px;min-width:25px;height:25px;padding:0 7px;display:grid;place-items:center;background:rgba(138,99,46,.96);color:#fff4cf;border-radius:999px;border:1px solid rgba(255,243,213,.62);font-family:'Cinzel',Georgia,serif;font-size:12px;line-height:1;box-shadow:0 6px 14px rgba(0,0,0,.22);}.explore-status{position:fixed;left:clamp(18px,3vw,42px);bottom:calc(clamp(18px,3vw,36px) + 48px);z-index:72;max-width:min(360px,calc(100vw - 36px));padding:14px 16px;border-radius:14px;border:1px solid rgba(91,61,25,.34);background:rgba(232,210,164,.9);color:var(--c-text);font-family:Georgia,serif;font-size:14px;line-height:1.46;box-shadow:0 12px 30px rgba(0,0,0,.22);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;}.detail.active .explore-status.visible{opacity:1;transform:translateY(0);pointer-events:auto;}.explore-status a{color:var(--c-text);font-weight:700;}.explore-status strong{display:block;font-family:'Cinzel',Georgia,serif;font-size:15px;letter-spacing:.035em;}.explore-status .meta{margin-top:7px;opacity:.82;font-size:13px;line-height:1.44;}.explore-status video{display:block;width:min(230px,58vw);max-height:42vh;margin-top:10px;border-radius:12px;background:#130f0b;box-shadow:0 10px 26px rgba(0,0,0,.28);}.explore-status .actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;}.detail-back{position:fixed;left:clamp(18px,3vw,42px);top:clamp(54px,7.4vw,78px);z-index:97;border:1px solid rgba(201,164,95,.5);border-radius:0;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);padding:8px 14px 9px;background:linear-gradient(180deg,rgba(20,15,7,.94),rgba(8,6,4,.94));color:#cbb488;cursor:pointer;font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:clamp(10px,.82vw,13px);letter-spacing:.11em;text-transform:uppercase;box-shadow:0 0 22px rgba(201,164,95,.16),0 8px 24px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,226,150,.05);opacity:0;transform:translateY(-8px);transition:opacity .6s ease .25s,transform .6s ease .25s,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;}.detail.active .detail-back{opacity:1;transform:translateY(0);}.detail-back::before{content:'';position:absolute;left:0;top:0;width:10px;height:1px;background:rgba(232,207,148,.55)}
.detail-back:hover{color:#ffeec4;border-color:rgba(232,207,148,.6);transform:translateY(-1px);box-shadow:0 0 26px rgba(201,164,95,.34),0 8px 24px rgba(0,0,0,.5)}@media (max-width: 900px){.loc span{font-size:10px;padding:2px 6px 3px;}.detail-copy{width:min(360px,calc(100vw - 24px));right:12px;bottom:86px;padding:14px 14px 15px;}.detail-copy h2{font-size:clamp(22px,6vw,30px);}.detail-copy p{font-size:13px;line-height:1.32;}.detail-tools{left:12px;bottom:12px;gap:6px;}.detail-tools button{height:42px;min-width:42px;padding:0 12px;}.explore-status{left:12px;right:12px;bottom:64px;max-width:none;}.video-panel{width:min(96vw,980px);}.video-panel h3{left:14px;top:12px;font-size:16px;}.video-close{right:12px;top:10px;}.video-actions{right:12px;bottom:12px;gap:10px;}.top-right-cluster{right:12px;top:12px;gap:8px;}.music-toggle{left:12px;top:12px;}.detail-back{left:62px;top:12px;padding:8px 13px 9px;}.video-history-panel{right:12px;top:62px;width:min(320px,calc(100vw - 24px));max-height:56vh;}}@media (max-width: 640px){.viewport{touch-action:none;}.loc{width:calc(var(--size) * 1.34);}.loc span{font-size:9px;max-width:84px;white-space:normal;line-height:1.1;text-align:center;padding:3px 6px;}.detail-copy{left:12px;right:12px;bottom:84px;width:auto;border-radius:14px;background:rgba(232,210,164,.95);}.detail-copy h2{margin-bottom:6px;font-size:24px;}.detail-copy p{font-size:12px;line-height:1.3;}.detail-tools{left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:42px 42px minmax(0,1fr);align-items:center;}.detail-tools button{width:100%;min-width:0;}.detail-tools .round{width:42px;}#explore-place{min-width:0;padding:0 14px;font-size:14px;justify-content:center;}.explore-status{left:10px;right:10px;bottom:66px;max-width:min(320px,calc(100vw - 20px));padding:13px 13px;font-size:13px;}.explore-status strong{font-size:14px;}.explore-status .meta{font-size:12px;}.music-toggle{width:40px;height:40px;min-width:40px;padding:0;overflow:hidden;font-size:0;}.video-history-btn{width:56px;height:56px;}.video-history-btn .journal-icon{width:100%;height:100%;}.video-history-btn .count{right:0;top:0;min-width:22px;height:22px;font-size:11px;}.top-right-cluster{right:10px;top:10px;gap:7px;align-items:flex-end;}.video-tasks{gap:6px;max-width:168px;}.video-task-bubble{width:40px;height:40px;}.video-task-bubble span{display:none;}.video-history-panel{left:10px;right:10px;top:calc(10px + 88px);width:auto;max-height:64vh;border-radius:22px;}.video-history-panel h4{padding:14px 16px 11px;font-size:18px;}.video-history-scroll{max-height:calc(64vh - 56px);}.video-history-item{gap:9px;padding:9px 11px;}.video-history-item img{width:42px;height:42px;border-radius:9px;padding:3px;}.video-history-item .info strong{font-size:13px;}.video-history-item .info span{margin-top:3px;font-size:10.5px;}.video-history-delete{min-width:54px;height:26px;font-size:9.5px;}.detail-back{left:58px;top:10px;max-width:calc(100vw - 120px);padding:8px 12px 9px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.video-viewer{padding:10px;}.video-panel{width:100%;border-radius:16px;}.video-panel h3{left:12px;top:10px;right:56px;font-size:15px;line-height:1.2;}.video-image-shell{aspect-ratio:9/16;max-height:78vh;}.video-image-shell img,.video-image-shell video{object-fit:cover;}.video-actions{left:12px;right:12px;bottom:12px;justify-content:flex-end;}.video-actions button{padding:8px 14px;font-size:13px;}.poi{width:20px;height:20px;}.poi::after{left:50%;top:auto;bottom:24px;transform:translateX(-50%);font-size:10px;max-width:120px;white-space:normal;text-align:center;line-height:1.15;}.loading-copy{padding:0 24px;font-size:13px;}.loading-progress{width:min(220px,72vw);}}@media (max-width: 420px){.detail-copy{bottom:80px;padding:12px 12px 13px;}.detail-copy h2{font-size:22px;}.detail-copy p{font-size:11.5px;}.detail-tools{grid-template-columns:40px 40px minmax(0,1fr);gap:5px;}.detail-tools button{height:40px;}.music-toggle{width:38px;height:38px;min-width:38px;}.video-history-btn{width:50px;height:50px;}.video-history-btn .count{min-width:20px;height:20px;font-size:10px;}.video-task-bubble{width:38px;height:38px;}.video-history-panel{top:calc(10px + 82px);border-radius:20px;}.video-history-panel h4{padding:12px 14px 10px;font-size:17px;}.video-history-item{padding:8px 9px;gap:7px;}.video-history-item img{width:38px;height:38px;padding:3px;border-radius:8px;}.video-history-item .info strong{font-size:12.5px;}.video-history-item .info span{font-size:10px;}.video-history-delete{min-width:50px;height:24px;font-size:9px;}.loc{width:calc(var(--size) * 1.46);}.video-panel h3{font-size:14px;}.video-actions button{width:100%;justify-content:center;}.video-actions{left:10px;right:10px;}.detail-back{left:54px;max-width:calc(100vw - 110px);}}

/* ===== world theme: grimdark holographic HUD (colors and surfaces only; mechanics unchanged) ===== */
:root{
--c-text:#cfe9e6;--c-text-dark:#dff4f1;--c-bg:#04070a;--c-parchment:#091015;
--c-loading:#06090d;--c-accent:#e07a2a;--c-accent-light:#ff9a4d;--c-accent-bright:#ffc46b;
--c-viewport-dark:#0a1016;--c-viewport-darker:#030507;--c-cream:#eaf6f3;--c-gold-glow:#ffcf8a;
}
.loading{background:radial-gradient(circle at 22% 26%,rgba(88,224,206,.10) 0%,rgba(88,224,206,0) 26%),radial-gradient(circle at 78% 30%,rgba(224,122,42,.12) 0%,rgba(224,122,42,0) 24%),linear-gradient(180deg,var(--c-loading) 0%,var(--c-bg) 100%);}
.loading-copy{color:rgba(206,232,229,.92);text-shadow:0 1px 0 rgba(0,0,0,.7);}
.loading-progress{background:rgba(120,210,196,.14);}
.loading-progress span{background:linear-gradient(90deg,#1c6f68,var(--c-accent),var(--c-accent-bright));}
.transition-wash{background:#050b0e;}
.detail-copy{background:rgba(8,14,19,.93);color:var(--c-text);border-color:rgba(88,214,198,.34);box-shadow:0 12px 34px rgba(0,0,0,.55);}
.explore-status{background:rgba(8,14,19,.93);color:var(--c-text);border-color:rgba(88,214,198,.32);}
.task-toast{background:rgba(8,14,19,.95);color:var(--c-text);border-color:rgba(88,214,198,.3);}
.video-history-panel{background:linear-gradient(180deg,rgba(11,18,24,.97),rgba(6,10,14,.97));color:var(--c-text);border-color:rgba(88,214,198,.28);}
.video-history-panel h4{border-bottom-color:rgba(120,210,196,.16);}
.video-history-item:hover{background:rgba(88,214,198,.10);}
.video-history-item img{background:rgba(6,12,16,.82);border-color:rgba(88,214,198,.24);}
.video-history-delete{color:#ffb59a;border-color:rgba(214,124,80,.3);background:rgba(160,70,40,.14);}
.video-history-delete:hover{background:rgba(160,70,40,.26);}
.loc span{background:rgba(7,14,17,.93);color:#d8efec;border-color:rgba(88,214,198,.5);text-shadow:none;box-shadow:0 1px 6px rgba(0,0,0,.65);}
.poi{border-color:rgba(130,246,230,.9);background:rgba(8,22,24,.85);box-shadow:0 0 0 5px rgba(88,214,198,.16),0 0 14px rgba(88,224,206,.42);}
.poi::after{background:rgba(6,12,15,.95);color:#d8efec;border-color:rgba(88,214,198,.45);}
.poi.active{background:rgba(206,255,246,.96);box-shadow:0 0 0 7px rgba(96,240,220,.22),0 0 18px rgba(96,240,220,.6);}
.detail-tools button{background:rgba(8,16,20,.9);color:#cfeeea;border-color:rgba(88,214,198,.45);}
#explore-place{background:linear-gradient(180deg,rgba(22,58,56,.98),rgba(10,32,30,.98));border-color:rgba(96,224,204,.6);color:#e8fcf8;box-shadow:0 0 0 1px rgba(150,255,240,.22) inset,0 12px 28px rgba(0,0,0,.5),0 0 22px rgba(88,224,206,.35);}
#explore-place:hover{background:linear-gradient(180deg,rgba(30,74,70,.98),rgba(14,44,42,.98));}
.music-toggle{background:rgba(8,16,20,.88);color:#cfeeea;border-color:rgba(88,214,198,.45);}
.music-toggle.playing{background:rgba(24,66,62,.96);box-shadow:0 0 16px rgba(96,240,220,.5),0 8px 22px rgba(0,0,0,.35);}
.detail-back{background:rgba(8,16,20,.9);color:#cfeeea;border-color:rgba(88,214,198,.45);}
.detail-back:hover{background:rgba(24,60,56,.96);}
.video-panel{background:rgba(3,7,9,.55);border-color:rgba(88,214,198,.22);}
.video-task-bubble{color:#cfeeea;}

/* ===== layer switcher ===== */
.layer-bar{position:fixed;left:50%;top:clamp(6px,1.1vw,14px);transform:translateX(-50%);z-index:98;opacity:1;visibility:visible;display:flex;gap:6px;padding:5px;border-radius:999px;border:1px solid rgba(88,214,198,.35);background:rgba(5,10,13,.78);backdrop-filter:blur(6px);box-shadow:0 8px 26px rgba(0,0,0,.5),0 0 0 1px rgba(150,255,240,.06) inset;opacity:0;transition:opacity .5s ease .3s;}
.viewport.ready ~ .layer-bar,.layer-bar.ready{opacity:1;}
.layer-bar button{appearance:none;border:1px solid transparent;background:transparent;color:#9fc4bf;cursor:pointer;font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:clamp(10px,.82vw,13px);letter-spacing:.09em;text-transform:uppercase;padding:7px 13px;border-radius:999px;white-space:nowrap;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.layer-bar button:hover{color:#e2fbf7;border-color:rgba(96,224,204,.4);}
.layer-bar button.active{background:linear-gradient(180deg,rgba(28,74,70,.96),rgba(12,38,36,.96));color:#eafffb;border-color:rgba(96,224,204,.7);box-shadow:0 0 14px rgba(88,224,206,.35);}
@media (max-width:640px){.layer-bar{gap:4px;padding:4px;top:5px;}.layer-bar button{padding:6px 9px;letter-spacing:.05em;font-size:10px;}}

/* force the scale switcher visible (its rule declared opacity twice) */
.layer-bar{opacity:1 !important;visibility:visible !important;}
.layer-bar button{pointer-events:auto;}

/* the POI that reads back */
.poi.cursed{border-color:rgba(255,70,70,.95);background:rgba(28,0,0,.92);box-shadow:0 0 0 6px rgba(255,60,60,.18),0 0 20px rgba(255,40,40,.55);animation:cursedPulse 3.2s ease-in-out infinite;}
.poi.cursed::after{font-family:'Cinzel',Georgia,serif;text-transform:uppercase;letter-spacing:.22em;color:#ff9d9d;background:rgba(12,0,0,.97);border-color:rgba(255,80,80,.6);text-shadow:0 0 9px rgba(255,60,60,.9),0 0 20px rgba(255,0,0,.6);max-width:60vw;white-space:normal;line-height:1.5;padding:6px 10px;}
.detail-copy h2{overflow-wrap:anywhere;}
@keyframes cursedPulse{0%,100%{box-shadow:0 0 0 6px rgba(255,60,60,.16),0 0 16px rgba(255,40,40,.45);}50%{box-shadow:0 0 0 8px rgba(255,60,60,.24),0 0 28px rgba(255,40,40,.7);}}

/* skull POIs — the graveyard markers */
.poi.skull{border-color:rgba(226,216,196,.92);background:rgba(9,7,5,.94);box-shadow:0 0 0 5px rgba(210,198,176,.14),0 0 16px rgba(226,216,196,.38);}
.poi.skull::before{content:'\2620';position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);font-size:14px;line-height:1;color:#ece4d2;text-shadow:0 0 7px rgba(0,0,0,.95);pointer-events:none;}
.poi.skull::after{background:rgba(12,10,8,.97);color:#ece4d2;border-color:rgba(226,216,196,.55);letter-spacing:.16em;text-transform:uppercase;}
.poi.skull.active{background:rgba(240,232,214,.95);box-shadow:0 0 0 7px rgba(230,220,200,.22),0 0 18px rgba(230,220,200,.55);}

/* huge holographic skulls projected across the galaxy layer */
.layer-fx{position:absolute;inset:0;pointer-events:none;z-index:34;opacity:0;transition:opacity .7s ease;}
.layer-fx.on{opacity:1;}
.layer-fx .hskull{position:absolute;transform:translate(-50%,-50%);font-size:clamp(70px,16vh,240px);line-height:1;color:rgba(150,240,225,.09);text-shadow:0 0 26px rgba(120,230,210,.28),0 0 60px rgba(120,230,210,.16);filter:blur(.4px);animation:hskullPulse 7s ease-in-out infinite;}
@keyframes hskullPulse{0%,100%{opacity:.72;}50%{opacity:1;}}

/* Nidhogg — the thing under the roots */
.poi.nidhogg{border-color:rgba(255,56,56,.95);background:rgba(30,0,0,.93);box-shadow:0 0 0 6px rgba(255,40,40,.2),0 0 22px rgba(255,30,30,.6);animation:nidhoggPulse 2.6s ease-in-out infinite;}
.poi.nidhogg::after{color:#ff8f8f;background:rgba(10,0,0,.97);border-color:rgba(255,60,60,.6);text-shadow:0 0 10px rgba(255,40,40,.95),0 0 22px rgba(255,0,0,.7);}
@keyframes nidhoggPulse{0%,100%{transform:translate(-50%,-50%) scale(1);}50%{transform:translate(-50%,-50%) scale(1.22);}}
@keyframes nidhoggShake{0%{transform:translate(0,0)}10%{transform:translate(-9px,5px)}20%{transform:translate(8px,-6px)}30%{transform:translate(-7px,-4px)}40%{transform:translate(7px,6px)}50%{transform:translate(-6px,3px)}60%{transform:translate(5px,-5px)}70%{transform:translate(-4px,4px)}80%{transform:translate(3px,-3px)}90%{transform:translate(-2px,2px)}100%{transform:translate(0,0)}}
.nidhogg-shake{animation:nidhoggShake 1.15s cubic-bezier(.36,.07,.19,.97) both;}
.nidhogg-flash{position:fixed;inset:0;pointer-events:none;z-index:99;background:radial-gradient(circle at 50% 62%, rgba(120,0,0,0) 32%, rgba(140,0,0,.55) 100%);opacity:0;transition:opacity .12s ease;}
.nidhogg-flash.on{opacity:1;}

/* The Reader — the deeper layer behind the mirror */
.poi.mirror{border-color:rgba(226,214,255,.95);background:rgba(18,10,32,.94);box-shadow:0 0 0 6px rgba(190,170,255,.2),0 0 24px rgba(190,170,255,.55);animation:mirrorPulse 3.4s ease-in-out infinite;}
.poi.mirror::after{color:#eae2ff;background:rgba(10,6,22,.97);border-color:rgba(214,196,255,.6);text-shadow:0 0 10px rgba(205,185,255,.9),0 0 26px rgba(150,110,255,.6);letter-spacing:.18em;text-transform:uppercase;}
@keyframes mirrorPulse{0%,100%{transform:translate(-50%,-50%) scale(1);}50%{transform:translate(-50%,-50%) scale(1.16);}}
@keyframes mirrorShake{0%{transform:translate(0,0)}15%{transform:translate(-4px,3px)}35%{transform:translate(5px,-3px)}55%{transform:translate(-4px,-2px)}75%{transform:translate(3px,3px)}100%{transform:translate(0,0)}}
.mirror-shake{animation:mirrorShake .9s cubic-bezier(.36,.07,.19,.97) both;}

/* ===== per-layer holographic effects ===== */
.layer-fx .fx-cone{position:absolute;inset:0;pointer-events:none;}
.layer-fx .fx-cone::before{content:'';position:absolute;left:6%;right:6%;bottom:-8%;height:80%;background:linear-gradient(180deg, rgba(214,178,96,0) 0%, rgba(214,178,96,.10) 52%, rgba(244,220,160,.26) 100%);clip-path:polygon(47% 0%, 53% 0%, 100% 100%, 0% 100%);}
.layer-fx .fx-cone::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg, rgba(214,178,96,0), rgba(244,220,160,.65), rgba(214,178,96,0));}
.layer-fx .fx-filigree{position:absolute;inset:2.6%;border:1px solid rgba(214,178,96,.3);box-shadow:inset 0 0 70px rgba(214,178,96,.12);pointer-events:none;}
.layer-fx .fx-filigree::before,.layer-fx .fx-filigree::after{content:'';position:absolute;width:70px;height:70px;border:2px solid rgba(244,220,160,.5);}
.layer-fx .fx-filigree::before{left:-1px;top:-1px;border-right:0;border-bottom:0;}
.layer-fx .fx-filigree::after{right:-1px;bottom:-1px;border-left:0;border-top:0;}
.layer-fx .fx-grid{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg, rgba(214,178,96,.07) 0 1px, rgba(0,0,0,0) 1px 90px),repeating-linear-gradient(0deg, rgba(214,178,96,.06) 0 1px, rgba(0,0,0,0) 1px 90px);}
.layer-fx .fx-nerv{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg, rgba(255,150,40,.07) 0 1px, rgba(0,0,0,0) 1px 4px),repeating-linear-gradient(90deg, rgba(120,255,170,.05) 0 1px, rgba(0,0,0,0) 1px 6px);mix-blend-mode:screen;}
.layer-fx .fx-nerv-frame{position:absolute;inset:3%;border:1px solid rgba(255,150,40,.36);box-shadow:inset 0 0 90px rgba(255,150,40,.10);pointer-events:none;}
.layer-fx .fx-nerv-frame::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg, rgba(0,0,0,0), rgba(120,255,170,.7), rgba(0,0,0,0));animation:nervScan 7s linear infinite;}
@keyframes nervScan{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(94vh);opacity:0}}
.layer-fx .fx-nerv-corner{position:absolute;width:56px;height:56px;border:2px solid rgba(255,150,40,.65);pointer-events:none;}
.layer-fx .fx-nerv-corner.tl{left:2%;top:2%;border-right:0;border-bottom:0;}
.layer-fx .fx-nerv-corner.tr{right:2%;top:2%;border-left:0;border-bottom:0;}
.layer-fx .fx-nerv-corner.bl{left:2%;bottom:2%;border-right:0;border-top:0;}
.layer-fx .fx-nerv-corner.br{right:2%;bottom:2%;border-left:0;border-top:0;}
.layer-fx .phrase{position:absolute;transform:translate(-50%,-50%);font-family:'Cinzel',Georgia,serif;font-weight:700;letter-spacing:.34em;font-size:clamp(12px,2.1vh,26px);color:rgba(244,200,124,.55);text-shadow:0 0 12px rgba(255,120,80,.4),0 0 36px rgba(255,60,40,.25);text-transform:uppercase;white-space:nowrap;animation:phraseFlicker 9s ease-in-out infinite;pointer-events:none;}
@keyframes phraseFlicker{0%,100%{opacity:.14}40%{opacity:.72}45%{opacity:.22}52%{opacity:.88}58%{opacity:.28}70%{opacity:.62}}

/* ===== dream haze: the Multiverse and Local Universe ===== */
.layer-fx .dream-haze{position:absolute;inset:-6%;pointer-events:none;background:
 radial-gradient(60% 45% at 30% 35%, rgba(150,120,255,.10), rgba(0,0,0,0) 70%),
 radial-gradient(50% 40% at 72% 62%, rgba(255,190,120,.09), rgba(0,0,0,0) 72%),
 radial-gradient(70% 55% at 50% 85%, rgba(120,220,255,.07), rgba(0,0,0,0) 75%);
 filter:blur(6px); animation:dreamBreathe 17s ease-in-out infinite;}
@keyframes dreamBreathe{0%,100%{opacity:.55;transform:scale(1);}50%{opacity:1;transform:scale(1.04);}}
.layer-fx .dream-mote{position:absolute;width:var(--s);height:var(--s);transform:translate(-50%,-50%);border-radius:50%;
 background:radial-gradient(circle, rgba(255,246,220,.85) 0%, rgba(200,180,255,.35) 42%, rgba(0,0,0,0) 72%);
 filter:blur(2px); animation:dreamDrift 21s ease-in-out infinite; pointer-events:none;}
@keyframes dreamDrift{0%{opacity:0;transform:translate(-50%,-50%) scale(.7);}25%{opacity:.75;}50%{opacity:.35;transform:translate(-40%,-64%) scale(1.15);}75%{opacity:.7;}100%{opacity:0;transform:translate(-58%,-38%) scale(.8);}}

/* ===== phrases inside the Laughing Gods' own view ===== */
.detail-fx{position:fixed;inset:0;z-index:71;pointer-events:none;opacity:0;transition:opacity 1.1s ease;}
.detail-fx.on{opacity:1;}
.detail-fx .phrase{position:absolute;transform:translate(-50%,-50%);font-family:'Cinzel',Georgia,serif;font-weight:700;letter-spacing:.34em;font-size:clamp(12px,2.2vh,28px);color:rgba(255,206,130,.6);text-shadow:0 0 14px rgba(255,120,80,.45),0 0 40px rgba(255,50,30,.3);text-transform:uppercase;white-space:nowrap;animation:phraseFlicker 9s ease-in-out infinite;}

/* ===== regions on the Earth layer ===== */
.layer-fx .region-label{position:absolute;transform:translate(-50%,-50%);font-family:'Cinzel',Georgia,serif;font-weight:700;letter-spacing:.42em;font-size:clamp(13px,2.3vh,30px);color:rgba(196,244,236,.34);text-shadow:0 0 18px rgba(90,220,200,.35),0 2px 10px rgba(0,0,0,.8);text-transform:uppercase;white-space:nowrap;pointer-events:none;animation:regionBreathe 13s ease-in-out infinite;}
@keyframes regionBreathe{0%,100%{opacity:.5;}50%{opacity:.95;}}

/* ===== layer statistics readout ===== */
.layer-stats{position:fixed;right:clamp(14px,3vw,42px);bottom:clamp(14px,3vw,34px);z-index:88;display:none;flex-direction:column;align-items:flex-end;gap:2px;padding:10px 16px;border-radius:12px;border:1px solid rgba(88,214,198,.36);background:rgba(5,10,13,.82);backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 0 1px rgba(150,255,240,.06) inset;text-align:right;pointer-events:none;}
.layer-stats.on{display:flex;}
.layer-stats .stat-title{font-family:'Cinzel',Georgia,serif;font-size:clamp(9px,1.15vh,12px);letter-spacing:.3em;text-transform:uppercase;color:rgba(120,214,198,.9);}
.layer-stats .stat-value{font-family:'Cinzel',Georgia,serif;font-size:clamp(15px,2.4vh,28px);letter-spacing:.06em;color:#eafffb;text-shadow:0 0 14px rgba(96,240,220,.45);line-height:1.05;}
.layer-stats .stat-note{font-family:'Cinzel',Georgia,serif;font-size:clamp(9px,1.15vh,12px);letter-spacing:.22em;text-transform:uppercase;color:rgba(200,232,226,.7);}

/* ===== descriptions readable above everything ===== */
.detail-copy{z-index:100 !important;}
.detail-back,.detail-tools{z-index:101 !important;}
body.detail-open .layer-stats,body.detail-open .layer-bar{opacity:0 !important;pointer-events:none !important;transition:opacity .35s ease;}

/* ===== the Multiverse and Local Universe as a flowing dream, not a screen ===== */
.canvas.dreamy .map{animation:dreamFlow 52s ease-in-out infinite;filter:blur(.9px) saturate(1.07) brightness(1.02);}
.canvas.dreamy .clouds{opacity:.28;}
@keyframes dreamFlow{0%,100%{transform:scale(1.02) translate3d(0,0,0);}33%{transform:scale(1.07) translate3d(-1.4%,1%,0);}66%{transform:scale(1.04) translate3d(1.2%,-1.1%,0);}}
.layer-fx .dream-flow{position:absolute;inset:-10%;pointer-events:none;mix-blend-mode:screen;opacity:.5;background:
 linear-gradient(115deg, rgba(0,0,0,0) 20%, rgba(200,180,255,.10) 42%, rgba(0,0,0,0) 60%),
 linear-gradient(65deg, rgba(0,0,0,0) 30%, rgba(255,210,150,.09) 52%, rgba(0,0,0,0) 72%);
 animation:dreamWave 34s ease-in-out infinite;filter:blur(10px);}
@keyframes dreamWave{0%,100%{transform:translate3d(-2%,0,0) scale(1.02);}50%{transform:translate3d(2%,-1.5%,0) scale(1.06);}}

/* ===== the Tree of Dreams: falling petals, ontological questions, a flowing view ===== */
.detail-map.detail-dreamy img{animation:treeDrift 64s ease-in-out infinite;filter:blur(.8px) saturate(1.08) brightness(1.02);}
@keyframes treeDrift{0%,100%{transform:translate(calc(-50% + var(--detail-x,0px)),calc(-50% + var(--detail-y,0px))) scale(calc(var(--detail-scale,1) * 1.02));}50%{transform:translate(calc(-50% + var(--detail-x,0px) - 1.2%),calc(-50% + var(--detail-y,0px) + 1%)) scale(calc(var(--detail-scale,1) * 1.07));}}
.detail-fx .petal{position:absolute;top:-8%;width:calc(14px * var(--ps,1));height:calc(20px * var(--ps,1));border-radius:60% 40% 55% 45% / 70% 60% 40% 30%;background:linear-gradient(160deg, rgba(255,238,214,.72), rgba(206,120,140,.42) 55%, rgba(60,20,30,.30));box-shadow:0 0 12px rgba(255,190,150,.28);animation-name:petalFall;animation-timing-function:linear;animation-iteration-count:infinite;pointer-events:none;opacity:0;}
.detail-fx .petal.eyed{background:radial-gradient(circle at 50% 42%, rgba(255,228,150,.95) 0 16%, rgba(140,40,60,.85) 30%, rgba(40,12,20,.7) 62%),linear-gradient(160deg, rgba(255,238,214,.6), rgba(60,20,30,.4));box-shadow:0 0 16px rgba(255,190,120,.4);}
@keyframes petalFall{0%{opacity:0;transform:translate3d(0,-10%,0) rotate(0deg);}8%{opacity:.95;}50%{transform:translate3d(3.4vw,55vh,0) rotate(190deg);}92%{opacity:.85;}100%{opacity:0;transform:translate3d(-2.6vw,112vh,0) rotate(380deg);}}
.detail-fx .ont-question{position:absolute;transform:translate(-50%,-50%);font-family:'Cinzel',Georgia,serif;font-weight:700;letter-spacing:.3em;font-size:clamp(11px,1.9vh,23px);color:rgba(226,214,255,.62);text-shadow:0 0 12px rgba(170,140,255,.42),0 0 34px rgba(110,60,200,.32);text-transform:uppercase;white-space:nowrap;animation:ontFade 15s ease-in-out infinite;pointer-events:none;}
@keyframes ontFade{0%,100%{opacity:0;}12%{opacity:.85;}30%{opacity:.5;}46%{opacity:.95;}62%{opacity:.2;}78%{opacity:.7;}}

/* ===== Gabriel's palette: black and gold ===== */
:root{--c-text:#f2e6c8;--c-text-dark:#f5ead0;--c-bg:#070604;--c-parchment:#0b0906;--c-loading:#0a0805;
--c-accent:#c9a45f;--c-accent-light:#e8cf94;--c-accent-bright:#ffe6ad;
--c-viewport-dark:#0a0806;--c-viewport-darker:#050403;--c-cream:#f7ecd2;--c-gold-glow:#ffd98a;}
.layer-bar{border-color:rgba(201,164,95,.5);background:rgba(8,6,4,.86);}
.layer-bar button{color:#cbb488;}
.layer-bar button:hover{color:#ffeec4;border-color:rgba(232,207,148,.5);}
.layer-bar button.active{background:linear-gradient(180deg,rgba(96,74,31,.96),rgba(42,32,14,.96));color:#fff3d6;border-color:rgba(232,207,148,.8);box-shadow:0 0 14px rgba(201,164,95,.45);}
.loc span{background:rgba(10,8,5,.94);color:#f2e0b8;border-color:rgba(201,164,95,.62);box-shadow:0 1px 6px rgba(0,0,0,.7);}
.loc img{filter:drop-shadow(0 0 2px rgba(255,226,160,.8)) drop-shadow(0 0 8px rgba(201,164,95,.45));}
.poi{border-color:rgba(232,207,148,.9);background:rgba(14,11,7,.9);box-shadow:0 0 0 5px rgba(201,164,95,.18),0 0 14px rgba(201,164,95,.45);}
.poi::after{background:rgba(10,8,5,.96);color:#f2e2ba;border-color:rgba(201,164,95,.55);}
.poi.active{background:rgba(255,241,207,.97);box-shadow:0 0 0 7px rgba(232,207,148,.22),0 0 18px rgba(232,207,148,.6);}
.detail-copy{background:rgba(9,7,5,.95);color:#f2e6c8;border-color:rgba(201,164,95,.45);box-shadow:0 12px 34px rgba(0,0,0,.6);}
.detail-copy h2{color:#ffeec4;}
.detail-back,.detail-tools button{background:rgba(10,8,5,.92);color:#f0e0b8;border-color:rgba(201,164,95,.5);}
#explore-place{background:linear-gradient(180deg,rgba(96,74,31,.98),rgba(46,34,14,.98));border-color:rgba(232,207,148,.7);color:#fff5dc;box-shadow:0 0 0 1px rgba(255,240,200,.25) inset,0 12px 28px rgba(0,0,0,.55),0 0 22px rgba(201,164,95,.4);}
.music-toggle{background:rgba(10,8,5,.9);color:#f0e0b8;border-color:rgba(201,164,95,.5);}
.layer-stats{border-color:rgba(201,164,95,.45);background:rgba(7,6,4,.88);}
.layer-stats .stat-title{color:rgba(214,186,124,.95);}
.layer-stats .stat-value{color:#fff3d6;text-shadow:0 0 14px rgba(201,164,95,.6);}
.layer-stats .stat-note{color:rgba(226,206,160,.75);}
.explore-status,.task-toast{background:rgba(9,7,5,.95);color:#f2e6c8;border-color:rgba(201,164,95,.4);}
.video-history-panel{background:linear-gradient(180deg,rgba(12,10,6,.97),rgba(7,5,4,.97));color:#f2e6c8;border-color:rgba(201,164,95,.35);}
.video-history-panel h4{border-bottom-color:rgba(201,164,95,.2);}
.layer-fx .fx-filigree{border-color:rgba(232,207,148,.36);}
.layer-fx .fx-cone::before{background:linear-gradient(180deg, rgba(201,164,95,0) 0%, rgba(201,164,95,.12) 52%, rgba(255,226,160,.3) 100%);}
.layer-fx .phrase,.detail-fx .phrase{color:rgba(255,224,158,.68);text-shadow:0 0 14px rgba(201,164,95,.5),0 0 40px rgba(160,110,40,.35);}
.layer-fx .region-label{color:rgba(238,222,182,.4);text-shadow:0 0 18px rgba(201,164,95,.4),0 2px 10px rgba(0,0,0,.85);}

/* ===== running news / market ticker ===== */
.layer-ticker{position:fixed;left:0;right:0;top:clamp(50px,7.6vh,72px);z-index:87;height:24px;overflow:hidden;display:none;pointer-events:none;background:linear-gradient(90deg, rgba(6,5,3,0), rgba(8,6,4,.86) 12%, rgba(8,6,4,.86) 88%, rgba(6,5,3,0));border-top:1px solid rgba(201,164,95,.28);border-bottom:1px solid rgba(201,164,95,.28);}
.layer-ticker.on{display:block;}
.layer-ticker .ticker-track{display:flex;width:max-content;animation:tickerRun 68s linear infinite;}
.layer-ticker span{white-space:nowrap;padding:5px 0;font-family:'Cinzel',Georgia,serif;font-size:clamp(9px,1.2vh,12px);letter-spacing:.26em;text-transform:uppercase;color:rgba(233,211,158,.9);text-shadow:0 0 10px rgba(201,164,95,.4);}
@keyframes tickerRun{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
body.detail-open .layer-ticker{opacity:0 !important;}

.layer-fx .fx-probe{position:absolute;transform:translate(-50%,-50%);font-size:clamp(12px,2vh,22px);color:rgba(255,232,180,.75);text-shadow:0 0 12px rgba(201,164,95,.7),0 0 30px rgba(201,164,95,.4);animation:probeDrift 14s ease-in-out infinite;pointer-events:none;}
@keyframes probeDrift{0%{opacity:0;transform:translate(-50%,-50%) scale(.8);}20%{opacity:1;}60%{opacity:.55;transform:translate(-50%,-180%) scale(1.1);}100%{opacity:0;transform:translate(-50%,-320%) scale(.9);}}

/* ===== The Ruins of Seele: it trembles, and it says it back ===== */
.detail-map.detail-tremble img{animation:seeleTremble 7s ease-in-out infinite;}
@keyframes seeleTremble{0%,100%{transform:translate(calc(-50% + var(--detail-x,0px)),calc(-50% + var(--detail-y,0px))) scale(var(--detail-scale,1));}18%{transform:translate(calc(-50% + var(--detail-x,0px) + .5%),calc(-50% + var(--detail-y,0px) - .4%)) scale(var(--detail-scale,1));}36%{transform:translate(calc(-50% + var(--detail-x,0px) - .6%),calc(-50% + var(--detail-y,0px) + .3%)) scale(var(--detail-scale,1));}54%{transform:translate(calc(-50% + var(--detail-x,0px) + .3%),calc(-50% + var(--detail-y,0px) + .5%)) scale(var(--detail-scale,1));}72%{transform:translate(calc(-50% + var(--detail-x,0px) - .4%),calc(-50% + var(--detail-y,0px) - .3%)) scale(var(--detail-scale,1));}}
.detail-fx .never{position:absolute;transform:translate(-50%,-50%);font-family:'Playfair Display',Georgia,serif;font-weight:900;letter-spacing:.34em;font-size:clamp(13px,2.4vh,30px);color:rgba(255,236,186,.82);text-shadow:0 0 16px rgba(255,190,90,.6),0 0 46px rgba(220,120,40,.42),0 2px 8px rgba(0,0,0,.9);text-transform:uppercase;white-space:nowrap;animation:neverDrift 13s ease-in-out infinite;pointer-events:none;}
@keyframes neverDrift{0%{opacity:0;transform:translate(-160%,-50%) scale(.96);}18%{opacity:.95;}55%{opacity:.75;transform:translate(-50%,-50%) scale(1);}100%{opacity:0;transform:translate(60%,-50%) scale(1.02);}}

/* ===== The Black Knights: sandstorm ===== */
.detail-map.detail-storm img{filter:sepia(.16) saturate(1.08) contrast(1.02);}
.detail-fx .sand-haze{position:absolute;inset:-12%;pointer-events:none;background:
 linear-gradient(100deg, rgba(214,170,96,.16) 0%, rgba(0,0,0,0) 42%, rgba(214,170,96,.12) 74%, rgba(0,0,0,0) 100%),
 linear-gradient(0deg, rgba(180,132,60,.22) 0%, rgba(0,0,0,0) 55%);
 filter:blur(9px);animation:sandWash 15s ease-in-out infinite;}
@keyframes sandWash{0%,100%{transform:translate3d(-2%,1%,0) scale(1.03);opacity:.65;}50%{transform:translate3d(3%,-1%,0) scale(1.09);opacity:1;}}
.detail-fx .sand{position:absolute;width:calc(3px * var(--ss,1));height:calc(1.4px * var(--ss,1));border-radius:50%;background:rgba(236,206,150,.7);box-shadow:0 0 6px rgba(214,170,96,.5);animation-name:sandBlow;animation-timing-function:linear;animation-iteration-count:infinite;pointer-events:none;}
@keyframes sandBlow{0%{opacity:0;transform:translate3d(-14vw,0,0);}10%{opacity:.9;}90%{opacity:.9;}100%{opacity:0;transform:translate3d(112vw,-3vh,0);}}

/* ===== statistics rows ===== */
.layer-stats .stat-rows{display:flex;flex-direction:column;gap:3px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(201,164,95,.28);}
.layer-stats .stat-rows span{font-family:'Cinzel',Georgia,serif;font-size:clamp(8.5px,1.1vh,11.5px);letter-spacing:.2em;text-transform:uppercase;color:rgba(238,222,182,.92);}
.layer-stats .stat-rows b{color:rgba(160,196,188,.85);font-weight:400;margin-right:8px;}


/* ===== Antonius, sitting in the corner of the galaxy, watching ===== */
.fx-antonius{position:absolute;left:3%;bottom:4%;width:clamp(70px,11vh,150px);pointer-events:none;filter:drop-shadow(0 0 14px rgba(201,164,95,.35));animation:antoniusBreathe 6.5s ease-in-out infinite;}
.fx-antonius svg{width:100%;height:auto;display:block;}
.fx-antonius .cat-body,.fx-antonius .cat-head,.fx-antonius .cat-ear,.fx-antonius .cat-muzzle{fill:#070605;}
.fx-antonius .cat-ear{stroke:rgba(201,164,95,.5);stroke-width:1.2;}
.fx-antonius .cat-eye{fill:#ffd98a;animation:catBlink 7.5s infinite;}
.fx-antonius .cat-eye.cat-third{fill:#ffe6ad;animation:catBlink 7.5s infinite .08s;}
@keyframes catBlink{0%,92%,100%{transform:scaleY(1);}94%,97%{transform:scaleY(.08);}}
.fx-antonius .cat-eyes{transform-origin:60px 50px;transform-box:view-box;}
.fx-antonius .cat-tail{transform-origin:86px 92px;animation:catTail 4.4s ease-in-out infinite;}
.fx-antonius .cat-tail path{stroke:rgba(255,217,138,.85);stroke-width:7;stroke-linecap:round;}
@keyframes catTail{0%,100%{transform:rotate(-9deg);}50%{transform:rotate(13deg);}}
@keyframes antoniusBreathe{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}

.fx-antonius .cat-eye{transform-box:fill-box;transform-origin:center;}

/* ===== search sweeps: smooth, endless, and triangular — the Aossian drive ===== */
.layer-fx .fx-sweep{position:absolute;width:30vmin;height:30vmin;transform:translate(-50%,-50%);pointer-events:none;animation:sweepFlow 12s cubic-bezier(.33,0,.67,1) infinite;}
.layer-fx .fx-sweep svg{width:100%;height:100%;display:block;}
.layer-fx .fx-sweep .tri{fill:none;stroke:rgba(201,164,95,.55);stroke-width:1.1;stroke-linejoin:round;}
.layer-fx .fx-sweep .tri.m{stroke:rgba(232,207,148,.4);stroke-width:.9;}
.layer-fx .fx-sweep .tri.i{stroke:rgba(255,230,173,.3);stroke-width:.8;}
@keyframes sweepFlow{0%{opacity:0;transform:translate(-50%,-50%) scale(.14);}9%{opacity:.9;}78%{opacity:.55;}100%{opacity:0;transform:translate(-50%,-50%) scale(1.34);}}
.layer-fx.fx-boot .fx-sweep{filter:brightness(1.35);}
.layer-fx.fx-boot .fx-probe{animation-duration:9s;}

/* ===== Antonius can be petted ===== */
.fx-antonius{pointer-events:auto;cursor:pointer;}
.fx-antonius.petted{filter:drop-shadow(0 0 26px rgba(255,217,138,.9));animation:antoniusHappy .62s ease-in-out 4;}
.fx-antonius.petted .cat-eye{animation:none;transform:scaleY(.26);}
.fx-antonius.petted .cat-third{transform:scaleY(.34);}
.fx-antonius.petted .cat-tail{animation-duration:1.05s;}
.fx-antonius.petted .cat-muzzle{fill:#1a1409;}
@keyframes antoniusHappy{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-6px) rotate(-2.4deg);}}

/* ===== searches retract onto coordinates; no rotation ===== */
.layer-fx .fx-sweep{animation-name:sweepLock;animation-duration:11s;animation-timing-function:cubic-bezier(.4,0,.7,1);}
@keyframes sweepLock{
  0%{opacity:0;transform:translate(-50%,-50%) scale(1.42);}
  10%{opacity:.9;transform:translate(-50%,-50%) scale(1.28);}
  50%{opacity:.95;transform:translate(-50%,-50%) scale(.66);}
  84%{opacity:.75;transform:translate(-50%,-50%) scale(.26);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(.15);}
}
.fx-coord{position:absolute;transform:translate(-50%,-50%);transition:left .38s cubic-bezier(.35,0,.4,1),top .38s cubic-bezier(.35,0,.4,1);font-family:'Cinzel',Georgia,serif;font-size:clamp(7px,1.05vh,11px);letter-spacing:.16em;color:rgba(232,207,148,.78);white-space:nowrap;text-shadow:0 0 9px rgba(201,164,95,.55),0 1px 4px rgba(0,0,0,.85);pointer-events:none;}

/* ===== Antonius really is pettable ===== */
.fx-antonius,.fx-antonius *{pointer-events:auto !important;cursor:pointer;}
.fx-antonius{z-index:60;}

/* ===== Antonius: a fixed overlay above everything, always clickable =====
   Not inside .canvas (transformed) and not inside .layer-fx (SVG hit-testing under a
   will-change:transform ancestor is unreliable). Fixed on .viewport => pixel-identical
   corner, no transform chain, no ambiguity. */
.pet-layer{position:fixed;inset:0;pointer-events:none;z-index:95;}
.pet-layer .fx-antonius{position:absolute;left:3%;bottom:4%;width:clamp(70px,11vh,150px);
  pointer-events:auto !important;cursor:pointer;filter:drop-shadow(0 0 14px rgba(201,164,95,.35));
  animation:antoniusBreathe 6.5s ease-in-out infinite;}
.pet-layer .fx-antonius svg,
.pet-layer .fx-antonius svg *{pointer-events:none !important;}
.pet-layer .fx-antonius .cat-body,.pet-layer .fx-antonius .cat-head,
.pet-layer .fx-antonius .cat-ear,.pet-layer .fx-antonius .cat-muzzle{fill:#070605;}
.pet-layer .fx-antonius .cat-ear{stroke:rgba(201,164,95,.5);stroke-width:1.2;}
.pet-layer .fx-antonius .cat-eye{fill:#ffd98a;animation:catBlink 7.5s infinite;transform-box:fill-box;transform-origin:center;}
.pet-layer .fx-antonius .cat-eye.cat-third{fill:#ffe6ad;animation:catBlink 7.5s infinite .08s;}
.pet-layer .fx-antonius .cat-tail{transform-origin:86px 92px;animation:catTail 4.4s ease-in-out infinite;}
.pet-layer .fx-antonius .cat-tail path{stroke:rgba(255,217,138,.85);stroke-width:7;stroke-linecap:round;}
.pet-layer .fx-antonius.petted{filter:drop-shadow(0 0 26px rgba(255,217,138,.9));}
.pet-layer .fx-antonius.petting{animation-name:antoniusBreathe,antoniusHappy;animation-duration:6.5s,.62s;animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,4;animation-fill-mode:none,none;}
.pet-layer .fx-antonius.petted .cat-eye{animation:none;transform:scaleY(.26);}
.pet-layer .fx-antonius.petted .cat-third{transform:scaleY(.34);}
.pet-layer .fx-antonius.petted .cat-tail{animation-duration:1.05s;}
.pet-layer .fx-antonius.petted .cat-muzzle{fill:#1a1409;}
/* hard safety: whatever state we are in, the cat stays hit-testable */
.pet-layer .fx-antonius{pointer-events:auto !important;opacity:1 !important;visibility:visible !important;}
.pet-layer .fx-antonius .pet-hint{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);
  font-family:'Cinzel',Georgia,serif;font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(232,207,148,.0);white-space:nowrap;transition:color .25s ease;pointer-events:none;}
.pet-layer .fx-antonius:hover .pet-hint{color:rgba(232,207,148,.85);}

/* ===== layer bar -> polygonal holographic slider ===== */
.layer-bar{
  border-radius:2px;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
  border:1px solid rgba(201,164,95,.55);
  background:
    linear-gradient(180deg,rgba(20,15,7,.94),rgba(8,6,4,.94));
  box-shadow:0 0 26px rgba(201,164,95,.18),0 10px 30px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,226,150,.05);
  padding:7px;gap:5px;
}
.layer-bar::before{
  content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(201,164,95,.18);
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.layer-bar button{
  border-radius:1px;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  border:1px solid rgba(201,164,95,.22);
  background:linear-gradient(180deg,rgba(30,22,10,.7),rgba(14,10,5,.7));
  color:#cbb488;position:relative;
  font-size:clamp(9px,.78vw,12px);letter-spacing:.11em;padding:7px 14px;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.layer-bar button:hover{
  color:#ffeec4;border-color:rgba(232,207,148,.6);transform:translateY(-1px);
}
.layer-bar button.active{
  background:linear-gradient(180deg,rgba(120,90,38,.95),rgba(58,42,16,.95));
  color:#fff6dd;border-color:rgba(232,207,148,.9);
  box-shadow:0 0 16px rgba(201,164,95,.5),inset 0 0 14px rgba(255,226,150,.12);
}
.layer-bar button.active::after{
  content:'';position:absolute;left:12px;right:12px;bottom:3px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,238,196,.85),transparent);
}
/* facet ticks at the clip corners */
.layer-bar button::before{
  content:'';position:absolute;left:0;top:0;width:9px;height:1px;
  background:rgba(232,207,148,.55);
}
.layer-bar button.active::before{background:rgba(255,244,214,.95)}

/* ===== sound control, matching the polygonal slider ===== */
.music-panel{
  position:fixed;left:clamp(18px,3vw,42px);top:clamp(8px,1.4vw,18px);z-index:92;
  display:flex;align-items:center;gap:10px;
  padding:5px 8px 5px 6px;
  border:1px solid rgba(201,164,95,.5);
  background:linear-gradient(180deg,rgba(20,15,7,.94),rgba(8,6,4,.94));
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  box-shadow:0 0 22px rgba(201,164,95,.16),0 8px 24px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,226,150,.05);
  opacity:0;transform:translateY(-6px);
  transition:opacity .45s ease,transform .45s ease;
}
.music-panel.ready{opacity:1;transform:translateY(0)}
.music-panel::before{
  content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(201,164,95,.16);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
/* the on/off plate */
.music-panel .mp-btn{
  appearance:none;border:1px solid rgba(201,164,95,.28);background:linear-gradient(180deg,rgba(30,22,10,.75),rgba(14,10,5,.75));
  color:#cbb488;cursor:pointer;position:relative;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  width:32px;height:32px;padding:0;display:grid;place-items:center;
  flex:none;margin:0 0 0 2px;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.music-panel .mp-btn::before{content:'';position:absolute;left:0;top:0;width:9px;height:1px;background:rgba(232,207,148,.55)}
.music-panel .mp-btn:hover{color:#ffeec4;border-color:rgba(232,207,148,.6)}
.music-panel .mp-btn.on{
  background:linear-gradient(180deg,rgba(120,90,38,.95),rgba(58,42,16,.95));
  color:#fff6dd;border-color:rgba(232,207,148,.9);
  box-shadow:0 0 14px rgba(201,164,95,.45),inset 0 0 12px rgba(255,226,150,.12);
}
.music-panel .mp-btn.on::before{background:rgba(255,244,214,.95)}
.music-panel .mp-btn svg{width:19px;height:19px;display:block;pointer-events:none}
/* the volume rail */
.music-panel .mp-vol{
  position:relative;width:78px;height:22px;display:flex;align-items:center;
  margin:0;flex:none;
}
.music-panel .mp-vol input[type=range]{
  appearance:none;-webkit-appearance:none;width:100%;height:4px;background:transparent;cursor:pointer;margin:0;
}
.music-panel .mp-vol input[type=range]::-webkit-slider-runnable-track{
  height:4px;background:rgba(201,164,95,.22);border:1px solid rgba(201,164,95,.35);
}
.music-panel .mp-vol input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:11px;height:15px;margin-top:-6px;
  background:linear-gradient(180deg,#ffe9bc,#c9a45f);
  border:1px solid rgba(255,240,205,.7);
  clip-path:polygon(3px 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,0 100%,0 3px);
  box-shadow:0 0 10px rgba(201,164,95,.55);
}
.music-panel .mp-vol input[type=range]::-moz-range-track{height:4px;background:rgba(201,164,95,.22);border:1px solid rgba(201,164,95,.35)}
.music-panel .mp-vol input[type=range]::-moz-range-thumb{width:11px;height:15px;border-radius:0;background:#e8cf94;border:1px solid rgba(255,240,205,.7);box-shadow:0 0 10px rgba(201,164,95,.55)}
.music-panel .mp-lab{
  font-family:'Cinzel',Georgia,serif;font-size:8px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(201,164,95,.75);min-width:20px;text-align:left;flex:none;
}
@media(max-width:640px){
  .music-panel{left:10px;top:10px;gap:6px;padding:5px 7px}
  .music-panel .mp-vol{width:60px}
}

/* muted state: the rail dims when sound is off */
.music-panel.muted .mp-vol input[type=range]::-webkit-slider-runnable-track{background:rgba(201,164,95,.1)}
.music-panel.muted .mp-vol input[type=range]::-webkit-slider-thumb{background:linear-gradient(180deg,#b6ab92,#6d6350);box-shadow:none}
.music-panel.muted .mp-lab{color:rgba(201,164,95,.42)}
.music-panel.muted .mp-vol{opacity:.7}

/* ===== travel journal button -> polygonal slider style ===== */
.video-history-btn{
  width:46px;height:46px;padding:0;border:1px solid rgba(201,164,95,.5);
  background:linear-gradient(180deg,rgba(20,15,7,.94),rgba(8,6,4,.94));
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
  box-shadow:0 0 22px rgba(201,164,95,.16),0 8px 22px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,226,150,.05);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.video-history-btn::before{
  content:'';position:absolute;left:0;top:0;width:11px;height:1px;background:rgba(232,207,148,.55);
}
.video-history-btn:hover{border-color:rgba(232,207,148,.6);transform:translateY(-1px);box-shadow:0 0 26px rgba(201,164,95,.34),0 8px 22px rgba(0,0,0,.5)}
.video-history-btn .journal-icon{
  width:26px;height:26px;object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(201,164,95,.5));
}
.video-history-btn .count{
  right:-4px;top:-4px;min-width:18px;height:18px;padding:0 5px;
  background:linear-gradient(180deg,rgba(120,90,38,.98),rgba(58,42,16,.98));
  color:#fff6dd;border:1px solid rgba(232,207,148,.85);
  border-radius:0;clip-path:polygon(3px 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,0 100%,0 3px);
  font-size:10px;
  box-shadow:0 0 12px rgba(201,164,95,.5);
}
.video-history-btn.ready{border-color:rgba(232,207,148,.85);box-shadow:0 0 26px rgba(201,164,95,.42),0 8px 22px rgba(0,0,0,.5)}

/* ===== statistic panels -> polygonal slider style ===== */
.layer-stats{
  border-radius:0;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
  border:1px solid rgba(201,164,95,.5);
  background:linear-gradient(180deg,rgba(20,15,7,.94),rgba(8,6,4,.94));
  backdrop-filter:blur(6px);
  box-shadow:0 0 26px rgba(201,164,95,.16),0 10px 30px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,226,150,.05);
  padding:12px 18px 13px;
}
.layer-stats::before{
  content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(201,164,95,.16);
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
}
.layer-stats::after{
  content:'';position:absolute;left:14px;top:-1px;width:26px;height:1px;background:rgba(255,244,214,.85);
}
.layer-stats .stat-title{color:rgba(201,164,95,.92);letter-spacing:.3em}
.layer-stats .stat-value{color:#fff3d6;text-shadow:0 0 14px rgba(201,164,95,.55)}
.layer-stats .stat-note{color:rgba(214,190,142,.78)}
.layer-stats .stat-row{
  display:flex;justify-content:flex-end;gap:10px;align-items:baseline;
  font-family:'Cinzel',Georgia,serif;font-size:clamp(8.5px,1.05vh,11px);letter-spacing:.2em;
  text-transform:uppercase;color:rgba(201,164,95,.85);
}
.layer-stats .stat-row b{font-weight:400;color:#fff3d6;letter-spacing:.14em}
.layer-stats .stat-row.cursed b{color:#e08b7e;text-shadow:0 0 10px rgba(200,80,60,.5)}
.layer-stats .stat-rows{display:flex;flex-direction:column;gap:4px;margin-top:6px;align-items:flex-end}

/* ===== FIX: the button lives INSIDE the panel, not fixed to the viewport =====
   The legacy .music-toggle rules set position:fixed + opacity:0, which pulled the
   button out of the panel and hid it. These overrides are last in the sheet so they
   win, and they also pin the panel layout so nothing can overlap the rail. */
.music-panel{display:flex;align-items:center;flex-wrap:nowrap;gap:10px}
.music-panel .music-toggle,
.music-panel .music-toggle.ready,
.music-panel .music-toggle.playing{
  position:static;left:auto;top:auto;right:auto;bottom:auto;
  transform:none;opacity:1;visibility:visible;
  width:32px;height:32px;min-width:32px;padding:0;margin:0 0 0 2px;
  display:grid;place-items:center;overflow:visible;font-size:inherit;
  flex:0 0 32px;order:3;
  border:1px solid rgba(201,164,95,.28);
  background:linear-gradient(180deg,rgba(30,22,10,.75),rgba(14,10,5,.75));
  color:#cbb488;cursor:pointer;border-radius:0;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  box-shadow:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.music-panel .music-toggle.playing{
  background:linear-gradient(180deg,rgba(120,90,38,.95),rgba(58,42,16,.95));
  color:#fff6dd;border-color:rgba(232,207,148,.9);
  box-shadow:0 0 14px rgba(201,164,95,.45),inset 0 0 12px rgba(255,226,150,.12);
}
.music-panel .music-toggle.pending{opacity:1;filter:saturate(.6)}
/* order: readout, rail, button — button always right of the rail */
.music-panel .mp-lab{order:1;flex:0 0 auto}
.music-panel .mp-vol{order:2;flex:0 0 78px;margin:0}
@media(max-width:640px){
  .music-panel .mp-vol{flex-basis:58px}
  .music-panel .music-toggle{width:30px;height:30px;min-width:30px;flex-basis:30px}
}

/* ===== detail-map UI -> polygonal slider style ===== */
/* description card */
.detail-copy{
  border-radius:0;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
  border:1px solid rgba(201,164,95,.5);
  background:linear-gradient(180deg,rgba(20,15,7,.95),rgba(8,6,4,.95));
  backdrop-filter:blur(7px);
  color:#eadfc4;
  box-shadow:0 0 26px rgba(201,164,95,.18),0 12px 34px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,226,150,.05);
  padding:15px 17px 16px;
}
.detail-copy::before{
  content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(201,164,95,.16);
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
}
.detail-copy::after{
  content:'';position:absolute;left:14px;top:-1px;width:26px;height:1px;background:rgba(255,244,214,.85);
}
.detail-copy h2{
  color:#fff3d6;font-size:clamp(20px,2.6vw,32px);
  text-shadow:0 0 14px rgba(201,164,95,.45);
}
.detail-copy p{color:#ded1b4;font-family:Georgia,serif}

/* tool buttons (zoom -/+) and explore */
.detail-tools button{
  border-radius:0;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  border:1px solid rgba(201,164,95,.5);
  background:linear-gradient(180deg,rgba(20,15,7,.94),rgba(8,6,4,.94));
  color:#cbb488;position:relative;
  box-shadow:0 0 20px rgba(201,164,95,.14),0 8px 22px rgba(0,0,0,.5);
  transition:color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.detail-tools button::before{content:'';position:absolute;left:0;top:0;width:9px;height:1px;background:rgba(232,207,148,.55)}
.detail-tools button:hover{
  color:#ffeec4;border-color:rgba(232,207,148,.65);transform:translateY(-1px);
  box-shadow:0 0 24px rgba(201,164,95,.3),0 8px 22px rgba(0,0,0,.5);
}
#explore-place{
  border-radius:0;
  clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);
  border:1px solid rgba(232,207,148,.85);
  background:linear-gradient(180deg,rgba(120,90,38,.96),rgba(58,42,16,.96));
  color:#fff6dd;
  text-shadow:0 0 12px rgba(201,164,95,.5);
  box-shadow:0 0 26px rgba(201,164,95,.4),0 10px 26px rgba(0,0,0,.5),inset 0 0 14px rgba(255,226,150,.1);
  animation:explorePulse 2.6s ease-in-out infinite;
}
#explore-place:hover{
  background:linear-gradient(180deg,rgba(150,114,50,.98),rgba(76,56,20,.98));
  box-shadow:0 0 34px rgba(201,164,95,.6),0 10px 26px rgba(0,0,0,.5),inset 0 0 18px rgba(255,232,170,.16);
}
@keyframes explorePulse{
  0%,100%{box-shadow:0 0 22px rgba(201,164,95,.32),0 10px 26px rgba(0,0,0,.5),inset 0 0 14px rgba(255,226,150,.1)}
  50%{box-shadow:0 0 34px rgba(201,164,95,.55),0 10px 26px rgba(0,0,0,.5),inset 0 0 18px rgba(255,232,170,.16)}
}
/* POI labels on the detail map */
.poi{border-radius:0;border:1px solid rgba(201,164,95,.7);background:rgba(20,15,7,.85);
  clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);
  box-shadow:0 0 14px rgba(201,164,95,.35)}
.poi::after{
  border-radius:0;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
  border:1px solid rgba(201,164,95,.55);
  background:linear-gradient(180deg,rgba(20,15,7,.96),rgba(8,6,4,.96));
  color:#f0e0b8;box-shadow:0 0 16px rgba(201,164,95,.25);
}
.poi.active{background:linear-gradient(180deg,#ffe9bc,#c9a45f);box-shadow:0 0 20px rgba(201,164,95,.7)}
/* back button label + explore status card */
.detail-back{text-shadow:none}
.explore-status{
  border-radius:0;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  border:1px solid rgba(201,164,95,.5);
  background:linear-gradient(180deg,rgba(20,15,7,.95),rgba(8,6,4,.95));
  color:#eadfc4;
  box-shadow:0 0 24px rgba(201,164,95,.16),0 12px 30px rgba(0,0,0,.5);
}
.explore-status a{color:#ffeec4}

/* ===== POV RECON HUD — over SEELE sites ===== */
.fx-recon{z-index:73;}
.fx-recon .rh-frame{position:absolute;inset:2.4%;border:1px solid rgba(214,230,244,.30);
  box-shadow:inset 0 0 70px rgba(150,190,220,.06);}
.fx-recon .rh-corner{position:absolute;width:34px;height:34px;border:2px solid rgba(232,240,250,.72)}
.fx-recon .rh-corner.tl{left:2.4%;top:2.4%;border-right:0;border-bottom:0}
.fx-recon .rh-corner.tr{right:2.4%;top:2.4%;border-left:0;border-bottom:0}
.fx-recon .rh-corner.bl{left:2.4%;bottom:2.4%;border-right:0;border-top:0}
.fx-recon .rh-corner.br{right:2.4%;bottom:2.4%;border-left:0;border-top:0}
.fx-recon .rh-reticle{position:absolute;left:50%;top:50%;width:min(46vmin,340px);height:min(46vmin,340px);
  transform:translate(-50%,-50%);opacity:.5}
.fx-recon .rh-ring{position:absolute;inset:0;border:1px solid rgba(214,230,244,.36);border-radius:0;
  clip-path:polygon(0 0,34% 0,34% 2px,66% 2px,66% 0,100% 0,100% 34%,calc(100% - 2px) 34%,calc(100% - 2px) 66%,100% 66%,100% 100%,66% 100%,66% calc(100% - 2px),34% calc(100% - 2px),34% 100%,0 100%,0 66%,2px 66%,2px 34%,0 34%);}
.fx-recon .rh-cross{position:absolute;background:rgba(214,230,244,.42)}
.fx-recon .rh-cross.h{left:-8%;right:-8%;top:50%;height:1px}
.fx-recon .rh-cross.v{top:-8%;bottom:-8%;left:50%;width:1px}
.fx-recon .rh-scan{position:absolute;left:2.4%;right:2.4%;height:2px;
  background:linear-gradient(90deg,transparent,rgba(180,220,255,.55),transparent);
  animation:rhScan 3.4s linear infinite;opacity:.7}
@keyframes rhScan{0%{top:3%}100%{top:96%}}
.fx-recon .rh-tape{position:absolute;inset:2.4%;pointer-events:none;
  background:
    repeating-linear-gradient(0deg,rgba(180,215,245,.05) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(90deg,rgba(180,215,245,.05) 0 1px,transparent 1px 4px);
  mix-blend-mode:screen;}
.fx-recon .rh-hud-top,.fx-recon .rh-hud-bot,.fx-recon .rh-hud-left,.fx-recon .rh-hud-right{
  position:absolute;font-family:'Cinzel',Georgia,serif;font-size:clamp(8px,1.15vh,12px);
  letter-spacing:.24em;text-transform:uppercase;color:rgba(206,226,246,.86);
  text-shadow:0 0 10px rgba(150,200,240,.4);white-space:nowrap;}
.fx-recon .rh-hud-top{left:3.4%;right:3.4%;top:3.6%;display:flex;justify-content:space-between;gap:16px}
.fx-recon .rh-hud-bot{left:3.4%;right:3.4%;bottom:3.6%;display:flex;justify-content:space-between;gap:16px}
.fx-recon .rh-hud-left{left:3.4%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px}
.fx-recon .rh-hud-right{right:3.4%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;text-align:right}
.fx-recon .rh-live{display:inline-flex;align-items:center;gap:8px;color:rgba(255,150,140,.95)}
.fx-recon .rh-live i{width:7px;height:7px;background:rgba(255,110,96,.95);display:block;
  box-shadow:0 0 10px rgba(255,110,96,.8);animation:rhBlink 1.5s steps(1,end) infinite}
@keyframes rhBlink{0%,49%{opacity:1}50%,100%{opacity:.15}}
.fx-recon .rh-dot{color:rgba(255,214,150,.9)}
@media(max-width:700px){
  .fx-recon .rh-hud-left,.fx-recon .rh-hud-right{display:none}
  .fx-recon .rh-tag{display:none}
}

/* ===== galactic coordinates + scan status under each search triangle ===== */
.layer-fx .fx-coord{
  font-family:'Cinzel',Georgia,serif;font-size:clamp(7px,1vh,10.5px);
  letter-spacing:.14em;color:rgba(232,207,148,.78);white-space:nowrap;
  text-shadow:0 0 9px rgba(201,164,95,.5),0 1px 4px rgba(0,0,0,.85);
  transition:left .38s cubic-bezier(.35,0,.4,1),top .38s cubic-bezier(.35,0,.4,1),color .3s ease;
}
.layer-fx .fx-coord.locked{color:#bff0e4;text-shadow:0 0 12px rgba(111,240,216,.6),0 1px 4px rgba(0,0,0,.85)}
.layer-fx .fx-scanmsg{
  position:absolute;transform:translate(-50%,-50%);
  font-family:'Cinzel',Georgia,serif;font-size:clamp(7px,1vh,10.5px);
  letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;
  color:rgba(232,207,148,.7);text-shadow:0 0 10px rgba(201,164,95,.45),0 1px 4px rgba(0,0,0,.9);
  pointer-events:none;
  transition:left .38s cubic-bezier(.35,0,.4,1),top .38s cubic-bezier(.35,0,.4,1),color .3s ease,opacity .3s ease;
}
.layer-fx .fx-scanmsg.found{color:rgba(255,140,120,.92);text-shadow:0 0 12px rgba(255,90,70,.5),0 1px 4px rgba(0,0,0,.9)}
.layer-fx .fx-scanmsg:empty{opacity:0}

/* ===== search triangles: smaller base, narrow only when locked ===== */
.layer-fx .fx-sweep{width:17vmin;height:17vmin;animation:none;}   /* motion driven by JS */
.layer-fx .fx-sweep .tri{transition:none;}
.layer-fx .fx-sweep{transition:left .38s cubic-bezier(.35,0,.4,1),top .38s cubic-bezier(.35,0,.4,1),
  width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1),opacity .4s ease;}
/* searching: wide and open, faint */
.layer-fx .fx-sweep.searching{opacity:.85;width:17vmin;height:17vmin;}
/* locked: pulled in tight to a point, hot */
.layer-fx .fx-sweep.locked{opacity:1;width:6.6vmin;height:6.6vmin;filter:brightness(1.5);}
/* clear: faded but still narrow */
.layer-fx .fx-sweep.clearing{opacity:.35;width:8.2vmin;height:8.2vmin;}
@keyframes sweepSpin{to{transform:rotate(360deg)}}
.layer-fx .fx-sweep svg{transform-origin:50% 50%;}

/* renewal flicker: the triangle releases and reappears at the new site */
.layer-fx .fx-sweep.renewing{opacity:0 !important;transition:opacity .22s ease}

/* ===== FLEET FLOW — the expedition streaming past ===== */
.fx-fleet{z-index:70;}
.fx-fleet .fleet-ship{
  position:absolute;left:-14vw;width:70px;height:5px;
  background:linear-gradient(90deg,transparent,rgba(232,207,148,.55) 55%,rgba(255,244,214,.9));
  box-shadow:0 0 14px rgba(201,164,95,.45);
  animation-name:fleetRun;animation-timing-function:linear;animation-iteration-count:infinite;
  opacity:0;
}
.fx-fleet .fleet-ship.big{width:120px;height:8px;
  background:linear-gradient(90deg,transparent,rgba(255,236,190,.5) 45%,rgba(255,250,235,.95));
  box-shadow:0 0 22px rgba(201,164,95,.6);}
@keyframes fleetRun{
  0%{left:-16vw;opacity:0}
  8%{opacity:.85}
  92%{opacity:.85}
  100%{left:112vw;opacity:0}
}
.fx-fleet .fleet-particle{
  position:absolute;left:-6vw;width:calc(2px * var(--ps,1));height:calc(2px * var(--ps,1));
  border-radius:50%;background:rgba(255,238,200,.85);
  box-shadow:0 0 7px rgba(255,226,160,.7);
  animation-name:fleetRun;animation-timing-function:linear;animation-iteration-count:infinite;opacity:0;
}

/* ===== STARSCAPE — the sky drifts slowly behind the Disc ===== */
.fx-starscape{z-index:69;overflow:hidden;}
.fx-starscape .star{
  position:absolute;width:calc(2px * var(--sz,1));height:calc(2px * var(--sz,1));
  border-radius:50%;background:rgba(226,236,255,.8);
  box-shadow:0 0 6px rgba(200,222,255,.55);
  animation-name:starDrift;animation-timing-function:linear;animation-iteration-count:infinite;
}
.fx-starscape .star.bright{background:#fff;box-shadow:0 0 12px rgba(255,255,255,.85),0 0 24px rgba(200,225,255,.4)}
.fx-starscape .star.warm{background:#ffe6b8;box-shadow:0 0 11px rgba(255,214,140,.75)}
@keyframes starDrift{0%{transform:translateX(0)}100%{transform:translateX(-46vw)}}
.fx-starscape .star-lane{
  position:absolute;left:0;right:0;height:14vh;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgba(150,170,220,.075),transparent 70%);
  filter:blur(9px);
  animation-name:laneDrift;animation-timing-function:linear;animation-iteration-count:infinite;
}
@keyframes laneDrift{0%{transform:translateX(0)}100%{transform:translateX(-30vw)}}

/* ===== GALACTIC SURVEY HUD — every place on the galaxy layer ===== */
.fx-galhud{z-index:74;font-family:'Cinzel',Georgia,serif;}
.fx-galhud .gh-frame{position:absolute;inset:2.8%;border:1px solid rgba(201,164,95,.26);
  box-shadow:inset 0 0 80px rgba(201,164,95,.05);}
.fx-galhud .gh-corner{position:absolute;width:38px;height:38px;border:1px solid rgba(232,207,148,.62)}
.fx-galhud .gh-corner.tl{left:2.8%;top:2.8%;border-right:0;border-bottom:0}
.fx-galhud .gh-corner.tr{right:2.8%;top:2.8%;border-left:0;border-bottom:0}
.fx-galhud .gh-corner.bl{left:2.8%;bottom:2.8%;border-right:0;border-top:0}
.fx-galhud .gh-corner.br{right:2.8%;bottom:2.8%;border-left:0;border-top:0}
.fx-galhud .gh-arc{position:absolute;left:50%;top:50%;width:min(64vmin,520px);height:min(64vmin,520px);
  transform:translate(-50%,-50%);pointer-events:none}
.fx-galhud .gh-arc i{position:absolute;inset:0;border:1px solid rgba(201,164,95,.30);
  border-radius:50%;
  clip-path:polygon(0 0,100% 0,100% 38%,50% 38%,50% 62%,100% 62%,100% 100%,0 100%,0 62%,50% 62%,50% 38%,0 38%);
  animation:ghSpin 46s linear infinite;}
.fx-galhud .gh-arc i:after{content:'';position:absolute;left:50%;top:-3px;width:7px;height:7px;margin-left:-3.5px;
  background:rgba(255,238,200,.9);box-shadow:0 0 12px rgba(255,220,150,.8)}
@keyframes ghSpin{to{transform:rotate(360deg)}}
.fx-galhud .gh-top,.fx-galhud .gh-bottom,.fx-galhud .gh-left,.fx-galhud .gh-right{
  position:absolute;font-size:clamp(8px,1.1vh,11.5px);letter-spacing:.24em;text-transform:uppercase;
  color:rgba(232,207,148,.82);text-shadow:0 0 10px rgba(201,164,95,.45),0 1px 4px rgba(0,0,0,.85);white-space:nowrap}
.fx-galhud .gh-top{left:3.8%;right:3.8%;top:4%;display:flex;justify-content:space-between;gap:16px}
.fx-galhud .gh-bottom{left:3.8%;right:3.8%;bottom:4%;display:flex;justify-content:space-between;gap:16px}
.fx-galhud .gh-left{left:3.8%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px}
.fx-galhud .gh-right{right:3.8%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;text-align:right}
.fx-galhud .gh-tag{color:#fff3d6;letter-spacing:.3em}
.fx-galhud .gh-grid{color:rgba(201,164,95,.6)}
.fx-galhud .gh-dot{color:rgba(255,214,150,.85)}
.fx-galhud .gh-bars{position:absolute;left:3.8%;right:3.8%;bottom:9%;height:16px;
  display:flex;align-items:flex-end;gap:5px;opacity:.55}
.fx-galhud .gh-bars i{flex:1;background:linear-gradient(180deg,rgba(255,238,200,.8),rgba(201,164,95,.25));
  animation:ghBar 2.6s ease-in-out infinite}
.fx-galhud .gh-bars i:nth-child(2n){animation-duration:3.4s}
.fx-galhud .gh-bars i:nth-child(3n){animation-duration:2.1s}
@keyframes ghBar{0%,100%{height:14%}50%{height:100%}}
@media(max-width:700px){
  .fx-galhud .gh-left,.fx-galhud .gh-right,.fx-galhud .gh-bars{display:none}
}

/* ===== FRAGMENTED / BROKEN TEXT for the Laughing Gods phrases ===== */
.detail-fx .phrase.fragmented{
  letter-spacing:.16em;
  animation:phraseFlicker 9s ease-in-out infinite, phraseJitter .34s steps(2,end) infinite;
}
.detail-fx .phrase.fragmented i{
  display:inline-block;font-style:normal;
  transform:translate(var(--dx,0),var(--dy,0)) rotate(var(--rot,0deg)) scale(var(--sc,1));
  animation:glyphFlick 3.4s steps(1,end) infinite;
  animation-delay:var(--od,0s);
}
@keyframes glyphFlick{
  0%,100%{opacity:.92}
  6%{opacity:.25}
  7%{opacity:.95}
  38%{opacity:.95}
  39%{opacity:.18}
  41%{opacity:.9}
  72%{opacity:.9}
  73%{opacity:.35}
  75%{opacity:1}
}
@keyframes phraseJitter{
  0%{transform:translate(-50%,-50%)}
  50%{transform:translate(calc(-50% + 1px),calc(-50% - 1px))}
  100%{transform:translate(-50%,-50%)}
}

/* ===== CRT GLITCH over the Laughing Gods ===== */
.fx-crt{z-index:76;pointer-events:none;overflow:hidden;}
.fx-crt .crt-scan{position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.42) 0 1px,transparent 1px 3px);
  mix-blend-mode:multiply;animation:crtRoll 7s linear infinite;}
@keyframes crtRoll{0%{background-position-y:0}100%{background-position-y:120px}}
.fx-crt .crt-noise{position:absolute;inset:0;opacity:.09;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>");
  mix-blend-mode:screen;animation:crtNoise .12s steps(1,end) infinite;}
@keyframes crtNoise{0%{transform:translate(0,0)}50%{transform:translate(-3%,2%)}100%{transform:translate(2%,-3%)}}
.fx-crt .crt-band{position:absolute;left:-2%;right:-2%;height:8vh;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.055),rgba(0,0,0,.09),transparent);
  filter:blur(.4px);}
.fx-crt .crt-band.a{animation:crtBandA 5.6s linear infinite}
.fx-crt .crt-band.b{height:3vh;animation:crtBandB 3.1s linear infinite}
.fx-crt .crt-band.c{height:13vh;animation:crtBandC 9.4s linear infinite;opacity:.55}
@keyframes crtBandA{0%{top:-10%}100%{top:110%}}
@keyframes crtBandB{0%{top:110%}100%{top:-10%}}
@keyframes crtBandC{0%{top:-16%}100%{top:112%}}
.fx-crt .crt-tear{position:absolute;left:-3%;right:-3%;height:26px;pointer-events:none;
  background:rgba(255,255,255,.04);mix-blend-mode:screen;}
.fx-crt .crt-tear.a{animation:crtTearA 6.2s steps(1,end) infinite}
.fx-crt .crt-tear.b{animation:crtTearB 4.3s steps(1,end) infinite}
@keyframes crtTearA{
  0%,86%{top:0;opacity:0;clip-path:inset(0 0 100% 0)}
  87%{top:28%;opacity:.9;clip-path:inset(0 0 0 0)}
  88%{top:31%;opacity:.7;clip-path:inset(0 0 0 0)}
  89%{top:33%;opacity:0;clip-path:inset(0 0 100% 0)}
  100%{opacity:0}
}
@keyframes crtTearB{
  0%,91%{top:0;opacity:0;clip-path:inset(0 0 100% 0)}
  92%{top:61%;opacity:.85;clip-path:inset(0 0 0 0)}
  93%{top:64%;opacity:.5;clip-path:inset(0 0 0 0)}
  94%{top:66%;opacity:0;clip-path:inset(0 0 100% 0)}
  100%{opacity:0}
}
.fx-crt .crt-offset{position:absolute;left:0;right:0;height:100%;pointer-events:none;
  mix-blend-mode:screen;opacity:0;}
.fx-crt .crt-offset.a{background:linear-gradient(90deg,rgba(255,60,40,.06),transparent 40%);animation:crtOffA 3.9s steps(1,end) infinite}
.fx-crt .crt-offset.b{background:linear-gradient(270deg,rgba(60,140,255,.05),transparent 40%);animation:crtOffB 5.1s steps(1,end) infinite}
@keyframes crtOffA{0%,88%{opacity:0;transform:translateX(0)}89%{opacity:1;transform:translateX(-5px)}90%{opacity:0;transform:translateX(0)}100%{opacity:0}}
@keyframes crtOffB{0%,92%{opacity:0;transform:translateX(0)}93%{opacity:1;transform:translateX(4px)}94%{opacity:0;transform:translateX(0)}100%{opacity:0}}
.fx-crt.on{animation:crtWhole 8s steps(1,end) infinite}
@keyframes crtWhole{
  0%,95%{transform:translate(0,0);opacity:1}
  96%{transform:translate(-2px,1px);opacity:.86}
  97%{transform:translate(1px,-1px);opacity:1}
  98%{transform:translate(0,0);opacity:.92}
  100%{transform:translate(0,0);opacity:1}
}

/* ===== place name labels -> polygonal slider style ===== */
.loc span{
  border-radius:0;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
  padding:4px 11px 5px;
  border:1px solid rgba(201,164,95,.55);
  background:linear-gradient(180deg,rgba(20,15,7,.95),rgba(8,6,4,.95));
  color:#e8d3a4;
  font-family:'Cinzel',Georgia,serif;font-weight:700;
  font-size:clamp(8.5px,.68vw,12px);
  letter-spacing:.12em;text-transform:uppercase;
  text-shadow:0 0 10px rgba(201,164,95,.5),0 1px 3px rgba(0,0,0,.85);
  box-shadow:0 0 14px rgba(201,164,95,.22),0 3px 10px rgba(0,0,0,.55);
  position:absolute;
}
/* the facet tick at the clipped corner */
.loc span::before{
  content:'';position:absolute;left:0;top:0;width:7px;height:1px;
  background:rgba(255,244,214,.85);
}
/* hovered / active markers light up like an active layer button */
.loc:hover span{
  background:linear-gradient(180deg,rgba(120,90,38,.96),rgba(58,42,16,.96));
  color:#fff6dd;border-color:rgba(232,207,148,.9);
  box-shadow:0 0 20px rgba(201,164,95,.5),0 3px 10px rgba(0,0,0,.55);
  text-shadow:0 0 12px rgba(255,226,150,.6),0 1px 3px rgba(0,0,0,.85);
}
/* ===== interplanetary flight lanes (solar layer) ===== */
.layer-fx .fx-flight{
  position:absolute;transform:translate(-50%,-50%);
  pointer-events:none;z-index:35;
}
.layer-fx .fx-flight .fl-core{
  display:block;width:9px;height:9px;margin:0 auto;
  background:linear-gradient(180deg,#fff3d6,#c9a45f);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  box-shadow:0 0 12px rgba(201,164,95,.75),0 0 26px rgba(201,164,95,.35);
}
.layer-fx .fx-flight .fl-tag{
  display:block;margin-top:5px;white-space:nowrap;
  font-family:'Cinzel',Georgia,serif;font-size:clamp(6.5px,.85vh,9.5px);
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(232,207,148,.72);
  text-shadow:0 0 9px rgba(201,164,95,.45),0 1px 3px rgba(0,0,0,.85);
}
.layer-fx .fx-flight .fl-trail{
  position:absolute;left:50%;top:50%;height:1px;transform-origin:0 50%;
  background:linear-gradient(90deg,rgba(255,238,200,.55),rgba(201,164,95,.06));
  pointer-events:none;
}

/* ===== SEELE flight traffic: red, not gold ===== */
.layer-fx .fx-flight.seele .fl-core{
  background:linear-gradient(180deg,#ffd9d2,#b4322c);
  box-shadow:0 0 12px rgba(217,75,66,.8),0 0 26px rgba(180,50,44,.4);
}
.layer-fx .fx-flight.seele .fl-tag{
  color:rgba(255,150,140,.85);
  text-shadow:0 0 9px rgba(217,75,66,.55),0 1px 3px rgba(0,0,0,.85);
  letter-spacing:.22em;
}
.layer-fx .fx-flight.seele .fl-trail{
  background:linear-gradient(90deg,rgba(255,140,120,.5),rgba(180,50,44,.05));
}

/* ===== SEELE outer-rim traffic: dimmer, cooler, unannounced ===== */
.layer-fx .fx-flight.seele.rim .fl-core{
  width:7px;height:7px;
  background:linear-gradient(180deg,#e0a9a2,#8e2721);
  box-shadow:0 0 10px rgba(180,50,44,.65),0 0 20px rgba(140,40,34,.32);
}
.layer-fx .fx-flight.seele.rim .fl-tag{
  color:rgba(210,140,132,.62);
  letter-spacing:.26em;font-size:clamp(6px,.78vh,8.5px);
  text-shadow:0 0 8px rgba(180,60,50,.4),0 1px 3px rgba(0,0,0,.9);
}
.layer-fx .fx-flight.seele.rim .fl-trail{
  background:linear-gradient(90deg,rgba(200,110,100,.34),rgba(140,40,34,.03));
}

/* ===== SEELE outer-rim traffic: dimmer, cooler, unannounced ===== */
.layer-fx .fx-flight.seele.rim .fl-core{
  width:7px;height:7px;
  background:linear-gradient(180deg,#e0a9a2,#8e2721);
  box-shadow:0 0 10px rgba(180,50,44,.65),0 0 20px rgba(140,40,34,.32);
}
.layer-fx .fx-flight.seele.rim .fl-tag{
  color:rgba(210,140,132,.62);
  letter-spacing:.26em;font-size:clamp(6px,.78vh,8.5px);
  text-shadow:0 0 8px rgba(180,60,50,.4),0 1px 3px rgba(0,0,0,.9);
}
.layer-fx .fx-flight.seele.rim .fl-trail{
  background:linear-gradient(90deg,rgba(200,110,100,.34),rgba(140,40,34,.03));
}
