:root {
  --feedback-paper: #f6f4ec;
  --feedback-ink: #22261f;
  --feedback-green: #315640;
  --feedback-line: #d8d6ca;
  --feedback-muted: #5d625d;
  --feedback-error: #8f3029;
}
.feedback-page,.inbox-page{padding-block:clamp(3rem,7vw,6rem) 6rem}
.feedback-heading,.inbox-heading{max-width:50rem;margin:0 auto 2rem}
.feedback-heading h1,.inbox-heading h1{font:400 clamp(2.8rem,7vw,5rem)/.98 Georgia,serif;letter-spacing:-.045em;margin:.55rem 0 1rem}
.feedback-heading>p:last-child,.inbox-heading>p:last-child{max-width:39rem;color:var(--feedback-muted);font-size:1.08rem;line-height:1.65}
.feedback-privacy,.auth-panel{max-width:50rem;margin:0 auto 2rem;padding:1.1rem 1.3rem;border-block:1px solid var(--feedback-line);color:var(--feedback-muted);line-height:1.6}
.feedback-privacy strong{display:block;color:var(--feedback-green);font-size:.92rem;letter-spacing:.06em;text-transform:uppercase}
.feedback-privacy p{margin:.55rem 0}
.feedback-form{max-width:50rem;margin:0 auto;display:grid;gap:1.25rem}
.feedback-form label{display:grid;gap:.5rem;font-weight:600}
.feedback-form input,.feedback-form select,.feedback-form textarea,.inbox-filters select,.submission-detail textarea,.submission-detail select{width:100%;padding:.82rem .9rem;border:1px solid #b9bbb2;border-radius:2px;background:#fffefa;color:var(--feedback-ink);font:inherit;line-height:1.45}
.feedback-form textarea,.submission-detail textarea{resize:vertical;min-height:7rem}
.feedback-form input:focus-visible,.feedback-form select:focus-visible,.feedback-form textarea:focus-visible,.inbox-filters select:focus-visible,.submission-detail textarea:focus-visible,.submission-detail select:focus-visible{outline:3px solid #719681;outline-offset:2px;border-color:var(--feedback-green)}
.feedback-form input[aria-invalid="true"],.feedback-form textarea[aria-invalid="true"]{border-color:var(--feedback-error)}
.field-hint,.field-optional{font-size:.88rem;color:var(--feedback-muted);font-weight:400}
.form-row{display:grid;gap:1.2rem}
.form-row-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.conditional-fields{display:grid;gap:1.1rem;margin:0;padding:1rem 1.1rem;border:1px solid var(--feedback-line)}
.conditional-fields legend{padding-inline:.35rem;font-weight:650}
.button-primary,.button-secondary,.submission-open{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:2.8rem;padding:.72rem 1rem;border:1px solid var(--feedback-green);border-radius:2px;background:var(--feedback-green);color:white;font:600 .98rem/1.2 inherit;text-decoration:none;cursor:pointer}
.button-primary:hover,.button-secondary:hover{background:#244431}
.button-primary:focus-visible,.button-secondary:focus-visible,.submission-open:focus-visible{outline:3px solid #719681;outline-offset:3px}
.button-primary:disabled,.button-secondary:disabled{opacity:.64;cursor:wait}
.button-secondary{background:transparent;color:var(--feedback-green)}
.button-secondary:hover{background:#e8ece5;color:#203d2d}
.form-status{min-height:1.5rem;margin:0;color:var(--feedback-muted);line-height:1.5}
.form-status[data-state="error"]{color:var(--feedback-error)}
.form-status[data-state="success"]{color:var(--feedback-green)}
.feedback-success{border-top:1px solid var(--feedback-line);padding-top:1.25rem}
.feedback-success h2{font:400 2rem/1.1 Georgia,serif}
.feedback-fallback{margin-top:1rem;color:var(--feedback-muted);line-height:1.6}
.feedback-fallback a,.text-link{color:var(--feedback-green);text-underline-offset:.2em}
.turnstile-wrap{min-height:4rem}
.inbox-page{max-width:82rem}
.inbox-heading{margin-left:0}
.auth-panel{max-width:none;margin:0 0 2rem;padding:1.25rem;border:1px solid var(--feedback-line)}
.auth-panel h2{margin-top:0;font:400 1.5rem Georgia,serif}
.auth-panel .feedback-form{margin:1rem 0 0;max-width:34rem}
.hosted-access-note{color:var(--feedback-muted)}
.inbox-content{border-top:1px solid var(--feedback-line);padding-top:1.5rem}
.inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.unread-count{font-size:1.1rem;font-weight:650;color:var(--feedback-green)}
.inbox-filters{display:grid;grid-template-columns:repeat(3,minmax(10rem,1fr));gap:1rem;padding-block:1rem;border-block:1px solid var(--feedback-line)}
.inbox-filters label{display:grid;gap:.4rem;font-weight:600}
.inbox-layout{display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(0,1.5fr);gap:2rem;padding-top:1.5rem}
.submission-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--feedback-line)}
.submission-list li{border-bottom:1px solid var(--feedback-line)}
.submission-open{width:100%;display:grid;grid-template-columns:1fr auto;justify-content:stretch;text-align:left;background:transparent;color:var(--feedback-ink);border:0;border-radius:0;padding:1rem .4rem}
.submission-open:hover,.submission-open[aria-current="true"]{background:#ebeae1}
.submission-summary{font:400 1.22rem/1.25 Georgia,serif}
.submission-meta{grid-column:1/-1;color:var(--feedback-muted);font-size:.84rem;font-weight:400}
.submission-type{color:var(--feedback-green);font-size:.8rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.submission-detail{min-width:0;padding:0 0 2rem;border-top:1px solid var(--feedback-line)}
.submission-detail h2{font:400 clamp(1.8rem,4vw,2.6rem)/1.1 Georgia,serif}
.submission-detail dl{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:.65rem 1rem;line-height:1.55}
.submission-detail dt{color:var(--feedback-muted);font-size:.9rem}
.submission-detail dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.submission-detail textarea{min-height:7rem}
.submission-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.detail-context{color:var(--feedback-muted);font-size:.92rem}
.empty-state{color:var(--feedback-muted);line-height:1.6;padding:1.4rem 0}
.unread-marker{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--feedback-green);margin-right:.4rem}
@media(max-width:700px){
  .form-row-pair,.inbox-layout{grid-template-columns:1fr}
  .inbox-filters{grid-template-columns:1fr}
  .submission-detail dl{grid-template-columns:1fr;gap:.15rem}
  .submission-detail dd{margin-bottom:.7rem}
}

/* Private feedback and the inbox follow the site's existing editorial system. */
.button-primary,.button-secondary,.submission-open{font:600 .98rem/1.2 var(--sans,system-ui,sans-serif)}
.home-about{display:grid;grid-template-columns:minmax(125px,.36fr) minmax(0,1.64fr);gap:clamp(2rem,8vw,8rem);padding-block:clamp(3.5rem,7vw,6rem);border-bottom:1px solid var(--line)}
.home-about-copy{max-width:50rem}
.home-about-copy h2{margin:0 0 1rem;font:400 clamp(2.2rem,5vw,3.8rem)/1.05 var(--serif);letter-spacing:-.04em}
.home-about-copy p{max-width:42rem;color:var(--muted)}
.text-link{color:var(--green-dark);font-weight:650;text-underline-offset:.2em}
.feature-groups{display:grid;gap:.5rem}
.feature-group{padding-block:.8rem;border-top:1px solid var(--line)}
.feature-group h4{margin:0 0 .45rem;color:var(--green-dark);font-size:.82rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.feature-group ul{margin:0;padding-left:1.1rem}
.project-success{margin-block:1.5rem;padding-block:.75rem;border-bottom:1px solid var(--line)}
.project-success h3{margin-top:0}
.project-feedback-links{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin-top:1rem}
.project-feedback-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--green-dark);font-size:.9rem;font-weight:650;text-underline-offset:.2em}
.project-feedback-links a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:760px){.home-about{grid-template-columns:1fr;gap:1rem}}
@media(max-width:620px){.home-about{padding-block:3rem}.feedback-page,.inbox-page{padding-top:2.5rem}}

/* Keep inactive form groups hidden even though active fieldsets use grid layout. */
.conditional-fields[hidden]{display:none}
