/* NotePier v0.5 visual polish — additive layer over style.css */
:root {
  --np-radius-sm: 12px;
  --np-radius-md: 18px;
  --np-radius-lg: 26px;
  --np-glass: rgba(9, 24, 32, .72);
  --np-glass-strong: rgba(10, 27, 36, .9);
  --np-shadow: 0 26px 70px rgba(0, 0, 0, .28);
  --np-ease: cubic-bezier(.2, .75, .25, 1);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .22;
  background-image: radial-gradient(rgba(255,255,255,.16) .65px, transparent .65px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 76%);
}

.topbar {
  min-height: 72px;
  height: auto;
  border-bottom-color: rgba(110, 231, 216, .12);
}

.brand { font-weight: 720; letter-spacing: -.025em; }
.mark {
  width: 38px;
  height: 38px;
  padding: 9px;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(29,92,92,.72), rgba(12,36,48,.92));
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 8px 24px rgba(0,0,0,.2);
}
.mark i { width: 4px; border-radius: 3px; }

.identity button,
.primary-link,
.secondary-link {
  border-radius: var(--np-radius-sm);
}

.hero-status {
  overflow: hidden;
  border-radius: var(--np-radius-md);
  background: var(--np-glass);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 46px rgba(0,0,0,.16);
}

.dock-grid { gap: 18px; }
.dock-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 340px;
  padding: 26px;
  border-radius: var(--np-radius-lg);
  background:
    radial-gradient(560px 260px at 100% 0%, rgba(155,168,255,.055), transparent 62%),
    linear-gradient(155deg, rgba(255,255,255,.032), rgba(255,255,255,.008));
  box-shadow: 0 18px 48px rgba(0,0,0,.12);
  transition: transform .22s var(--np-ease), border-color .22s var(--np-ease), box-shadow .22s var(--np-ease);
}
.dock-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  z-index: 1;
  background: linear-gradient(90deg, rgba(110,231,216,.9), rgba(155,168,255,.75));
}
.dock-card::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -120px;
  bottom: -145px;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(110,231,216,.09), transparent 68%);
}
.dock-card.featured-card {
  border-color: rgba(110,231,216,.26);
  background:
    radial-gradient(520px 270px at 0% 0%, rgba(110,231,216,.085), transparent 64%),
    linear-gradient(155deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
}
.arcade-feature {
  border-color: rgba(155,168,255,.25);
  background:
    radial-gradient(560px 260px at 100% 0%, rgba(155,168,255,.1), transparent 62%),
    linear-gradient(155deg, rgba(255,255,255,.032), rgba(255,255,255,.008));
}
.arcade-feature::before { background: linear-gradient(90deg, rgba(155,168,255,.9), rgba(110,231,216,.65)); }
.arcade-feature::after { background: radial-gradient(circle, rgba(155,168,255,.1), transparent 68%); }

@media (hover: hover) and (pointer: fine) {
  .dock-card:hover {
    transform: translateY(-5px);
    border-color: rgba(110,231,216,.34);
    box-shadow: var(--np-shadow);
  }
  .arcade-feature:hover { border-color: rgba(155,168,255,.38); }
}

.card-meta {
  position: relative;
  z-index: 2;
  align-items: center;
}
.card-meta span {
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
}
.dock-card h3 {
  position: relative;
  z-index: 2;
  margin-top: 50px;
  font-size: clamp(28px, 3vw, 34px);
}
.dock-card p { position: relative; z-index: 2; }
.feature-line { position: relative; z-index: 2; gap: 8px; }
.feature-line span {
  border-radius: 999px;
  background: rgba(255,255,255,.018);
}
.card-action {
  position: relative;
  z-index: 2;
  width: fit-content;
  margin-top: auto;
  padding: 11px 13px;
  border: 1px solid rgba(110,231,216,.22);
  border-radius: 12px;
  background: rgba(110,231,216,.055);
  color: #b9d9d7;
  transition: transform .18s var(--np-ease), border-color .18s, color .18s, background .18s;
}
.card-action:hover {
  transform: translateY(-1px);
  background: rgba(110,231,216,.09);
}
.arcade-feature .card-action {
  border-color: rgba(155,168,255,.24);
  background: rgba(155,168,255,.055);
}

.section-head > p { font-size: 14px; }
.footer { border-top: 0; }

@media (max-width: 640px) {
  .topbar { min-height: 64px; }
  .dock-grid { gap: 14px; }
  .dock-card,
  .arcade-grid .dock-card {
    min-height: 0;
    padding: 22px;
    border-radius: 22px;
  }
  .dock-card h3 { margin-top: 38px; }
  .feature-line { margin: 20px 0; }
  .card-action { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
