/* The final night stays on the birthday page, with an optional little light box. */
.night-scenery{position:fixed;inset:0;z-index:3;animation:night-arrival 2s both;color:#d8dce7}.night-scenery[hidden]{display:none}.night-landscape{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}.night-landscape:active{cursor:grabbing}
.lights-out .farewell-scene{inset:0;z-index:4;display:block;max-width:none;padding:0;margin:0;overflow:visible;transform:none!important;pointer-events:none}.lights-out .farewell-scene>.night-window,.lights-out .farewell-scene>.section-title,.lights-out .farewell-extras{display:none}.lights-out .topbar,.lights-out .bottom-bar{z-index:8;opacity:.52}.lights-out .topbar:hover,.lights-out .bottom-bar:hover{opacity:1}
.night-poem{position:absolute;left:15%;top:24%;text-align:left;max-width:650px;transition:opacity .7s,transform .8s;animation:night-words 2s .3s both}.night-poem small{font:9px Georgia;letter-spacing:.25em;color:#99afc5}.night-poem h2{font:normal clamp(25px,3.1vw,43px)/1.75 var(--serif);letter-spacing:.1em;color:#dce0eb;margin:22px 0 19px;text-shadow:0 2px 24px #e1e8ff12}.night-poem p{font:16px/1.8 var(--serif);letter-spacing:.09em;color:#b9c5d4;margin:0 0 10px}.night-poem>span{font:12px/1.9 var(--serif);color:#93a6bb;letter-spacing:.04em}.night-arranging .night-poem{opacity:.22;transform:translateY(-10px)}
.lights-out .farewell-scene .sleep-switch{position:absolute;bottom:104px;left:calc(50% - 224px);margin:0;pointer-events:auto;min-height:49px;padding:12px 21px;background:#17283a8c;color:#bbcadc;border:1px solid #bdd2e32e;font:13px var(--serif);border-radius:27px;backdrop-filter:blur(16px)}.lights-out .farewell-scene .night-lights-open{position:absolute;bottom:104px;left:calc(50% - 24px);pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:15px;min-height:49px;min-width:224px;padding:11px 24px;border-radius:28px;border:1px solid #dac5a66b;color:#eee2cf;background:linear-gradient(130deg,#8b795130,#9eb7d51a);box-shadow:0 0 32px #dec29010,inset 0 1px #ebd5b320;font:14px var(--serif);letter-spacing:.04em;backdrop-filter:blur(16px);cursor:pointer;transition:box-shadow .3s,background .3s}.night-lights-open>span:first-child{font:24px Georgia;color:#f4dcac}.lights-out .night-lights-open:hover{box-shadow:0 0 38px #dec29025;background:#bda77425}
.night-light-drawer{position:absolute;right:max(5vw,20px);top:100px;bottom:178px;width:300px;max-height:650px;padding:22px;background:linear-gradient(155deg,#28394bee,#142239ed);backdrop-filter:blur(22px);border:1px solid #a9bacd36;box-shadow:0 25px 80px #040a153d;border-radius:23px;overflow:auto;scrollbar-width:thin;scrollbar-color:#75879855 transparent;animation:light-box-in .5s both;z-index:2}.night-light-drawer[hidden],.night-selected[hidden]{display:none}.night-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.night-drawer-heading small{font:8px Georgia;letter-spacing:.13em;color:#94abc0}.night-drawer-heading h3{font:normal 18px var(--serif);margin:9px 0}.night-drawer-heading>button{border:1px solid #bac6d033;background:none;width:32px;height:32px;border-radius:50%;font:23px var(--serif);color:#c4cdd9}.night-light-drawer>p{font:12px/1.8 var(--serif);color:#a9b8ca}.night-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px 0}.night-source-grid button{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 10px;background:#b1c3df09;border:1px solid #bccdde24;border-radius:12px;font:12px var(--serif);color:#cfdae6;cursor:pointer;transition:background .25s}.night-source-grid button:hover{background:#cad7e524}.night-source-grid button span{width:23px;text-align:center;font:22px Georgia;color:#dfc9a9}.night-selected{border-top:1px solid #b8c1d21c;padding-top:12px}.night-selected label{display:flex;justify-content:space-between;align-items:center;font:11px var(--serif);color:#a9bbcd;margin:8px 0}.night-selected select{max-width:156px;background:#203148;color:#d7dfeb;border:1px solid #b5c9d92c;padding:6px;border-radius:7px}.night-selected input{width:150px;accent-color:#cbb997}.night-selected>div,.night-drawer-actions{display:flex;justify-content:space-between;gap:7px}.night-selected button,.night-drawer-actions button{background:none;min-height:36px;font:12px var(--serif);color:#c7ccda;cursor:pointer;padding:8px 5px}.night-drawer-actions{border-top:1px solid #b8c1d21c;margin-top:10px;padding-top:9px}.night-drawer-actions button:last-child{color:#eedbbd}.night-drag-hint{position:absolute;left:50%;bottom:172px;transform:translateX(-50%);white-space:nowrap;font:12px var(--serif);letter-spacing:.03em;color:#afbdcd;pointer-events:none}
.moon-secret{opacity:1!important;display:flex;align-items:center;gap:12px!important;min-height:46px!important;padding:10px 20px!important;text-decoration:none!important;font:15px var(--serif)!important;color:#88644f!important;background:#fff9edeb!important;border:1px solid #cbb39380!important;border-radius:28px;box-shadow:0 5px 22px #7c583c12;transition:transform .3s,box-shadow .3s}.moon-secret>span:first-child{color:#bb956a;font-size:23px;animation:moon-invitation 3s ease-in-out infinite}.moon-secret:hover{transform:translateY(-2px);box-shadow:0 7px 30px #7c583c25}.moon-secret:focus-visible{outline:2px solid #caa481;outline-offset:4px}
.photo-guest-picker{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:15px 0 10px}.photo-guest-picker>span{font:12px var(--serif);color:var(--muted);margin-right:6px}.photo-guest-picker button{display:flex;align-items:center;gap:7px;padding:6px 10px;min-height:43px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:11px var(--serif);cursor:pointer;transition:background .3s,border-color .3s}.photo-guest-picker button img{height:28px;width:26px;object-fit:contain}.photo-guest-picker button[aria-pressed=true]{border-color:#98b6bc;background:#8cb8c01c;color:var(--ink)}.photo-guest-picker button[data-guests-all]{background:#c4aa9513}.booth-controls .booth-size{display:flex;gap:9px;align-items:center;font:12px var(--serif);color:var(--muted)}.booth-size input{width:70px;accent-color:#9aafb9}.booth-size[hidden]{display:none}.snow-photo-friends .photo-guest-picker{margin:8px 0 15px}
@keyframes night-arrival{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}@keyframes night-words{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes light-box-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@keyframes moon-invitation{50%{opacity:.55;transform:rotate(25deg)}}
@media(max-height:600px) and (orientation:landscape){.night-poem{top:20%;left:12%}.night-poem h2{font-size:27px;margin:12px 0 10px;line-height:1.55}.night-poem p{font-size:13px;margin:0 0 7px}.night-poem>span{font-size:11px}.lights-out .farewell-scene .sleep-switch,.lights-out .farewell-scene .night-lights-open{bottom:68px;min-height:42px;font-size:12px;padding:8px 16px}.lights-out .farewell-scene .sleep-switch{left:calc(50% - 206px)}.lights-out .farewell-scene .night-lights-open{left:calc(50% - 18px);min-width:210px}.night-light-drawer{top:59px;bottom:126px;right:5%;width:265px;padding:15px}.night-drawer-heading h3{font-size:16px}.night-source-grid{margin:9px 0;gap:5px}.night-source-grid button{min-height:37px;font-size:11px}.night-drag-hint{bottom:117px;font-size:10px;left:30%}.night-arranging .night-poem{opacity:.12}.photo-guest-picker{gap:5px;margin:10px 0 7px}.photo-guest-picker button{font-size:10px;padding:4px 8px;min-height:38px}.photo-guest-picker button img{height:25px;width:21px}.moon-secret{font-size:13px!important;min-height:42px!important;padding:7px 14px!important}}
@media(orientation:portrait) and (max-width:700px){.night-poem{top:23%;left:9%;right:8%}.night-poem h2{font-size:26px;letter-spacing:.05em}.night-poem p{font-size:14px}.night-poem>span{font-size:11px}.lights-out .farewell-scene .sleep-switch{left:6%;bottom:105px;padding:10px 12px;font-size:11px}.lights-out .farewell-scene .night-lights-open{left:auto;right:6%;bottom:105px;min-width:170px;padding:9px 13px;font-size:12px;gap:8px}.night-light-drawer{right:6%;left:6%;top:110px;bottom:185px;width:auto;max-height:none}.night-drag-hint{bottom:164px;font-size:10px}.photo-guest-picker{gap:5px}.photo-guest-picker>span{width:100%;text-align:center}.photo-guest-picker button{font-size:10px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){.night-scenery,.night-poem,.night-light-drawer,.moon-secret span{animation:none!important;transition:none!important}}
