    #entry-modal { position: fixed; inset: 0; z-index: 100; background: var(--bg-void); display: flex; align-items: center; justify-content: center; padding: 16px; padding-top: calc(var(--nav-height, 72px) + 16px); }
    #entry-modal.hidden { display: none; }
    /* 一時的に非表示(DOM は残すので JS はこれまでどおり動く)。再び使うときはこの 1 行を消す */
    #entry-modal #sec-guest, #entry-modal details.adv { display: none !important; }
    #entry-modal .card { background: linear-gradient(rgba(255,31,143,0.07), rgba(255,31,143,0.07)), var(--surface-card); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255,33,148,0.45); box-shadow: 0 0 24px rgba(255,31,143,0.18); border-radius: 16px; padding: 22px; width: 100%; max-width: 400px; max-height: 100%; overflow-y: auto; }
    #entry-modal .card h1 { font-family: var(--font-heading); font-weight: 700; font-size: 1.2rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-pure); text-shadow: 0 0 12px var(--neon-pink-glow); margin-bottom: 12px; text-align: center; }
    .field { margin-bottom: 10px; }
    #entry-modal .field label { display: block; font-family: var(--font-mono); font-size: 0.72rem; color: var(--text-secondary); margin-bottom: 4px; }
    #entry-modal .field input, #entry-modal .field select { width: 100%; padding: 9px 10px; border-radius: 7px; border: 1px solid var(--border-subtle); background: rgba(0,0,0,0.6); color: var(--text-primary); font-family: var(--font-body); transition: border-color 0.2s, box-shadow 0.2s; }
#entry-modal .field input:focus, #entry-modal .field select:focus { outline: none; border-color: var(--neon-pink); box-shadow: 0 0 0 1px var(--neon-pink-glow); }
    #entry-modal .btn-enter { width: 100%; padding: 11px; margin-top: 8px; border-radius: 8px; background: rgba(255,31,143,0.14); color: var(--text-pure); border: 1px solid var(--neon-pink); font-family: var(--font-heading); letter-spacing: 0.06em; font-weight: bold; cursor: pointer; transition: background 0.2s, box-shadow 0.2s; }
#entry-modal .btn-enter:hover:not(:disabled) { background: rgba(255,31,143,0.26); box-shadow: 0 0 14px var(--neon-pink-glow); }
    #entry-modal .btn-enter:disabled { opacity: 0.55; cursor: not-allowed; }
    /* 入場画面:エラー・状態・注意書き・区切り */
    #entry-error { color: #f87171; font-size: 0.8rem; margin: 0 0 10px; text-align: center; user-select: text; }
    #entry-error:empty { display: none; }
    #entry-status { font-family: var(--font-mono); color: var(--text-secondary); font-size: 0.8rem; margin: 0 0 10px; text-align: center; }
    #entry-status:empty { display: none; }
    #entry-modal .note { font-family: var(--font-mono); font-size: 0.7rem; color: var(--text-muted); margin: 6px 0; line-height: 1.5; }
    #entry-modal .sec-title { font-family: var(--font-heading); color: var(--text-primary); font-size: 0.8rem; font-weight: bold; margin: 14px 0 6px; padding-top: 12px; border-top: 1px solid var(--border-subtle); }
    #entry-modal .btn-link { display: block; width: 100%; margin-top: 8px; background: none; border: none; color: var(--neon-cyan); font-family: var(--font-mono); font-size: 0.78rem; cursor: pointer; text-decoration: underline; }
    #g-btn { display: flex; justify-content: center; min-height: 44px; }
    #inapp-warn { background: rgba(251,191,36,0.12); border: 1px solid rgba(251,191,36,0.5); border-radius: 8px; padding: 8px 10px; font-size: 0.75rem; line-height: 1.5; margin-bottom: 10px; }
    #inapp-warn .btn { margin-top: 6px; }
    #entry-modal details.adv { margin-top: 14px; padding-top: 2px; border-top: 1px solid var(--border-subtle); }
    #entry-modal .sec-head { font-family: var(--font-heading); color: var(--text-primary); font-size: 0.8rem; font-weight: bold; margin: 0 0 8px; }
    #entry-modal details.adv summary { font-family: var(--font-mono); cursor: pointer; font-size: 0.72rem; color: var(--text-secondary); margin: 10px 0 6px; }
