/* Shared interaction and small-screen refinements. */
:focus-visible { outline: 3px solid #2ad2c9; outline-offset: 4px; }
.hero h1 { font-size:clamp(42px,5.2vw,68px); line-height:1.04; }
button:disabled { cursor: default; opacity: .5; }
input, textarea, select { scroll-margin-top: 24px; }
.start-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:26px 0 34px; }
.start-guide a { display:block; padding:22px; border:1px solid var(--line); border-radius:16px; color:inherit; text-decoration:none; background:rgba(255,255,255,.035); }
.start-guide a:first-child { border-color:rgba(42,210,201,.5); background:rgba(42,210,201,.07); }
.start-guide span { color:var(--teal); font-size:12px; }
.start-guide b { display:block; font-size:19px; line-height:1.3; margin:10px 0; }
.start-guide p { color:var(--ink-light); font-size:14px; line-height:1.5; }
.index-label, .agg-idx .l { line-height:1.5; }
.index-value { overflow-wrap:anywhere; }
.err { line-height:1.5; }
.advanced-result { margin-top:18px; border:1px solid rgba(42,210,201,.2); border-radius:18px; background:rgba(42,210,201,.045); }
.advanced-result > summary, .export-options > summary { cursor:pointer; padding:16px 18px; font-weight:700; line-height:1.4; }
.advanced-result[open] > summary { border-bottom:1px solid rgba(42,210,201,.16); }
.advanced-result .weights-panel { margin:0; border:0; border-radius:0 0 18px 18px; box-shadow:none; }
.export-options { margin-top:18px; max-width:720px; border-top:1px solid rgba(255,255,255,.14); }
.export-options > summary { padding-left:0; color:rgba(255,255,255,.72); }
.export-buttons { display:flex; gap:8px; flex-wrap:wrap; padding-bottom:12px; }
.export-note { font-size:12.5px; line-height:1.5; color:rgba(255,255,255,.5); }
@media(max-width:680px) {
  .start-guide { grid-template-columns:1fr; gap:10px; }
  .start-guide a { padding:18px; }
  .invite-line { flex-wrap:wrap; gap:8px; margin:14px 0; }
  .invite-line .blkname { flex-basis:100%; }
  .invite-line code { min-width:0; }
  .invite-line .cnt { min-width:auto; }
  .hm { grid-template-columns:80px repeat(3,minmax(0,1fr)); gap:4px; }
  .ev-cmp { grid-template-columns:85px 1fr 1fr 48px; }
  .results-actions { gap:8px; }
  .results-actions button { font-size:13px; padding:10px 14px; }
  .export-buttons { display:grid; grid-template-columns:1fr; }
  .scale { gap:4px; }
  .scale button { padding:14px 0; font-size:14px; }
  .save-state { line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
