:root{
  --paper:#f5f0e4;
  --paper-deep:#ece5d3;
  --ink:#33302a;
  --ink-faint:#a89e8a;
  --red:#a63a2b;
  --line:#d8cfba;
  --success:#286b4a;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Iansui','Microsoft JhengHei',sans-serif;
  font-size:20px;
  line-height:1.8;
}
.submission-page{
  max-width:960px;
  margin:0 auto;
  padding:42px 28px 70px;
}
.submission-page > header{
  margin-bottom:30px;
  text-align:center;
}
.submission-page > header h1{
  font-family:'TauhuOo','Iansui',sans-serif;
  font-size:clamp(34px,5vw,54px);
  font-weight:normal;
  letter-spacing:.16em;
  color:var(--red);
}
.submission-page > header p{
  margin-top:6px;
  color:var(--ink-faint);
  font-size:16px;
  letter-spacing:.12em;
}
.submission-intro{
  background:#faf6ec;
  border-top:2px solid var(--red);
  border-bottom:1px solid var(--line);
  padding:8px 28px 4px;
}
.intro-section{
  padding:24px 0 25px;
  border-bottom:1px solid var(--line);
}
.intro-section:last-child{border-bottom:none}
.intro-section h2,
.submission-cta h2,
.submission-form-section h2{
  font-family:'TauhuOo','Iansui',sans-serif;
  font-size:28px;
  font-weight:normal;
  letter-spacing:.12em;
  line-height:1.35;
  color:var(--red);
}
.intro-section p{
  margin-top:10px;
  font-size:18px;
  line-height:1.9;
}
.submission-cta{
  margin-top:42px;
  padding:26px 28px 30px;
  border:1.5px solid var(--red);
  border-radius:14px;
  background:var(--paper-deep);
  text-align:center;
}
.submission-cta p{margin:8px 0 18px;font-size:17px}
.submission-cta a,
.submission-form button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:8px 24px;
  border:1.5px solid var(--red);
  border-radius:28px;
  background:var(--red);
  color:var(--paper);
  font:inherit;
  font-size:18px;
  letter-spacing:.08em;
  line-height:1.3;
  text-decoration:none;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.submission-cta a:hover,
.submission-cta a:focus-visible,
.submission-form button[type="submit"]:hover:not(:disabled),
.submission-form button[type="submit"]:focus-visible:not(:disabled){
  background:#7f2b21;
  color:#fffdf6;
  box-shadow:0 4px 10px rgba(166,58,43,.25);
  transform:translateY(-1px);
}
.submission-cta a:focus-visible,
.submission-form button[type="submit"]:focus-visible{outline:3px solid rgba(166,58,43,.28);outline-offset:3px}
.submission-form-section{
  margin-top:42px;
  padding:30px 32px 34px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#faf6ec;
  box-shadow:0 3px 10px rgba(51,48,42,.08);
}
.submission-form-section > h2{margin-bottom:6px}
.form-intro{margin-bottom:22px;color:var(--ink-faint);font-size:16px}
.submission-callout{
  margin:0 0 24px;
  padding:18px 20px 20px;
  border-left:4px solid var(--red);
  background:var(--paper-deep);
}
.submission-callout p{font-size:17px;line-height:1.75}
.submission-callout .callout-lead{
  font-family:'TauhuOo','Iansui',sans-serif;
  color:var(--red);
  font-size:24px;
  letter-spacing:.08em;
}
.submission-callout strong{display:block;margin-top:14px;color:var(--red);font-weight:bold}
.submission-callout .organizer{margin-top:14px}
.submission-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.field{min-width:0}
.field.full{grid-column:1 / -1}
.field label{display:block;margin-bottom:5px;font-size:17px;font-weight:bold}
.required{color:var(--red);font-weight:normal}
.field input,.field textarea{
  display:block;
  width:100%;
  border:1.5px solid var(--line);
  border-radius:8px;
  background:#fffdf6;
  color:var(--ink);
  font:inherit;
  font-size:18px;
  line-height:1.5;
  padding:9px 12px;
  outline:none;
}
.field input{min-height:46px}
.field textarea{min-height:290px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(166,58,43,.12)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--red);background:#fff4ef}
.field-error{min-height:1.35em;margin-top:3px;color:var(--red);font-size:14px;line-height:1.35}
.form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:16px;margin-top:4px;flex-wrap:wrap}
.submission-form button[type="submit"]{min-width:150px}
.submission-form button[type="submit"]:disabled{cursor:wait;opacity:.62;transform:none;box-shadow:none}
.form-status{flex:1 1 280px;min-height:1.6em;font-size:16px}
.form-status.success{color:var(--success)}
.form-status.error{color:var(--red)}
.proposal-note{margin-top:12px;color:var(--ink-faint);font-size:14px;text-align:center}
body > footer{
  padding:0 16px 28px;
  color:var(--ink-faint);
  font-size:15px;
  letter-spacing:.1em;
  text-align:center;
}
@media(max-width:700px){
  .submission-page{padding:30px 16px 50px}
  .submission-intro{padding:4px 18px 2px}
  .intro-section{padding:20px 0 21px}
  .intro-section p{font-size:17px;line-height:1.8}
  .submission-cta{margin-top:30px;padding:22px 18px 26px}
  .submission-form-section{margin-top:30px;padding:24px 18px 26px}
  .submission-form{grid-template-columns:1fr;gap:14px}
  .field.full{grid-column:auto}
  .field textarea{min-height:230px}
  .form-actions{grid-column:auto;display:block}
  .submission-form button[type="submit"]{width:100%;margin-bottom:8px}
  .form-status{display:block}
}
@media(prefers-reduced-motion:reduce){
  .submission-cta a,.submission-form button[type="submit"]{transition:none}
}
