
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --r:#c8001e;--r2:#e8002a;--r3:rgba(200,0,30,.12);
  --g:rgba(0,210,80,.8);--y:rgba(210,160,20,.8);
  --bg:#030208;--panel:rgba(4,2,12,.88);
  --mono:'Share Tech Mono',monospace;--dis:'Bebas Neue',sans-serif;
}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);}
*{cursor:crosshair;}button,a{cursor:pointer;}

#map{position:fixed;inset:0;z-index:1;}
.leaflet-tile{filter:brightness(.28) contrast(1.5) saturate(.14) hue-rotate(210deg);}
.leaflet-control-attribution,.leaflet-control-zoom{display:none;}

#atmos{position:fixed;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse 55% 80% at 18% 52%,rgba(200,0,30,.05) 0%,transparent 65%),
  linear-gradient(to right,rgba(3,2,8,.97) 0%,rgba(3,2,8,.72) 26%,rgba(3,2,8,.06) 50%,rgba(3,2,8,.55) 76%,rgba(3,2,8,.97) 100%),
  linear-gradient(to bottom,rgba(3,2,8,.88) 0%,transparent 16%,transparent 68%,rgba(3,2,8,.96) 100%);}
#grain{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.035;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/400px;
  animation:gr .09s steps(1) infinite;}
@keyframes gr{0%{background-position:0 0}33%{background-position:-70px 25px}66%{background-position:40px -30px}to{background-position:-15px 55px}}
#scanlines{position:fixed;inset:0;z-index:3;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.08),rgba(0,0,0,.08) 1px,transparent 1px,transparent 3px);}
#vig{position:fixed;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.7) 100%);}
#topline{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;
  background:linear-gradient(90deg,transparent,var(--r),var(--r2),var(--r),transparent);
  box-shadow:0 0 40px rgba(200,0,30,.9);}
#gflash{position:fixed;inset:0;z-index:800;pointer-events:none;opacity:0;
  background:var(--r);mix-blend-mode:screen;animation:gf 13s infinite;}
@keyframes gf{0%,87%,90%,93%,100%{opacity:0}88%{opacity:.05}89%{opacity:.01}91%{opacity:.03}}
#hdr{position:fixed;top:0;left:0;right:0;z-index:50;height:58px;
  padding:0 40px;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(200,0,30,.1);
  background:linear-gradient(to bottom,rgba(3,2,8,.96),transparent);}
.logo{font-family:var(--dis);font-size:40px;letter-spacing:10px;color:#fff;line-height:1;}
.logo em{font-style:normal;color:var(--r2);text-shadow:0 0 30px rgba(232,0,42,.8);animation:rg 2.8s ease-in-out infinite alternate;}
@keyframes rg{from{text-shadow:0 0 20px rgba(232,0,42,.4)}to{text-shadow:0 0 60px rgba(232,0,42,1),0 0 140px rgba(200,0,30,.45)}}
.hdr-r{display:flex;align-items:center;gap:16px;}
.hstat{font-family:var(--mono);font-size:8px;letter-spacing:2px;color:rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.hstat b{color:rgba(255,255,255,.42);font-weight:normal;font-size:11px;}
.lpill{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:8px;letter-spacing:3px;color:rgba(0,220,90,.65);padding:5px 12px;border:1px solid rgba(0,220,90,.18);border-radius:2px;}
.ldot{width:5px;height:5px;border-radius:50%;background:rgba(0,220,90,.9);box-shadow:0 0 8px rgba(0,220,90,.8);animation:ld 1.3s ease-in-out infinite;}
@keyframes ld{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(2.2);opacity:.2}}
#hero{position:fixed;left:0;top:58px;bottom:290px;width:460px;z-index:30;
  display:flex;flex-direction:column;justify-content:center;padding:0 48px;}
.eyebrow{font-family:var(--mono);font-size:8px;letter-spacing:6px;color:rgba(200,0,30,.65);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.eyebrow::before{content:'';width:16px;height:1px;background:var(--r);}
.htitle{font-family:var(--dis);font-size:clamp(76px,9.5vw,140px);line-height:.82;letter-spacing:4px;color:#fff;margin-bottom:10px;}
.htitle em{font-style:normal;color:var(--r2);text-shadow:0 0 50px rgba(232,0,42,.9);animation:rg 2.8s ease-in-out infinite alternate;}
.tagline{font-family:var(--mono);font-size:10px;letter-spacing:5px;color:rgba(255,255,255,.3);margin-bottom:28px;}
.brief{padding:10px 14px;border-left:2px solid rgba(200,0,30,.4);position:relative;background:rgba(3,2,8,.82);backdrop-filter:blur(16px);}
.brief::before{content:'';position:absolute;left:-4px;top:3px;width:6px;height:6px;border-radius:50%;background:var(--r2);box-shadow:0 0 10px var(--r2);}
.blabel{font-family:var(--mono);font-size:7px;letter-spacing:5px;color:rgba(200,0,30,.65);margin-bottom:7px;}
#bOut{font-family:var(--mono);font-size:13px;line-height:1.9;color:rgba(255,255,255,.78);border-right:2px solid rgba(255,255,255,.5);white-space:pre-wrap;animation:bc .65s step-end infinite;min-height:24px;}
@keyframes bc{0%,100%{border-color:rgba(255,255,255,.45)}50%{border-color:transparent}}
#charWrap{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:44px;width:min(1080px,100vw);z-index:40;
}
#phaseBar{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px;padding:0 20px;}
.ph-dots{display:flex;gap:5px;align-items:center;}
.ph-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.1);transition:all .4s ease;cursor:pointer;}
.ph-dot.active{background:var(--r2);width:18px;border-radius:3px;box-shadow:0 0 8px var(--r2);}
#phaseTitle{font-family:var(--mono);font-size:7px;letter-spacing:5px;color:rgba(200,0,30,.65);flex:1;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;}
#phaseTitle::before,#phaseTitle::after{content:'';flex:1;max-width:80px;height:1px;background:linear-gradient(to right,transparent,rgba(200,0,30,.3));}
#phaseTitle::after{background:linear-gradient(to left,transparent,rgba(200,0,30,.3));}
.ph-next{font-family:var(--mono);font-size:14px;color:rgba(200,0,30,.45);cursor:pointer;line-height:1;padding:2px 6px;transition:color .2s;}
.ph-next:hover{color:rgba(200,0,30,.9);}
#showroomWrap{position:relative;height:260px;overflow:hidden;}
#showroomWrap.phase-exit .showroom-row{animation:phaseExit .38s cubic-bezier(.4,0,1,1) forwards;}
#showroomWrap.phase-enter .showroom-row{animation:phaseEnter .45s cubic-bezier(0,0,.2,1) forwards;}
@keyframes phaseExit{0%{opacity:1;transform:translateY(0) scale(1);}100%{opacity:0;transform:translateY(32px) scale(.94);}}
@keyframes phaseEnter{0%{opacity:0;transform:translateY(-28px) scale(.96);}100%{opacity:1;transform:translateY(0) scale(1);}}
.showroom-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;height:252px;padding:0 16px;align-items:center;}
.sr-card{
  background:#1a1a1a;border:1px solid rgba(255,255,255,.08);border-radius:8px;
  overflow:hidden;position:relative;display:flex;flex-direction:column;height:228px;
  opacity:0.52;transform:scale(0.93) translateY(4px);
  transition:opacity .4s ease,transform .4s ease,border-color .3s;
}
.sr-card.center{
  opacity:1;transform:scale(1) translateY(0);
  border-color:rgba(200,0,30,.5);
  box-shadow:0 0 0 1px rgba(200,0,30,.18),0 24px 48px rgba(0,0,0,.6);z-index:2;
}
.sr-card.center::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#c8001e,transparent);z-index:10;
}
.sr-card.type-char .sr-card-top{display:flex;align-items:center;justify-content:space-between;padding:9px 11px 7px;flex-shrink:0;}
.sr-badge-rank{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:1px;padding:3px 8px;border-radius:3px;}
.sr-badge-rank.S{background:#c8001e;color:#fff;}
.sr-badge-rank.A{background:rgba(190,145,10,.9);color:#000;}
.sr-badge-rank.B{background:rgba(55,55,65,.9);color:rgba(255,255,255,.5);}
.sr-card.type-char .sr-img-area{flex:1;position:relative;overflow:hidden;background:#111;}
.sr-card.type-char .sr-img-area img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.sr-card.type-char .sr-no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:42px;background:linear-gradient(160deg,#1f1f1f,#111);}
.sr-card.type-char .sr-img-area::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(10,0,0,.92),transparent);pointer-events:none;z-index:1;}
.sr-card.type-char .sr-img-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 11px 9px;z-index:2;}
.sr-char-name{font-family:var(--dis);font-size:18px;letter-spacing:2px;color:#fff;line-height:1;margin-bottom:2px;}
.sr-char-role{font-family:var(--mono);font-size:7px;letter-spacing:3px;color:rgba(200,0,30,.85);margin-bottom:6px;}
.sr-char-bars{display:flex;flex-direction:column;gap:3px;}
.sr-bar-row{display:flex;align-items:center;gap:6px;}
.sr-bar-lbl{font-family:var(--mono);font-size:6px;letter-spacing:1.5px;color:rgba(255,255,255,.3);width:22px;flex-shrink:0;}
.sr-bar-track{flex:1;height:2px;background:rgba(255,255,255,.1);border-radius:1px;overflow:hidden;}
.sr-bar-fill{height:100%;border-radius:1px;}
.sr-bar-fill.red{background:#c8001e;}
.sr-bar-fill.amber{background:rgba(200,145,15,.85);}
.sr-bar-fill.green{background:rgba(0,180,70,.85);}
.sr-bar-fill.blue{background:rgba(40,120,220,.85);}
.sr-card.type-loc .sr-card-top{display:flex;align-items:center;justify-content:space-between;padding:9px 11px 0;flex-shrink:0;}
.sr-loc-badge{font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:1px;padding:3px 8px;border-radius:3px;background:#c8001e;color:#fff;}
.sr-loc-lvl{font-family:var(--mono);font-size:7px;letter-spacing:2px;color:rgba(255,255,255,.28);display:flex;align-items:center;gap:5px;}
.sr-loc-lvl b{color:rgba(255,255,255,.6);font-weight:normal;font-size:12px;}
.sr-card.type-loc .sr-loc-hero{padding:10px 12px 6px;flex-shrink:0;}
.sr-loc-icon-row{display:flex;align-items:center;gap:8px;margin-bottom:3px;}
.sr-loc-bigico{font-size:20px;}
.sr-loc-name{font-family:var(--dis);font-size:16px;letter-spacing:1.5px;color:rgba(255,255,255,.9);line-height:1;}
.sr-loc-tier{font-family:var(--mono);font-size:7px;letter-spacing:3px;color:rgba(200,0,30,.7);}
.sr-card.type-loc .sr-loc-rows{flex:1;padding:4px 12px 8px;display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.05);}
.sr-loc-row{display:flex;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.03);gap:7px;}
.sr-loc-row:last-child{border-bottom:none;}
.sr-lr-ico{font-size:11px;flex-shrink:0;opacity:.55;}
.sr-lr-lbl{font-family:var(--mono);font-size:7px;letter-spacing:1.5px;color:rgba(255,255,255,.3);flex:1;}
.sr-lr-val{font-family:var(--mono);font-size:8px;letter-spacing:1px;font-weight:700;}
.sr-lr-val.red{color:#e84040;}
.sr-lr-val.green{color:rgba(0,200,80,.9);}
.sr-lr-val.amber{color:rgba(210,160,20,.9);}
.sr-lr-val.dim{color:rgba(255,255,255,.35);}
.sr-card.type-mec{justify-content:space-between;}
.sr-card.type-mec .sr-card-top{display:flex;align-items:center;justify-content:space-between;padding:9px 11px 7px;flex-shrink:0;}
.sr-mec-body{flex:1;padding:0 12px;display:flex;flex-direction:column;justify-content:center;gap:5px;}
.sr-mec-ico{font-size:28px;line-height:1;margin-bottom:4px;display:block;}
.sr-mec-title{font-family:var(--dis);font-size:22px;letter-spacing:2px;color:rgba(255,255,255,.9);line-height:1;}
.sr-mec-desc{font-family:var(--mono);font-size:7.5px;letter-spacing:.5px;color:rgba(255,255,255,.35);line-height:1.7;}
.sr-mec-bottom{padding:8px 12px 10px;border-top:1px solid rgba(255,255,255,.05);flex-shrink:0;}
.sr-mec-stat{font-family:var(--mono);font-size:7px;letter-spacing:2px;}
.sr-mec-stat.red{color:rgba(200,0,30,.75);}
.sr-mec-stat.amber{color:rgba(200,155,20,.75);}
.sr-mec-stat.green{color:rgba(0,175,65,.75);}
.sr-mec-stat.purple{color:rgba(130,75,210,.75);}
.sr-mec-bars{display:flex;flex-direction:column;gap:4px;margin-top:5px;}
.sr-card.type-feed{justify-content:space-between;}
.sr-card.type-feed .sr-card-top{display:flex;align-items:center;justify-content:space-between;padding:9px 11px 7px;border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0;}
.sr-badge.CANLI{font-family:var(--mono);font-size:7px;letter-spacing:2px;padding:3px 7px;border-radius:3px;background:rgba(200,0,30,.15);color:rgba(230,70,70,.9);border:1px solid rgba(200,0,30,.3);animation:feedBlink 1.4s step-end infinite;}
@keyframes feedBlink{0%,100%{opacity:1}50%{opacity:.4}}
.sr-feed-body{flex:1;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:4px;}
.sr-feed-ico{font-size:22px;margin-bottom:6px;display:block;}
.sr-feed-city{font-family:var(--mono);font-size:7px;letter-spacing:4px;color:rgba(200,0,30,.7);margin-bottom:3px;}
.sr-feed-title{font-family:var(--dis);font-size:17px;letter-spacing:1.5px;color:rgba(255,255,255,.85);line-height:1.1;}
.sr-feed-sub{font-family:var(--mono);font-size:7px;letter-spacing:.5px;color:rgba(255,255,255,.3);line-height:1.6;margin-top:3px;}
.sr-feed-bottom{padding:7px 12px 9px;border-top:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.sr-feed-time{font-family:var(--mono);font-size:6px;letter-spacing:1.5px;color:rgba(255,255,255,.18);}
.sr-feed-pts{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:rgba(0,200,80,.7);}
#phaseProgress{position:absolute;bottom:0;left:0;height:2px;background:#000000b5;border-radius:1px;transition:width linear;box-shadow:0 0 8px rgba(232,0,42,.6);}
#locBlur{display:none;position:fixed;inset:0;z-index:489;backdrop-filter:blur(10px) brightness(.4);background:rgba(3,2,8,.55);opacity:0;transition:opacity .45s ease;}
#locBlur.active{opacity:1;}
#corner-tl,#corner-tr,#corner-bl,#corner-br{position:fixed;z-index:5;pointer-events:none;width:20px;height:20px;}
#corner-tl{top:66px;left:8px;border-top:1px solid rgba(200,0,30,.18);border-left:1px solid rgba(200,0,30,.18);}
#corner-tr{top:66px;right:8px;border-top:1px solid rgba(200,0,30,.18);border-right:1px solid rgba(200,0,30,.18);}
#corner-bl{bottom:44px;left:8px;border-bottom:1px solid rgba(200,0,30,.18);border-left:1px solid rgba(200,0,30,.18);}
#corner-br{bottom:44px;right:8px;border-bottom:1px solid rgba(200,0,30,.18);border-right:1px solid rgba(200,0,30,.18);}
#leftbar{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:10;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:10px;}
.lbitem{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--mono);font-size:5px;letter-spacing:4px;color:rgba(255,255,255,.07);transform:rotate(180deg);}
.lbdot{width:3px;height:3px;border-radius:50%;background:rgba(200,0,30,.18);}
.lbline{width:1px;height:38px;background:linear-gradient(rgba(200,0,30,.12),transparent);}
#rpanel{display:none!important;width:0;}
.ps{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0;}
.ps:last-child{border-bottom:none;}
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.pt{font-family:var(--mono);font-size:6px;letter-spacing:5px;color:rgba(255,255,255,.16);display:flex;align-items:center;gap:8px;}
.pt::before{content:'';width:7px;height:1px;background:rgba(200,0,30,.45);}
.pb{font-family:var(--mono);font-size:6px;letter-spacing:2px;padding:2px 7px;border-radius:1px;border:1px solid rgba(200,0,30,.2);color:rgba(200,0,30,.38);}
.pb.green{border-color:rgba(0,200,80,.2);color:rgba(0,200,80,.5);}
.pb.yellow{border-color:rgba(200,155,0,.2);color:rgba(200,155,0,.5);}
#locSection{padding:16px 18px 14px;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0;}
#locPending{display:flex;flex-direction:column;}
.loc-icon-ring{width:44px;height:44px;border-radius:50%;border:1px solid rgba(200,0,30,.35);background:rgba(200,0,30,.06);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;position:relative;animation:locpulse 2.2s ease-in-out infinite;}
.loc-icon-ring::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(200,0,30,.12);animation:locring 2.2s ease-in-out infinite;}
@keyframes locpulse{0%,100%{border-color:rgba(200,0,30,.35);box-shadow:0 0 0 0 rgba(200,0,30,.0)}50%{border-color:rgba(200,0,30,.7);box-shadow:0 0 16px rgba(200,0,30,.2)}}
@keyframes locring{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.1}}
.loc-title{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.55);margin-bottom:5px;}
.loc-desc{font-family:var(--mono);font-size:7px;letter-spacing:.5px;color:rgba(255,255,255,.22);line-height:1.7;margin-bottom:12px;}
.loc-desc span{color:rgba(200,0,30,.7);}
#locBtn{width:100%;padding:8px 0;font-family:var(--mono);font-size:8px;letter-spacing:3px;color:#fff;background:var(--r);border:none;border-radius:2px;position:relative;overflow:hidden;transition:background .2s;cursor:pointer;}
#locBtn:hover{background:var(--r2);}
#locBtn::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-100%);animation:shimmer 2s infinite;}
@keyframes shimmer{to{transform:translateX(100%)}}
.loc-skip{font-family:var(--mono);font-size:6px;letter-spacing:2px;color:rgba(255,255,255,.15);text-align:center;margin-top:8px;cursor:pointer;transition:color .2s;}
.loc-skip:hover{color:rgba(255,255,255,.35);}
#locActive{display:none;flex-direction:column;}
.loc-active-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.loc-dot-live{width:6px;height:6px;border-radius:50%;background:rgba(0,210,80,.9);box-shadow:0 0 8px rgba(0,210,80,.8);animation:ld 1.3s ease-in-out infinite;flex-shrink:0;}
.loc-city-name{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:rgba(255,255,255,.7);}
.loc-coords{font-family:var(--mono);font-size:6px;letter-spacing:1px;color:rgba(255,255,255,.18);}
.loc-stat-row{display:flex;gap:8px;margin-bottom:10px;}
.loc-stat{flex:1;background:rgba(200,0,30,.05);border:1px solid rgba(200,0,30,.1);border-radius:2px;padding:7px 9px;}
.ls-val{font-family:var(--mono);font-size:13px;letter-spacing:1px;color:rgba(255,255,255,.55);}
.ls-val.green{color:rgba(0,200,80,.6);}
.ls-lbl{font-family:var(--mono);font-size:6px;letter-spacing:2px;color:rgba(255,255,255,.18);margin-top:3px;}
#osmList{display:flex;flex-direction:column;gap:5px;}
.osm-item{display:flex;align-items:center;gap:9px;padding:7px 9px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:2px;position:relative;overflow:hidden;animation:oIn .3s ease;cursor:default;}
@keyframes oIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.osm-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;}
.osm-item.t-kazan::before{background:rgba(200,0,30,.7);}
.osm-item.t-koruma::before{background:rgba(0,170,60,.7);}
.osm-item.t-bilgi::before{background:rgba(200,155,0,.7);}
.osm-item.t-hazine::before{background:rgba(120,60,200,.7);}
.osm-ico{font-size:14px;flex-shrink:0;}
.osm-body{flex:1;min-width:0;}
.osm-name{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.osm-type{font-family:var(--mono);font-size:6px;letter-spacing:2px;margin-top:2px;}
.osm-item.t-kazan .osm-type{color:rgba(200,0,30,.5);}
.osm-item.t-koruma .osm-type{color:rgba(0,170,60,.5);}
.osm-item.t-bilgi .osm-type{color:rgba(200,155,0,.5);}
.osm-item.t-hazine .osm-type{color:rgba(120,60,200,.5);}
.osm-dist{font-family:var(--mono);font-size:7px;color:rgba(255,255,255,.2);flex-shrink:0;}
.osm-loading{font-family:var(--mono);font-size:8px;letter-spacing:2px;color:rgba(255,255,255,.2);padding:10px 0;text-align:center;animation:blink 1s step-end infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.pulse-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.03);}
.pulse-row:last-child{border-bottom:none;}
.pulse-flag{font-size:11px;flex-shrink:0;}
.pulse-city{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:rgba(255,255,255,.38);width:54px;flex-shrink:0;}
.pulse-bar-wrap{flex:1;height:3px;background:rgba(255,255,255,.04);border-radius:2px;overflow:hidden;}
.pulse-bar-fill{height:100%;border-radius:2px;transition:width 1s ease;}
.pulse-val{font-family:var(--mono);font-size:7px;color:rgba(255,255,255,.2);width:28px;text-align:right;flex-shrink:0;}
.tkwrap{overflow:hidden;position:relative;}
.tkwrap::after{content:'';position:absolute;bottom:0;left:0;right:0;height:24px;background:linear-gradient(transparent,rgba(4,2,12,.9));pointer-events:none;}
.tki{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.03);animation:tkin .3s ease;display:flex;gap:9px;align-items:flex-start;}
@keyframes tkin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.tk-icon{font-size:11px;flex-shrink:0;margin-top:1px;}
.tk-body{flex:1;min-width:0;}
.tkc{font-family:var(--mono);font-size:7px;letter-spacing:2px;color:rgba(255,255,255,.4);}
.tkt{font-family:var(--mono);font-size:7px;color:rgba(255,255,255,.18);margin-top:1px;line-height:1.5;}
.tkm{font-family:var(--mono);font-size:6px;color:rgba(255,255,255,.1);margin-top:2px;}
#btm{position:fixed;bottom:0;left:0;right:0;z-index:35;height:40px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.05);background:linear-gradient(to top,rgba(3,2,8,.96),rgba(3,2,8,.3));}
.bq{font-family:var(--mono);font-size:7px;letter-spacing:2px;color:rgba(255,255,255,.08);font-style:italic;}
.bnums{display:flex;gap:22px;}
.bnum{font-family:var(--mono);font-size:7px;letter-spacing:2px;color:rgba(255,255,255,.12);}
.bnum b{color:rgba(255,255,255,.28);font-weight:normal;}
.bver{font-family:var(--mono);font-size:6px;letter-spacing:3px;color:rgba(200,0,30,.18);}
#cin{position:fixed;inset:0;z-index:900;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.fb{position:absolute;left:0;right:0;height:88px;background:#000;z-index:2;}
.fb.t{top:0;}.fb.b{bottom:0;}
#cbg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at center,rgba(18,2,4,1) 0%,#000 60%);}
#ctxt{position:relative;z-index:3;font-family:var(--dis);font-size:clamp(18px,2.4vw,26px);letter-spacing:3px;color:rgba(255,255,255,0);text-align:center;line-height:2.1;max-width:600px;padding:0 40px;transition:color 2s ease,opacity .6s ease;min-height:100px;display:flex;align-items:center;justify-content:center;white-space:pre-wrap;}
#ctxt.vis{color:rgba(255,255,255,.8);}
#ctxt.out{opacity:0;}
#ctit{position:relative;z-index:3;font-family:var(--dis);font-size:clamp(80px,12vw,140px);letter-spacing:16px;color:rgba(255,255,255,0);transition:color 2.2s ease;text-align:center;margin-top:20px;}
#ctit em{font-style:normal;color:rgba(184,0,26,0);transition:color 2.2s ease,text-shadow 2.2s ease;}
#ctit.vis{color:#fff;}
#ctit.vis em{color:var(--r2);text-shadow:0 0 80px rgba(232,0,42,1),0 0 180px rgba(200,0,30,.5);}
#cprog{position:absolute;bottom:96px;left:48px;z-index:10;font-family:var(--mono);font-size:8px;letter-spacing:4px;color:rgba(255,255,255,.09);}
#skip{position:absolute;bottom:98px;right:48px;z-index:10;font-family:var(--mono);font-size:8px;letter-spacing:3px;color:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.1);padding:6px 14px;border-radius:2px;background:transparent;transition:all .25s;}
#skip:hover{color:rgba(255,255,255,.42);border-color:rgba(255,255,255,.26);}
#locPermToast{display:none;position:fixed;top:68px;left:50%;transform:translateX(-50%) translateY(-18px);z-index:500;width:min(360px,calc(100vw - 32px));background:rgba(5,2,14,.97);border:1px solid rgba(200,0,30,.38);border-top:2px solid var(--r2);border-radius:4px;backdrop-filter:blur(28px);box-shadow:0 12px 56px rgba(0,0,0,.75),0 0 50px rgba(200,0,30,.14);padding:18px 20px 16px;opacity:0;transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);}
#locPermToast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.lpt-head{display:flex;align-items:center;gap:10px;margin-bottom:11px;}
.lpt-ico{font-size:22px;animation:locpulse 2.2s ease-in-out infinite;}
.lpt-label{font-family:var(--mono);font-size:6px;letter-spacing:4px;color:rgba(200,0,30,.55);margin-bottom:2px;}
.lpt-title{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.78);}
.lpt-desc{font-family:var(--mono);font-size:7.5px;letter-spacing:.4px;color:rgba(255,255,255,.32);line-height:1.9;margin-bottom:15px;padding-left:2px;}
.lpt-desc b{color:rgba(200,0,30,.8);font-weight:normal;}
.lpt-desc em{color:rgba(255,255,255,.6);font-style:normal;}
#lptBtn{width:100%;padding:11px 0;font-family:var(--mono);font-size:8px;letter-spacing:3px;color:#fff;background:var(--r);border:none;border-radius:2px;cursor:pointer;transition:background .2s;position:relative;overflow:hidden;}
#lptBtn:hover{background:var(--r2);}
#lptBtn::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-100%);animation:shimmer 2s infinite;}
.lpt-skip{font-family:var(--mono);font-size:6px;letter-spacing:2px;color:rgba(255,255,255,.18);text-align:center;margin-top:9px;cursor:pointer;transition:color .2s;}
.lpt-skip:hover{color:rgba(255,255,255,.38);}
#mToastArea{display:none;position:fixed;top:56px;right:10px;z-index:60;width:210px;flex-direction:column;gap:6px;pointer-events:none;}
.m-toast{background:rgba(5,2,10,.9);backdrop-filter:blur(14px);border:1px solid rgba(200,0,30,.18);border-left:2px solid var(--r2);border-radius:3px;padding:9px 11px;font-family:var(--mono);pointer-events:none;transform:translateX(230px);opacity:0;animation:toastIn .38s cubic-bezier(.22,1,.36,1) forwards,toastOut .4s ease 4.3s forwards;}
@keyframes toastIn{to{transform:translateX(0);opacity:1;}}
@keyframes toastOut{to{transform:translateX(230px);opacity:0;}}
.m-toast-head{display:flex;align-items:center;gap:6px;margin-bottom:4px;}
.m-toast-dot{width:4px;height:4px;border-radius:50%;background:var(--r2);box-shadow:0 0 6px var(--r2);flex-shrink:0;animation:ld 1.3s ease-in-out infinite;}
.m-toast-city{font-size:6px;letter-spacing:3px;color:rgba(200,0,30,.72);}
.m-toast-ico{font-size:9px;margin-left:auto;}
.m-toast-txt{font-size:7px;letter-spacing:.4px;color:rgba(255,255,255,.45);line-height:1.5;}
.m-toast-time{font-size:5px;color:rgba(255,255,255,.14);margin-top:4px;letter-spacing:1px;}
#mSheet{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(4,2,14,.96);border-top:1px solid rgba(200,0,30,.2);border-radius:14px 14px 0 0;backdrop-filter:blur(32px);transform:translateY(100%);transition:transform .38s cubic-bezier(.22,1,.36,1);max-height:78vh;overflow:hidden;flex-direction:column;}
#mSheet.open{transform:translateY(0);}
#mSheet::before{content:'';display:block;width:36px;height:3px;border-radius:2px;background:rgba(255,255,255,.15);margin:10px auto 0;flex-shrink:0;}
#sheetHandle{height:28px;width:100%;flex-shrink:0;cursor:grab;display:flex;align-items:center;justify-content:center;}
#sheetTabs{display:flex;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;padding:0 16px;}
.stab{font-family:var(--mono);font-size:7px;letter-spacing:3px;color:rgba(255,255,255,.22);padding:9px 14px;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s;flex:1;text-align:center;}
.stab.active{color:rgba(200,0,30,.9);border-bottom-color:var(--r2);}
#sheetBody{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 24px;}
#sheetBody::-webkit-scrollbar{display:none;}
.sh-loc-pend{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px;}
.sh-loc-ico{font-size:32px;margin-bottom:10px;animation:locpulse 2.2s ease-in-out infinite;}
.sh-loc-title{font-family:var(--mono);font-size:10px;letter-spacing:3px;color:rgba(255,255,255,.6);margin-bottom:6px;}
.sh-loc-desc{font-family:var(--mono);font-size:7px;letter-spacing:.5px;color:rgba(255,255,255,.25);line-height:1.8;margin-bottom:14px;}
.sh-loc-desc span{color:rgba(200,0,30,.75);}
#shLocBtn{width:100%;padding:11px 0;font-family:var(--mono);font-size:9px;letter-spacing:3px;color:#fff;background:var(--r);border:none;border-radius:3px;cursor:pointer;position:relative;overflow:hidden;transition:background .2s;}
#shLocBtn:hover{background:var(--r2);}
#shLocBtn::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-100%);animation:shimmer 2s infinite;}
.sh-loc-skip{font-family:var(--mono);font-size:7px;letter-spacing:2px;color:rgba(255,255,255,.2);text-align:center;margin-top:10px;cursor:pointer;}
.sh-loc-active{display:none;flex-direction:column;gap:10px;}
.sh-loc-ahead{display:flex;align-items:center;gap:10px;}
.sh-loc-aname{font-family:var(--mono);font-size:12px;letter-spacing:2px;color:rgba(255,255,255,.7);}
.sh-loc-acoord{font-family:var(--mono);font-size:6px;color:rgba(255,255,255,.2);}
.sh-stats-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
.sh-stat{background:rgba(200,0,30,.05);border:1px solid rgba(200,0,30,.1);border-radius:2px;padding:8px 10px;}
.sh-sv{font-family:var(--mono);font-size:14px;color:rgba(255,255,255,.55);}
.sh-sv.green{color:rgba(0,200,80,.7);}
.sh-sl{font-family:var(--mono);font-size:5px;letter-spacing:2px;color:rgba(255,255,255,.2);margin-top:3px;}
#shOsmList{display:flex;flex-direction:column;gap:5px;}
.sh-mec-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sh-mec{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:3px;padding:11px 12px;position:relative;overflow:hidden;}
.sh-mec-ico{font-size:20px;margin-bottom:8px;}
.sh-mec-title{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.6);margin-bottom:4px;}
.sh-mec-desc{font-family:var(--mono);font-size:7px;color:rgba(255,255,255,.22);line-height:1.6;}
.sh-mec-stat{font-family:var(--mono);font-size:7px;margin-top:6px;color:rgba(200,0,30,.6);}
.sh-feed-item{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.sh-fi-ico{font-size:13px;flex-shrink:0;margin-top:1px;}
.sh-fi-body{flex:1;min-width:0;}
.sh-fi-city{font-family:var(--mono);font-size:7px;letter-spacing:2px;color:rgba(255,255,255,.4);}
.sh-fi-txt{font-family:var(--mono);font-size:8px;color:rgba(255,255,255,.22);margin-top:2px;line-height:1.5;}
.sh-fi-time{font-family:var(--mono);font-size:6px;color:rgba(255,255,255,.12);margin-top:2px;}
#sheetBack{display:none;position:fixed;inset:0;z-index:69;background:rgba(0,0,0,.4);}
@media(max-width:768px){
  #atmos{background:linear-gradient(to bottom,rgba(3,2,8,.75) 0%,transparent 18%,transparent 70%,rgba(3,2,8,.8) 100%);}
  #hdr{height:46px;padding:0 12px;}
  .logo{font-size:24px;letter-spacing:4px;}
  .hstat{display:none;}
  .lpill{font-size:5px;letter-spacing:2px;padding:4px 8px;gap:5px;}
  .ldot{width:4px;height:4px;}
  #leftbar,#corner-tl,#corner-tr,#corner-bl,#corner-br{display:none;}
  #hero{position:fixed;top:54px;left:10px;bottom:auto;width:200px;max-width:200px;padding:0;}
  .eyebrow{font-size:6px;letter-spacing:3px;margin-bottom:4px;}
  .htitle{font-size:42px;line-height:.85;margin-bottom:4px;}
  .tagline{display:none;}
  .brief{background:rgba(3,2,8,.85);backdrop-filter:blur(14px);width:100%;padding:7px 9px;}
  .brief::before{display:none;}
  .blabel{font-size:5px;letter-spacing:2px;margin-bottom:2px;}
  #bOut{font-size:8px;line-height:1.55;min-height:36px;color:rgba(255,255,255,.68);white-space:normal;word-break:break-word;}
  #charWrap{position:fixed;bottom:10px;left:4px;right:4px;width:auto;transform:none;padding:0 4px;}
  #phaseBar{margin-bottom:6px;gap:8px;}
  #phaseTitle{font-size:5px;letter-spacing:3px;}
  .ph-dot{width:4px;height:4px;}
  .ph-dot.active{width:10px;}
  .ph-next{font-size:11px;}
  #showroomWrap{height:130px;}
  .showroom-row{gap:7px;height:122px;padding:0 6px;}
  .sr-card{height:118px;border-radius:6px;}
  .sr-card.type-char .sr-card-top{padding:5px 7px 4px;}
  .sr-badge-rank{font-size:6px!important;padding:2px 5px!important;}
  .sr-char-name{font-size:13px!important;}
  .sr-char-role{font-size:5px!important;letter-spacing:2px!important;margin-bottom:3px!important;}
  .sr-card.type-char .sr-img-area::after{height:65%;}
  .sr-card.type-char .sr-img-overlay{padding:5px 7px 6px;}
  .sr-char-bars{gap:2px;}
  .sr-bar-lbl{font-size:5px!important;width:16px!important;}
  .sr-no-img{font-size:28px!important;}
  .sr-card.type-loc .sr-card-top{padding:5px 7px 0;}
  .sr-loc-badge{font-size:6px;padding:2px 5px;}
  .sr-loc-lvl{font-size:5px;}
  .sr-loc-lvl b{font-size:10px;}
  .sr-card.type-loc .sr-loc-hero{padding:6px 8px 4px;}
  .sr-loc-name{font-size:11px;}
  .sr-loc-tier{font-size:5px;letter-spacing:2px;}
  .sr-card.type-loc .sr-loc-rows{padding:2px 8px 5px;}
  .sr-loc-row{padding:3px 0;gap:4px;}
  .sr-lr-ico{font-size:8px;}
  .sr-lr-lbl{font-size:5px;}
  .sr-lr-val{font-size:6px;}
  .sr-loc-bigico{font-size:14px;}
  .sr-card.type-mec .sr-card-top{padding:5px 7px 4px;}
  .sr-mec-body{padding:0 8px;gap:2px;}
  .sr-mec-ico{font-size:18px;margin-bottom:2px;}
  .sr-mec-title{font-size:14px;}
  .sr-mec-desc{font-size:6px;line-height:1.5;}
  .sr-mec-bottom{padding:4px 8px 6px;}
  .sr-mec-stat{font-size:5px;letter-spacing:1.5px;}
  .sr-card.type-feed .sr-card-top{padding:5px 7px 5px;}
  .sr-feed-body{padding:6px 8px;gap:2px;}
  .sr-feed-ico{font-size:14px;margin-bottom:3px;}
  .sr-feed-city{font-size:5px;letter-spacing:2px;margin-bottom:2px;}
  .sr-feed-title{font-size:11px;}
  .sr-feed-sub{font-size:5px;line-height:1.4;}
  .sr-feed-bottom{padding:4px 8px 6px;}
  .sr-feed-time{font-size:5px;}
  .sr-feed-pts{font-size:6px;}
  #rpanel{display:none;}
  #btm{display:none;}
  #mToastArea{display:flex;}
  #mSheet{display:flex;}
  #ctxt{font-size:clamp(13px,4.5vw,19px);padding:0 16px;}
  #ctit{font-size:clamp(56px,18vw,104px);}
  #cprog{left:16px;bottom:74px;font-size:6px;}
  #skip{right:16px;bottom:76px;font-size:6px;padding:5px 10px;}
  .fb{height:50px;}
}
@media(max-width:480px){
  #hero{width:185px;}
  .htitle{font-size:36px;}
  #bOut{font-size:7px;}
  .showroom-row{gap:6px;padding:0 4px;}
}