:root{--acc:#b65a30;--ink:#43403a;--bg:#fffdf8;--line:#e9e3d8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.7}header{padding:20px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}header small{display:block;font-size:10px;letter-spacing:.2em}header strong{font-size:22px}button{font:inherit;color:var(--ink);background:white;border:1px solid var(--line);border-radius:12px;cursor:pointer;min-height:52px;padding:10px 20px;touch-action:manipulation}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid var(--acc);outline-offset:3px}button:active{background:#fbeee6}.quiet{font-size:12px;background:transparent}main{max-width:700px;margin:auto;padding:20px 28px 45px;text-align:center}.eyebrow{letter-spacing:.2em;color:var(--acc);font-size:12px;margin:5px 0 12px}nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}nav button{font-size:14px;padding:6px 16px;min-height:44px}nav button.active{background:var(--ink);color:white}h1{font-size:30px;line-height:1.4;margin:24px 0 12px}p{margin:12px 0}label{display:block;font-size:14px}input{display:block;width:270px;margin:12px auto;background:white;border:2px solid var(--line);border-radius:12px;text-align:center;font:700 42px 'Noto Sans JP',sans-serif;letter-spacing:.3em;padding:8px 0 8px .3em}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:350px;margin:18px auto}.keypad button{font-size:30px;min-height:68px}.primary{background:var(--acc);color:white;border-color:var(--acc);font-weight:700;min-width:240px;margin:12px 0}.primary:active{background:#984524}.countdown{color:#a82f24;font-size:20px;font-weight:700;margin:14px auto}.hint{color:#7a746b;font-size:13px;max-width:470px;margin:15px auto}#error{color:#a82f24;background:#fff0ec;border-radius:8px}#error:empty{display:none}.booking{font-size:28px;background:white;border:1px solid var(--line);padding:25px;border-radius:16px}video,#preview,#ppreview{width:100%;max-height:370px;object-fit:contain;background:#292623;border-radius:16px}video{transform:scaleX(-1)}iframe{width:100%;height:60vh;border:1px solid var(--line);border-radius:12px;background:white}.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.success{color:#5d6e4f;font-size:60px;margin-bottom:0}#door-code{font-size:clamp(55px,12vw,90px);letter-spacing:.15em;font-weight:700;color:var(--acc);margin:5px;overflow-wrap:anywhere}#wifi{white-space:pre-line;font-size:20px}footer{text-align:center;font-size:12px;color:#7a746b;padding:10px 20px 25px}[hidden]{display:none!important}@media(max-width:480px){header{padding:14px}main{padding:16px}h1{font-size:25px}.keypad button{min-height:62px}header strong{font-size:18px}}

.arrival-wifi{margin:28px auto 0;padding:12px 0 0;border-top:1px solid var(--line);color:#7a746b;font-size:13px;text-align:left;max-width:470px;overflow-wrap:anywhere}.arrival-wifi strong{font-weight:500}.registration-alert{padding:18px;background:#fff0ec;border:2px solid var(--acc);border-radius:14px;color:#9a4022}.registration-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.registration-options article{padding:16px;border:1px solid var(--line);border-radius:14px;background:white;min-width:0}.registration-options h2{font-size:21px;line-height:1.5;margin:0 0 16px}.registration-options .primary{min-width:0;width:100%}#registration-qr img{display:block;width:100%;max-width:280px;height:auto;margin:auto;image-rendering:pixelated}#registration-url{font-family:monospace;font-size:13px;overflow-wrap:anywhere;user-select:all}.registration-wait{font-weight:700}#translation-panel{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px}#translation-status{font-size:14px}#google-translate select{font:inherit;max-width:100%;min-height:44px}@media(max-width:540px){.registration-options{grid-template-columns:1fr}}

.cam-wrap{position:relative;width:100%}.cam-wrap video,.cam-wrap img{display:block}.guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.85}#playback{width:100%;max-height:370px;object-fit:contain;background:#292623;border-radius:16px;transform:scaleX(-1)}#pvideo{transform:scaleX(-1)}#rec-badge{position:absolute;top:12px;left:12px;background:#a82f24;color:#fff;border-radius:999px;padding:6px 16px;font-weight:700;font-size:18px;letter-spacing:.05em}.identity{background:white;border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin:18px 0;text-align:left}.identity h2{font-size:20px;margin:0 0 6px}.identity dl{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;margin:12px 0 0;font-size:18px}.identity dt{color:#7a746b;font-size:14px;padding-top:4px}.identity dd{margin:0;overflow-wrap:anywhere}.who{display:inline-block;font-size:24px;font-weight:700;margin:6px auto 14px;padding:10px 26px;background:#fbeee6;border:2px solid var(--acc);border-radius:999px;color:#7a3a1c}.fallback{color:#7a746b;font-size:14px;max-width:470px;margin:14px auto;padding:10px 14px;border:1px dashed var(--line);border-radius:12px}#key-label{font-size:18px;font-weight:500;margin-bottom:0}#key-how{max-width:520px;margin:10px auto;font-size:16px}#mismatch{margin-top:6px;text-decoration:underline}

/* Phone: one continuous registration form, without nested scrolling or an open button. */
.phone-mode #registration-screen>.registration-alert,.phone-mode #registration-screen>[data-t=registerNote],.phone-mode #registration-screen>.registration-options,.phone-mode #registration-screen>.registration-wait{display:none}
.phone-mode #registration{display:block;height:1px;border:0;border-radius:0}
.phone-mode #registration-form{margin:0 -16px}

.faq-help{margin:18px auto 0;padding:12px 0 0;border-top:1px solid var(--line);color:#7a746b;font-size:13px;max-width:470px;display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;text-align:left}.faq-help[hidden]{display:none}.faq-help p{margin:0}#faq-qr img{display:block;width:96px;height:96px;image-rendering:pixelated}#faq-link{grid-column:1/-1;font-size:12px;color:#7a746b;overflow-wrap:anywhere}.faq-help #faq-link:not([hidden]){font-size:15px;color:var(--acc);text-decoration:underline}
#guest-name,#verify-input{width:100%;max-width:520px;font:500 26px 'Noto Sans JP',sans-serif;letter-spacing:.04em;padding:12px 14px;text-transform:uppercase}#no-code{display:block;margin:12px auto 0;min-width:240px;font-size:17px;font-weight:700;border:2px solid var(--acc);color:var(--acc);background:#fff}#verify-input{text-transform:none;letter-spacing:0}/* 2026-10-08 連絡先の入力欄（照合画面の「内容が違う」→修正）。42pxの番号欄の書式を継がない。メールが収まる大きさに */
#edit-verify{width:100%;max-width:520px;font:500 19px 'Noto Sans JP',sans-serif;letter-spacing:0;padding:12px 14px;text-align:left;text-transform:none}
@media(max-width:480px){#verify-input{font-size:20px}}
