
:root{
  --bg:#070a0f;
  --panel:#0c111b;
  --text:#eef2ff;
  --muted:#a8b3d6;
  --border:rgba(255,255,255,.14);
  --hot: rgba(122,162,255,.18);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

/* Fixed side bar */
.sidebar{
  position:fixed; left:0; top:0; bottom:0;
  width:220px;
  border-right:1px solid var(--border);
  background: rgba(7,10,15,.92);
  backdrop-filter: blur(10px);
  padding:16px 12px;
  z-index:20;
}
.brand{display:flex;gap:10px;align-items:center;margin:4px 8px 14px}
.dot{width:10px;height:10px;border-radius:999px;background:#7aa2ff;box-shadow:0 0 16px rgba(122,162,255,.55)}
.brand b{letter-spacing:.2px}
.nav a{
  display:block;
  margin:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid transparent;
  color: var(--muted);
  text-decoration:none;
}
.nav a:hover{border-color:var(--border);color:var(--text);background:rgba(255,255,255,.03)}
.nav a.active{border-color:rgba(122,162,255,.55);color:var(--text);background:rgba(122,162,255,.12)}

.content{margin-left:220px;min-height:100vh}
.page{padding:18px;max-width:1320px}
.card{
  background: rgba(12,17,27,.78);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
.hint{color:var(--muted);font-size:13px;line-height:1.35}
.btnrow{display:flex;gap:10px;flex-wrap:wrap}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
  color:var(--text);
  text-decoration:none;
  cursor:pointer;
  user-select:none;
}
.btn:hover{transform: translateY(-1px)}
.btn.primary{border-color:rgba(122,162,255,.55);background:rgba(122,162,255,.14)}
.btn.small{padding:8px 10px;border-radius:10px;font-size:13px;color:var(--muted)}

/* Home image + hotspots */
.hero{
  position: relative;
  border: none;          /* <— toto odstráni obrys */
  border-radius: 0;      /* <— ak nechceš zaoblené rohy */
  overflow: visible;     /* <— ak už nepotrebuješ orezávať */
}
.hero img{display:block;width:100%;height:auto}
.hero{ position: relative; }
.hero{ overflow: hidden; }   /* musí byť */

.bgimg{
  transform: scale(1.01);
  transform-origin: center;
}

.bgimg{
  width: 100%;
  display: block;
  pointer-events: none;   /* neblokuje kliky na hotspoty */
  user-select: none;
  -webkit-user-drag: none;
}
.hotspot{
  position:absolute;
  border-radius: 18px;
  background: var(--hot);
  border: 1px dashed rgba(255, 255, 255, 0);
  color: var(--text);
  display:flex; align-items:center; justify-content:center;
  font-weight:700;
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
  opacity: .70; /* semi-visible for fitting */
}
.hotspot:hover{opacity:.92; background: rgba(122,162,255,.26);}

/* Big mindmap viewer */
.viewer{
  height: calc(100vh - 36px);
  overflow:auto;
  border-radius: var(--radius);
  border:1px solid var(--border);
  background: rgba(255,255,255,.02);
}
.viewer img{display:block;max-width:none}

/* Code box */
.codebox{margin-top:12px;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.codebox .toolbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 12px;background:rgba(255,255,255,.04);
  border-bottom:1px solid var(--border);
  color:var(--muted);font-size:13px
}
.codebox pre{
  margin:0;padding:12px;max-height:260px;overflow:auto;
  background:#070b12;color:#eef2ff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
}

/* PNG changer */
.png-changer{display:grid;grid-template-columns: 1fr;gap:10px;}
.png-frame{
  border:1px solid var(--border);
  border-radius: 16px;
  overflow:hidden;
  background: rgba(255,255,255,.02);
}
.png-frame img{width:100%;height:auto;display:block}

/* Hover animated square */
.hover-swap{
  width:64px;height:64px;
  border-radius:14px;
  border:1px solid var(--border);
  background-size:cover;
  background-position:center;
  background-color: rgba(255,255,255,.03);
}



