/* Útvonaltervező - Egy Kaland Százat Csinál */
.ekszc-planner{display:block}
.ekszc-planner{
  --canopy:#0F3025;--canopy-deep:#0A2119;--ink:#081C15;
  --fern:#8FBF5A;--river:#5FB0BC;--ember:#EBA84A;--mist:#F2EFE4;
  --mist-soft:rgba(242,239,228,.62);--line:rgba(143,191,90,.22);
  --vellum:#E7DCC2;--vellum-2:#DDD0B4;--sepia:#3B3324;--sepia-soft:#6B5F45;
  --stampink:#A8352B;--leather:#6B322E;--leather-dark:#54241F;
  --thread:rgba(232,214,170,.75);--brass:#E3C766;--mono:'JetBrains Mono',monospace;
}
.ekszc-planner *{box-sizing:border-box;margin:0;padding:0}
.ekszc-planner{background:var(--canopy);font-family:'Hanken Grotesk',sans-serif;color:var(--mist);-webkit-font-smoothing:antialiased}
.ekszc-planner .head{max-width:1520px;margin:0 auto;padding:32px 24px 0}
.ekszc-planner .head .k{font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;color:var(--fern);text-transform:uppercase}
.ekszc-planner .head h1{font-family:'EB Garamond',serif;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:500;margin-top:8px}
.ekszc-planner .head p{color:var(--mist-soft);margin-top:10px;max-width:74ch;line-height:1.62;font-size:.97rem}
.ekszc-planner .head p b{color:var(--mist);font-weight:600}
.ekszc-planner .head p.sub{margin-top:7px;font-size:.9rem;color:rgba(242,239,228,.5)}
.ekszc-planner .app{max-width:1520px;margin:20px auto 50px;padding:0 24px;display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start}
@media(max-width:1080px){.ekszc-planner .app{grid-template-columns:1fr}}
.ekszc-planner .mapwrap{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 34px 66px -30px rgba(0,0,0,.82);
  background:var(--vellum);
  background-image:radial-gradient(120% 80% at 12% 3%,rgba(155,120,60,.13),transparent 52%),
   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E")}
.ekszc-planner #map{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}
.ekszc-planner #map.drag{cursor:grabbing}
.ekszc-planner /* ================= TÉRKÉPSTÍLUSOK ================= */
.ocean{stroke:none}
.ekszc-planner .shelf{stroke:none}
.ekszc-planner .coastline{stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ekszc-planner .engrave{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke;display:none}
.ekszc-planner .rays{display:none}
.ekszc-planner .rivm, .ekszc-planner .rivn{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ekszc-planner .lake{vector-effect:non-scaling-stroke}
.ekszc-planner .seanm{font-family:'EB Garamond',serif;font-style:italic;text-anchor:middle;pointer-events:none}
.ekszc-planner .vig{display:none}
.ekszc-planner /* --- METSZET (alap) --- */
#map.st-eng .ocean{fill:url(#stip)}
.ekszc-planner #map.st-eng .shelf{fill:#D8CBA9;opacity:.55}
.ekszc-planner #map.st-eng .engrave{display:block;stroke:#6B5A3A}
.ekszc-planner #map.st-eng .land{fill:#E9E1C8;stroke:#4A3F2A;stroke-width:.8}
.ekszc-planner #map.st-eng .grid{stroke:#8A7A55;stroke-width:.3;stroke-dasharray:2 3;opacity:.5}
.ekszc-planner #map.st-eng .grid.major{stroke:#6B5A3A;stroke-width:.5;opacity:.7}
.ekszc-planner #map.st-eng .rivm{stroke:#6E5F40;stroke-width:.55;opacity:.8}
.ekszc-planner #map.st-eng .rivn{stroke:#6E5F40;stroke-width:.35;opacity:.45}
.ekszc-planner #map.st-eng .lake{fill:#D6CBAB;stroke:#6E5F40;stroke-width:.4}
.ekszc-planner #map.st-eng .seanm{fill:#6B5A3A;opacity:.72}
.ekszc-planner #map.st-eng .dot{fill:#4A3F2A;stroke:rgba(233,225,200,.95)}
.ekszc-planner #map.st-eng .dot.big{fill:#5A3028}
.ekszc-planner #map.st-eng .dot.cap{fill:#8A3F35}
.ekszc-planner #map.st-eng .lbl{fill:#4A3F2A;stroke:none}
.ekszc-planner #map.st-eng .vig{display:block}
.ekszc-planner /* --- TENGERÉSZETI KARTA --- */
#map.st-chart .ocean{fill:#D3DEDC}
.ekszc-planner #map.st-chart .shelf{fill:#C2D2D2;opacity:1}
.ekszc-planner #map.st-chart .rays{display:block}
.ekszc-planner #map.st-chart .land{fill:#E9DFC6;stroke:#7E6C48;stroke-width:.75}
.ekszc-planner #map.st-chart .grid{stroke:rgba(90,120,140,.24);stroke-width:.4}
.ekszc-planner #map.st-chart .grid.major{stroke:rgba(90,120,140,.45);stroke-width:.7}
.ekszc-planner #map.st-chart .rivm{stroke:#8FA9AD;stroke-width:.6}
.ekszc-planner #map.st-chart .rivn{stroke:#8FA9AD;stroke-width:.35;opacity:.5}
.ekszc-planner #map.st-chart .lake{fill:#C2D2D2;stroke:#8FA3A4;stroke-width:.4}
.ekszc-planner #map.st-chart .seanm{fill:#6E8083;opacity:.85}
.ekszc-planner #map.st-chart .dot{fill:#5F5540;stroke:rgba(238,231,211,.95)}
.ekszc-planner #map.st-chart .dot.big{fill:var(--leather)}
.ekszc-planner #map.st-chart .dot.cap{fill:var(--stampink)}
.ekszc-planner #map.st-chart .lbl{fill:var(--sepia);stroke:none}
.ekszc-planner /* --- DOMBORZAT --- */
#map.st-rel .ocean{fill:#BCD4DE}
.ekszc-planner #map.st-rel .shelf{fill:#CFE0E7;opacity:1}
.ekszc-planner #map.st-rel .halo{display:block}
.ekszc-planner #map.st-rel .land{fill:#DFD3AE;stroke:#8E7C55;stroke-width:.7}
.ekszc-planner #map.st-rel .grid{stroke:rgba(255,255,255,.32);stroke-width:.4}
.ekszc-planner #map.st-rel .grid.major{stroke:rgba(255,255,255,.5);stroke-width:.7}
.ekszc-planner #map.st-rel .rivm{stroke:#5E9FB8;stroke-width:.85}
.ekszc-planner #map.st-rel .rivn{stroke:#7FB2C6;stroke-width:.45;opacity:.75}
.ekszc-planner #map.st-rel .lake{fill:#9CC6D6;stroke:#6E9EB0;stroke-width:.45}
.ekszc-planner #map.st-rel .seanm{fill:#5B8496;opacity:.8}
.ekszc-planner #map.st-rel .dot{fill:#7A4038;stroke:rgba(255,255,255,.92)}
.ekszc-planner #map.st-rel .dot.big{fill:#6B322E}
.ekszc-planner #map.st-rel .dot.cap{fill:#A8352B}
.ekszc-planner #map.st-rel .lbl{fill:#3E3524;stroke:none}
.ekszc-planner .halo{fill:none;stroke:#9EBFCC;stroke-width:4;stroke-linejoin:round;opacity:.55;
  vector-effect:non-scaling-stroke;display:none}
.ekszc-planner /* stílusváltó */
.styles{position:absolute;left:12px;top:50px;z-index:6;display:flex;border:1px solid rgba(59,51,36,.4);
  border-radius:2px;overflow:hidden;box-shadow:0 8px 18px -10px rgba(0,0,0,.5)}
.ekszc-planner .styles button{cursor:pointer;border:none;background:rgba(231,220,194,.94);color:var(--sepia-soft);
  padding:7px 11px;font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;
  border-right:1px solid rgba(59,51,36,.25)}
.ekszc-planner .styles button:last-child{border-right:none}
.ekszc-planner .styles button.on{background:linear-gradient(158deg,#F2E2A6,#CDAB58 40%,#B08E33);color:#2A2110;font-weight:500}
.ekszc-planner .grid{stroke:rgba(90,120,140,.2);stroke-width:.5;vector-effect:non-scaling-stroke;fill:none}
.ekszc-planner .grid.major{stroke:rgba(90,120,140,.38);stroke-width:.8}
.ekszc-planner .land{fill:#D6C7A4;stroke:#8A7A55;stroke-width:.7;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ekszc-planner .dot{fill:#5F5540;stroke:rgba(238,231,211,.95);stroke-width:1.1;
  vector-effect:non-scaling-stroke;pointer-events:none}
.ekszc-planner .dot.big{fill:var(--leather);stroke-width:1.3}
.ekszc-planner .dot.cap{fill:var(--stampink);stroke-width:1.4}
.ekszc-planner .hit{fill:transparent;stroke:none;cursor:pointer}
.ekszc-planner .hit:hover{fill:rgba(168,53,43,.12);stroke:rgba(168,53,43,.42);
  stroke-width:1.2;vector-effect:non-scaling-stroke}
/* Kontúr nélkül. A világos térképen a sötét betű így is olvasható,
   és semmit nem takar el belőle. */
.ekszc-planner .lbl{font-family:var(--mono);fill:var(--sepia);pointer-events:none;stroke:none}
.ekszc-planner .hi circle{fill:var(--stampink)}
.ekszc-planner .hi text{fill:var(--stampink)}
.ekszc-planner .leg{fill:none;stroke:var(--stampink);stroke-width:1.7;stroke-dasharray:7 5;
  stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.92;
  paint-order:stroke;filter:drop-shadow(0 0 1.5px rgba(238,231,211,.9))}
.ekszc-planner .pin{fill:var(--brass);stroke:#7A5F1B;stroke-width:1.2;vector-effect:non-scaling-stroke}
.ekszc-planner .pno{font-family:var(--mono);fill:#2A2110;text-anchor:middle;font-weight:500;pointer-events:none}
.ekszc-planner .pnm{font-family:'EB Garamond',serif;fill:var(--sepia);font-weight:600;pointer-events:none;
  paint-order:stroke;stroke:rgba(231,220,194,.92);stroke-width:3.2px;stroke-linejoin:round}
.ekszc-planner .sel{fill:none;stroke:var(--stampink);stroke-width:1.6;vector-effect:non-scaling-stroke}
.ekszc-planner .modes{position:absolute;left:12px;top:12px;z-index:6;display:flex;border:1px solid rgba(59,51,36,.4);
  border-radius:2px;overflow:hidden;box-shadow:0 8px 18px -10px rgba(0,0,0,.5)}
.ekszc-planner .modes button{cursor:pointer;border:none;background:rgba(231,220,194,.94);color:var(--sepia-soft);
  padding:8px 13px;font-family:var(--mono);font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;
  border-right:1px solid rgba(59,51,36,.25)}
.ekszc-planner .modes button:last-child{border-right:none}
.ekszc-planner .modes button.on{background:linear-gradient(158deg,#F2E2A6,#CDAB58 40%,#B08E33);color:#2A2110;font-weight:500}
.ekszc-planner .lensring{fill:none;stroke:url(#brassgrad);stroke-width:5;filter:drop-shadow(0 3px 7px rgba(0,0,0,.45));pointer-events:none}
.ekszc-planner .lensin{fill:none;stroke:rgba(42,33,16,.45);stroke-width:1;pointer-events:none}
.ekszc-planner .lenscross{stroke:rgba(168,53,43,.55);stroke-width:1.1;pointer-events:none}
.ekszc-planner .lensbtn{position:absolute;right:12px;bottom:12px;z-index:8;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.ekszc-planner .lensbtn .big{width:48px;height:48px;border-radius:50%;cursor:pointer;border:none;
  background:linear-gradient(158deg,#F2E2A6,#CDAB58 32%,#9B7A28 62%,#DFC470);color:#2A2110;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 22px -8px rgba(0,0,0,.7);
  font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:.2s}
.ekszc-planner .lensbtn .big:hover{transform:translateY(-2px)}
.ekszc-planner .lensbtn .big.on{background:linear-gradient(158deg,#8FBF5A,#5E8F36);color:#0A2119}
.ekszc-planner .lensbtn .adj{display:none;gap:5px}
.ekszc-planner .lensbtn .adj.on{display:flex}
.ekszc-planner .lensbtn .adj button{width:28px;height:28px;cursor:pointer;border:1px solid rgba(59,51,36,.4);
  background:rgba(231,220,194,.94);color:var(--sepia);border-radius:2px;font-family:var(--mono);font-size:.8rem;line-height:1}
.ekszc-planner .lensbtn .adj button:hover{border-color:var(--leather)}
.ekszc-planner .lensbtn .lv{font-family:var(--mono);font-size:.58rem;color:var(--sepia);background:rgba(231,220,194,.9);
  padding:3px 7px;border-radius:2px;border:1px solid rgba(59,51,36,.3)}
.ekszc-planner .info .wsrc{display:block;margin-top:7px;font-family:var(--mono);font-size:.53rem;letter-spacing:.06em;
  color:var(--sepia-soft);text-transform:uppercase}
.ekszc-planner .info .wsrc a{color:var(--leather);text-decoration:underline}
.ekszc-planner .mini{position:absolute;right:12px;bottom:74px;background:rgba(231,220,194,.95);
  border:1px solid rgba(59,51,36,.4);border-radius:2px;padding:4px;z-index:5;
  box-shadow:0 10px 22px -10px rgba(0,0,0,.6);opacity:0;transition:.25s;pointer-events:none}
.ekszc-planner .mini.on{opacity:1}
.ekszc-planner .mini svg{width:168px;height:auto;display:block}
.ekszc-planner .miniland{fill:#C9B994;stroke:none}
.ekszc-planner .minibox{fill:rgba(168,53,43,.18);stroke:var(--stampink);stroke-width:1.4}
.ekszc-planner .back{position:absolute;left:12px;top:88px;z-index:6;cursor:pointer;border:1px solid rgba(59,51,36,.4);
  background:rgba(231,220,194,.95);color:var(--sepia);padding:7px 12px;border-radius:2px;
  font-family:var(--mono);font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;
  opacity:0;transition:.25s;pointer-events:none}
.ekszc-planner .back.on{opacity:1;pointer-events:auto}
.ekszc-planner .creg{fill:rgba(168,53,43,0);cursor:pointer;transition:fill .2s}
.ekszc-planner .creg:hover{fill:rgba(168,53,43,.14)}
.ekszc-planner .creglbl{font-family:'EB Garamond',serif;fill:var(--sepia);text-anchor:middle;pointer-events:none;
  paint-order:stroke;stroke:rgba(231,220,194,.85);stroke-width:3px;opacity:.8}
.ekszc-planner .tools{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:6px;z-index:5}
.ekszc-planner .tools button{width:33px;height:33px;cursor:pointer;border:1px solid rgba(59,51,36,.4);
  background:rgba(231,220,194,.93);color:var(--sepia);font-size:1rem;border-radius:2px;font-family:var(--mono);line-height:1}
.ekszc-planner .tools button:hover{background:var(--vellum-2);border-color:var(--leather)}
.ekszc-planner .search{position:absolute;right:12px;top:12px;width:250px;z-index:8}
.ekszc-planner .search input{width:100%;padding:10px 13px;border:1px solid rgba(59,51,36,.42);border-radius:2px;
  background:rgba(231,220,194,.96);color:var(--sepia);font-family:inherit;font-size:.9rem}
.ekszc-planner .search input:focus{outline:none;border-color:var(--leather)}
.ekszc-planner .res{margin-top:5px;background:var(--vellum);border:1px solid rgba(59,51,36,.32);border-radius:2px;
  max-height:280px;overflow:auto;display:none;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.ekszc-planner .res.on{display:block}
.ekszc-planner .res div{padding:9px 12px;cursor:pointer;color:var(--sepia);font-size:.88rem;
  border-bottom:1px solid rgba(59,51,36,.12);display:flex;justify-content:space-between;gap:8px}
.ekszc-planner .res div:last-child{border-bottom:none}
.ekszc-planner .res div:hover{background:var(--vellum-2)}
.ekszc-planner .res small{font-family:var(--mono);font-size:.64rem;color:var(--sepia-soft);white-space:nowrap}
.ekszc-planner /* városkártya */
.info{position:absolute;left:12px;bottom:12px;width:340px;max-width:calc(100% - 24px);
  max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain;
  background:var(--vellum);color:var(--sepia);border-left:5px solid var(--leather);border-radius:2px;
  box-shadow:0 20px 44px -18px rgba(0,0,0,.75);z-index:7;
  opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}
.ekszc-planner /* --- görgetősáv: pergamen felületen (kártya, .ekszc-planner találatok) --- */
.info, .ekszc-planner .res, .ekszc-planner .sres{scrollbar-width:thin;scrollbar-color:rgba(107,50,46,.45) rgba(59,51,36,.09)}
.ekszc-planner .info::-webkit-scrollbar, .ekszc-planner .res::-webkit-scrollbar, .ekszc-planner .sres::-webkit-scrollbar{width:9px}
.ekszc-planner .info::-webkit-scrollbar-track, .ekszc-planner .res::-webkit-scrollbar-track, .ekszc-planner .sres::-webkit-scrollbar-track{
  background:rgba(59,51,36,.09);border-radius:0}
.ekszc-planner .info::-webkit-scrollbar-thumb, .ekszc-planner .res::-webkit-scrollbar-thumb, .ekszc-planner .sres::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#8A4038,var(--leather) 45%,var(--leather-dark));
  border-radius:5px;border:2px solid rgba(231,220,194,.85);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.ekszc-planner .info::-webkit-scrollbar-thumb:hover, .ekszc-planner .res::-webkit-scrollbar-thumb:hover, .ekszc-planner .sres::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#A0524A,#7A3A34)}
.ekszc-planner .info::-webkit-scrollbar-button{display:none;height:0}
.ekszc-planner /* --- görgetősáv: sötét felületen (útvonallista) --- */
.list{scrollbar-width:thin;scrollbar-color:rgba(143,191,90,.4) rgba(143,191,90,.08)}
.ekszc-planner .list::-webkit-scrollbar{width:9px}
.ekszc-planner .list::-webkit-scrollbar-track{background:rgba(143,191,90,.08)}
.ekszc-planner .list::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--fern),#5E8F36);border-radius:5px;
  border:2px solid var(--canopy-deep)}
.ekszc-planner .list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#A5D46B,#6BA33F)}
.ekszc-planner .list::-webkit-scrollbar-button{display:none;height:0}
.ekszc-planner /* halvány jelzés a kártya alján, .ekszc-planner hogy van még lejjebb */
.infowrap{position:relative}
.ekszc-planner .info::after{content:"";position:sticky;bottom:0;left:0;display:block;height:22px;
  background:linear-gradient(to top,var(--vellum),rgba(231,220,194,0));pointer-events:none;margin-top:-22px}
@media(max-width:640px){.ekszc-planner .info{left:8px;right:8px;bottom:8px;width:auto;max-height:62%}
.ekszc-planner .search{width:calc(100% - 60px)}

}
.ekszc-planner .info.on{opacity:1;transform:translateY(0);pointer-events:auto}
.ekszc-planner .info .top{padding:14px 16px 11px;border-bottom:1.5px solid rgba(59,51,36,.22);position:sticky;top:0;background:var(--vellum);z-index:2}
.ekszc-planner .info .cap{font-family:var(--mono);font-size:.57rem;letter-spacing:.15em;text-transform:uppercase;color:var(--stampink)}
.ekszc-planner .info h3{font-family:'EB Garamond',serif;font-size:1.5rem;font-weight:600;margin-top:5px;line-height:1.1}
.ekszc-planner .info .loc{font-size:.86rem;color:var(--sepia-soft);margin-top:4px}
.ekszc-planner .info .x{position:absolute;right:11px;top:11px;cursor:pointer;background:none;border:none;
  color:var(--sepia-soft);font-size:1.15rem;line-height:1;padding:2px 5px}
.ekszc-planner .info .x:hover{color:var(--stampink)}
.ekszc-planner .facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(59,51,36,.16)}
.ekszc-planner .facts div{background:var(--vellum);padding:9px 12px}
.ekszc-planner .facts span{display:block;font-family:var(--mono);font-size:.52rem;letter-spacing:.11em;text-transform:uppercase;color:var(--sepia-soft)}
.ekszc-planner .facts b{display:block;margin-top:3px;font-family:'EB Garamond',serif;font-size:1rem;font-weight:600}
.ekszc-planner .info .body{padding:13px 17px 14px}
.ekszc-planner .info .clim{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--leather);border:1.4px solid rgba(107,50,46,.4);padding:3px 8px;display:inline-block;border-radius:1px}
.ekszc-planner .info p{font-family:'Spectral',serif;font-size:.88rem;line-height:1.55;color:var(--sepia-soft);margin-top:9px}
.ekszc-planner .info .why{margin-top:11px;padding:11px 12px;background:rgba(107,50,46,.07);border-left:3px solid var(--leather);border-radius:1px}
.ekszc-planner .info .why em{font-style:normal;font-family:var(--mono);font-size:.53rem;letter-spacing:.12em;text-transform:uppercase;color:var(--leather);display:block;margin-bottom:4px}
.ekszc-planner .info .why span{font-family:'Spectral',serif;font-size:.9rem;line-height:1.55;color:var(--sepia)}
.ekszc-planner .info .best{margin-top:11px;padding-top:10px;border-top:1px dashed rgba(59,51,36,.25);font-size:.85rem}
.ekszc-planner .info .best em{font-style:normal;font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sepia-soft);display:block;margin-bottom:3px}
.ekszc-planner .info .best b{font-family:'EB Garamond',serif;font-size:1.05rem;color:var(--sepia)}
.ekszc-planner .info .addbtn{display:block;width:calc(100% - 34px);margin:12px 17px 15px;padding:11px;cursor:pointer;border:none;border-radius:2px;
  background:linear-gradient(158deg,#F2E2A6,#CDAB58 30%,#9B7A28 60%,#DFC470);color:#2A2110;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 16px -8px rgba(0,0,0,.6)}
.ekszc-planner .hint{position:absolute;left:56px;top:18px;font-family:'Caveat',cursive;font-size:1.15rem;color:var(--sepia-soft);pointer-events:none;transition:opacity .4s}
.ekszc-planner .hint.off{opacity:0}
.ekszc-planner .sb{position:absolute;right:12px;bottom:12px;font-family:var(--mono);font-size:.58rem;color:var(--sepia-soft);pointer-events:none;text-align:right}
.ekszc-planner .sb i{display:block;height:5px;border:1px solid var(--sepia-soft);border-top:none;margin-bottom:3px;margin-left:auto}
.ekszc-planner .side{background:var(--canopy-deep);border:1px solid var(--line);border-radius:4px;overflow:hidden;position:sticky;top:16px}
.ekszc-planner .side-hd{padding:17px 19px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.ekszc-planner .side-hd span{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;color:var(--fern);text-transform:uppercase}
.ekszc-planner .side-hd b{font-family:'EB Garamond',serif;font-size:1.4rem;font-weight:500}
.ekszc-planner .origin{display:flex;align-items:center;gap:9px;padding:11px 15px;border-bottom:1px solid var(--line);background:rgba(143,191,90,.05)}
.ekszc-planner .origin span{font-family:var(--mono);font-size:.53rem;letter-spacing:.12em;color:var(--fern);text-transform:uppercase}
.ekszc-planner .origin b{flex:1;font-family:'EB Garamond',serif;font-size:1.05rem;font-weight:600}
.ekszc-planner .origin button{cursor:pointer;background:none;border:1px solid var(--line);color:var(--mist-soft);
  border-radius:2px;padding:4px 8px;font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}
.ekszc-planner .origin button:hover{border-color:var(--fern);color:var(--fern)}
.ekszc-planner .stats{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line)}
.ekszc-planner .stats div{background:var(--canopy-deep);padding:13px 10px;text-align:center}
.ekszc-planner .stats span{display:block;font-family:var(--mono);font-size:.53rem;letter-spacing:.12em;color:var(--fern);text-transform:uppercase}
.ekszc-planner .stats b{display:block;margin-top:4px;font-family:'EB Garamond',serif;font-size:1.25rem;font-weight:500}
.ekszc-planner .list{max-height:360px;overflow:auto}
.ekszc-planner .item{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:11px 15px;border-bottom:1px solid var(--line)}
.ekszc-planner .item:last-child{border-bottom:none}
.ekszc-planner .item .n{width:25px;height:25px;border-radius:50%;background:var(--brass);color:#2A2110;
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.66rem}
.ekszc-planner .item .t strong{display:block;font-family:'EB Garamond',serif;font-size:1rem;font-weight:600;line-height:1.2}
.ekszc-planner .item .t small{font-family:var(--mono);font-size:.58rem;color:var(--mist-soft)}
.ekszc-planner .item .a{display:flex;gap:3px}
.ekszc-planner .item .a button{width:21px;height:21px;cursor:pointer;background:none;border:1px solid var(--line);
  color:var(--mist-soft);border-radius:2px;font-size:.68rem;line-height:1}
.ekszc-planner .item .a button:hover{border-color:var(--fern);color:var(--fern)}
.ekszc-planner .item .a button.x:hover{border-color:var(--stampink);color:var(--stampink)}
.ekszc-planner .empty{padding:28px 18px;text-align:center;color:var(--mist-soft);font-size:.88rem;line-height:1.6}
.ekszc-planner .empty em{font-family:'Caveat',cursive;font-size:1.15rem;font-style:normal;color:var(--fern);display:block;margin-top:6px}
.ekszc-planner .side-ft{padding:14px 15px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.ekszc-planner .btn{cursor:pointer;padding:10px 13px;border-radius:2px;border:1px solid var(--line);background:none;color:var(--mist);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.ekszc-planner .btn:hover{border-color:var(--fern);color:var(--fern)}
.ekszc-planner .btn.brass{border:none;background:linear-gradient(158deg,#F2E2A6,#CDAB58 30%,#9B7A28 60%,#DFC470);color:#2A2110}
.ekszc-planner .start{position:fixed;inset:0;background:rgba(8,28,21,.93);backdrop-filter:blur(6px);z-index:60;
  display:flex;align-items:center;justify-content:center;padding:22px;transition:opacity .3s}
.ekszc-planner .start.off{opacity:0;pointer-events:none}
.ekszc-planner .startbox{width:100%;max-width:430px;background:var(--vellum);color:var(--sepia);
  border-left:5px solid var(--leather);border-radius:3px;padding:26px 28px 24px;
  box-shadow:0 34px 70px -24px rgba(0,0,0,.85)}
.ekszc-planner .startbox .k{font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stampink)}
.ekszc-planner .startbox h2{font-family:'EB Garamond',serif;font-size:1.75rem;font-weight:600;margin-top:7px}
.ekszc-planner .startbox p{font-family:'Spectral',serif;font-size:.93rem;line-height:1.55;color:var(--sepia-soft);margin-top:8px}
.ekszc-planner .startbox input{width:100%;margin-top:16px;padding:12px 14px;border:1px solid rgba(59,51,36,.4);
  border-radius:2px;background:#fff;color:var(--sepia);font-family:inherit;font-size:.96rem}
.ekszc-planner .startbox input:focus{outline:none;border-color:var(--leather)}
.ekszc-planner .sres{max-height:210px;overflow:auto;margin-top:6px}
.ekszc-planner .sres div{padding:10px 12px;cursor:pointer;font-size:.9rem;border-bottom:1px solid rgba(59,51,36,.12);
  display:flex;justify-content:space-between;gap:8px}
.ekszc-planner .sres div:hover{background:var(--vellum-2)}
.ekszc-planner .sres small{font-family:var(--mono);font-size:.64rem;color:var(--sepia-soft)}
.ekszc-planner .startbox .btn{width:100%;margin-top:14px;padding:12px}
.ekszc-planner .shr{position:fixed;inset:0;background:rgba(8,28,21,.93);backdrop-filter:blur(6px);z-index:70;
  display:flex;align-items:center;justify-content:center;padding:22px;transition:opacity .28s}
.ekszc-planner .shr.off{opacity:0;pointer-events:none}
.ekszc-planner .shrbox{width:100%;max-width:520px;max-height:88vh;overflow-y:auto;background:var(--vellum);color:var(--sepia);
  border-left:5px solid var(--leather);border-radius:3px;padding:24px 26px 22px;
  box-shadow:0 34px 70px -24px rgba(0,0,0,.85);
  scrollbar-width:thin;scrollbar-color:rgba(107,50,46,.45) rgba(59,51,36,.09)}
.ekszc-planner .shrbox::-webkit-scrollbar{width:9px}
.ekszc-planner .shrbox::-webkit-scrollbar-track{background:rgba(59,51,36,.09)}
.ekszc-planner .shrbox::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8A4038,var(--leather) 45%,var(--leather-dark));
  border-radius:5px;border:2px solid rgba(231,220,194,.85)}
.ekszc-planner .shrbox .k{font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stampink)}
.ekszc-planner .shrbox h2{font-family:'EB Garamond',serif;font-size:1.6rem;font-weight:600;margin-top:6px}
.ekszc-planner .shrbox .sum{margin-top:6px;font-family:var(--mono);font-size:.66rem;color:var(--sepia-soft);letter-spacing:.05em}
.ekszc-planner .shrbox label{display:block;margin-top:17px;font-family:var(--mono);font-size:.54rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sepia-soft);margin-bottom:5px}
.ekszc-planner .shrbox input, .ekszc-planner .shrbox textarea{width:100%;padding:11px 12px;border:1px solid rgba(59,51,36,.38);
  border-radius:2px;background:#fff;color:var(--sepia);font-family:var(--mono);font-size:.76rem;resize:vertical}
.ekszc-planner .shrbox textarea{min-height:150px;line-height:1.55;font-family:'Spectral',serif;font-size:.86rem}
.ekszc-planner .shrbox input:focus, .ekszc-planner .shrbox textarea:focus{outline:none;border-color:var(--leather)}
.ekszc-planner .shrrow{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.ekszc-planner .shrrow button{flex:1;min-width:130px;cursor:pointer;padding:11px 12px;border-radius:2px;border:1px solid rgba(59,51,36,.4);
  background:rgba(255,255,255,.5);color:var(--sepia);font-family:var(--mono);font-size:.63rem;
  letter-spacing:.1em;text-transform:uppercase}
.ekszc-planner .shrrow button:hover{border-color:var(--leather);background:var(--vellum-2)}
.ekszc-planner .shrrow button.gold{border:none;background:linear-gradient(158deg,#F2E2A6,#CDAB58 32%,#9B7A28 62%,#DFC470);
  color:#2A2110;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.ekszc-planner .shrnote{margin-top:14px;padding:10px 12px;background:rgba(168,53,43,.08);border-left:3px solid var(--stampink);
  font-family:'Spectral',serif;font-size:.83rem;line-height:1.5;color:var(--sepia-soft);display:none}
.ekszc-planner .shrnote.on{display:block}
.ekszc-planner .shrclose{width:100%;margin-top:16px;cursor:pointer;padding:10px;border-radius:2px;border:1px solid rgba(59,51,36,.3);
  background:none;color:var(--sepia-soft);font-family:var(--mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}
.ekszc-planner .shrclose:hover{border-color:var(--leather);color:var(--sepia)}
.ekszc-planner .toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,14px);background:var(--vellum);color:var(--sepia);
  padding:11px 19px;border-left:4px solid var(--leather);border-radius:2px;font-size:.87rem;
  box-shadow:0 16px 34px -14px rgba(0,0,0,.7);opacity:0;transition:.28s;z-index:40;pointer-events:none}
.ekszc-planner .toast.on{opacity:1;transform:translate(-50%,0)}
.ekszc-planner .howto{max-width:1520px;margin:0 auto 14px;padding:14px 24px;display:flex;gap:22px;flex-wrap:wrap;
  align-items:center;font-size:.9rem;color:var(--mist-soft);line-height:1.5}
.ekszc-planner .howto b{color:var(--mist);font-weight:600}
.ekszc-planner .howto .n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border-radius:50%;background:var(--brass);color:#2A2110;font-family:var(--mono);font-size:.66rem;
  font-weight:500;margin-right:7px;flex:none}
@media(max-width:760px){.ekszc-planner .howto{flex-direction:column;align-items:flex-start;gap:9px}}
.ekszc-planner .credit{max-width:1520px;margin:0 auto;padding:0 24px 40px;font-family:var(--mono);font-size:.6rem;color:rgba(242,239,228,.32);line-height:1.8}


/* =========================================================
   Takarékos mód gombja
========================================================= */
.ekszc-planner .modes.lean{left:auto;right:12px;top:12px}
.ekszc-planner .modes.lean button{white-space:nowrap}

/* =========================================================
   Mobil elrendezés
   A térkép aránya 1440:568, ami telefonon 150 pixeles csíkot adna.
   Ezért mobilon magasabb dobozt adunk neki, és a vezérlőket
   szétosztjuk, hogy ne fedjék egymást.
========================================================= */
@media(max-width:900px){
  .ekszc-planner .app{padding:0 12px;gap:12px;margin-top:14px}
  .ekszc-planner .head{padding:22px 14px 0}
  .ekszc-planner .mapwrap{min-height:62vh}
  .ekszc-planner #map{height:62vh;width:100%}

  /* vezérlők: mód balra fent, stílus balra alatta, takarékos jobbra fent */
  .ekszc-planner .modes{left:8px;top:8px}
  .ekszc-planner .modes button{padding:9px 11px;font-size:.6rem}
  .ekszc-planner .styles{left:8px;top:52px}
  .ekszc-planner .modes.lean{right:8px;top:8px;left:auto}
  .ekszc-planner .back{left:8px;top:96px}

  /* keresőmező ne fedje a gombokat */
  .ekszc-planner .search{left:8px;right:8px;top:auto;bottom:78px;width:auto}
  .ekszc-planner .search input{font-size:16px}   /* iOS ne nagyítson rá */

  /* nagyító gomb nagyobb ujjra */
  .ekszc-planner .lensbtn{right:8px;bottom:8px}
  .ekszc-planner .lensbtn .big{width:54px;height:54px;font-size:1.4rem}
  .ekszc-planner .mini{display:none}
}
@media(max-width:520px){
  .ekszc-planner .mapwrap{min-height:56vh}
  .ekszc-planner #map{height:56vh}
  .ekszc-planner .styles button{padding:8px 9px;font-size:.55rem}
}
