.guest-account{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 20px;background:#302c23;border-bottom:1px solid #88745766;color:#f3dfba;font:13px/1.45 var(--ui)}.guest-account strong{font:600 17px var(--song);overflow-wrap:anywhere}.guest-network{flex:1;color:#cabba3;font-size:12px}.guest-account button{border:1px solid #ab95715c;border-radius:3px;padding:4px 8px;font-size:12px}.guest-account button:hover{color:white;border-color:#c3ac88}.guest-invite{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}.guest-invite>span{flex:1 0 100%;font-size:12px}.guest-invite>input{min-width:0;max-width:360px;flex:1;background:#24231d;border:1px solid #80705a;color:#f3e8d2;padding:5px 9px;font:13px var(--ui)}
@media(max-width:480px){.guest-account{padding:7px 12px;gap:7px}}

#arrival[hidden],#museum[hidden]{display:none!important}
#arrival{
  --ivory:#fff4de;--amber:#ead0a2;--dim-ivory:#e4d8bf;
  --margin-x:clamp(28px,6vw,116px);
  position:fixed;inset:0;isolation:isolate;overflow:hidden;color:var(--ivory);color-scheme:dark;
  background:#322d24;font-family:var(--song,"Songti SC",serif)
}
.arrival-art,.arrival-veil{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.arrival-art{z-index:-2;display:block;object-fit:cover;object-position:61% center}
.arrival-veil{z-index:-1;background:
 linear-gradient(0deg,rgba(16,17,14,.76),rgba(15,19,17,.1) 31%,transparent 58%,rgba(19,22,21,.28)),
 linear-gradient(90deg,rgba(18,22,21,.6),rgba(21,23,20,.26) 34%,transparent 63%)}
.arrival-mast{position:absolute;inset:clamp(25px,4.8vh,62px) var(--margin-x) auto;display:flex;align-items:center;justify-content:space-between;gap:15px}
.arrival-brand{display:flex;gap:14px;align-items:center;font:500 clamp(13px,1.20vw,19px)/1.3 var(--song);letter-spacing:.16em;text-shadow:0 2px 9px #221e18}
.arrival-sigil{display:block;box-sizing:border-box;border:1px solid #ceac7f;outline:1px solid #d2b88a69;outline-offset:2px;padding:3px 5px 4px;color:#fff1cd;background:#693e28a1;font:600 12px/.98 var(--song);text-align:center;letter-spacing:0}
#arrival-guide{display:flex;align-items:center;gap:10px;padding:8px 2px;color:var(--ivory);font:14px var(--song);letter-spacing:.08em;text-shadow:0 1px 7px #211a13}
#arrival-guide span{font:16px Georgia,serif;color:var(--amber)}
.arrival-intro{position:absolute;left:var(--margin-x);bottom:clamp(135px,22vh,260px);max-width:calc(100% - 2 * var(--margin-x));text-shadow:0 2px 22px #1b171323}
#arrival-title{margin:0 0 0 -.05em;font:400 clamp(108px,11.5vw,218px)/1.08 var(--song);letter-spacing:.065em;color:var(--ivory)}
.arrival-intro p{margin:17px 0 0;font:400 clamp(16px,1.48vw,26px)/1.6 var(--song);letter-spacing:.1em}
.arrival-enter,#join-room{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:0;border-radius:2px;font:500 18px var(--song);letter-spacing:.10em;background:#efe0c1;color:#352e23;transition:background .18s,box-shadow .18s}
.arrival-enter{margin-top:clamp(24px,3.7vh,46px);padding:0 22px 0 24px;min-width:184px;min-height:52px;box-shadow:0 4px 18px #0002}
.arrival-enter span,#join-room span{font:27px/1 Georgia,serif;letter-spacing:0}
.arrival-enter:hover,#join-room:hover{background:#fff1ce;box-shadow:0 2px 18px #1614103f}
.arrival-sites{position:absolute;left:var(--margin-x);right:var(--margin-x);bottom:clamp(25px,5.2vh,68px);display:flex;align-items:center;gap:clamp(12px,2.1vw,36px);color:var(--ivory)}
.arrival-sites span{font:400 clamp(14px,1.15vw,20px)/1.45 var(--song);letter-spacing:.12em;white-space:nowrap}
.arrival-sites small{display:block;margin-bottom:4px;font:11px/1.5 var(--ui);color:var(--dim-ivory);letter-spacing:.20em}
.arrival-sites i{width:clamp(16px,2.6vw,50px);height:1px;background:#d6b99080}
#arrival button:focus-visible,#arrival a:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
.entrance-dialog{
  color:var(--ivory);color-scheme:dark;max-width:calc(100vw - 36px);max-height:calc(100dvh - 52px);margin:auto;
  border:1px solid #b398755c;border-radius:8px;box-shadow:0 18px 80px #110e0a66;
  background:linear-gradient(135deg,#302e27f8,#242720fb);font:15px/1.55 var(--song);scrollbar-width:thin
}
.entrance-dialog::backdrop{background:#12151166;backdrop-filter:blur(3px)}
.register-dialog,.note-dialog{width:clamp(390px,37vw,515px);padding:clamp(28px,3.0vw,48px)}
@media(min-width:850px){.register-dialog{margin-left:var(--margin-x)}#arrival:has(.register-dialog[open]) .arrival-intro{visibility:hidden}}
.entrance-close{position:absolute;top:12px;right:13px;width:38px;height:38px;border:0;color:#e6d7bf;font:27px/1 Georgia,serif;border-radius:50%;padding-bottom:2px}
.entrance-close:hover{background:#f2deb514}
.entrance-dialog h2{font:400 clamp(32px,3.05vw,48px)/1.21 var(--song);letter-spacing:.095em;margin:0}
#gate-title:focus{outline:none}
.gate-intro,.note-dialog p{font:14px/1.7 var(--ui);color:#d7cbb9}
.gate-intro{margin:8px 0 26px}
.field-label,.gate-avatars legend{font:500 15px/1.55 var(--song);letter-spacing:.055em}
.name-line{display:flex;align-items:center;margin-top:7px;border:1px solid #b7a48771;border-radius:3px;background:#191d1995;padding-right:9px}
.name-line:focus-within{outline:1px solid var(--amber);outline-offset:2px}
#guest-name{background:transparent;color:var(--ivory);font:16px var(--song);border:0;outline:0;flex:1;min-width:0;height:44px;padding:0 12px}
#guest-name::placeholder{color:#a99f8e}
#suggest-name,#inspect-look{white-space:nowrap;color:var(--amber);font:13px var(--song);border:0;background:transparent;padding:7px 2px}
#suggest-name span{font:16px Georgia,serif}
.gate-avatars{position:relative;min-width:0;border:0;margin:23px 0 0;padding:0}
.gate-avatars legend{padding:0}
.gate-avatars legend span{font:12px var(--ui);color:#cbbfa9;margin-left:6px;letter-spacing:0}
#inspect-look{float:right;margin-top:-29px}
#guest-looks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0 0}
.look-option{position:relative;display:block;overflow:hidden;height:clamp(130px,23dvh,190px);border:1px solid #8e836d;border-radius:3px;cursor:pointer;isolation:isolate;background:#47463d}
.look-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.look-option img{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 24%;display:block}
.look-caption{position:absolute;inset:auto 0 0;padding:22px 12px 8px;display:flex;align-items:baseline;gap:7px;background:linear-gradient(transparent,#111811d9);color:#fff7e9;pointer-events:none}
.look-caption small{font:10px var(--ui);letter-spacing:.06em;color:#f5e6ce}.look-caption strong{font:500 18px var(--song)}
.look-option:has(input:checked)::after{content:'✓';position:absolute;inset:7px 7px auto auto;background:#e5cda3;color:#202319;border-radius:50%;width:19px;text-align:center;font:600 13px/19px var(--ui);pointer-events:none}
.look-option:hover{border-color:#a18d72}.look-option:has(input:checked){outline:2px solid var(--amber);outline-offset:1px}
.look-option:has(input:focus-visible){outline:3px solid #fff2c6;outline-offset:3px}
#join-room{width:100%;height:48px;justify-content:center;margin:25px 0 0;font-size:17px}
#join-room:disabled{opacity:.65}
#gate-message{font:13px/1.5 var(--ui);color:#ffd5af;margin:10px 0 0}#gate-message:empty{display:none}
.note-dialog p:first-of-type{margin-top:22px}
.guide-image-note{border-top:1px solid #a58c6744;margin-top:23px;padding-top:14px;font:12px/1.65 var(--ui);color:#bdaf97}
.guide-image-note b{display:block;color:#e5d6be;margin-bottom:3px;font-weight:500}
@media(max-width:720px){
  #arrival{--margin-x:clamp(22px,7vw,43px)}
  .arrival-art{object-position:72% 45%}
  .arrival-veil{background:linear-gradient(0deg,#121714db 0%,#171b1899 16%,#191d1b35 53%,transparent 76%,#1b1c1a66),linear-gradient(90deg,#181c1b4a,transparent 72%)}
  .arrival-mast{top:max(26px,env(safe-area-inset-top));gap:8px}
  .arrival-brand{font-size:12px;gap:11px;letter-spacing:.11em}
  .arrival-sigil{font-size:10px;padding:3px 4px}
  #arrival-guide{font-size:12px;gap:5px}
  .arrival-intro{bottom:clamp(121px,18dvh,164px)}
  #arrival-title{font-size:clamp(87px,25vw,138px)}
  .arrival-intro p{font-size:16px;margin-top:11px;letter-spacing:.055em}
  .arrival-enter{min-width:163px;min-height:47px;font-size:16px;margin-top:24px;gap:22px}
  .arrival-sites{justify-content:space-between;bottom:max(29px,env(safe-area-inset-bottom));gap:6px}
  .arrival-sites span{font-size:clamp(11px,3.35vw,16px);letter-spacing:.045em}
  .arrival-sites small{font-size:10px;margin-bottom:3px}
  .arrival-sites i{width:10px}
  .entrance-dialog{max-height:calc(100dvh - 30px);max-width:calc(100vw - 26px)}
  .register-dialog,.note-dialog{padding:28px 23px}
  #guest-looks{gap:10px}
  .gate-intro{margin-bottom:20px}
}
@media(max-height:520px) and (min-width:540px){
  .arrival-intro{bottom:80px}#arrival-title{font-size:80px}
  .arrival-intro p{margin-top:4px;font-size:15px}.arrival-enter{margin-top:11px;min-height:38px}
  .arrival-sites{bottom:13px;gap:18px}.arrival-sites small{display:none}
  .arrival-mast{top:14px}.register-dialog{max-width:420px;padding:22px}
}
@media(prefers-reduced-motion:reduce){#arrival *{transition:none!important}}

#gate-register [hidden]{display:none!important}
#queue-title:focus{outline:none}
.queue-intro,#queue-notice{font:14px/1.7 var(--ui);color:var(--dim-ivory)}
.queue-intro{margin:10px 0 24px}
.queue-ticket{border:1px solid #bbaa8354;border-radius:4px;background:#1d221c80;padding:18px clamp(13px,2vw,24px) 21px}
.queue-ticket-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px dashed #bcab8755}
#queue-name{font:500 17px/1.5 var(--song);overflow-wrap:anywhere}
.queue-ticket-head>span{flex:none;color:#d6c7aa;font:12px/1.4 var(--ui);white-space:nowrap}
#queue-occupancy{font-variant-numeric:tabular-nums}
.queue-numbers{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);margin:21px 0 0}
.queue-numbers>div+div{border-left:1px solid #a8977555;padding-left:clamp(12px,2vw,27px)}
.queue-numbers dt{color:#e2d3b7;font:14px/1.5 var(--song);letter-spacing:.05em}
#queue-units{color:#ccbca2;font:11px var(--ui);letter-spacing:0;white-space:nowrap}
.queue-numbers dd{display:flex;align-items:baseline;gap:5px;margin:5px 0 0;color:#ffe6bb}
.queue-numbers b,.queue-numbers time{font:400 clamp(31px,3.5vw,48px)/1.22 Georgia,serif;font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
.queue-numbers dd span{font:13px var(--song);color:var(--dim-ivory)}
.queue-numbers .queue-eta-text{font:400 21px/1.8 var(--song)}
#queue-notice{margin:16px 0 17px;min-height:2em;font-size:13px}
#queue-cancel{padding:8px 14px;border:1px solid #b8a58580;border-radius:3px;background:transparent;color:var(--ivory);font:14px/1.5 var(--song);min-height:42px}
#queue-cancel:hover{border-color:var(--amber);background:#f0e0be0e}
@media(max-width:365px){.queue-ticket-head{gap:7px}.queue-ticket{padding:14px 12px 18px}}
