:root{--navy:#061a33;--forest:#123b23;--gold:#f5b301;--cream:#fff8e6;--red:#b91c1c;--ink:#0f172a;--muted:#64748b}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,#fff8e6,#edf6ee);color:var(--ink)}a{color:inherit}.topbar{position:sticky;top:0;z-index:50;background:rgba(6,26,51,.97);color:#fff;border-bottom:4px solid var(--gold);box-shadow:0 8px 26px rgba(0,0,0,.18)}.topbar-inner{max-width:1320px;margin:auto;padding:14px 18px;display:flex;gap:14px;align-items:center}.logo{width:44px;height:44px}.brand{font-weight:1000;letter-spacing:.08em}.sub{font-size:.72rem;color:var(--gold);font-weight:900;text-transform:uppercase}.nav{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.nav a{text-decoration:none;color:#fff;font-weight:900;font-size:.88rem}.nav .cta{background:var(--gold);color:var(--navy);padding:9px 12px;border-radius:999px}.hero{background:radial-gradient(circle at 20% 20%,rgba(245,179,1,.25),transparent 28%),linear-gradient(135deg,var(--navy),var(--forest));color:#fff;padding:36px 18px 30px}.wrap{max-width:1320px;margin:auto}.kicker{color:var(--gold);font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-family:Bangers,Impact,sans-serif;font-size:clamp(3rem,8vw,6.4rem);line-height:.9;margin:8px 0}.hero p{font-size:1.08rem;line-height:1.45;max-width:900px;color:#f8fafc}.app{max-width:1320px;margin:auto;padding:20px 18px 42px;display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.card{background:white;border-radius:22px;box-shadow:0 14px 32px rgba(15,23,42,.12);border:1px solid rgba(15,23,42,.06);overflow:hidden}.card-head{padding:16px 18px;background:linear-gradient(90deg,var(--navy),#0b2b52);color:white;display:flex;justify-content:space-between;align-items:center}.card-head h2{margin:0;font-size:1.05rem}.card-body{padding:18px}label{display:block;font-weight:1000;margin:10px 0 6px}input,select,textarea{width:100%;padding:12px;border-radius:14px;border:2px solid #e2e8f0;font-family:inherit;font-weight:800}textarea{min-height:90px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn{display:inline-block;text-decoration:none;border:0;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:1000;padding:10px 13px;cursor:pointer;margin-top:9px}.btn.dark{background:var(--navy);color:white}.btn.red{background:var(--red);color:white}.btn.ghost{background:#e2e8f0;color:#0f172a}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.item{background:#f8fafc;border-radius:16px;padding:13px;border-left:6px solid var(--forest);margin-bottom:10px}.item strong{display:block}.item small{display:block;font-weight:900;color:var(--muted);margin-top:3px}.item p{margin:6px 0 0;line-height:1.35}.pill{display:inline-block;background:#e0f2fe;color:#082f49;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:1000;margin:3px}.notice{background:#fff8e6;border-left:8px solid var(--gold);padding:14px;border-radius:16px;font-weight:900;line-height:1.45}.mini{font-weight:900;color:var(--forest)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{border:0;background:#e2e8f0;color:#0f172a;border-radius:999px;padding:9px 12px;font-weight:1000;cursor:pointer}.tab.active{background:var(--gold);color:var(--navy)}.score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}#adventureMap{height:480px;border-radius:18px;overflow:hidden;border:3px solid #e2e8f0;background:#e2e8f0}.panel hr{border:0;border-top:2px dashed #cbd5e1;margin:16px 0}.footer{text-align:center;background:var(--navy);color:white;padding:28px;font-weight:900}@media(max-width:900px){.topbar-inner{flex-direction:column;align-items:flex-start}.nav{margin-left:0}.app{grid-template-columns:1fr}.row,.score-grid{grid-template-columns:1fr}#adventureMap{height:360px}}

.intel-item{border-left-color:#f5b301}.intel-item strong{color:#061a33}

/* V1.2b Leaflet hardening fallback: prevents checkerboard/loose tiles when external Leaflet CSS is cached/blocked */
#adventureMap{position:relative;width:100%;height:480px;min-height:480px;isolation:isolate;}
#adventureMap .leaflet-container{width:100%;height:100%;}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0;}
.leaflet-container{overflow:hidden;touch-action:pan-x pan-y;background:#dbe7f0;outline-offset:1px;}
.leaflet-tile{border:0;user-select:none;-webkit-user-drag:none;max-width:none!important;max-height:none!important;}
.leaflet-control-container .leaflet-top,.leaflet-control-container .leaflet-bottom{position:absolute;z-index:1000;pointer-events:none;}
.leaflet-control-container .leaflet-top{top:0}.leaflet-control-container .leaflet-right{right:0}.leaflet-control-container .leaflet-bottom{bottom:0}.leaflet-control-container .leaflet-left{left:0}
.leaflet-control{position:relative;z-index:1000;pointer-events:auto;float:left;clear:both;margin:10px;}
@media(max-width:900px){#adventureMap{height:360px;min-height:360px}}


/* V1.2D: robust inline pin markers. Avoids missing Leaflet image assets and separates duplicate coordinates. */
.atlas-pin-divicon{background:transparent;border:0;}
.atlas-pin-dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:24px;line-height:28px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));}
.leaflet-marker-icon.atlas-pin-divicon{overflow:visible!important;}
