:root {
  --butthurt-max: 1180px;
}

.butthurt-page {
  min-height: 100vh;
}

.butthurt-main {
  width: min(var(--butthurt-max), calc(100% - 48px));
  margin: 0 auto;
  padding: 64px 0 110px;
}

.nav-form-button {
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}

.nav-form-button:hover { color: var(--text); }

.butthurt-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  gap: clamp(42px, 7vw, 90px);
  align-items: end;
  padding: clamp(72px, 9vw, 120px) 0 58px;
}

.butthurt-kicker {
  color: var(--gold);
  font-family: var(--mono);
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.butthurt-hero h1 {
  margin: 18px 0 0;
  font-size: clamp(5rem, 12vw, 11rem);
  line-height: .78;
  letter-spacing: -.075em;
}

.butthurt-lead {
  max-width: 720px;
  margin: 30px 0 0;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.5vw, 1.28rem);
  line-height: 1.72;
}

.butthurt-file-card {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border: 1px solid rgba(242,174,71,.2);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(176,42,28,.18), transparent 42%),
    rgba(13,8,5,.8);
  box-shadow: var(--shadow);
}

.file-card-mark {
  position: absolute;
  right: 18px;
  top: 10px;
  color: rgba(242,174,71,.05);
  font-size: 6rem;
  font-weight: 950;
  letter-spacing: -.08em;
  pointer-events: none;
}

.butthurt-file-card h2 {
  position: relative;
  margin: 12px 0 12px;
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: .96;
  letter-spacing: -.05em;
}

.butthurt-file-card p {
  position: relative;
  margin: 0 0 24px;
  color: var(--muted);
  line-height: 1.65;
}

.butthurt-disclaimer {
  margin: 10px 0 46px;
  padding: 18px 22px;
  border-left: 2px solid rgba(242,174,71,.46);
  color: var(--dim);
  background: rgba(242,174,71,.035);
  font-family: var(--mono);
  font-size: .78rem;
  line-height: 1.65;
}

.reports-section { padding-top: 10px; }

.reports-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr);
  gap: 36px;
  align-items: end;
  margin-bottom: 28px;
}

.reports-heading h2 {
  margin: 8px 0 0;
  font-size: clamp(2.8rem, 5vw, 5.4rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.reports-heading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.butthurt-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.butthurt-report-card {
  position: relative;
  display: grid;
  gap: 18px;
  min-height: 260px;
  padding: 24px;
  border: 1px solid rgba(242,174,71,.16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 95% 8%, rgba(242,174,71,.08), transparent 28%),
    linear-gradient(150deg, rgba(31,19,10,.8), rgba(8,5,3,.78));
  color: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.butthurt-report-card:hover {
  transform: translateY(-3px);
  border-color: rgba(242,174,71,.36);
  background:
    radial-gradient(circle at 95% 8%, rgba(242,174,71,.12), transparent 32%),
    linear-gradient(150deg, rgba(36,22,12,.9), rgba(8,5,3,.82));
}

.report-card-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.report-card-number,
.report-card-severity,
.report-card-meta,
.report-card-open {
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.report-card-number { color: var(--gold); font-size: .72rem; }
.report-card-severity { color: #d98260; font-size: .68rem; }
.report-card-pilot { font-size: 1.25rem; font-weight: 900; }
.report-card-meta { color: var(--dim); font-size: .68rem; }
.report-card-summary { margin: 0; color: var(--muted); line-height: 1.65; }
.report-card-bottom { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-top: auto; }
.report-card-salt { color: var(--gold); font-weight: 850; }
.report-card-open { color: var(--text); font-size: .7rem; }

.butthurt-loading,
.butthurt-empty {
  grid-column: 1 / -1;
  padding: 34px;
  border: 1px dashed rgba(242,174,71,.18);
  border-radius: 22px;
  color: var(--dim);
  text-align: center;
  font-family: var(--mono);
}

.butthurt-dialog {
  width: min(920px, calc(100% - 32px));
  max-height: calc(100vh - 40px);
  padding: 0;
  border: 1px solid rgba(242,174,71,.26);
  border-radius: 24px;
  background: #0b0704;
  color: var(--text);
  box-shadow: 0 40px 120px rgba(0,0,0,.72);
  overflow: auto;
}

.butthurt-dialog::backdrop {
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(5px);
}

.butthurt-document,
.butthurt-form-card {
  padding: clamp(26px, 5vw, 48px);
  background:
    linear-gradient(rgba(242,174,71,.025), rgba(242,174,71,.01)),
    repeating-linear-gradient(0deg, transparent 0, transparent 30px, rgba(242,174,71,.025) 31px),
    #0c0805;
}

.document-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(242,174,71,.2);
}

.document-head > div > span {
  color: var(--gold);
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: .14em;
}

.document-head h2 {
  margin: 7px 0 0;
  font-size: clamp(2rem, 5vw, 4.2rem);
  line-height: .95;
  letter-spacing: -.05em;
}

.dialog-close {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(242,174,71,.18);
  border-radius: 50%;
  background: rgba(242,174,71,.04);
  color: var(--muted);
  font-size: 1.4rem;
  cursor: pointer;
}

.document-status {
  margin: 20px 0;
  color: #9edc76;
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .12em;
}

.document-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.document-grid section,
.document-section {
  padding: 16px;
  border: 1px solid rgba(242,174,71,.11);
  background: rgba(242,174,71,.025);
}

.document-grid span,
.document-label {
  display: block;
  margin-bottom: 7px;
  color: var(--gold);
  font-family: var(--mono);
  font-size: .67rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.document-grid strong { font-size: .96rem; }
.document-section { margin-top: 14px; }
.document-section blockquote { margin: 0; white-space: pre-wrap; color: var(--text); font-size: 1.05rem; line-height: 1.7; }

.document-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
}

.document-checks span { color: var(--muted); line-height: 1.5; }
.document-checks span::before { content: "☑ "; color: var(--gold); }
.document-checks .none::before { content: "☐ "; color: var(--dim); }

.document-salt {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  align-items: center;
}

.salt-meter {
  height: 12px;
  border: 1px solid rgba(242,174,71,.18);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
}

.salt-meter span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #f2ae47, #d65031);
}

.document-footer {
  margin-top: 18px;
  color: var(--dim);
  font-family: var(--mono);
  font-size: .7rem;
}

.form-intro {
  color: var(--muted);
  line-height: 1.65;
  margin: 22px 0 26px;
}

.butthurt-form-card {
  display: grid;
  gap: 22px;
}

.form-grid.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.butthurt-form-card label > span,
.butthurt-form-card legend {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.butthurt-form-card em { color: var(--dim); font-style: normal; }

.butthurt-form-card input[type="text"],
.butthurt-form-card textarea,
.butthurt-form-card select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(242,174,71,.18);
  border-radius: 14px;
  background: rgba(4,3,2,.68);
  color: var(--text);
  font: inherit;
  outline: none;
}

.butthurt-form-card input[type="text"],
.butthurt-form-card select { height: 48px; padding: 0 14px; }
.butthurt-form-card textarea { min-height: 170px; padding: 14px; resize: vertical; line-height: 1.6; }
.butthurt-form-card fieldset { margin: 0; padding: 0; border: 0; }

.check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.check-grid label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 13px;
  border: 1px solid rgba(242,174,71,.12);
  border-radius: 12px;
  background: rgba(242,174,71,.025);
  color: var(--muted);
  cursor: pointer;
}

.check-grid label > span { margin: 0; color: inherit; font-family: inherit; font-size: .9rem; letter-spacing: 0; text-transform: none; }
.check-grid input { margin-top: 3px; accent-color: #f2ae47; }

.salt-field input { width: 100%; accent-color: #f2ae47; }

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.butthurt-form-message {
  min-height: 22px;
  color: var(--dim);
  font-family: var(--mono);
  font-size: .75rem;
}

.butthurt-form-message.success { color: #9edc76; }
.butthurt-form-message.error { color: #e89178; }

.sdw-admin-link {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  align-self: end;
  border: 1px solid rgba(242,174,71,.09);
  border-radius: 5px;
  color: rgba(242,174,71,.28);
  font-family: var(--mono);
  font-size: .58rem;
  text-decoration: none;
}
.sdw-admin-link:hover { color: rgba(242,174,71,.7); border-color: rgba(242,174,71,.26); }

@media (max-width: 980px) {
  .butthurt-hero { grid-template-columns: 1fr; }
  .reports-heading { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .butthurt-main { width: min(100% - 28px, var(--butthurt-max)); }
  .butthurt-report-grid,
  .document-grid,
  .document-checks,
  .form-grid.two,
  .check-grid { grid-template-columns: 1fr; }
  .document-salt { grid-template-columns: 1fr; }
  .form-actions { justify-content: stretch; }
  .form-actions .button { width: 100%; text-align: center; }
}
