:root{--red:#9b1c1c;--green:#1f4d3a;--gold:#b8892b;--cream:#fbf7f0;--ink:#2b2b2b}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI","PingFang TC","Microsoft JhengHei",sans-serif;background:var(--cream);color:var(--ink);line-height:1.55}
header{background:linear-gradient(135deg,var(--green),#163828);color:#fff;text-align:center;padding:2.2rem 1rem 2rem;border-bottom:5px solid var(--gold)}
header .org{letter-spacing:.08em;font-size:.95rem;opacity:.9}header h1{margin:.4rem 0;font-family:Georgia,"Songti TC",serif;font-size:clamp(1.6rem,5vw,2.5rem)}header .zh{font-size:1.25rem;color:#f3dfae}
main{max-width:760px;margin:0 auto;padding:1.2rem}.card{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.07);padding:1.4rem;margin:1rem 0;border-top:4px solid var(--red)}
h2{color:var(--red);margin-top:0;font-family:Georgia,serif}dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0}dt{font-weight:600;color:var(--green)}dd{margin:0}
a{color:var(--red)}label{display:block;font-weight:600;margin:.9rem 0 .25rem}.hint{font-weight:400;color:#666;font-size:.9rem}
input,select,textarea{width:100%;padding:.7rem;font-size:1rem;border:1px solid #bbb;border-radius:8px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #e8c873;border-color:var(--gold)}
.radio{display:flex;gap:1.5rem}.radio label{font-weight:400;display:flex;gap:.4rem;align-items:center;margin:.2rem 0}.radio input{width:auto}
button{background:var(--red);color:#fff;border:0;border-radius:8px;padding:.85rem 1.6rem;font-size:1.05rem;cursor:pointer;margin-top:1.2rem}button:hover{background:#7d1515}button:disabled{opacity:.6}
.seats{font-size:1.1rem;text-align:center;background:#fff8e6;border:1px solid #e8c873;border-radius:10px;padding:.8rem}.err{color:#b00020;font-weight:600}.ok{border-top-color:var(--green)}
footer{text-align:center;color:#777;font-size:.85rem;padding:2rem 1rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid #ddd;padding:.4rem;text-align:left;vertical-align:top}
.small{padding:.3rem .6rem;font-size:.85rem;margin:0}.sec{background:var(--green)}
