:root{--ground:#0A0809;--core:#FFF8EE;--ember:#F2B679;--ember-deep:#C97A34;--ash:#8A7E72;--text:"Raleway","Helvetica Neue",Arial,sans-serif;--title:"Cinzel",Georgia,"Times New Roman",serif;--mono:ui-monospace,"SF Mono",Menlo,monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background:var(--ground);color:var(--core);font-family:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}.door{position:absolute;inset:0;display:grid;place-items:center;align-content:center;grid-gap:22px;gap:22px;padding:0 6vw;text-align:center;z-index:2}.door-line{font-size:clamp(22px,3.6vw,34px);font-weight:340;color:var(--ember);text-wrap:balance;max-width:22ch;line-height:1.34}.door-line.dim{color:var(--ash);font-size:clamp(14px,1.6vw,17px);letter-spacing:.08em}.wait{opacity:0;pointer-events:none;transition:opacity .8s ease}.wait.on{opacity:1;transition-duration:.6s}.wait .door-line.dim{max-width:34ch;line-height:1.6}.door-name{background:none;border:0;border-bottom:1px solid #3a322c;color:var(--core);font-family:var(--text);font-size:clamp(18px,2.2vw,22px);text-align:center;padding:10px 14px;width:min(320px,80vw);outline:none;transition:border-color .6s ease}.door-name::placeholder{color:#5d534a}.door-name:focus{border-color:var(--ember-deep)}.door-btn{background:none;border:1px solid var(--ember-deep);color:var(--ember);font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;padding:13px 30px;border-radius:3px;cursor:pointer;transition:opacity .6s ease}.door-btn:disabled{opacity:.25;cursor:default}.door-note{font-size:11px;color:#7a4a3a;letter-spacing:.05em;max-width:60ch}.door-note,.leave{font-family:var(--mono)}.leave{position:absolute;right:14px;bottom:12px;z-index:3;background:none;border:1px solid #2a2420;color:#5d534a;font-size:10px;letter-spacing:.24em;text-transform:uppercase;padding:7px 14px;border-radius:3px;cursor:pointer}.leave:hover{border-color:var(--ember-deep);color:var(--ember)}.dev{position:absolute;left:14px;top:12px;z-index:50;font-family:var(--mono);font-size:10px;color:#4a423c;max-width:min(520px,80vw)}.dev pre{white-space:pre-wrap;color:#6b6058;max-height:40vh;overflow:auto;margin-top:6px}.deaf{left:50%;bottom:11vh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;z-index:5}.ap-ui,.deaf{position:absolute}.ap-ui{inset:0;z-index:4;pointer-events:none;color:var(--core)}.ap-ui .ap-br,.ap-ui a,.ap-ui button{pointer-events:auto}.ap-fps{left:12px;bottom:10px;letter-spacing:.2em;color:#5d534a}.ap-fps,.ap-hint{position:absolute;font-family:var(--mono);font-size:10px}.ap-hint{bottom:calc(5vh + env(safe-area-inset-bottom,0px));letter-spacing:.3em;text-transform:uppercase;color:var(--ash);transition:opacity 1.4s ease}.ap-hint,.ap-ttl{left:50%;transform:translateX(-50%)}.ap-ttl{position:absolute;top:calc(5vh + env(safe-area-inset-top,0px));width:min(760px,90vw);text-align:center;animation:ap-in 1.2s ease both}.ap-ttl-words{font-family:var(--title);font-size:clamp(20px,2.8vw,34px);letter-spacing:.12em;line-height:1.3;color:var(--core);opacity:.9;text-wrap:balance}.ap-ttl.offered .ap-ttl-words{opacity:.55}.ap-ttl-ask{margin-top:8px;display:flex;gap:12px;justify-content:center;align-items:center;color:var(--ash)}.ap-ttl-ask,.ap-ttl-ask button{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.ap-ttl-ask button{background:none;border:1px solid #2a2420;color:#8A7E72;padding:5px 10px;border-radius:3px;cursor:pointer}.ap-ttl-ask button:hover{border-color:var(--ember-deep);color:var(--ember)}.ap-whole{position:absolute;left:50%;top:calc(4vh + env(safe-area-inset-top,0px));transform:translateX(-50%);background:none;border:1px solid #3a322c;color:var(--ash);font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;padding:9px 20px;border-radius:3px;cursor:pointer}.ap-ctl{top:calc(4vh + 42px + env(safe-area-inset-top,0px));gap:8px}.ap-ctl,.ap-top{position:absolute;left:50%;transform:translateX(-50%);display:flex}.ap-top{top:calc(4vh + env(safe-area-inset-top,0px));width:min(760px,90vw);flex-direction:column;align-items:center;gap:10px;pointer-events:none}.ap-top>*{pointer-events:auto}.ap-top .ap-ctl,.ap-top .ap-ttl,.ap-top .ap-whole{position:static;left:auto;top:auto;transform:none}.ap-top .ap-ttl{width:100%;margin-bottom:8px;animation-name:ap-rise}.ap-ttl-ask{flex-wrap:wrap}.ap-cbtn{background:none;border:1px solid #2a2420;color:#5d534a;font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;padding:7px 14px;border-radius:3px;cursor:pointer}.ap-cbtn:hover,.ap-whole:hover{border-color:var(--ember-deep);color:var(--ember)}.ap-cap{position:absolute;left:50%;bottom:calc(11vh + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-width:min(620px,86vw);text-align:center;font-size:clamp(16px,2.2vw,21px);line-height:1.5;color:var(--ember)}.ap-cw{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(7px);animation:ap-word .95s ease forwards}.ap-br{cursor:pointer;color:#FFD9A8}@keyframes ap-word{to{opacity:.93;filter:blur(0);transform:none}}@keyframes ap-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@keyframes ap-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ap-onward{position:absolute;left:50%;bottom:calc(9vh + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:none;border:1px solid #3a322c;color:var(--ember);font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;padding:10px 22px;border-radius:3px;cursor:pointer;transition:opacity 2.4s ease}.ap-onward:hover{border-color:var(--ember-deep)}.ap-journey{position:absolute;left:0;top:0;margin-top:10px;background:rgba(10,8,9,.72);border:0;border-radius:3px;color:#FFD9A8;font-family:var(--text);font-weight:400;font-size:clamp(14px,1.8vw,18px);letter-spacing:.02em;padding:6px 10px;cursor:pointer;white-space:nowrap;opacity:0;transition:opacity .6s ease,color .4s ease;text-shadow:0 0 18px rgba(242,182,121,.35)}.ap-journey.chosen,.ap-journey:hover{color:var(--core)}.ap-ground{position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(0deg,rgba(10,8,9,.96) 0,rgba(10,8,9,.86) 45%,rgba(10,8,9,0));animation:ap-fade 1.6s ease both}.ap-door-name{font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ash);margin-bottom:14px}@keyframes ap-fade{0%{opacity:0}to{opacity:1}}.ap-step{position:absolute;left:50%;bottom:calc(7vh + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(600px,88vw);text-align:center;animation:ap-in 1.4s ease both}.ap-from{text-transform:none;letter-spacing:.02em;font-family:inherit;font-style:italic;font-size:12px;opacity:.8}.ap-bridge{font-size:clamp(19px,2.6vw,26px);line-height:1.4;font-weight:360;color:var(--ember);text-wrap:balance}.ap-receipt{margin-top:8px;color:var(--ash);font-style:italic}.ap-receipt,.ap-why{font-size:clamp(13px,1.5vw,15px)}.ap-why{margin-top:14px;line-height:1.5;color:#a89b8c;animation:ap-rise 1.2s ease both}.ap-row{margin-top:18px;display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap}.ap-take{background:none;border:1px solid var(--ember-deep);color:var(--ember);font-family:var(--mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;padding:10px 22px;border-radius:3px;cursor:pointer;text-decoration:none}.ap-take:hover{background:rgba(201,122,52,.08)}.ap-est{letter-spacing:.2em}.ap-back,.ap-est{font-family:var(--mono);font-size:10px;color:#5d534a;text-transform:uppercase}.ap-back{background:none;border:0;letter-spacing:.24em;cursor:pointer;padding:8px}.ap-back:hover{color:var(--ash)}.ap-moves{list-style:none;margin-top:16px;display:grid;grid-gap:10px;gap:10px;text-align:left}.ap-move{font-size:clamp(15px,1.8vw,18px);line-height:1.5;color:var(--core);opacity:.9;padding-left:22px;position:relative;animation:ap-rise 1.4s ease both}.ap-move:before{content:"";position:absolute;left:4px;top:.72em;width:5px;height:5px;border-radius:50%;background:#9c8a78}.ap-move:last-child:before{background:var(--ember);box-shadow:0 0 10px rgba(242,182,121,.7)}@media (max-width:600px){.ap-step{bottom:calc(3vh + env(safe-area-inset-bottom,0px))}.ap-journey{font-size:14px}.ap-ui.stepping .ap-ctl,.ap-ui.stepping .ap-whole{opacity:0;pointer-events:none;transition:opacity .6s ease}.ap-bridge{font-size:clamp(17px,5vw,22px)}.ap-why{margin-top:10px;font-size:13px}.ap-moves{gap:6px}.ap-move{font-size:15px}.ap-row{margin-top:12px;gap:10px}}