/* Unified card design (v3) for ALL homepage links.
   Keeps original 3D cube animation, logo, existing theme, and URLs. */
html { scroll-behavior: smooth; }
body { min-width: 0; }
/* Original page is 680px wide; slightly wider canvas makes three-card rows comfortable. */
.page-full-wrap { width: min(840px, calc(100% - 38px)); padding-bottom: 86px; box-sizing: border-box; }
.space-link-library { margin: 38px auto 0; }
.space-link-group { margin: 0 0 45px; scroll-margin-top: 20px; }
.space-link-group:last-child { margin-bottom: 0; }
.space-section-heading { position:relative; isolation:isolate; box-sizing:border-box;
  text-align:center; margin:0 auto 20px; padding:10px 20px 14px; width:fit-content; max-width:100%; }
.space-section-heading::before { content:""; position:absolute; inset:0; z-index:-1;
 background:color-mix(in srgb,var(--bg) 78%,transparent); border-radius:14px;
 backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.space-eyebrow { display: inline-flex; align-items:center; justify-content:center; gap: 9px;
  font: 700 10px/1.4 Inter,system-ui,sans-serif; letter-spacing: .18em; opacity:.66; color: var(--fg); }
.space-eyebrow-cube { width: 8px; height: 8px; display: inline-block; border: 1px solid currentColor;
 transform:rotate(-28deg) skew(8deg,8deg); }
.space-group-label { font: 700 clamp(21px, 3vw, 27px)/1.24 Inter,system-ui,sans-serif;
  color:var(--fg); letter-spacing:-.025em; margin:11px 0 6px; }
.space-section-heading p { margin:0; font: 400 13px/1.5 Inter,system-ui,sans-serif;
  opacity:.70; color:var(--fg); }
.space-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.space-destination { --accent:#a5b5d6; position:relative; box-sizing:border-box; min-width:0; min-height:157px;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start;
  gap:14px; border-radius:14px; padding:17px;
  border:1px solid color-mix(in srgb,var(--fg) 28%,transparent);
  background:color-mix(in srgb,var(--bg) 84%,transparent);
  color:var(--fg); text-decoration:none;
  box-shadow:0 10px 35px rgba(0,0,0,.16);
  backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
  pointer-events:auto; isolation:isolate;
}
.space-destination--blue { --accent:#91b8ff; }
.space-destination--pink { --accent:#e9a7df; }
.space-destination--gold { --accent:#f5c08e; }
.space-destination--purple { --accent:#c4afff; }
.space-destination--cyan { --accent:#94ddd8; }
.space-destination:hover,.space-destination:focus-visible {
  text-decoration:none; color:var(--fg); border-color:var(--accent);
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(0,0,0,.22),0 0 24px color-mix(in srgb,var(--accent) 18%,transparent);
  background:color-mix(in srgb,var(--bg) 90%,var(--accent) 10%);
}
.space-destination:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.space-destination-icon { box-sizing:border-box; width:39px; height:39px; flex:0 0 39px;
  display:flex; justify-content:center; align-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);
  background:color-mix(in srgb,var(--accent) 13%,transparent);
  color:var(--accent); border-radius:10px; }
.space-destination-icon svg { width:23px; height:23px; flex:0 0 23px; }
.space-destination-icon img { position:static !important; display:block; max-width:27px; max-height:27px;
 width:auto; height:auto; object-fit:contain; border-radius:4px; }
.space-monogram { font:750 13px/1 Inter,system-ui,sans-serif; letter-spacing:-.045em; }
.space-destination-text { display:flex; flex-direction:column; gap:6px; min-width:0; width:100%; padding-right:12px; }
.space-destination-text strong { color:var(--fg); font:700 16px/1.23 Inter,system-ui,sans-serif;
 overflow-wrap:anywhere; }
.space-destination-text small { color:var(--fg); opacity:.68; font:400 11.5px/1.42 Inter,system-ui,sans-serif;
 overflow-wrap:break-word; }
.space-destination-arrow { position:absolute; right:17px; top:16px; color:var(--fg);
 font:400 19px/1 Inter,system-ui,sans-serif; opacity:.46;
 transition:transform .2s ease,opacity .2s ease; }
.space-destination:hover .space-destination-arrow {transform:translate(2px,-2px);opacity:.92;}
/* The old .inactive wrapper blocks pointer events; new links opt in explicitly. */
.space-link-library,.space-link-group,.space-link-grid { pointer-events:auto; }
body.theme-light .space-destination-icon { color:color-mix(in srgb,var(--accent) 56%,#222736);
  background:color-mix(in srgb,var(--accent) 16%,transparent); }
#theme-toggle { z-index:5 !important; }
@media (max-width:720px) {
  .space-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .page-full-wrap { width:min(94%, 610px); }
  .space-destination { min-height:145px; padding:15px; }
}
@media (max-width:510px) {
  .page-full-wrap { width:calc(100% - 30px); }
  .space-link-library { margin-top:30px; }
  .space-link-group { margin-bottom:33px; }
  .space-section-heading { margin-bottom:16px; }
  .space-link-grid { grid-template-columns:1fr; gap:10px; }
  .space-destination { min-height:81px; padding:13px 16px;
    display:grid; grid-template-columns:40px minmax(0,1fr) 18px; align-items:center; gap:14px; }
  .space-destination-icon { width:40px; height:40px; flex-basis:40px; }
  .space-destination-text { padding-right:0; }
  .space-destination-text strong { font-size:15px; }
  .space-destination-text small { font-size:11px; }
  .space-destination-arrow { position:static; transform:none; }
  .space-destination:hover .space-destination-arrow { transform:translate(2px,-2px); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .space-destination,.space-destination-arrow { transition:none; }
  .space-destination:hover { transform:none; }
}
