/* In flight — guest photo & video drop (loads after theme.css) */
.share-page .head{padding-bottom:clamp(4.5rem,10vw,6.5rem)}
.live{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.4rem;padding:.5rem 1rem;border-radius:999px;background:rgba(255,253,249,.8);border:1px solid rgba(255,255,255,.9);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-deep);box-shadow:0 8px 20px rgba(60,70,90,.08)}
.live i{width:7px;height:7px;border-radius:50%;background:var(--coral);animation:blink 1.4s ease-in-out infinite}
.live b{font-weight:500;color:var(--ink)}

.drop{max-width:720px}
.drop .paper-strip .mk b{color:var(--ink)}
.drop-body{padding:1.6rem 1.6rem 1.8rem;display:grid;gap:1.3rem}
.picker{position:relative;display:grid;place-items:center;text-align:center;gap:.5rem;padding:2.4rem 1.2rem;border:1.5px dashed rgba(168,137,79,.6);border-radius:16px;
  background:linear-gradient(180deg,rgba(223,238,251,.45),rgba(251,247,240,.4));cursor:pointer;transition:background .25s,border-color .25s,transform .25s var(--ease-out)}
.picker:hover,.picker.over{background:linear-gradient(180deg,rgba(223,238,251,.8),rgba(251,247,240,.6));border-color:var(--gold-deep)}
.picker.over{transform:scale(1.01)}
.picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.picker:focus-within{outline:2px solid var(--sage-deep);outline-offset:3px}
.picker .icon{width:62px;height:62px;border-radius:50%;background:var(--paper);display:grid;place-items:center;box-shadow:0 10px 24px rgba(60,70,90,.12)}
.picker .icon svg{width:26px;height:26px}
.picker strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,4.4vw,2rem);line-height:1.1}
.picker small{color:var(--muted);font-size:.84rem}
.toggle{display:flex;align-items:flex-start;gap:.8rem;cursor:pointer;font-size:.92rem}
.toggle input{position:absolute;opacity:0}
.toggle .sw{flex:none;width:42px;height:24px;border-radius:999px;background:#d9d1c4;position:relative;transition:background .25s;margin-top:.05rem}
.toggle .sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:translate .25s var(--ease-out)}
.toggle input:checked+.sw{background:var(--sage-deep)}
.toggle input:checked+.sw::after{translate:18px 0}
.toggle input:focus-visible+.sw{outline:2px solid var(--sage-deep);outline-offset:2px}
.toggle small{display:block;color:var(--muted);font-size:.8rem;margin-top:.1rem}

/* queue */
.queue{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.queue:empty{display:none}
.qi{display:grid;grid-template-columns:52px 1fr auto;gap:.9rem;align-items:center;padding:.6rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,249,.8);animation:qin .5s var(--ease-out)}
@keyframes qin{from{opacity:0;translate:0 8px}}
.qi .th{width:52px;height:52px;border-radius:8px;background:#efe9dd center/cover no-repeat;display:grid;place-items:center;overflow:hidden;position:relative}
.qi .th video{width:100%;height:100%;object-fit:cover}
.qi .th .vid{position:absolute;right:3px;bottom:3px;font-family:var(--mono);font-size:.5rem;background:rgba(43,39,36,.7);color:#fff;padding:1px 4px;border-radius:3px}
.qi .th .ext{font-family:var(--mono);font-size:.55rem;color:var(--muted)}
.qi .nm{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qi .track{position:relative;height:16px;margin-top:.3rem}
.qi .track::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed rgba(168,137,79,.55)}
.qi .fill{position:absolute;left:0;top:50%;height:2px;margin-top:-1px;background:var(--gold-deep);width:0;transition:width .3s linear;border-radius:2px}
.qi .pl{position:absolute;top:50%;left:0;width:16px;height:16px;translate:-2px -50%;transition:left .3s linear}
.qi .pl svg{width:16px;height:16px;rotate:90deg;display:block}
.qi .st{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-align:right;min-width:74px}
.qi.done .st{color:var(--sage-deep)}
.qi.done .fill{background:var(--sage)}
.qi.err .st{color:var(--coral)}
.qi.err .retry{display:inline}
.retry{display:none;background:none;border:0;padding:0;font:inherit;color:var(--coral);text-decoration:underline;cursor:pointer}

.landed{display:none;text-align:center;padding:1.6rem 1rem .6rem;position:relative}
.landed.show{display:block;animation:qin .6s var(--ease-out)}
.landed h3{font-size:clamp(2rem,5vw,2.6rem)}
.landed p{color:var(--muted);margin:.4rem 0 1rem}
.landed .stamp3{display:inline-grid;place-items:center;width:96px;height:96px;border-radius:50%;border:2.5px solid var(--coral);color:var(--coral);rotate:-12deg;margin-bottom:.6rem;
  font-family:var(--mono);font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;text-align:center;position:relative;mix-blend-mode:multiply}
.landed .stamp3::before{content:"";position:absolute;inset:5px;border:1px solid var(--coral);border-radius:50%}
.landed .stamp3 b{display:block;font-size:.84rem;font-weight:500}
.landed.show .stamp3{animation:slam2 .55s cubic-bezier(.2,1.4,.4,1) forwards}

/* checklist */
.check{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.4rem;list-style:none;margin:0;padding:0}
.check label{display:flex;gap:.8rem;align-items:flex-start;padding:.95rem 1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,249,.7);cursor:pointer;transition:background .25s,border-color .25s}
.check input{position:absolute;opacity:0}
.check .bx{flex:none;width:20px;height:20px;border-radius:5px;border:1px solid rgba(43,39,36,.35);display:grid;place-items:center;margin-top:.1rem;transition:background .2s,border-color .2s}
.check .bx svg{width:12px;height:12px;opacity:0;transition:opacity .2s}
.check input:checked~.bx{background:var(--sage-deep);border-color:var(--sage-deep)}
.check input:checked~.bx svg{opacity:1}
.check input:checked~.tx{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(111,103,95,.5)}
.check input:focus-visible~.bx{outline:2px solid var(--sage-deep);outline-offset:2px}
.check .tx b{display:block;font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.2;color:var(--ink)}
.check .tx small{font-size:.82rem;color:var(--muted)}
.check-score{text-align:center;margin-top:1.2rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.tips h3{font-size:1.5rem;margin:.5rem 0 .4rem}
.tips p{color:var(--muted);margin:0;font-size:.92rem}
.tag{font-family:var(--mono);letter-spacing:.06em;color:var(--ink)}
.back-link{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line);padding:.3rem 0}

@media (max-width:640px){
  .drop-body{padding:1.2rem 1.1rem 1.4rem}
  .picker{padding:2rem 1rem}
  .check,.tips{grid-template-columns:1fr}
  .tips{gap:1.4rem}
  .qi{grid-template-columns:44px 1fr;gap:.7rem}
  .qi .th{width:44px;height:44px}
  .qi .st{grid-column:2;text-align:left;min-width:0;margin-top:-.2rem}
}
@media (prefers-reduced-motion:reduce){.live i{animation:none}.qi,.landed.show{animation:none}.landed.show .stamp3{animation:none}}
.down-note{display:none;font-style:normal;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-top:.3rem}
.drop-down .down-note{display:block}
