/* =========================
   Paleta / motyw Wiedza o Lasach
   ========================= */
:root{
  --forest-900:#0d2a1a;
  --forest-800:#114227;
  --forest-700:#165b34;
  --forest-600:#1b5e20; /* główny */
  --forest-500:#2e7d32;
  --forest-300:#8fcf97;
  --accent-amber:#ffc857;
  --accent-emerald:#42e2b8;
  --ink:#0c1012;
  --text-on-dark:#ffffff;
  --text-muted:rgba(255,255,255,.75);
  --glass-bg:rgba(17,66,39,.55);
  --glass-brd:rgba(255,255,255,.12);
  --scene-bg:#aeb5ad;

  --sidebar-width: 300px;
  --radius:14px;
  --radius-sm:10px;
  --shadow: 0 6px 24px rgba(0,0,0,.25);
  --shadow-soft: 0 10px 30px rgba(0,0,0,.18);
}

/* Reset + typografia */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text-on-dark);
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(66,226,184,.08), transparent 60%),
    radial-gradient(1000px 800px at -10% 110%, rgba(143,207,151,.08), transparent 60%),
    linear-gradient(160deg, var(--forest-800), var(--forest-700) 40%, var(--forest-900));
  overflow:hidden;
}

/* Pasek mobilny */
.navbar{
  background: linear-gradient(135deg, var(--forest-700), var(--forest-800));
  border-bottom:1px solid var(--glass-brd);
}
.nav-logo{height:30px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}

/* Układ */
.app-wrap{backdrop-filter: none;}
.main-wrap{ background: transparent; }

/* Szkło / karty */
.glass{
  background: var(--glass-bg);
  border:1px solid var(--glass-brd);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(10px);

}
.glass-strong{
  background: rgba(13,42,26,.72);
  border:1px solid var(--glass-brd);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px) saturate(120%);
    
}

/* Sidebar */
.sidebar{
  width:var(--sidebar-width);
  height:100%;
  padding:1rem 1.1rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.logo{
  text-align:center;
  padding-bottom:.75rem;
  border-bottom:1px dashed var(--glass-brd);
}
.section-title{
  color:var(--text-muted);
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.02em;
  display:flex;
  align-items:center;
  gap:.5rem;
}

/* Typy drzew */
.tree-types-container{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.5rem;
}
.tree-type{
  appearance:none;
  border:none;
  background: rgba(255,255,255,.06);
  border:1px solid var(--glass-brd);
  color:var(--text-on-dark);
  border-radius: var(--radius-sm);
  padding:.55rem .5rem;
  cursor:pointer;
  transition: transform .12s ease, background .15s ease, box-shadow .2s ease;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.tree-type:hover{transform: translateY(-1px)}
.tree-type.active{
  background: linear-gradient(180deg, rgba(143,207,151,.45), rgba(143,207,151,.18));
  box-shadow: inset 0 0 0 2px rgba(143,207,151,.35);
}
.tree-type img{
  width:100%;
  height:48px;
  object-fit:contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.25));
}
.tree-type .label{font-size:.75rem;margin-top:.25rem}

/* Chipy rozmiaru */
.btn-chip{
  padding:.45rem .7rem;
  font-size:.85rem;
  color:#fff;
  background: rgba(255,255,255,.06);
  border:1px solid var(--glass-brd);
  border-radius:999px;
  transition: all .15s ease;
}
.btn-chip:hover{background: rgba(255,255,255,.12)}
.size-btn.active{
  background: linear-gradient(135deg, var(--forest-500), var(--forest-600));
  border-color: transparent;
  box-shadow: 0 0 0 2px rgba(66,226,184,.25);
}

/* Narzędzia */
.tool-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.55rem;
}
.btn-tool{
  display:flex; align-items:center; justify-content:center; gap:.45rem;
  padding:.6rem .7rem;
  font-size:.9rem;
  border-radius: var(--radius-sm);
  color:#fff;
  background: rgba(255,255,255,.06);
  border:1px solid var(--glass-brd);
  transition: transform .1s ease, background .15s ease, box-shadow .2s ease;
}
.btn-tool:hover{background: rgba(255,255,255,.12); transform: translateY(-1px)}
.btn-tool.active{
  background: linear-gradient(135deg, var(--forest-500), var(--forest-600));
  box-shadow: 0 4px 16px rgba(0,0,0,.25), inset 0 0 0 2px rgba(66,226,184,.2);
  border-color: transparent;
}

/* CTA */
.btn-cta{
  background: linear-gradient(135deg, var(--forest-600), var(--forest-700));
  color:#fff;
  border:1px solid transparent;
  border-radius: var(--radius-sm);
  padding:.65rem .9rem;
  font-weight:600;
  transition: transform .12s ease, box-shadow .2s ease, opacity .15s ease;
}
.btn-cta:hover{transform: translateY(-1px); box-shadow: var(--shadow-soft)}
.btn-alt{background: linear-gradient(135deg, #286a38, #2b6d4a)}
.btn-ghost{
  background: transparent;
  color:#fff;
  border:1px solid var(--glass-brd);
  border-radius: var(--radius-sm);
  padding:.6rem .9rem;
}
.btn-ghost:hover{background: rgba(255,255,255,.06)}

/* Statystyki */
.stats-section{
  background: rgba(255,255,255,.04);
  border:1px dashed var(--glass-brd);
  border-radius: var(--radius-sm);
  padding:.85rem;
}
.stat-badge{
  background: rgba(255,255,255,.12);
  color:#fff;
  border:1px solid var(--glass-brd);
  font-weight:600;
}

/* Scena */
#scene-container{
  flex:1;
  position:relative;
  background: var(--scene-bg);
  border-radius: var(--radius);
  border:1px solid rgba(0,0,0,.06);
}
#scene-container canvas{width:100%!important;height:100%!important;display:block}

/* Informacja o sterowaniu */
.controls-info{
  background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.35));
  border-top:1px solid var(--glass-brd);
  color:var(--text-muted);
  padding:.6rem .9rem;
}

/* ===== Stopka – FLEX + kontener ikon ===== */
.footer{
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.45));
  color:var(--text-on-dark);
  border-top:1px solid var(--glass-brd);
  padding:.6rem .9rem;

  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.5rem;
}
.footer .footer-icons{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
}
.help-footer{
  display:inline-flex;
  width:32px; height:32px;
  justify-content:center; align-items:center;
  border-radius:8px;
  cursor:pointer; line-height:1;
  opacity:.95;
}
.help-footer:hover{ background:rgba(255,255,255,.1); opacity:1 }

/* FAB Zoom */
.fab{
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border-radius:12px;
  background: rgba(255,255,255,.85);
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.fab:hover{background:#fff}

/* Overlays / modale */
.fullscreen-overlay{
  position: fixed; inset: 0;
  display:flex; align-items:center; justify-content:center;
  z-index: 9999;
  background: radial-gradient(1200px 600px at 20% -10%, rgba(66,226,184,.1), transparent 60%),
              radial-gradient(1200px 600px at 120% 110%, rgba(143,207,151,.08), transparent 60%),
              rgba(0,0,0,.65);
  padding:1rem;
}
.modal-content{
  color:#fff;
  padding:1.3rem 1.3rem;
  width:100%;
  max-width:520px;
  position:relative;
}
.modal-content .close{
  position:absolute; top:.85rem; right:.9rem; font-size:1.6rem; cursor:pointer; color:#fff; opacity:.9
}
.modal-content .close:hover{opacity:1}

.modal-overlay{
  position: fixed; inset:0;
  display:none; align-items:center; justify-content:center;
  z-index:1000; padding:1rem;
  background: rgba(0,0,0,.65);
}
.note-modal textarea{min-height:160px}

/* Lista projektów */
.projects-list{
  max-height:60vh; overflow-y:auto; padding:.25rem;
}
.project-item{
  background: rgba(255,255,255,.06);
  border:1px solid var(--glass-brd);
  border-radius: var(--radius-sm);
  padding:.75rem;
  margin-bottom:.5rem;
  cursor:pointer; transition: background .15s ease, transform .1s ease;
}
.project-item:hover{background: rgba(255,255,255,.12); transform: translateY(-1px)}
.project-name{font-weight:600}
.project-date{font-size:.8rem; color:var(--text-muted)}
.project-desc{font-size:.9rem; margin-top:.35rem}

/* Loader pierścień */
.loader-ring{
  width:54px;height:54px; border-radius:50%;
  border:4px solid rgba(255,255,255,.18);
  border-top-color: var(--accent-emerald);
  animation: spin 1s linear infinite;
  box-shadow: inset 0 0 12px rgba(0,0,0,.15);
}
@keyframes spin{to{transform: rotate(360deg)}}

/* Progres */
.progress{
  height:10px; background: rgba(255,255,255,.12);
  border:1px solid var(--glass-brd); border-radius:999px; overflow:hidden;
}
.progress-bar{
  background: linear-gradient(90deg, var(--accent-emerald), var(--forest-300));
}

/* Formularze */
.form-control{
  background: rgba(255,255,255,.08);
  border:1px solid var(--glass-brd);
  color:#fff;
}
.form-control::placeholder{color:rgba(255,255,255,.6)}
.form-control:focus{
  border-color: rgba(66,226,184,.45);
  box-shadow: 0 0 0 .2rem rgba(66,226,184,.15);
  background: rgba(255,255,255,.12);
}

/* Responsywność */
@media (max-width: 992px){
  :root{ --sidebar-width: 100% }
  .sidebar{
    position:absolute; top:56px; left:0; right:0; bottom:0;
    width:100%; z-index:1000; border-radius:0;
    border-left:none; border-right:none;
  }
}
@media (max-width: 576px){
  .tree-types-container{grid-template-columns:repeat(2,1fr)}
  .btn-tool{font-size:.85rem}
  #scene-container{height:60vh}

  .footer{ font-size:12px; }
  .footer .footer-icons{ gap:10px; }
  .help-footer{ width:36px; height:36px; }
}

/* Drobne poprawki */
footer .fw-semibold{color:#fff}
.zoom-controls button{font-size:1.1rem}

/* ===== Tryb osadzenia (iframe) – bez lewego menu i bez paska mobilnego ===== */
.embed-mode #sidebarMenu { display: none !important; }
.embed-mode .navbar.d-md-none { display: none !important; }
.embed-mode .app-wrap { padding-left: 0 !important; }
/* na wszelki wypadek wyłączamy wnętrze sidebara */
.embed-mode .sidebar,
.embed-mode .section-title,
.embed-mode .tool-grid,
.embed-mode .tree-types-container,
.embed-mode .stats-section { display: none !important; }
.embed-mode .controls-info { display: none !important;}


