/* YOORBIS — WORLD screen + country walls.
   Palette: ocean blues, atlas-coloured land, navy glass panels,
   GOLD #ffc93c for actions, TURQUOISE #35e0d0 for live/light accents. */
:root{
  --red:#ffc93c;
  --gold:#ffc93c;
  --gold2:#f5a524;
  --aqua:#35e0d0;
  --ink:#0a2350;
  --glass:rgba(9,32,74,.58);
  --line:rgba(255,255,255,.55);
  --navy:#0a2a62;
  --panel:linear-gradient(180deg,rgba(16,48,104,.97),rgba(8,28,66,.98));
  --border:rgba(255,255,255,.55);
  --text-dim:rgba(255,255,255,.7);
  --top-h:72px;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0b3b78;color:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button{font-family:inherit;color:inherit}
[hidden]{display:none!important}
.app{position:fixed;inset:0}
.screen{position:absolute;inset:0}

/* ---------------- map ---------------- */
.worldScreen{background:radial-gradient(120% 95% at 50% 48%,#4cb2f0 0%,#2385d6 42%,#0f55a8 75%,#0a3a80 100%)}
.mapViewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}
.mapViewport.dragging{cursor:grabbing}
.mapSvg{position:absolute;inset:0;width:100%;height:100%;display:block}
.mapSvg .sphere{fill:rgba(255,255,255,0);stroke:none}
.mapSvg .graticule{fill:none;stroke:rgba(255,255,255,.05);stroke-width:.6px;vector-effect:non-scaling-stroke}
.mapSvg .country{stroke:none;cursor:pointer}
.atlasCanvas{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none;will-change:transform}
.mapOver{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.mapOver .borders{fill:none;stroke:rgba(255,255,255,.62);stroke-width:.7px;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.mapOver .coast{fill:none;stroke:rgba(225,248,255,.85);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.mapOver .hlPath{fill:rgba(255,201,60,.78);stroke:#fff;stroke-width:1.6px;vector-effect:non-scaling-stroke;stroke-linejoin:round}

.vignette{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(6,26,66,.62) 0,rgba(6,26,66,0) 110px),
  radial-gradient(130% 110% at 50% 50%,rgba(0,0,0,0) 66%,rgba(4,22,58,.35) 100%)}

/* ---------------- flags ---------------- */
.flagLayer{position:absolute;inset:0;pointer-events:none}
.flag{position:absolute;left:0;top:0;padding:0;margin:0;border:0;background:none;cursor:pointer;pointer-events:auto;
  transform-origin:50% 50%;will-change:transform;line-height:0;opacity:1;transition:opacity .2s ease}
.flag img{display:block;width:100%;height:100%;border-radius:2px;object-fit:cover;
  box-shadow:0 0 0 1px rgba(255,255,255,.55),0 3px 10px rgba(0,0,0,.65);transition:transform .15s ease,box-shadow .15s ease}
.flag:hover img,.flag:focus-visible img,.flag.hl img{transform:scale(1.28);box-shadow:0 0 0 1.5px #fff,0 0 14px rgba(255,201,60,.9),0 4px 14px rgba(0,0,0,.8)}
.flag:focus-visible{outline:none}
.flag.off{opacity:0;pointer-events:none;visibility:hidden}
.flag.hl{z-index:5}

.flagTip{position:absolute;left:0;top:0;z-index:20;pointer-events:none;opacity:0;transform:translate(-50%,-100%);
  white-space:nowrap;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(8,30,72,.9);
  backdrop-filter:blur(8px);font-size:11px;font-weight:800;letter-spacing:.1em;transition:opacity .12s ease;display:flex;gap:9px}
.flagTip.show{opacity:1}
.flagTip .tipFill{color:#ffd166;font-variant-numeric:tabular-nums}

/* ---------------- top bar ---------------- */
.worldTop{position:absolute;z-index:10;left:0;right:0;top:0;height:var(--top-h);
  padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));
  display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}
.worldTop > *{pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brandBadge{width:42px;height:42px;flex:none;border-radius:50%;display:block;filter:drop-shadow(0 4px 10px rgba(4,20,50,.45)) drop-shadow(0 0 10px rgba(255,201,60,.35))}
.brandBadge svg{display:block;width:100%;height:100%}
.brandText{font-size:19px;font-weight:900;letter-spacing:.2em;text-shadow:0 2px 10px rgba(4,20,50,.55);line-height:1;padding-bottom:9px}
/* the logo: YOORBIS with an upside-down U under the second O → reads "YOUR" */
.oU{position:relative;display:inline-block;color:var(--gold)}
.oU:after{content:"";position:absolute;left:50%;top:calc(100% + 2px);width:.64em;height:.46em;margin-left:calc(-.32em - .1em);border:.13em solid var(--gold);border-bottom:0;border-radius:.34em .34em 0 0;box-sizing:border-box}
.worldTitle{position:absolute;left:50%;top:max(24px,calc(env(safe-area-inset-top) + 10px));transform:translateX(-50%);
  font-size:13px;font-weight:900;letter-spacing:.62em;padding-left:.62em;color:#fff;pointer-events:none;
  text-shadow:0 2px 12px rgba(4,20,50,.7)}
.worldTitle:after{content:"";display:block;width:34px;height:2px;margin:9px auto 0;background:var(--gold);box-shadow:0 0 12px rgba(255,201,60,.8)}

.pill{height:40px;border:1px solid var(--line);background:var(--glass);color:#fff;border-radius:999px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:12px;font-weight:800;letter-spacing:.12em;transition:background .2s,border-color .2s}
.pill:hover{background:rgba(12,44,98,.85);border-color:#fff}
.countriesBtn{border-color:rgba(255,255,255,.8);background:linear-gradient(110deg,rgba(10,36,84,.92),rgba(14,130,150,.92));box-shadow:0 6px 18px rgba(4,20,50,.35),0 0 16px rgba(53,224,208,.3)}
.countriesBtn .globe{font-size:15px;line-height:1}

/* ---------------- zoom ---------------- */
.zoomControls{position:absolute;z-index:10;right:max(18px,env(safe-area-inset-right));bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px));
  display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.45);border-radius:14px;box-shadow:0 8px 22px rgba(4,20,50,.35);overflow:hidden;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.zoomBtn{width:42px;height:42px;border:0;background:none;color:#fff;font-size:20px;font-weight:700;cursor:pointer;line-height:1}
.zoomBtn + .zoomBtn{border-top:1px solid rgba(255,255,255,.22)}
.zoomBtn:hover{background:rgba(255,255,255,.14)}
.zoomBtn:disabled{opacity:.3;cursor:default}

.loading{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.4em;color:#fff;text-shadow:0 2px 8px rgba(4,20,50,.6);pointer-events:none}

/* ---------------- drawer ---------------- */
.drawerBackdrop{position:absolute;z-index:40;inset:0;background:rgba(4,18,46,.42);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s}
.drawerBackdrop.open{opacity:1;visibility:visible}
.countriesDrawer{position:absolute;z-index:41;top:0;right:0;bottom:0;width:min(420px,92vw);display:flex;flex-direction:column;
  background:var(--panel);border-left:1px solid rgba(255,255,255,.25);
  box-shadow:-24px 0 60px rgba(4,18,46,.5);transform:translateX(102%);transition:transform .32s cubic-bezier(.2,.8,.2,1);
  padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.countriesDrawer.open{transform:translateX(0)}
.drawerHead{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 10px 22px}
.drawerTitle{font-size:13px;font-weight:900;letter-spacing:.22em}
.drawerCount{color:var(--text-dim);font-weight:700;letter-spacing:.1em;margin-left:6px}
.drawerClose{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);font-size:22px;cursor:pointer;line-height:1}
.drawerClose:hover{background:rgba(255,255,255,.1)}
.searchWrap{padding:6px 18px 12px}
.countrySearch{width:100%;height:46px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;font-size:15px;outline:none;-webkit-appearance:none;appearance:none}
.countrySearch::placeholder{color:rgba(255,255,255,.6)}
.countrySearch:focus{border-color:rgba(53,224,208,.9);box-shadow:0 0 0 3px rgba(53,224,208,.2)}
.listHead{display:flex;justify-content:space-between;padding:6px 26px 8px;font-size:10px;font-weight:800;letter-spacing:.24em;color:rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.14)}
.countryList{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px 10px 20px}
.countryRow{width:100%;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:11px 14px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer;font-size:14px}
.countryRow:hover,.countryRow:focus-visible{background:rgba(255,255,255,.12);outline:none}
.countryRow img{width:30px;height:22.5px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.countryRow .cName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;letter-spacing:.02em}
.countryRow .cFill{font-variant-numeric:tabular-nums;font-weight:800;color:#ffd166;letter-spacing:.04em}
.listEmpty{padding:30px 26px;color:var(--text-dim);font-size:13px;letter-spacing:.08em}

/* ---------------- country advertising wall ---------------- */
.wallScreen{z-index:50;--wall-top:64px;background:
  radial-gradient(55% 40% at 15% 18%,rgba(255,255,255,.28),rgba(255,255,255,0) 70%),
  radial-gradient(45% 35% at 88% 72%,rgba(120,230,255,.25),rgba(120,230,255,0) 70%),
  linear-gradient(180deg,#63c4ff 0%,#2f92e6 34%,#1662bf 68%,#0b3c86 100%)}
.wallTop{position:absolute;z-index:12;left:0;right:0;top:0;height:calc(var(--wall-top) + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));
  display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,rgba(8,30,72,.9),rgba(10,38,88,.78));border-bottom:1px solid rgba(255,255,255,.22);box-shadow:0 6px 20px rgba(4,20,50,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.wallTitle{flex:1;min-width:0;display:flex;align-items:center;gap:12px}
.wallFlag{width:40px;height:30px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.4),0 4px 14px rgba(0,0,0,.6);flex:none}
.wallTitleText{min-width:0}
.wallName{font-size:18px;font-weight:900;letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wallStats{font-size:10.5px;font-weight:800;letter-spacing:.16em;color:#ffd166;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.buyBtn{border:1px solid rgba(255,255,255,.75);background:linear-gradient(180deg,#ffd75e,#f5a524);color:var(--ink);box-shadow:0 6px 18px rgba(120,70,0,.3),inset 0 1px 0 rgba(255,255,255,.45);letter-spacing:.14em;font-weight:900;flex:none}
.buyBtn:hover{background:linear-gradient(180deg,#ffe07a,#f7b23a);border-color:#fff}
.wallBack{flex:none}

.wallStage{position:absolute;left:0;right:0;bottom:0;top:calc(var(--wall-top) + env(safe-area-inset-top));overflow:hidden}
.wallStage.shake{animation:wallShake .32s linear}
@keyframes wallShake{0%,100%{transform:none}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(2px,1px)}}
.wallCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.wallCanvas:active{cursor:grabbing}

/* search bar; its button is the bow that shoots the arrow */
.seekBar{position:absolute;z-index:8;top:8px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;width:min(600px,calc(100% - 24px))}
.mascotHost{display:block;width:30px;height:30px}
.bow{display:block;width:100%;height:100%;overflow:visible;transition:transform .22s cubic-bezier(.2,.9,.3,1.2)}
.bowString{transition:d .18s ease}
.bow.throwing .bowString{d:path("M17 5 L4 24 L17 43")}
.bow.throwing .bowArrow{transform:translateX(-5px)}
.bowArrow{transition:transform .18s ease,opacity .12s ease}
.bow.released .bowString{d:path("M17 5 L17 24 L17 43");transition:none}
.bow.released .bowArrow{opacity:0;transition:none}
.seekGo:hover .bow:not(.throwing){transform:scale(1.12)}
.mascotBubble{position:absolute;right:10px;top:calc(100% + 6px);z-index:3;padding:6px 11px;border-radius:12px 3px 12px 12px;background:#fff;color:#0a0a0a;font-size:11px;font-weight:900;letter-spacing:.1em;white-space:nowrap;
  opacity:0;transform:translateY(-6px) scale(.9);transform-origin:100% 0;transition:opacity .18s ease,transform .18s ease;pointer-events:none;box-shadow:0 6px 18px rgba(4,20,50,.4)}
.mascotBubble.show{opacity:1;transform:none}
.seekForm{flex:1;display:flex;height:48px;border-radius:999px;border:1.5px solid rgba(255,255,255,.75);background:rgba(8,30,72,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(4,20,50,.35);overflow:hidden}
.seekInput{flex:1;min-width:0;border:0;background:none;color:#fff;font-size:15px;padding:0 6px 0 18px;outline:none;-webkit-appearance:none;appearance:none}
.seekInput::placeholder{color:rgba(255,255,255,.62)}
.seekGo{width:56px;flex:none;border:0;border-left:1.5px solid rgba(255,255,255,.75);background:linear-gradient(180deg,#ffd75e,#f5a524);color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0}
.seekGo:hover{background:linear-gradient(180deg,#ffe07a,#f7b23a)}

/* flying pointer / electric impact overlay */
.fxLayer{position:fixed;inset:0;width:100%;height:100%;z-index:70;pointer-events:none;overflow:visible}

/* ad info card */
.adCard{position:absolute;left:0;top:0;z-index:9;min-width:170px;max-width:min(300px,80vw);padding:11px 14px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.55);
  background:rgba(8,28,68,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 22px rgba(127,220,255,.25),0 14px 34px rgba(4,20,50,.45);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease}
.adCard.show{opacity:1;visibility:visible}
.adCard.pinned{pointer-events:auto}
.adCardTitle{font-size:15px;font-weight:900;letter-spacing:.04em;line-height:1.2;word-break:break-word}
.adCardHost{margin-top:4px;font-size:12px;color:#8fe3ff;font-weight:700;word-break:break-all}
.adCardVisit{display:none;margin-top:10px;width:100%;height:38px;border:0;border-radius:10px;background:#fff;color:#000;font-weight:900;letter-spacing:.1em;cursor:pointer}
.adCard.pinned .adCardVisit{display:block}
.adCardHint{margin-top:6px;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.6);font-weight:800}
.adCard.pinned .adCardHint{display:none}

.wallZoom{bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))}

/* buy space: selection banner */
.selBanner{position:absolute;z-index:10;left:50%;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));transform:translateX(-50%);width:min(560px,calc(100% - 90px));
  padding:12px 14px;border-radius:16px;border:1px solid rgba(46,204,113,.75);background:rgba(8,30,72,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 14px 34px rgba(4,20,50,.45);text-align:center}
.selText{font-size:11px;font-weight:900;letter-spacing:.12em;line-height:1.5}
.selText small{color:rgba(255,255,255,.7);letter-spacing:.14em}
.selSize{margin-top:8px;font-size:13px;font-weight:900;letter-spacing:.1em;font-variant-numeric:tabular-nums}
.selState{margin-top:4px;font-size:10px;font-weight:900;letter-spacing:.18em}
.selState.ok{color:#2ecc71}.selState.bad{color:#ff8f96}
.selBtns{display:flex;justify-content:center;gap:10px;margin-top:10px}
.selGo{background:#2ecc71;border-color:#2ecc71;color:#04140a}
.selGo:hover{background:#3ee083}
.selGo:disabled{opacity:.35;cursor:not-allowed}
.wallScreen.selecting .seekBar{opacity:.25;pointer-events:none}

/* buy drawer */
.buyDrawer{position:absolute;z-index:30;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;
  background:var(--panel);border-left:1px solid rgba(255,255,255,.25);box-shadow:-24px 0 60px rgba(4,18,46,.5);
  transform:translateX(102%);transition:transform .3s cubic-bezier(.2,.8,.2,1);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.buyDrawer.open{transform:none}
.buyBody{flex:1;overflow-y:auto;padding:4px 22px 28px}
.buyLead{font-size:14px;line-height:1.55;color:rgba(255,255,255,.92)}
.buyNote{font-size:12px;line-height:1.5;color:rgba(255,255,255,.72)}
.buyNote a{color:#ffd166}
.buyMsg{min-height:18px;font-size:13px;color:#ffb3b8;font-weight:700}
.field{display:block;width:100%;height:46px;margin:6px 0 12px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;font-size:15px;outline:none}
.field:focus{border-color:rgba(53,224,208,.9)}
.fileField{padding:11px 12px;height:auto;font-size:13px}
.lbl{display:block;font-size:11px;font-weight:900;letter-spacing:.16em;margin-top:6px}
.lbl small{font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.62)}
.check{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4;margin:4px 0 6px;cursor:pointer}
.check input{margin-top:2px;width:16px;height:16px;accent-color:#f5a524}
.primaryBtn{width:100%;height:48px;margin-top:8px;border:0;border-radius:12px;background:linear-gradient(180deg,#ffd75e,#f5a524);color:var(--ink);font-weight:900;letter-spacing:.12em;cursor:pointer}
.primaryBtn:disabled{opacity:.5}
.ghostBtn{width:100%;height:42px;margin-top:8px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:none;font-weight:800;letter-spacing:.1em;cursor:pointer}
.adSize{font-size:12px;font-weight:900;letter-spacing:.14em;color:#2ecc71;margin:4px 0 12px}
.adPreviewWrap{display:grid;place-items:center;padding:14px;border-radius:12px;background:repeating-conic-gradient(#173a72 0 25%,#12305f 0 50%) 0 0/16px 16px;margin-bottom:10px}
.adPreview{display:grid;place-items:center;background:#1b1e26 center/cover no-repeat;outline:2px dashed rgba(46,204,113,.7);outline-offset:3px;font-size:9px;font-weight:900;letter-spacing:.14em;color:rgba(255,255,255,.4);text-align:center}
.adPreview.has span{display:none}

.wallToast{position:absolute;z-index:40;left:50%;top:76px;transform:translate(-50%,-10px);padding:10px 16px;border-radius:999px;background:#fff;color:#000;font-size:12px;font-weight:900;letter-spacing:.08em;opacity:0;transition:.2s;pointer-events:none}
.wallToast.show{opacity:1;transform:translate(-50%,0)}

.notFound{z-index:55;display:grid;place-items:center;background:linear-gradient(180deg,#4cb2f0,#0f55a8);text-align:center}
.nfTitle{font-size:clamp(26px,5vw,48px);font-weight:900;letter-spacing:.1em}
.nfCode{margin:12px 0 28px;color:rgba(255,255,255,.75);font-weight:800;letter-spacing:.3em}
.nfInner .pill{margin:0 auto}

/* ---------------- mobile ---------------- */
@media (max-width:650px){
  :root{--top-h:64px}
  .brandBadge{width:36px;height:36px;font-size:23px}
  .brandText{display:none}
  .worldTitle{font-size:11px;letter-spacing:.5em;top:max(22px,calc(env(safe-area-inset-top) + 10px))}
  .pill{height:38px;padding:0 13px;font-size:11px}
  .zoomBtn{width:40px;height:40px}
  .countriesDrawer{width:100vw;border-left:0}
  .countryRow{padding:13px 12px}
  .wallScreen{--wall-top:58px}
  .wallTop{gap:10px}
  .hideSm{display:none}
  .wallFlag{width:32px;height:24px}
  .wallName{font-size:14px;letter-spacing:.1em}
  .wallStats{font-size:9px;letter-spacing:.1em}
  .buyBtn{padding:0 12px;font-size:10.5px}
  .seekBar{top:6px;gap:4px}
  .seekForm{height:42px}
  .seekInput{font-size:16px;padding-left:14px}
  .selBanner{width:calc(100% - 84px);left:12px;transform:none;padding:10px}
  .selText{font-size:9.5px}
  .buyDrawer{width:100vw;border-left:0}
}

/* =====================================================================
   V6.4 — lively layer, menu, legal centre, strip, sponsors
   ===================================================================== */
:root{--strip-h:58px}
.topActions{display:flex;gap:8px;align-items:center}
.iconPill{width:40px;padding:0;font-size:16px}
.iconPill.muted{opacity:.7}
.menuBtn{gap:8px;position:relative}
.menuBtn .burger{font-size:16px;line-height:1}
.menuUser{display:none}
.menuBtn.signedIn .menuUser{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ffd166;color:#1b1300;font-size:11px;font-weight:900}

/* ocean shimmer + drifting clouds (transform-only animations = cheap) */
.oceanShimmer{position:absolute;inset:-20%;pointer-events:none;opacity:.55;
  background:repeating-radial-gradient(circle at 30% 40%,rgba(255,255,255,.06) 0 2px,rgba(255,255,255,0) 3px 22px),
             radial-gradient(60% 50% at 70% 60%,rgba(140,230,255,.22),rgba(140,230,255,0) 70%);
  animation:shimmer 26s ease-in-out infinite alternate;will-change:transform}
@keyframes shimmer{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.04)}}
.clouds{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.clouds i{position:absolute;display:block;border-radius:50%;filter:blur(18px);opacity:.42;will-change:transform;
  background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,.5) 55%,rgba(255,255,255,0));animation:cloud linear infinite}
.clouds .c1{width:420px;height:120px;top:12%;animation-duration:95s;animation-delay:-10s}
.clouds .c2{width:300px;height:90px;top:38%;animation-duration:120s;animation-delay:-70s;opacity:.32}
.clouds .c3{width:520px;height:150px;top:62%;animation-duration:140s;animation-delay:-40s;opacity:.28}
.clouds .c4{width:260px;height:80px;top:24%;animation-duration:80s;animation-delay:-55s;opacity:.3}
.clouds .c5{width:360px;height:100px;top:76%;animation-duration:110s;animation-delay:-90s;opacity:.25}
@keyframes cloud{from{transform:translate3d(-40vw,0,0)}to{transform:translate3d(130vw,0,0)}}

/* sale pulses on flags */
.pulseRing{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:6}
.pulseRing i{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:3px solid #ffd166;box-shadow:0 0 18px rgba(255,209,102,.9);animation:ring 1.8s ease-out forwards}
.pulseRing i + i{border-color:#fff;animation-delay:.35s}
.pulseRing span{position:absolute;left:0;top:-30px;transform:translateX(-50%);white-space:nowrap;padding:3px 8px;border-radius:999px;background:#ffd166;color:#1b1300;
  font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 4px 12px rgba(4,20,50,.35);animation:floatUp 2.4s ease-out forwards}
@keyframes ring{from{transform:scale(.4);opacity:1}to{transform:scale(3.6);opacity:0}}
@keyframes floatUp{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1;transform:translate(-50%,0)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-22px)}}
.flag.pop img{animation:pop .9s ease-out}
@keyframes pop{0%,100%{transform:scale(1)}30%{transform:scale(1.6)}}

/* bottom strip: sponsor + live ticker */
.worldStrip{position:absolute;z-index:11;left:0;right:0;bottom:0;height:calc(var(--strip-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);
  display:flex;align-items:stretch;background:linear-gradient(180deg,rgba(8,30,72,.88),rgba(6,22,56,.96));border-top:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 -10px 30px rgba(4,20,50,.25)}
.stripSponsor{flex:none;width:min(330px,34vw);display:flex;align-items:center;padding:0 10px;border-right:1px solid rgba(255,255,255,.18)}
.stripSponsorCard{display:flex;align-items:center;gap:10px;width:100%;color:#fff;text-decoration:none;opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .45s ease;position:relative}
.stripSponsorCard.in{opacity:1;transform:none}
.stripSponsorCard img{height:36px;max-width:96px;object-fit:contain;border-radius:6px;flex:none}
.spTag{position:absolute;top:-7px;left:0;font-size:7.5px;font-weight:900;letter-spacing:.2em;color:rgba(255,255,255,.55)}
.spText{min-width:0;display:flex;flex-direction:column}
.spText b{font-size:13px;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spText small{font-size:11px;color:rgba(255,255,255,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spGo{margin-left:auto;color:#ffd166;font-weight:900}
.stripCta{width:100%;height:42px;border:1.5px dashed rgba(255,209,102,.8);border-radius:12px;background:rgba(255,209,102,.08);color:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.2}
.stripCta b{font-size:12px;letter-spacing:.16em}.stripCta span{font-size:10px;color:#ffd166;font-weight:900;letter-spacing:.12em}
.stripTicker{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding-left:12px}
.liveDot{flex:none;font-size:10px;font-weight:900;letter-spacing:.16em;padding:4px 8px;border-radius:6px;background:var(--aqua);color:var(--ink);box-shadow:0 0 12px rgba(53,224,208,.6);animation:live 1.6s ease-in-out infinite}
@keyframes live{50%{opacity:.6}}
.tickerViewport{flex:1;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tickerTrack{display:inline-flex;will-change:transform}
.tickerTrack.run{animation:ticker linear infinite}
.tickerViewport:hover .tickerTrack{animation-play-state:paused}
@keyframes ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.tkRun{display:inline-flex;align-items:center;flex:none}
.tk{font-size:13px;color:#fff;padding:0 4px;text-decoration:none}
.tk b{color:#ffd166}
.tk-sp{color:#fff}.tk-sp i{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.16em;padding:2px 6px;border-radius:5px;background:rgba(255,255,255,.18);margin-right:4px}
.tk-sp b{color:#8fe3ff}.tk-hot{color:#c9fbf4}.tk-cta{color:#ffd166;font-weight:900;letter-spacing:.08em}
.tkSep{color:rgba(255,255,255,.35);padding:0 14px;font-size:10px}
.worldZoom{bottom:calc(var(--strip-h) + 14px + env(safe-area-inset-bottom))}

/* first-visit welcome */
.intro{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;text-align:center;opacity:0;transition:opacity .5s ease;
  background:radial-gradient(70% 60% at 50% 40%,rgba(10,42,98,.82),rgba(4,16,44,.94))}
.intro.show{opacity:1}
.introInner{max-width:640px}
.brandBadge.big{width:84px;height:84px;font-size:54px;margin:0 auto 18px;animation:badgeIn 1s cubic-bezier(.2,1.6,.4,1) both}
@keyframes badgeIn{from{transform:scale(.2) rotate(-40deg);opacity:0}}
.introLine{font-size:clamp(34px,7vw,64px);font-weight:900;letter-spacing:.06em;line-height:1.08;opacity:0;animation:lineIn .7s ease-out forwards}
.introLine.l1{animation-delay:.2s}.introLine.l2{animation-delay:.55s}.introLine.l3{animation-delay:.9s;color:#ffd166;text-shadow:0 0 30px rgba(255,209,102,.5)}
@keyframes lineIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.introSub{font-size:16px;line-height:1.55;color:rgba(255,255,255,.88);margin:20px auto 26px;max-width:480px;opacity:0;animation:lineIn .7s 1.3s ease-out forwards}
.introBtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;opacity:0;animation:lineIn .7s 1.6s ease-out forwards}
.introBtns .primaryBtn,.introBtns .ghostBtn{width:auto;padding:0 26px;margin:0}
.introBtns .primaryBtn{background:linear-gradient(180deg,#ffd75e,#f5a524);color:var(--ink)}

/* menu drawer */
.menuBackdrop{z-index:75}
.menuDrawer{position:fixed;z-index:76;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--panel);
  border-left:1px solid rgba(255,255,255,.25);box-shadow:-24px 0 60px rgba(4,18,46,.5);transform:translateX(102%);transition:transform .32s cubic-bezier(.2,.8,.2,1);
  padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.menuDrawer.open{transform:none}
.menuDrawer .drawerHead{gap:10px}
.menuDrawer .drawerTitle{flex:1}
.menuBody{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 16px 28px}
.menuWho{display:flex;align-items:center;gap:12px;padding:12px;margin:2px 0 10px;border-radius:14px;background:rgba(255,255,255,.08)}
.menuWho b{display:block;font-size:13px;letter-spacing:.04em;word-break:break-all}.menuWho small{font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.65)}
.whoBadge{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffd166;color:#1b1300;font-weight:900;font-size:17px}
.whoBadge.guest{background:radial-gradient(circle at 34% 28%,#7ff3e4,#1fa7d8 60%,#0a4fa8);color:#fff}
.menuItem{width:100%;display:flex;align-items:center;gap:12px;padding:12px 10px;border:0;border-radius:12px;background:none;text-align:left;cursor:pointer}
.menuItem:hover,.menuItem:focus-visible{background:rgba(255,255,255,.1);outline:none}
.mi-icon{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-weight:900;font-size:15px}
.mi-text{flex:1;min-width:0;display:flex;flex-direction:column}.mi-text b{font-size:13px;letter-spacing:.12em}
.mi-text small{font-size:11.5px;color:rgba(255,255,255,.66);margin-top:2px}
.mi-arrow{color:rgba(255,255,255,.5);font-size:20px}
.menuItem.subtle .mi-text b{color:rgba(255,255,255,.75)}
.menuSep{height:1px;background:rgba(255,255,255,.14);margin:8px 6px}
.menuNote{font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.7);margin:12px 4px}
.menuNote a,.menuLead a,.check a{color:#ffd166}
.menuLead{font-size:14px;line-height:1.55;color:rgba(255,255,255,.9);margin:8px 2px 14px}
.menuMsg{min-height:16px;font-size:13px;font-weight:700;color:#ffb3b8;margin:8px 2px}
.menuMsg.ok{color:#9ff5c1}
div.menuMsg.ok{padding:10px 12px;border-radius:12px;background:rgba(46,204,113,.18);border:1px solid rgba(46,204,113,.5)}
.menuForm{margin-top:6px}
.menuLinks{display:flex;justify-content:space-between;gap:8px;margin-top:4px}
.menuLinks button{border:0;background:none;color:#ffd166;font-weight:700;font-size:13px;cursor:pointer;padding:6px 2px}
.menuList{padding-left:18px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.88)}
.primaryBtn.small,.ghostBtn.small{height:38px;font-size:11px;margin-top:6px}
.primaryBtn.pay{background:#2ecc71;color:#04140a}
.linkBtn{display:grid;place-items:center;text-decoration:none}
.adRow{padding:14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);margin-bottom:12px}
.adRowHead{display:flex;gap:10px;align-items:center}
.adRowHead img{width:30px;height:22px;object-fit:cover;border-radius:2px;flex:none}
.adRowHead b{display:block;font-size:14px}.adRowHead small{font-size:10.5px;letter-spacing:.1em;color:rgba(255,255,255,.65)}
.adStatus{display:inline-block;margin-top:10px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.14em}
.st-review{background:rgba(255,209,102,.2);color:#ffd166}.st-pay{background:#2ecc71;color:#04140a}.st-live{background:rgba(143,227,255,.2);color:#8fe3ff}
.st-off{background:rgba(255,255,255,.12);color:rgba(255,255,255,.7)}.st-bad{background:rgba(224,24,36,.25);color:#ffb3b8}
.adRowNote{font-size:12px;color:rgba(255,255,255,.72);margin:8px 0}
.adFacts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:10.5px;letter-spacing:.1em;color:rgba(255,255,255,.65)}
.adFacts b{color:#fff;letter-spacing:.02em;font-size:12px}
.adActions{display:flex;flex-direction:column}
.payBox{padding:14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);margin:6px 0 12px}
.payRow{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px}
.payRow span{color:rgba(255,255,255,.7)}
.payTotal{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;font-weight:900;letter-spacing:.12em}
.payTotal b{font-size:26px;letter-spacing:0;color:#9ff5c1}
.payTax{display:block;font-size:11px;color:rgba(255,255,255,.65);margin-top:6px}
.payBox.test{border-color:rgba(255,209,102,.6)}
.testTag{display:inline-block;padding:4px 9px;border-radius:999px;background:#ffd166;color:#1b1300;font-size:10px;font-weight:900;letter-spacing:.14em}
.priceTable{width:100%;border-collapse:collapse;font-size:13px;margin:6px 0 10px}
.priceTable th{text-align:left;font-size:9.5px;letter-spacing:.16em;color:rgba(255,255,255,.65);padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.18)}
.priceTable td{padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
.priceTable td b{color:#ffd166;font-size:15px}
.howStep{display:flex;gap:12px;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.1)}
.howNum{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffd166;color:#1b1300;font-weight:900}
.howStep b{font-size:13px;letter-spacing:.14em}.howStep p{margin:4px 0 0;font-size:13px;line-height:1.5;color:rgba(255,255,255,.85)}
.sponsorOpt{padding:14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);margin-bottom:10px}
.sponsorOpt b{letter-spacing:.14em;font-size:13px}.sponsorOpt p{font-size:13px;line-height:1.5;color:rgba(255,255,255,.85);margin:6px 0}
.sponsorOpt span{color:#ffd166;font-weight:900}

/* legal centre */
.legalOverlay{position:fixed;inset:0;z-index:85;display:grid;place-items:center;background:rgba(4,16,44,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}
.legalPanel{width:min(860px,100%);height:min(88vh,100%);display:flex;flex-direction:column;background:var(--panel);border:1px solid rgba(255,255,255,.25);border-radius:18px;box-shadow:0 30px 80px rgba(4,18,46,.55);overflow:hidden}
.legalPanel .drawerHead{gap:10px}.legalPanel .drawerTitle{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legalBody{flex:1;overflow-y:auto;padding:4px 22px 34px;overscroll-behavior:contain}
.legalIntro{font-size:13px;color:rgba(255,255,255,.8)}
.legalGroup{font-size:10.5px;letter-spacing:.22em;color:#ffd166;margin:18px 0 8px}
.legalIndex{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.legalLink{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.06em;line-height:1.35}
.legalLink:hover{background:rgba(255,255,255,.13)}.legalLink span{color:rgba(255,255,255,.5);font-size:18px}
.legalDoc{font-size:14px;line-height:1.65;color:rgba(255,255,255,.92)}
.legalDoc h2{font-size:18px;letter-spacing:.08em;margin:12px 0 14px}.legalDoc h3{font-size:13px;letter-spacing:.1em;margin:20px 0 6px;color:#ffd166}
.legalDoc ul,.legalDoc ol{padding-left:20px}.legalDoc li{margin:4px 0}
.legalTable{width:100%;border-collapse:collapse;font-size:12.5px}.legalTable th,.legalTable td{border:1px solid rgba(255,255,255,.18);padding:6px 8px;text-align:left;vertical-align:top}
.ownerTodo{background:#ffd166;color:#1b1300;font-style:normal;font-weight:800;padding:0 4px;border-radius:4px}
.globalToast{position:fixed;z-index:95;left:50%;bottom:calc(var(--strip-h) + 20px + env(safe-area-inset-bottom));transform:translate(-50%,10px);max-width:min(92vw,520px);padding:12px 18px;border-radius:14px;
  background:#fff;color:#0a1a3a;font-size:13px;font-weight:800;line-height:1.4;text-align:center;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 12px 30px rgba(4,20,50,.35)}
.globalToast.show{opacity:1;transform:translate(-50%,0)}

/* wall extras */
.wallTop{position:absolute}
.wallFill{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:rgba(255,255,255,.12)}
.wallFillBar{height:100%;width:0;background:linear-gradient(90deg,#35e0d0,#ffc93c);box-shadow:0 0 10px rgba(255,209,102,.8);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.wallStats b.left{color:#9ff5c1;font-weight:900}
.wallFx{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.beam{position:absolute;top:-30%;width:28vw;height:160%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.16),rgba(255,255,255,0));filter:blur(6px);transform-origin:50% 0;will-change:transform}
.beam.b1{left:6%;animation:beam 14s ease-in-out infinite alternate}
.beam.b2{left:42%;animation:beam 18s ease-in-out -6s infinite alternate;opacity:.7}
.beam.b3{left:72%;animation:beam 16s ease-in-out -3s infinite alternate}
@keyframes beam{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
.spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px 4px rgba(255,255,255,.75);animation:twinkle 3.4s ease-in-out infinite;opacity:0}
.spark.s1{left:8%;top:22%}.spark.s2{left:88%;top:30%;animation-delay:-1.1s}.spark.s3{left:14%;top:78%;animation-delay:-2.2s}
.spark.s4{left:92%;top:82%;animation-delay:-.6s}.spark.s5{left:50%;top:94%;animation-delay:-1.8s}.spark.s6{left:4%;top:50%;animation-delay:-2.8s}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}
.presentedBy{position:absolute;z-index:8;left:max(12px,env(safe-area-inset-left));bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));display:flex;align-items:center;gap:8px;
  max-width:calc(100% - 90px);padding:6px 12px 6px 8px;border-radius:999px;background:rgba(8,30,72,.88);border:1px solid rgba(255,255,255,.4);color:#fff;text-decoration:none;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(4,20,50,.35)}
.presentedBy small{font-size:8.5px;font-weight:900;letter-spacing:.18em;color:rgba(255,255,255,.65);white-space:nowrap}
.presentedBy img{height:24px;max-width:70px;object-fit:contain;border-radius:4px}
.presentedBy b{font-size:12px;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.presentedBy span{color:#ffd166;font-weight:900}
.adCardFoot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px}
.adCardFoot .adCardHint{margin:0}
.adCard .adCardHint{display:block}
.adCard.pinned .adCardFoot .adCardHint{display:none}
.adCardReport{border:0;background:none;color:rgba(255,255,255,.55);font-size:10px;font-weight:800;letter-spacing:.12em;cursor:pointer;padding:2px 0;pointer-events:auto}
.adCardReport:hover{color:#ffb3b8}
.adCard{pointer-events:none}.adCard.show .adCardReport{pointer-events:auto}
.adCard.show:not(.pinned){pointer-events:auto}
.freeTip{position:absolute;left:0;top:0;z-index:9;padding:9px 13px;border-radius:12px;border:1.5px dashed rgba(255,255,255,.9);background:rgba(8,30,72,.92);
  display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease;box-shadow:0 10px 26px rgba(4,20,50,.4)}
.freeTip.show{opacity:1;visibility:visible}
.freeTip b{font-size:12px;letter-spacing:.16em;color:#ffd166}.freeTip small{font-size:11px;color:#fff;font-weight:700}
.freeTipBuy{display:none;margin-top:6px;height:34px;border:0;border-radius:9px;background:#2ecc71;color:#04140a;font-weight:900;letter-spacing:.1em;cursor:pointer}
.freeTip.pinned{pointer-events:auto}.freeTip.pinned .freeTipBuy{display:block}.freeTip.pinned .freeTipHint{display:none}
.freeTipHint{font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.6);font-weight:800}
.reportDialog{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:rgba(4,16,44,.5);padding:16px}
.reportCard{width:min(380px,100%);padding:18px;border-radius:16px;background:var(--panel);border:1px solid rgba(255,255,255,.3);box-shadow:0 20px 50px rgba(4,18,46,.5)}
.reportHead{font-size:13px;font-weight:900;letter-spacing:.16em;margin-bottom:10px}.reportHead small{display:block;font-size:12px;letter-spacing:.02em;color:#ffd166;margin-top:4px}
.reason{display:flex;gap:8px;align-items:center;font-size:13px;padding:5px 0;cursor:pointer}.reason input{accent-color:#f5a524}
.reportBtns{display:flex;gap:8px}.reportBtns button{margin-top:0}
.adPrice{font-size:12px;font-weight:800;letter-spacing:.06em;line-height:1.5;color:#fff;padding:10px 12px;border-radius:12px;background:rgba(46,204,113,.14);border:1px solid rgba(46,204,113,.45);margin-bottom:12px}
.adPrice:empty{display:none}.adPrice b{color:#9ff5c1}.adPrice small{color:rgba(255,255,255,.7);font-weight:600;letter-spacing:.02em}
.doneIcon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:14px auto 4px;background:#2ecc71;color:#04140a;font-size:30px;font-weight:900;box-shadow:0 0 30px rgba(46,204,113,.6)}

@media (max-width:650px){
  :root{--strip-h:74px}
  .cLabel,.mLabel{display:none}
  .countriesBtn{width:40px;padding:0}
  .topActions{gap:6px}
  .worldStrip{flex-direction:column-reverse}
  .stripSponsor{width:auto;height:44px;border-right:0;border-top:1px solid rgba(255,255,255,.14)}
  .stripTicker{height:30px}
  .tk{font-size:12px}
  .stripSponsorCard img{height:30px}
  .menuDrawer{width:100vw;border-left:0}
  .legalBody{padding:4px 14px 28px}
  .legalIndex{grid-template-columns:1fr}
  .wallTop .menuBtn{width:38px;padding:0}
  .presentedBy{bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))}
}
@media (max-width:430px){ .worldTitle{display:none} }
@media (prefers-reduced-motion:reduce){
  .clouds i,.oceanShimmer,.beam,.spark,.tickerTrack.run,.liveDot{animation:none!important}
}

/* =====================================================================
   V6.5 — YOORBIS: logo, promo screen, side texts, flag dots,
   clean screen, phone / Fold / tablet layouts
   ===================================================================== */
.brandCol{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.promoBtn{height:28px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,201,60,.85);background:rgba(8,30,72,.72);color:var(--gold);
  font-size:10px;font-weight:900;letter-spacing:.14em;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 4px 14px rgba(4,20,50,.3);animation:promoGlow 3.2s ease-in-out infinite}
.promoBtn:hover{background:rgba(255,201,60,.18);color:#fff}
@keyframes promoGlow{50%{box-shadow:0 4px 14px rgba(4,20,50,.3),0 0 16px rgba(255,201,60,.55)}}

/* our own promo screen: texts + ✕, nothing else */
.promo{position:fixed;inset:0;z-index:88;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));text-align:center;
  opacity:0;transition:opacity .35s ease;overflow-y:auto;
  background:radial-gradient(80% 60% at 50% 30%,rgba(22,96,170,.96),rgba(6,26,66,.985) 70%)}
.promo.show{opacity:1}
.promoClose{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:48px;height:48px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.7);background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:2}
.promoClose:hover{background:rgba(255,255,255,.25)}
.promoInner{max-width:640px}
.introBrand{font-size:clamp(22px,5vw,34px);font-weight:900;letter-spacing:.24em;padding-left:.24em;margin:0 0 26px;line-height:1}
.introBrand small{display:block;margin-top:20px;font-size:11px;letter-spacing:.5em;color:var(--aqua);font-weight:900}
.promoLine{opacity:0;font-size:clamp(16px,3.4vw,21px);line-height:1.45;color:rgba(255,255,255,.92);margin:10px 0}
.promo.show .promoLine{animation:lineIn .7s ease-out forwards}
.promoLine b{color:var(--gold)}
.promoLine.p1{font-size:clamp(28px,7vw,54px);font-weight:900;letter-spacing:.04em;line-height:1.08;color:#fff;margin-bottom:22px}
.promoLine.p5{margin-top:26px;font-size:clamp(14px,3vw,18px);letter-spacing:.14em}
.promo.show .p1{animation-delay:.15s}.promo.show .p2{animation-delay:.6s}.promo.show .p3{animation-delay:1s}.promo.show .p4{animation-delay:1.4s}.promo.show .p5{animation-delay:1.9s}
.intro .brandBadge.big,.promo .brandBadge.big{width:76px;height:76px;margin:0 auto 14px}

/* a flag without room = a small gold dot on its country (zoom in → flag) */
.flag.dot{pointer-events:none;z-index:0}
.flag.dot img{display:none}
.flag.dot:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 1.2px rgba(255,255,255,.95),0 0 7px rgba(255,201,60,.9);pointer-events:auto;cursor:pointer}
.flag.dot:hover:after{transform:scale(1.5)}

/* texts beside the wall (desktop) / one line under it (Fold open, tablet) */
.wallSide{position:absolute;z-index:3;display:flex;flex-direction:column;justify-content:center;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}
.wallSide.on{opacity:1;transform:none}
.wallSide.left{text-align:left}.wallSide.right{text-align:right}
.sideBig{font-size:30px;font-weight:900;letter-spacing:.05em;line-height:1.08;color:#fff;text-shadow:0 3px 18px rgba(4,20,50,.45)}
.sideBig b{color:var(--gold);text-shadow:0 0 26px rgba(255,201,60,.45)}
.wallSide.big .sideBig{font-size:42px}
.sideSub{margin-top:16px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.9);font-weight:700;max-width:26ch}
.wallSide.big .sideSub{font-size:16px}
.sideRoll{height:min(420px,70%);overflow:hidden;mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}
.sideRollTrack{animation:sideRoll 34s linear infinite;will-change:transform}
@keyframes sideRoll{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-50%,0)}}
.sideRollTrack p{margin:0;padding:15px 0;font-size:16px;line-height:1.4;font-weight:700;color:rgba(255,255,255,.93);text-shadow:0 2px 12px rgba(4,20,50,.45)}
.wallSide.big .sideRollTrack p{font-size:19px}
.sideRollTrack b{color:var(--gold)}
.wallUnder{position:absolute;z-index:3;left:0;right:0;height:34px;overflow:hidden;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .45s ease;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.wallUnder.on{opacity:1}
.wallUnderTrack{display:inline-flex;align-items:center;height:100%;animation:ticker 46s linear infinite;will-change:transform}
.wallUnderTrack span{font-size:15px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(4,20,50,.45)}
.wallUnderTrack b{color:var(--gold)}
.wallUnderTrack i{font-style:normal;color:rgba(255,255,255,.45);font-size:9px;padding:0 16px}

/* ---------- clean screen: zoom / pan → everything steps aside ---------- */
.worldTop,.worldStrip,.wallTop,.presentedBy,.pulseRing span,.vignette{transition:opacity .28s ease,transform .28s ease}
body.clean .worldTop,body.clean .worldStrip,body.clean .wallTop,body.clean .presentedBy,body.clean .wallSide,body.clean .wallUnder,
body.clean .pulseRing span,body.clean .mascotBubble,body.clean .globalToast{opacity:0!important;pointer-events:none!important}
body.clean .worldTop > *{pointer-events:none}
body.clean .worldTop{transform:translateY(-10px)}
body.clean .worldStrip{transform:translateY(10px)}
body.clean .vignette{opacity:.25}

/* ---------- phones (closed Fold, any normal phone) ---------- */
@media (max-width:650px){
  :root{--strip-h:48px;--top-h:60px}
  .worldTop{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .brandBadge{width:34px;height:34px}
  .brandText{display:block;font-size:15px;letter-spacing:.16em;padding-bottom:7px}
  .brandCol{gap:6px}
  .promoBtn{height:26px;font-size:9px;padding:0 10px}
  .soundBtn{display:none}                       /* music lives in MENU on phones */
  .pill{height:40px}
  .countriesBtn,.wallTop .menuBtn,.menuBtn{width:44px;padding:0}
  .zoomBtn{width:42px;height:42px}
  /* one thin strip: sponsor (logo + name) | live ticker */
  .worldStrip{flex-direction:row}
  .stripSponsor{width:42vw;max-width:190px;height:auto;border-top:0;border-right:1px solid rgba(255,255,255,.18);padding:0 8px}
  .stripSponsorCard{gap:7px}
  .stripSponsorCard img{height:26px;max-width:54px}
  .spTag,.spText small,.spGo{display:none}
  .spText b{font-size:12px}
  .stripCta{height:36px}.stripCta b{font-size:10px;letter-spacing:.1em}.stripCta span{font-size:9px}
  .stripTicker{height:auto;padding-left:8px;gap:7px}
  .liveDot{font-size:9px;padding:3px 6px}
  .tk{font-size:12px}
  .seekBar{width:calc(100% - 16px)}
  .seekForm{height:44px}
  .seekGo{width:52px}
  .mascotHost{width:27px;height:27px}
  .wallTop{gap:8px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .wallBack{width:40px;padding:0}
  .wallTitle{gap:8px}
  .buyBtn{height:40px;padding:0 13px;font-size:11px;letter-spacing:.08em}
  .selBtns .pill{flex:1}
  .adCard{max-width:86vw}
  .introLine{font-size:clamp(30px,9.5vw,44px)}
  .introSub{font-size:15px}
  .introBtns{flex-direction:column;align-items:stretch}
  .introBtns .primaryBtn,.introBtns .ghostBtn{width:100%}
  .field{font-size:16px}                         /* no zoom-on-focus on iPhone */
  .menuItem{padding:14px 10px}
}
/* very narrow (Fold cover screen ≈ 344 px, iPhone SE) */
@media (max-width:360px){
  .brandText{font-size:13px;letter-spacing:.12em}
  .wallName{font-size:13px}
  .wallFlag{width:28px;height:21px}
  .buyBtn{padding:0 10px;font-size:10px}
  .stripSponsor{width:38vw}
  .promoBtn{letter-spacing:.08em}
}
/* unfolded Fold / small tablets: roomy, labels visible */
@media (min-width:651px) and (max-width:1000px){
  .brandText{font-size:17px}
  .stripSponsor{width:min(300px,40vw)}
}
/* short landscape screens: keep everything reachable */
@media (max-height:480px){
  :root{--strip-h:40px}
  .promoBtn{display:none}
  .worldZoom{flex-direction:row}
  .worldZoom .zoomBtn + .zoomBtn{border-top:0;border-left:1px solid rgba(255,255,255,.22)}
  .stripSponsorCard img{height:24px}
  .spText small,.spTag{display:none}
  .intro,.promo{place-items:start center}
  .introLine{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  .sideRollTrack,.wallUnderTrack,.promoBtn{animation:none!important}
}
/* consent lines: tick box on the left, the whole sentence (with links) flows as one text */
.check{display:block;position:relative;padding-left:30px}
.check input{position:absolute;left:0;top:1px;width:20px;height:20px;margin:0}

/* little white planes on the WORLD map (decoration only: no clicks, under flags and panels) */
.planeLayer{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.plane{position:absolute;left:0;top:0;width:22px;height:22px;margin:-11px 0 0 -11px;opacity:0;pointer-events:none;will-change:transform,opacity;
  filter:drop-shadow(0 1px 2px rgba(4,20,50,.55))}
.plane svg{display:block;width:100%;height:100%}
@media (max-width:650px){.plane{width:17px;height:17px;margin:-8.5px 0 0 -8.5px}}
