/* KirSRV map access screen — native light/dark presentation. */
html[data-theme="light"]{
  --map-page-a:#f8faef;
  --map-page-b:#f2f6e8;
  --map-panel:rgba(255,255,255,.84);
  --map-panel-solid:#ffffff;
  --map-panel-soft:#edf5df;
  --map-text:#172116;
  --map-muted:#6d7867;
  --map-line:rgba(70,101,43,.14);
  --map-line-strong:rgba(116,165,57,.29);
  --map-accent:#92d12f;
  --map-accent-strong:#659f29;
  --map-accent-bright:#c9ef7b;
  --map-accent-soft:rgba(151,211,58,.13);
  --map-shadow:0 24px 72px rgba(54,80,35,.12);
}
html[data-theme="dark"]{
  --map-page-a:#11170f;
  --map-page-b:#151d13;
  --map-panel:rgba(27,36,25,.88);
  --map-panel-solid:#1b251a;
  --map-panel-soft:#233020;
  --map-text:#f1f4ef;
  --map-muted:#a7b1a4;
  --map-line:rgba(230,242,225,.105);
  --map-line-strong:rgba(171,224,94,.28);
  --map-accent:#a6df4e;
  --map-accent-strong:#a6df4e;
  --map-accent-bright:#c8ef7d;
  --map-accent-soft:rgba(166,223,78,.10);
  --map-shadow:0 28px 86px rgba(2,8,3,.36);
}

.portal-body--map{
  background:
    radial-gradient(circle at 16% 16%,color-mix(in srgb,var(--map-accent) 12%,transparent),transparent 30rem),
    radial-gradient(circle at 87% 82%,color-mix(in srgb,var(--map-accent) 7%,transparent),transparent 26rem),
    linear-gradient(180deg,var(--map-page-a),var(--map-page-b));
}
.map-page{min-height:calc(100vh - 126px);padding:24px 0 74px;color:var(--map-text)}
.map-gate-card{position:relative;overflow:hidden;width:min(1040px,100%);min-height:540px;margin:7vh auto 0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);border:1px solid var(--map-line);border-radius:30px;background:linear-gradient(145deg,var(--map-panel-solid),var(--map-panel));box-shadow:var(--map-shadow);backdrop-filter:blur(20px)}
.map-gate-card::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,color-mix(in srgb,var(--map-accent) 5%,transparent),transparent 42%);pointer-events:none}
.map-gate-card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--map-accent-bright),var(--map-accent),transparent 92%)}
.map-gate-card__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:58px 54px}
.map-kicker{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:7px 11px;border:1px solid var(--map-line-strong);border-radius:999px;background:var(--map-accent-soft);color:var(--map-accent-strong);font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.map-kicker i{width:7px;height:7px;border-radius:2px;background:var(--map-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--map-accent) 14%,transparent)}
.map-gate-card h1{margin:21px 0 14px;max-width:610px;font-size:clamp(39px,4.4vw,61px);line-height:.94;letter-spacing:-.06em}
.map-gate-card p{max-width:620px;margin:0;color:var(--map-muted);font-size:14px;line-height:1.7}
.map-gate-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.map-gate-primary,.map-gate-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border-radius:13px;text-decoration:none;font-size:10px;font-weight:900;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .22s ease}
.map-gate-primary{border:1px solid transparent;background:linear-gradient(135deg,var(--map-accent-bright),var(--map-accent));color:#294514;box-shadow:0 12px 28px color-mix(in srgb,var(--map-accent) 20%,transparent)}
.map-gate-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in srgb,var(--map-accent) 28%,transparent)}
.map-gate-primary span{font-size:15px;line-height:1}
.map-gate-secondary{border:1px solid var(--map-line);background:var(--map-panel-solid);color:var(--map-text)}
.map-gate-secondary:hover{transform:translateY(-2px);border-color:var(--map-line-strong)}
.map-gate-note{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:start;margin-top:34px;padding-top:19px;border-top:1px solid var(--map-line);color:var(--map-muted);font-size:9px;line-height:1.65}
.map-gate-note svg{width:25px;height:25px;padding:5px;border:1px solid var(--map-line);border-radius:8px;background:var(--map-panel-soft);color:var(--map-accent-strong);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.map-gate-visual{position:relative;overflow:hidden;min-height:540px;border-left:1px solid var(--map-line);background:
  linear-gradient(135deg,color-mix(in srgb,var(--map-accent) 12%,transparent),transparent 46%),
  linear-gradient(155deg,var(--map-panel-soft),color-mix(in srgb,var(--map-panel-solid) 75%,transparent));
}
.map-gate-visual::before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(45deg,transparent 0 18px,color-mix(in srgb,var(--map-line) 70%,transparent) 18px 19px);opacity:.55;transform:rotate(1deg)}
.map-gate-visual__orb{position:absolute;right:-15%;top:-8%;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--map-accent) 30%,transparent),transparent 67%);filter:blur(4px)}
.map-gate-visual__grid{position:absolute;left:50%;top:50%;width:310px;height:310px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transform:translate(-50%,-50%) rotate(-6deg)}
.map-gate-visual__grid span{border:1px solid var(--map-line);border-radius:18px;background:color-mix(in srgb,var(--map-panel-solid) 76%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--map-text) 6%,transparent)}
.map-gate-visual__grid span:nth-child(2),.map-gate-visual__grid span:nth-child(4),.map-gate-visual__grid span:nth-child(8){background:linear-gradient(145deg,color-mix(in srgb,var(--map-accent) 23%,var(--map-panel-solid)),var(--map-panel-soft))}
.map-gate-visual__grid span:nth-child(5){background:linear-gradient(145deg,var(--map-accent-bright),var(--map-accent));box-shadow:0 18px 44px color-mix(in srgb,var(--map-accent) 26%,transparent)}
.map-gate-visual__pin{position:absolute;left:50%;top:47%;width:92px;height:92px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--map-accent) 48%,var(--map-line));border-radius:27px;background:color-mix(in srgb,var(--map-panel-solid) 85%,transparent);box-shadow:0 22px 55px color-mix(in srgb,var(--map-text) 12%,transparent);transform:translate(-50%,-50%) rotate(6deg);backdrop-filter:blur(12px)}
.map-gate-visual__pin svg{width:45px;height:45px;fill:none;stroke:var(--map-accent-strong);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.map-gate-visual__badge{position:absolute;right:28px;bottom:27px;padding:12px 15px;border:1px solid var(--map-line);border-radius:14px;background:color-mix(in srgb,var(--map-panel-solid) 82%,transparent);box-shadow:0 12px 36px color-mix(in srgb,var(--map-text) 8%,transparent);backdrop-filter:blur(14px)}
.map-gate-visual__badge span{display:block;color:var(--map-text);font-size:13px;font-weight:950}
.map-gate-visual__badge small{display:block;margin-top:3px;color:var(--map-muted);font-size:8px;letter-spacing:.1em;text-transform:uppercase}

.map-live-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;padding:23px 24px;border:1px solid var(--map-line);border-radius:22px;background:var(--map-panel);box-shadow:0 12px 38px color-mix(in srgb,var(--map-text) 6%,transparent);backdrop-filter:blur(18px)}
.map-live-head h1{margin:11px 0 7px;font-size:38px;line-height:1;letter-spacing:-.05em}
.map-live-head p{margin:0;color:var(--map-muted);font-size:11px;line-height:1.55}
.map-live-head>a{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 14px;border:1px solid var(--map-line);border-radius:12px;background:var(--map-panel-solid);color:var(--map-text);text-decoration:none;font-size:9px;font-weight:850;white-space:nowrap;transition:transform .18s ease,border-color .18s ease}
.map-live-head>a:hover{transform:translateY(-2px);border-color:var(--map-line-strong)}
.map-frame-card{height:calc(100vh - 240px);min-height:570px;overflow:hidden;border:1px solid var(--map-line);border-radius:24px;background:#0f140f;box-shadow:var(--map-shadow)}
.map-frame-card iframe{width:100%;height:100%;border:0;background:#0f140f}

@media(max-width:900px){
  .map-gate-card{grid-template-columns:1fr;margin-top:3vh}
  .map-gate-visual{min-height:330px;border-left:0;border-top:1px solid var(--map-line)}
  .map-gate-visual__grid{width:250px;height:250px}
  .map-gate-card__copy{padding:42px 36px}
}
@media(max-width:620px){
  .map-page{padding-top:10px}
  .map-gate-card{border-radius:23px}
  .map-gate-card__copy{padding:31px 23px}
  .map-gate-card h1{font-size:38px}
  .map-gate-visual{min-height:275px}
  .map-gate-visual__grid{width:205px;height:205px;gap:7px}
  .map-gate-visual__grid span{border-radius:13px}
  .map-gate-visual__pin{width:72px;height:72px;border-radius:22px}
  .map-gate-visual__pin svg{width:36px;height:36px}
  .map-live-head{align-items:flex-start;flex-direction:column}
  .map-frame-card{height:70vh;min-height:430px}
}
