/* TechLogStack — shared core (landing page). Explore uses full main.css. */
:root{
  --ink:#0f0e0d;
  --paper:#faf8f4;
  --cream:#f2ede4;
  --accent:#c8390a;
  --accent2:#1a5c9e;
  --accent3:#1a7a4a;
  --gold:#b8860b;
  --muted:#7a7268;
  --border:#d4cfc6;
  --card-bg:#ffffff;
  --explore-nav-h:56px;
  --scrollbar-size:6px;
  --scrollbar-thumb:var(--accent);
  --scrollbar-thumb-hover:#b03309;
  --scrollbar-thumb-active:#9a2d08;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.6;
}

::selection{
  background:color-mix(in srgb,var(--accent) 88%,#000);
  color:#fff;
}
::-moz-selection{
  background:color-mix(in srgb,var(--accent) 88%,#000);
  color:#fff;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

html,body{
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) #0000;
}
*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size);background:#0000}
*::-webkit-scrollbar-track,*::-webkit-scrollbar-track-piece{background:#0000;border:none}
*::-webkit-scrollbar-thumb{
  background:var(--scrollbar-thumb);
  border-radius:999px;
  border:none;
  min-height:2.75rem;
}
*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
*::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
*::-webkit-scrollbar-corner{background:#0000}

.scroll-top{
  position:fixed;bottom:1.5rem;right:1.5rem;
  background:var(--ink);color:var(--paper);
  border:none;width:40px;height:40px;border-radius:50%;
  cursor:pointer;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
  z-index:100;opacity:0;transition:opacity .2s;
}
.scroll-top.vis{opacity:1}

[data-theme="dark"]{
  --paper:#111110;
  --ink:#f0ede8;
  --cream:#1c1b19;
  --border:#2e2c2a;
  --muted:#9e9590;
  --card-bg:#1a1917;
  --accent:#e04812;
  --scrollbar-thumb:var(--accent);
  --scrollbar-thumb-hover:#c93f10;
  --scrollbar-thumb-active:#b2380e;
}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{color-scheme:dark}

.theme-toggle{
  background:none;border:none;cursor:pointer;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:inherit;transition:background .18s,color .18s;
  flex-shrink:0;padding:0;
}
.theme-toggle:hover{background:rgba(128,128,128,.15)}
.theme-toggle svg{pointer-events:none;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.theme-toggle:active svg{transform:rotate(30deg) scale(.9)}
.icon-sun{display:none}
.icon-moon{display:block}
[data-theme="dark"] .icon-sun{display:block}
[data-theme="dark"] .icon-moon{display:none}

.profile-wrap{
  position:relative;
  display:flex;
  align-items:center;
  width:40px;
  height:40px;
  flex-shrink:0;
  visibility:hidden;
  pointer-events:none;
}
.profile-wrap.visible{visibility:visible;pointer-events:auto}
.profile-avatar{
  width:32px;height:32px;border-radius:50%;
  background:var(--accent);color:#fff;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  transition:transform .18s,box-shadow .18s;flex-shrink:0;
}
.profile-avatar:hover{transform:scale(1.08);box-shadow:0 4px 14px rgba(0,0,0,.28)}
.profile-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  background:var(--card-bg);border:1px solid var(--border);
  border-radius:12px;padding:.6rem;min-width:180px;
  box-shadow:0 8px 28px rgba(0,0,0,.16);display:none;z-index:500;
}
.profile-wrap.dd-open .profile-dropdown{display:block}
.profile-dd-name{
  font-size:.8rem;font-weight:600;color:var(--ink);
  padding:.35rem .65rem .6rem;border-bottom:1px solid var(--border);margin-bottom:.4rem;
}
.profile-dd-item{
  display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-size:.82rem;color:var(--muted);
  padding:.45rem .65rem;border-radius:7px;text-decoration:none;
  transition:background .14s,color .14s;
}
.profile-dd-item:hover{background:var(--cream);color:var(--ink)}
.profile-dd-item.admin-link{color:var(--accent)}
.profile-dd-item.admin-link:hover{background:rgba(200,57,10,.08)}

#signup-modal{
  display:none;position:fixed;inset:0;z-index:300;
  background:rgba(10,9,8,.7);align-items:center;justify-content:center;padding:1.5rem;
}
#signup-modal.open{display:flex}
.signup-box{
  background:var(--paper);border:1px solid var(--border);border-radius:16px;
  padding:2rem 2rem 1.75rem;max-width:420px;width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.22);position:relative;
}
.signup-box-close{
  position:absolute;top:.85rem;right:.85rem;background:var(--cream);border:none;
  width:30px;height:30px;border-radius:50%;cursor:pointer;color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-size:1rem;
  transition:background .15s;
}
.signup-box-close:hover{background:var(--border)}
.signup-eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:.65rem;
  text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 .5rem;
}
.signup-headline{
  font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;
  color:var(--ink);margin:0 0 .6rem;line-height:1.25;
}
.signup-sub{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0 0 1.25rem}
.signup-field{
  width:100%;padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:8px;
  font-family:'DM Sans',sans-serif;font-size:.88rem;color:var(--ink);background:var(--cream);
  box-sizing:border-box;transition:border-color .18s;margin-bottom:.7rem;
}
.signup-field:focus{outline:none;border-color:var(--accent)}
.signup-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.25rem}
.signup-save{
  background:var(--accent);color:#fff;border:none;border-radius:8px;
  padding:.55rem 1.25rem;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;
  cursor:pointer;transition:background .15s;
}
.signup-save:hover{background:#b8320a}
.signup-skip{
  background:none;border:1px solid var(--border);border-radius:8px;
  padding:.55rem 1rem;font-family:'DM Sans',sans-serif;font-size:.85rem;color:var(--muted);
  cursor:pointer;transition:background .15s,color .15s;
}
.signup-skip:hover{background:var(--cream);color:var(--ink)}
