:root { color-scheme: light; --blue:#1458c4; --sky:#eaf4ff; --green:#07864b; --orange:#e36a00; --ink:#172235; --muted:#536174; --border:#d7dfeb; --danger:#b42318; }
* { box-sizing: border-box; }
body { margin:0; min-width:320px; background:linear-gradient(180deg,#eaf5ff 0,#fff 45%); color:var(--ink); font-family:"Microsoft JhengHei","Noto Sans TC",Arial,sans-serif; font-size:20px; line-height:1.6; }
main { max-width:680px; margin:0 auto; padding:24px 18px 48px; }
h1 { font-size:32px; line-height:1.25; margin:0 0 12px; }
h2 { font-size:25px; margin:0 0 10px; }
p { margin:8px 0; }
.brand { display:inline-block; color:var(--blue); font-weight:700; margin-bottom:10px; }
.card { background:#fff; border:1px solid var(--border); box-shadow:0 5px 18px rgba(23,34,53,.08); border-radius:18px; padding:22px; margin:16px 0; }
.event-name { color:var(--blue); }
.event-brand { display:flex; align-items:center; gap:10px; margin-bottom:8px; color:var(--blue); font-weight:700; }
.event-brand img { width:42px; height:42px; object-fit:contain; border-radius:6px; background:#fff; }
.event-share { margin:12px 0 18px; }
.secondary { margin:12px 0 18px; min-height:54px; background:var(--green); font-size:20px; }
.event-detail { display:grid; gap:9px; color:var(--muted); }
.event-detail strong { color:var(--ink); }
label { display:block; font-weight:700; margin:18px 0 7px; }
input,textarea { width:100%; min-height:56px; padding:10px 13px; border:2px solid #aab8ca; border-radius:10px; font:inherit; background:#fff; }
textarea { resize:vertical; }
input:focus,textarea:focus { outline:3px solid #b8d9ff; border-color:var(--blue); }
.checkbox-label { display:flex; align-items:center; gap:12px; min-height:56px; margin:18px 0 0; padding:10px 13px; border:2px solid #aab8ca; border-radius:10px; cursor:pointer; }
.checkbox-label input { width:28px; min-width:28px; min-height:28px; margin:0; padding:0; border:0; border-radius:0; background:transparent; accent-color:var(--green); }
button,.button-link { width:100%; min-height:62px; border:0; border-radius:12px; padding:12px 16px; color:#fff; background:var(--blue); font:700 22px/1.25 inherit; cursor:pointer; text-align:center; text-decoration:none; display:block; }
button:hover,.button-link:hover { filter:brightness(.95); }
button:disabled { background:#93a0b1; cursor:not-allowed; }
.success { border-left:7px solid var(--green); background:#e9f9ef; }
.warning { border-left:7px solid var(--orange); background:#fff4e5; }
.error { border-left:7px solid var(--danger); background:#fff0ef; color:#7e1610; }
.hidden { display:none !important; }
.status { min-height:2.2em; margin-top:14px; font-weight:700; }
.data-list { margin:0; }
.data-list div { display:grid; grid-template-columns:132px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid #e5eaf1; }
.data-list dt { color:var(--muted); }
.data-list dd { margin:0; font-weight:700; overflow-wrap:anywhere; }
.seat { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.seat div { padding:16px 10px; border-radius:12px; color:#073b86; background:#e7f2ff; text-align:center; font-weight:700; }
.seat strong { display:block; font-size:31px; color:var(--blue); }
.home-actions { display:grid; gap:16px; margin-top:20px; }
.home-actions .checkin { background:var(--green); }
.small { color:var(--muted); font-size:17px; }
@media (max-width:430px) { main { padding:18px 14px 36px; } .card { padding:18px; } h1 { font-size:29px; } .data-list div { grid-template-columns:112px 1fr; } }
