body{margin:0;background:#101b32;color:#e3eaf4;font:16px/1.8 system-ui}
#gate{max-width:760px;min-height:100svh;margin:auto;background:radial-gradient(ellipse at 50% 28%,#22364b55,transparent 65%);padding-bottom:24px;box-sizing:border-box}
#gate *{box-sizing:border-box}#gate[hidden],#name-form[hidden],#gate [hidden]{display:none!important}
.arrival-hero{position:relative;isolation:isolate;min-height:350px;padding:82px 24px 0;text-align:center}
.arrival-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--arrival-art,radial-gradient(ellipse,#34466555,transparent));background-size:cover;background-position:center 36%;mask-image:linear-gradient(#000 0%,#000c 46%,transparent 100%)}
.arrival-back{position:absolute;top:22px;left:26px;color:#c4cede;text-decoration:none;font-size:12px;padding:8px 0}.arrival-back:hover{color:#fff}
.arrival-titles{text-shadow:0 2px 12px #101b32}.arrival-eyebrow{font-size:10px;letter-spacing:.3em;color:#dcc698;margin:0 0 10px}.arrival-titles h1{font-family:SweiSpring,"Noto Serif TC",PMingLiU,serif;font-size:40px;letter-spacing:.13em;font-weight:600;color:#f8e9cc;margin:0}.arrival-subtitle{font-size:13px;letter-spacing:.22em;color:#d1d8e2;margin:12px 0 0}
.arrival-mascot{display:block;object-fit:contain;margin:16px auto -12px;filter:drop-shadow(0 10px 14px #080f2444)}
.arrival-body{max-width:460px;margin:0 auto;padding:0 26px;text-align:center}.arrival-rule{display:flex;align-items:center;gap:16px;justify-content:center;color:#c3ae85;font-size:24px;margin:0 auto 14px;max-width:200px}.arrival-rule span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#b7a58066)}.arrival-rule span:last-child{transform:rotate(180deg)}
.arrival-kicker{font-size:11px;letter-spacing:.12em;color:#abb8c9;margin:0 0 8px}.arrival-body h2{font:500 26px/1.5 SweiSpring,"Noto Serif TC",PMingLiU,serif;letter-spacing:.07em;color:#f0e5d3;margin:0 0 10px}#gate-message{font-size:13px;color:#b9c6d6;margin:0 0 26px}
#name-form{display:grid;gap:18px;text-align:left}.arrival-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#e0e5ec;margin-bottom:8px}#name-count{font-size:11px;color:#8d9eb4;font-variant-numeric:tabular-nums}
#arrival-name{width:100%;height:56px;border:1px solid #61748d66;border-radius:12px;background:#182d4777;padding:0 17px;color:#f3eee4;font:17px/1.5 system-ui;outline:none;transition:border-color .2s,box-shadow .2s}#arrival-name::placeholder{color:#7f91a8;font-size:14px}#arrival-name:focus{border-color:#b9aa87;box-shadow:0 0 0 3px #b9aa8714}#arrival-name[aria-invalid=true]{border-color:#d49582}
#name-hint,#name-error{font-size:11px;margin:6px 2px 0;color:#94a4b9}#name-error{color:#efb49e}
.arrival-note{display:flex;gap:11px;align-items:flex-start;padding:14px;border-radius:12px;background:#22334a66;color:#c4cddb;font-size:12px}.arrival-note svg{width:18px;height:20px;flex-shrink:0;margin-top:1px;fill:none;stroke:#c8b38d;stroke-width:1.5}.arrival-note strong{font-weight:500;color:#ded6c6}.arrival-note p{margin:4px 0 0;font-size:11px;color:#99a9bd}
.arrival-consent{display:flex;gap:10px;align-items:center;font-size:12px;min-height:44px;color:#b6c3d5;cursor:pointer}.arrival-consent input{width:17px;height:17px;flex-shrink:0;margin:0;accent-color:#587ca5}
#gate .arrival-primary{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:54px;padding:12px 22px;border:1px solid #6d85a344;border-radius:999px;background:linear-gradient(120deg,#27415f,#365472);color:#f5efdf;font:500 14px/1.5 system-ui;letter-spacing:.09em;cursor:pointer;box-shadow:0 6px 18px #07112033}#gate .arrival-primary:hover{background:#3a5878}#gate .arrival-primary:disabled{opacity:.6;cursor:wait}.arrival-primary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#gate a:focus-visible,#gate button:focus-visible,#gate input[type=checkbox]:focus-visible{outline:2px solid #dbc399;outline-offset:4px}.arrival-footnote{text-align:center;font-size:10px;letter-spacing:.14em;color:#7e90a8;margin:0}.arrival-footer{text-align:center;font-size:9px;letter-spacing:.22em;color:#677c96;margin-top:36px}
@media(max-width:600px){.arrival-hero{min-height:300px;padding-top:72px}.arrival-titles h1{font-size:30px}.arrival-mascot{width:132px;height:132px;margin-top:14px}.arrival-body{padding:0 24px;max-width:440px}.arrival-body h2{font-size:24px}#name-form{gap:14px}#gate-message{margin-bottom:22px}.arrival-footer{margin-top:28px}.arrival-back{left:20px;top:14px}}
#bbq-login-row{margin:16px 0 0;text-align:center;font-size:12px;line-height:1.8;color:#acbdce}#bbq-login{color:#d9e7f1;text-decoration:underline;text-underline-offset:3px}#bbq-login:hover{color:#fff}#bbq-login:focus-visible{outline:2px solid #d9e7f1;outline-offset:4px}#bbq-login-row[hidden]{display:none}

/* ---- 性別：男性／女性／自定義 ---- */
#gender-count{font-size:11px;color:#8d9eb4;font-variant-numeric:tabular-nums}
#gender-hint,#gender-error{font-size:11px;margin:6px 2px 0;color:#94a4b9}
#gender-error{color:#efb49e}
.arrival-genders{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.arrival-genders label{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #61748d66;border-radius:12px;background:#182d4777;color:#c9d3e2;font-size:15px;cursor:pointer;user-select:none;transition:border-color .2s,background .2s,color .2s}
.arrival-genders input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.arrival-genders label:hover{border-color:#8fa1b8}
.arrival-genders label:has(input:checked){border-color:#b9aa87;background:#2a3f5c;color:#fbeecf;box-shadow:0 0 0 3px #b9aa8714}
.arrival-genders label:has(input:focus-visible){outline:3px solid #8fd9db;outline-offset:2px}
#arrival-gender-custom{width:100%;height:52px;margin-top:8px;border:1px solid #61748d66;border-radius:12px;background:#182d4777;padding:0 17px;color:#f3eee4;font:16px/1.5 system-ui;outline:none;transition:border-color .2s,box-shadow .2s}
#arrival-gender-custom::placeholder{color:#7f91a8;font-size:13px}
#arrival-gender-custom:focus{border-color:#b9aa87;box-shadow:0 0 0 3px #b9aa8714}
#arrival-gender-custom[aria-invalid=true]{border-color:#d49582}
#arrival-name:read-only{color:#9fb0c5;background:#13233a77;cursor:not-allowed}
