body.needs-checkin{background:radial-gradient(circle at 12% 15%,#fff0e3,transparent 38%),radial-gradient(circle at 80% 85%,#f6dfe1,transparent 42%),#fffaf6}
body.needs-checkin header,body.needs-checkin .hero,body.needs-checkin footer,body.needs-checkin .hostlogo{display:none}
body.needs-checkin .wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 15px}
body.needs-checkin #checkin,body.needs-checkin #admin{width:100%;max-width:680px}
body.needs-checkin #checkin .sectionTitle{text-align:center;font-size:clamp(30px,7vw,44px);color:#874c5a}
body.needs-checkin #checkin .desc{text-align:center}
#checkin .checkin-card{max-width:640px;margin:auto;padding:clamp(22px,5vw,35px)}
.avatar-preview-row{display:flex;align-items:center;gap:16px;margin:18px 0 24px}
.avatar-preview{width:76px;height:76px;flex:none;border-radius:50%;display:grid;place-items:center;background:#f8e4e5;border:4px solid white;box-shadow:0 4px 14px #6c3b4e25;font-size:42px;overflow:hidden}
.avatar-preview img,.avatar-mini img{width:100%;height:100%;object-fit:cover}
.avatar-preview-row strong{display:block;color:#694d50}.avatar-preview-row p{margin:3px 0;color:var(--muted);font-size:13px}
.avatar-section-label{font-size:14px;font-weight:800;color:#6a5c57;margin:18px 0 10px}
.avatar-choice-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.avatar-choice{aspect-ratio:1;border:2px solid transparent;border-radius:17px;background:#fff3ed;font-size:clamp(24px,5vw,36px);padding:0;transition:transform .15s,border-color .15s,background .15s}
.avatar-choice:hover{transform:translateY(-3px)}
.avatar-choice.selected{border-color:var(--rose);background:#f8dfe4;box-shadow:0 0 0 2px white inset}
.avatar-upload-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.avatar-upload-actions button{flex:1;min-width:140px}
.avatar-mini{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;background:#f8e4e5;overflow:hidden;font-size:18px;vertical-align:middle;margin-right:7px;flex:none}
#navProfile{display:none;align-items:center;font-size:13px;color:#765b60;white-space:nowrap}
#navProfile.visible{display:flex}
.blessing-author{display:inline-flex;align-items:center}
.checkin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.checkin-actions .primary{min-height:48px;flex:1}
.host-entry{border:0;background:none;color:#998580;text-decoration:underline;font-size:12px;cursor:pointer;margin-top:18px}
.danmu{display:flex;align-items:center;animation-duration:30s}
.danmu .avatar-mini{width:30px;height:30px;background:#fff;border:2px solid #fff}
.lottery-control-status{margin:16px 0 8px;padding:15px 17px;border-radius:14px;background:#f7e8df;border:1px solid #d9c3ba;color:#62494c;line-height:1.7}
.lottery-control-status strong,.lottery-control-status span{display:block}
#ad-lottery .actions button.current-step{box-shadow:0 0 0 3px #eeced0;border-color:#a95d67}
#ad-lottery .actions button:disabled,.question-actions button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.question-card{border:1px solid #e6d8d0;border-radius:14px;margin:10px 0;background:#fffaf7;overflow:hidden}
.question-card[open]{border-color:#b87b80;box-shadow:0 5px 18px #6c3b4e12}
.question-card.drag-over{border-color:#a95d67;background:#f8e4e5}
.question-card summary{display:flex;align-items:center;gap:10px;padding:15px;cursor:pointer;list-style:none}
.question-card summary::-webkit-details-marker{display:none}
.question-card summary strong{flex:1;font-size:14px;line-height:1.5}
.drag-handle{color:#a98b87;cursor:grab;font-size:20px;letter-spacing:-5px;padding-right:5px}
.question-order{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:50%;background:#f3dfdc;color:#8b4c58;font-weight:800;font-size:13px}
.question-summary-action{white-space:nowrap;color:#a95d67;font-size:12px;font-weight:700}
.question-form{padding:0 15px 17px}
.question-form label{display:block;font-size:13px;font-weight:700;color:#6a5c57;margin:12px 0 6px}
.question-form input,.question-form select{display:block;width:100%;padding:10px 12px;margin-top:6px;border:1px solid #dfd1ca;background:#fff;border-radius:10px;color:#413a38}
.question-options{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.question-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}
.question-actions button{font-size:12px;padding:8px 11px}
@media(max-width:560px){.avatar-choice-grid{grid-template-columns:repeat(4,1fr)}.avatar-choice{font-size:34px}.avatar-preview-row{margin-top:10px}.checkin-actions .primary{width:100%}#navProfile{order:3}}
@media(max-width:560px){.question-options{grid-template-columns:1fr}.question-card summary{gap:7px;padding:12px}.question-summary-action{font-size:11px}}
.falling-cats{position:fixed;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.falling-cats img{position:absolute;top:-90px;height:auto;opacity:.88;animation:cat-fall linear infinite;filter:drop-shadow(0 6px 10px #0002);pointer-events:auto;cursor:pointer}
.falling-cats img.popped{animation:cat-pop .6s forwards!important}
.cat-spark{position:fixed;z-index:4;pointer-events:none;font-size:26px;animation:cat-spark .7s forwards}
@keyframes cat-fall{to{transform:translateY(118vh) rotate(360deg)}}
@keyframes cat-pop{0%{transform:scale(1)}40%{transform:scale(1.4) rotate(20deg)}100%{transform:scale(0) rotate(180deg);opacity:0}}
@keyframes cat-spark{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}100%{transform:translate(-50%,-100%) scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){.falling-cats,.cat-spark{display:none}}
