#ji-guest-preview[hidden] { display:none !important; }
#ji-guest-preview {
  position:fixed; inset:0; z-index:100; box-sizing:border-box;
  display:flex; flex-direction:column; align-items:center; overflow:auto; overscroll-behavior:contain;
  padding:clamp(16px,2vh,24px) 20px;
  background:#faf7f0; color:#343a31;
  font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;
}
#ji-guest-preview *, #ji-guest-preview *::before, #ji-guest-preview *::after { box-sizing:border-box; }
#ji-guest-preview .ji-guest-scene { position:fixed; inset:0; overflow:hidden; pointer-events:none; }
#ji-guest-preview .ji-guest-scene img { width:100%; height:100%; object-fit:cover; object-position:center top; opacity:.24; filter:blur(1px); }
#ji-guest-preview .ji-guest-scene::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(250,247,240,.08),rgba(250,247,240,.28)); }
#ji-guest-preview .ji-guest-guide {
  position:relative; width:100%; max-width:600px; flex-shrink:0; margin-top:auto;
  padding:clamp(25px,4vw,40px); text-align:center;
  border:1px solid rgba(127,149,116,.24); border-radius:24px;
  background:rgba(255,253,248,.95); box-shadow:0 18px 60px rgba(86,88,60,.10);
}
#ji-guest-preview .ji-guest-eyebrow { margin:0 0 18px; color:#536d40; font-size:clamp(13px,1.2vw,15px); line-height:1.8; letter-spacing:.06em; }
#ji-guest-preview h1 { margin:0; font-weight:500; font-size:clamp(26px,3vw,39px); line-height:1.65; letter-spacing:.06em; }
#ji-guest-preview .ji-guest-subtitle { margin:10px 0 26px; font-size:clamp(15px,1.5vw,18px); line-height:1.7; color:#5b6052; font-style:italic; }
#ji-guest-preview .ji-guest-body { margin:0 0 10px; font-size:clamp(16px,1.45vw,18px); line-height:1.95; }
#ji-guest-preview .ji-guest-english { margin:0 0 30px; font-size:clamp(14px,1.25vw,16px); line-height:1.75; color:#5b6052; }
#ji-guest-preview .ji-guest-primary {
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  min-height:66px; padding:14px 16px; border-radius:14px; text-decoration:none;
  background:#536d40; color:white; font-size:clamp(16px,1.4vw,18px); line-height:1.7;
  transition:background .15s;
}
#ji-guest-preview .ji-guest-primary span { font-size:13px; opacity:.88; font-family:system-ui,sans-serif; }
#ji-guest-preview .ji-guest-primary:hover { background:#465e36; }
#ji-guest-preview .ji-guest-primary:focus-visible, #ji-guest-preview .ji-guest-member:focus-visible { outline:3px solid #aa803e; outline-offset:5px; }
#ji-guest-preview .ji-guest-member { display:inline-block; margin-top:23px; color:#536d40; font-size:14px; line-height:1.7; text-underline-offset:4px; }
#ji-guest-preview .ji-guest-note { position:relative; flex-shrink:0; margin:18px 0 max(0px,env(safe-area-inset-bottom)); margin-bottom:auto; text-align:center; color:#343a31; font-size:12px; line-height:1.5; pointer-events:none; }
@media(max-width:359px) { #ji-guest-preview { padding-left:12px; padding-right:12px; } #ji-guest-preview .ji-guest-guide { padding:24px 18px; } #ji-guest-preview h1 { font-size:24px; } }
@media(prefers-reduced-motion:reduce) { #ji-guest-preview .ji-guest-primary { transition:none; } }
