:root{--bg:#fafafb;--surface:#fff;--surface-pink:#fff1f6;--surface-pink-2:#fdf2f8;--text:#191f28;--text-strong:#111827;--muted:#6b7280;--muted-2:#8b95a1;--border:#eef0f3;--border-strong:#e5e8eb;--pink:#f9a8c7;--pink-strong:#ec6f9f;--pink-deep:#d94f85;--lavender:#f1e8ff;--mint:#e9fbf3;--blue-soft:#edf6ff;--shadow:0 18px 48px #191f281a;--shadow-soft:0 10px 28px #191f2812;--radius:24px;--radius-sm:16px}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:320px;color:var(--text);background:var(--bg);margin:0;font-family:Pretendard,SUIT,Inter,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,system-ui,sans-serif;line-height:1.62;overflow-x:hidden}button,input,select{font:inherit;font-size:1rem}button{cursor:pointer;overflow-wrap:anywhere;white-space:normal}button:disabled{cursor:default;opacity:.56}img{width:100%;display:block}[hidden],.is-hidden{display:none!important}h1,h2,h3,p,strong,span,button,label,legend{overflow-wrap:anywhere}h1,h2,h3{color:var(--text-strong);margin:0;font-family:Pretendard,SUIT,Inter,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,system-ui,sans-serif;line-height:1.12}h1{font-size:3.75rem;font-weight:900}h2{font-size:2.15rem;font-weight:900}h3{font-size:1.22rem;font-weight:850}.eyebrow{background:var(--surface-pink);color:var(--pink-deep);text-transform:uppercase;border-radius:999px;align-items:center;margin:0 0 10px;padding:7px 11px;font-size:.78rem;font-weight:850;display:inline-flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border-bottom:1px solid #eef0f3c7;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 40px;display:grid;position:sticky;top:0;box-shadow:0 8px 24px #191f280a}.brand{min-width:0;color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand__mark{color:#7f1d50;background:linear-gradient(135deg,#fbcfe8,#f9a8c7);border-radius:16px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-weight:900;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 20px #ec6f9f2e}.brand__mark img{object-fit:cover;width:100%;height:100%;display:none}.brand__mark.has-icon{background:0 0}.brand__mark.has-icon img{display:block}.brand__mark.has-icon .brand__fallback{display:none}.brand strong,.brand small{text-overflow:ellipsis;display:block;overflow:hidden}.brand strong{color:var(--text-strong);white-space:nowrap;font-size:1rem;font-weight:850}.brand small{color:var(--muted-2);font-size:.78rem;font-weight:650}.ghost-button,.text-button,.primary-button,.input-row button{border-radius:14px;min-height:46px;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s}.ghost-button,.text-button{border:1px solid var(--border);color:var(--muted);background:#fff;padding:0 14px}.primary-button,.input-row button{background:var(--pink-strong);color:#fff;border:0;padding:0 20px;box-shadow:0 12px 24px #ec6f9f38}.primary-button:hover,.ghost-button:hover,.text-button:hover,.input-row button:hover{transform:translateY(-2px);box-shadow:0 16px 28px #191f281a}.input-row input:focus,.choice input:focus-visible+span,button:focus-visible{outline-offset:3px;outline:3px solid #f9a8c773}.auth-view{background:linear-gradient(#fff 0%,#fff8fb 48%,#fafafb 100%);min-height:calc(100vh - 73px);padding:64px 24px 72px;position:relative;overflow:hidden}.auth-view:before,.auth-view:after{pointer-events:none;content:"";position:absolute}.auth-view:before{border:32px solid #f9a8c729;border-radius:50%;width:180px;height:180px;top:74px;right:9%}.auth-view:after{background:#fdf2f8c7;border-radius:38px;width:136px;height:136px;bottom:76px;left:8%;transform:rotate(10deg)}.auth-sparkle-field{pointer-events:none;position:absolute;inset:0}.auth-sparkle-field span{background:var(--pink);border-radius:50%;width:8px;height:8px;animation:2.6s ease-in-out infinite soft-float;position:absolute;box-shadow:0 0 18px #f9a8c78c}.auth-sparkle-field span:first-child{top:18%;left:12%}.auth-sparkle-field span:nth-child(2){animation-delay:.42s;top:22%;right:20%}.auth-sparkle-field span:nth-child(3){animation-delay:.76s;bottom:24%;left:19%}.auth-sparkle-field span:nth-child(4){animation-delay:1.12s;bottom:25%;right:12%}.auth-sparkle-field span:nth-child(5){animation-delay:1.48s;top:55%;left:49%}.invitation-stage{z-index:1;grid-template-columns:minmax(0,.92fr) minmax(400px,.88fr);align-items:center;gap:54px;max-width:1180px;margin:0 auto;display:grid;position:relative}.auth-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffffff0;border-radius:32px;padding:42px;position:relative}.auth-card__shine{background:var(--surface-pink);border-radius:24px;width:72px;height:72px;position:absolute;top:22px;right:22px}.auth-card h1{max-width:9em}.auth-card__copy,.dashboard__copy,.mission-copy{color:var(--muted)}.auth-card__copy{max-width:38rem;margin:18px 0 0;font-size:1.08rem;font-weight:600}.auth-form{gap:12px;margin-top:30px;display:grid}.auth-form label{color:var(--text-strong);font-weight:850}.input-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.input-row input{border:1px solid var(--border-strong);width:100%;min-height:56px;color:var(--text);background:#fff;border-radius:16px;padding:0 16px;font-size:1rem;font-weight:700}.input-row button{min-width:98px;min-height:56px}.form-message{min-height:1.5em;color:var(--pink-deep);margin:0;font-weight:850}.ceremony-tags{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.ceremony-tags span{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:750;box-shadow:0 8px 20px #191f280d}.photo-collage{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.collage-card,.cover-photo{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fff;border-radius:28px;margin:0;overflow:hidden}.collage-card{min-height:220px}.collage-card:first-child,.collage-card:nth-child(4){transform:translateY(18px)}.collage-card img{object-fit:cover;height:100%;min-height:220px}.photo-fallback{min-height:220px;color:var(--pink-deep);background:linear-gradient(#fff7fb,#fdf2f8);place-items:center;font-weight:850;display:grid}.cover-photo{grid-column:1/-1;place-items:center;min-height:92px;padding:0;display:grid}.cover-photo img{object-fit:cover;max-height:140px}.cover-placeholder{text-align:center;background:#fff;place-items:center;width:100%;min-height:92px;padding:18px;display:grid}.cover-placeholder span{color:var(--text-strong);font-size:1.08rem;font-weight:850;display:block}.cover-placeholder p{max-width:26rem;color:var(--muted);margin:4px 0 0;font-size:.9rem}.cover-photo figcaption{display:none}.portal{max-width:1180px;margin:0 auto;padding:42px 24px 86px}.dashboard{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fff;border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(330px,.7fr);align-items:stretch;gap:24px;margin-bottom:24px;padding:32px;display:grid}.dashboard h1{max-width:10em}.dashboard__copy{max-width:680px;margin:16px 0 0;font-size:1.02rem;font-weight:600}.status-panel{border:1px solid var(--border);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 12px 28px #191f280f}.progress-track{background:#f2f4f6;border-radius:999px;height:12px;margin:24px 22px 0;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#f9a8c7,#ec6f9f);width:0;height:100%;transition:width .46s;display:block}.status-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:22px;display:grid}.status-grid article{background:#fff;min-height:112px;padding:18px}.status-grid span{color:var(--muted);font-size:.85rem;font-weight:750;display:block}.status-grid strong{color:var(--text-strong);margin-top:8px;font-size:1.55rem;font-weight:900;display:block}.workbench{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:20px;min-width:0;display:grid}.mission-panel,.mission-stage{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fff;border-radius:30px;min-width:0}.mission-panel{padding:22px;position:sticky;top:88px}.panel-heading{margin-bottom:18px}.panel-heading h2{font-size:1.38rem}.mission-list{gap:10px;min-width:0;max-width:100%;display:grid}.mission-tab{border:1px solid var(--border);width:100%;min-height:70px;color:var(--text);text-align:left;background:#fff;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:grid}.mission-tab:hover,.mission-tab[aria-current=true]{background:var(--surface-pink);border-color:#ec6f9f57;transform:translateY(-2px);box-shadow:0 12px 24px #ec6f9f1a}.mission-tab.is-locked{cursor:not-allowed;color:var(--muted);background:#f8f9fb}.mission-tab.is-locked:hover{border-color:var(--border);box-shadow:none;background:#f8f9fb;transform:none}.mission-tab__number{width:36px;height:36px;color:var(--muted);background:#f2f4f6;border-radius:14px;place-items:center;font-weight:900;display:grid}.mission-tab__body{min-width:0}.mission-tab__title{font-weight:850;display:block}.mission-tab__step{color:var(--pink-strong);margin-bottom:3px;font-size:.78rem;font-weight:850;display:block}.mission-tab__meta{color:var(--muted);font-size:.84rem;font-weight:650;display:block}.mission-tab__state{color:var(--muted);background:#f2f4f6;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:850}.mission-tab.is-complete .mission-tab__number,.mission-tab.is-complete .mission-tab__state{color:var(--pink-deep);background:#fce7f3}.mission-tab.is-locked .mission-tab__number,.mission-tab.is-locked .mission-tab__state{color:#8b95a1;background:#eef0f3}.mission-stage{min-height:600px;padding:30px;position:relative}.mission-header{margin-bottom:26px}.question-set,.photo-set,.single-question-shell{gap:14px;display:grid}.question-progress-row{border:1px solid var(--border);background:#fff8fb;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.question-progress-row span,.question-progress-row strong{color:var(--pink-deep);font-size:.92rem;font-weight:850}.question-card,.photo-card,.final-card,.result-box{border:1px solid var(--border);background:#fff;border-radius:24px;padding:18px}.question-card fieldset,.photo-card fieldset{border:0;min-width:0;margin:0;padding:0}.question-card legend,.photo-card legend{color:var(--text-strong);margin-bottom:12px;font-weight:850}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice{display:block}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice span{border:1px solid var(--border);min-height:52px;color:var(--text);background:#fff;border-radius:16px;align-items:center;padding:12px 13px;font-weight:750;transition:transform .15s,border-color .15s,background .15s;display:flex}.choice input:checked+span{background:var(--surface-pink);color:var(--pink-deep);border-color:#ec6f9f6b;transform:translateY(-2px)}.mission-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.mission-message{min-height:1.5em;color:var(--pink-deep);margin:0;font-weight:850}.photo-card{grid-template-columns:210px minmax(0,1fr);align-items:center;gap:18px;display:grid}.single-question-card{box-shadow:0 14px 30px #191f280d}.photo-frame{background:var(--surface-pink);border-radius:22px;height:100%;min-height:170px;margin:0;display:grid;overflow:hidden}.photo-frame img{aspect-ratio:4/3;object-fit:cover;height:100%}.photo-placeholder{background:var(--surface-pink);text-align:center;place-items:center;height:100%;min-height:170px;padding:18px;display:grid}.photo-placeholder span{color:var(--pink-deep);font-weight:850;display:block}.photo-placeholder p{max-width:22rem;color:var(--muted);margin:8px 0 0;font-size:.9rem}.result-box h3{color:var(--text-strong)}.result-box p,.final-card p{color:var(--muted);font-weight:600}.approval-list{color:var(--muted);gap:8px;margin:14px 0 0;padding-left:20px;font-weight:650;display:grid}.answer-modal-backdrop{z-index:80;background:#191f2847;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.answer-modal{text-align:center;background:#fff;border:1px solid #ec6f9f38;border-radius:28px;width:min(440px,100%);padding:26px;box-shadow:0 26px 70px #191f282e}.answer-modal:focus{outline:none}.answer-modal__step{background:var(--surface-pink);color:var(--pink-deep);border-radius:999px;margin:0 0 12px;padding:7px 12px;font-size:.86rem;font-weight:850;display:inline-flex}.answer-modal h3{color:var(--text-strong);margin:0;font-size:1.45rem}.answer-modal__question{color:var(--text);margin:12px 0 0;font-weight:800}.answer-modal #answer-modal-copy{color:var(--muted);margin:10px 0 20px;font-weight:650}.answer-modal__prize{color:var(--pink-deep);margin:14px 0 8px;font-size:1.9rem;font-weight:900;display:block}.gift-summary{gap:12px;margin:20px 0;display:grid}.gift-summary article{border:1px solid var(--border);text-align:left;background:#fff8fb;border-radius:20px;padding:16px}.gift-summary span{color:var(--muted);font-size:.86rem;font-weight:800;display:block}.gift-summary strong{color:var(--text-strong);margin-top:6px;font-size:1.15rem;font-weight:900;display:block}.roulette-card{border:1px solid var(--border);background:linear-gradient(#fff 0%,#fff7fb 100%);border-radius:30px;grid-template-columns:minmax(240px,340px) minmax(0,1fr);align-items:center;gap:28px;padding:28px;display:grid}.roulette-wheel-wrap{justify-items:center;padding-top:18px;display:grid;position:relative}.roulette-pointer{z-index:2;border-left:13px solid #0000;border-right:13px solid #0000;border-top:24px solid var(--pink-strong);filter:drop-shadow(0 6px 10px #ec6f9f38);width:0;height:0;position:absolute;top:2px;left:50%;transform:translate(-50%)}.roulette-wheel{aspect-ratio:1;width:min(330px,100%);transform:rotate(var(--rotation));background:conic-gradient(#fbcfe8 0deg 60deg,#fff1f6 60deg 120deg,#f9a8c7 120deg 180deg,#fde2ef 180deg 240deg,#f7b5d0 240deg 300deg,#fdf2f8 300deg 360deg);border-radius:50%;padding:12px;transition:transform 2.2s cubic-bezier(.12,.76,.18,1);box-shadow:0 22px 44px #ec6f9f2e,inset 0 0 0 1px #fffc}.roulette-card.is-spinning .roulette-wheel{animation:2.2s cubic-bezier(.12,.76,.18,1) forwards roulette-spin}.roulette-wheel__surface{border:10px solid #fff;border-radius:50%;width:100%;height:100%;position:relative}.roulette-center{width:78px;height:78px;color:var(--pink-deep);background:#fff;border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 24px #191f281f}.roulette-option{color:#7f1d50;text-align:center;width:86px;min-height:38px;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-98px) rotate(var(--counter-angle));background:#ffffffd1;border-radius:999px;place-items:center;padding:6px 8px;font-size:.76rem;font-weight:900;line-height:1.15;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 8px 16px #191f2814}.roulette-option span{overflow-wrap:anywhere;max-width:100%;display:block}.roulette-result span{background:var(--surface-pink);color:var(--pink-deep);border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:850;display:inline-flex}.roulette-result strong{color:var(--text-strong);margin-top:12px;font-size:2rem;font-weight:900;display:block}.roulette-result p{color:var(--muted);margin:10px 0 0;font-weight:650}.final-card{background:#fff;gap:20px;display:grid}.final-actions{justify-content:center}.final-envelope{background:linear-gradient(145deg, transparent 49%, #ec6f9f33 50%, transparent 51%), linear-gradient(35deg, transparent 49%, #ec6f9f29 50%, transparent 51%), var(--surface-pink);border-radius:28px;width:min(360px,100%);height:188px;margin:4px auto;position:relative}.final-envelope span{background:var(--pink-strong);border-radius:50%;width:68px;height:68px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 24px #ec6f9f3d}.letter{border:1px solid var(--border);overflow-wrap:anywhere;word-break:keep-all;background:#fff;border-radius:26px;padding:22px}.letter p{color:var(--text);margin:0;line-height:1.82}.letter p+p{margin-top:18px}.final-reward{background:linear-gradient(#fff1f6 0%,#fbcfe8 100%);border-radius:28px;padding:24px;animation:.52s cubic-bezier(.2,.9,.24,1.2) both reward-pop;position:relative;overflow:hidden;box-shadow:0 18px 36px #ec6f9f29}.final-reward__shine{background:linear-gradient(110deg,#0000 0%,#ffffff9e 45%,#0000 66%);animation:2.6s ease-in-out infinite reward-shine;position:absolute;inset:0}.final-reward h3,.final-reward .eyebrow{position:relative}.final-reward h3{color:#7f1d50;font-size:1.9rem}.celebration-overlay{z-index:100;opacity:1;background:linear-gradient(#fff1f6fa,#fffffffa);place-items:center;padding:22px;transition:opacity .52s;display:grid;position:fixed;inset:0;overflow:hidden}.celebration-overlay.is-leaving{opacity:0}.celebration-particles{pointer-events:none;position:absolute;inset:0}.celebration-particle{pointer-events:none;background:var(--color);display:block;position:absolute}.celebration-particle--confetti{top:-28px;left:var(--x);width:var(--size);height:calc(var(--size) * 1.6);transform:rotate(var(--rotate));animation:confetti-fall var(--duration) cubic-bezier(.2, .78, .26, 1) var(--delay) forwards;border-radius:999px}.celebration-particle--spark{top:var(--origin-y);left:var(--origin-x);width:8px;height:8px;box-shadow:0 0 22px var(--color);opacity:0;animation:spark-burst var(--duration) ease-out var(--delay) forwards;border-radius:50%}.celebration-particle--trail{top:var(--start-y);left:var(--start-x);background:linear-gradient(180deg, transparent, var(--color), transparent);opacity:0;width:5px;height:54px;animation:pink-trail var(--duration) ease-out var(--delay) forwards;border-radius:999px}.celebration-card{z-index:2;border:1px solid var(--border);text-align:center;width:min(620px,100%);box-shadow:var(--shadow);opacity:0;background:#fffffff0;border-radius:34px;padding:42px;position:relative;transform:translateY(20px)scale(.96)}.is-active .celebration-card{animation:2.6s cubic-bezier(.18,.92,.22,1) .22s forwards celebration-card-in}.celebration-seal{background:var(--surface-pink);width:68px;height:68px;color:var(--pink-deep);border-radius:24px;place-items:center;margin:0 auto 18px;font-size:1.6rem;font-weight:900;display:grid}.celebration-card h2{margin:0;font-size:3.25rem}.celebration-card p:not(.eyebrow){color:var(--muted);margin:14px auto 0;font-size:1.18rem;font-weight:750}.celebration-card strong{background:var(--surface-pink);color:var(--pink-deep);border-radius:18px;margin:20px auto 0;padding:13px 16px;font-weight:850;display:block}.celebration-overlay.is-reduced-motion .celebration-card{opacity:1;animation:none;transform:none}@keyframes soft-float{0%,to{opacity:.36;transform:translateY(0)scale(.9)}50%{opacity:1;transform:translateY(-10px)scale(1.2)}}@keyframes reward-pop{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reward-shine{0%{transform:translate(-120%)}45%,to{transform:translate(120%)}}@keyframes roulette-spin{0%{transform:rotate(0)}to{transform:rotate(var(--rotation))}}@keyframes celebration-card-in{0%{opacity:0;transform:translateY(28px)scale(.94)}20%,84%{opacity:1;transform:translateY(0)scale(1)}to{opacity:1;transform:translateY(-4px)scale(1.01)}}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0, -28px, 0) rotate(var(--rotate))}8%{opacity:1}to{opacity:0;transform:translate3d(var(--drift), 112vh, 0) rotate(calc(var(--rotate) + 620deg))}}@keyframes spark-burst{0%{opacity:0;transform:translate(0)scale(.3)}16%{opacity:1}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(.08)}}@keyframes pink-trail{0%{opacity:0;transform:translate(0)rotate(18deg)scaleY(.4)}18%{opacity:1}to{opacity:0;transform:translate(var(--tx), var(--ty)) rotate(18deg) scaleY(1)}}@media (width<=1040px){h1{font-size:3.05rem}h2{font-size:1.88rem}.invitation-stage,.dashboard,.workbench,.roulette-card{grid-template-columns:1fr}.mission-panel{z-index:12;position:sticky;top:72px}.mission-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=740px){body{line-height:1.58}.topbar{align-items:center;gap:10px;padding:10px 12px}.brand__mark{flex-basis:38px;width:38px;height:38px}.brand strong,.brand small{white-space:normal}.brand strong{font-size:.92rem}.brand small{display:none}.ghost-button{min-height:42px;padding:0 12px}.auth-view{min-height:auto;padding:24px 14px 44px}.auth-view:before{border-width:22px;width:124px;height:124px;top:22px;right:-44px}.auth-view:after{display:none}.invitation-stage{gap:18px}.auth-card{border-radius:26px;padding:26px 18px}.auth-card__shine{border-radius:18px;width:52px;height:52px;top:16px;right:16px}.auth-card h1{max-width:11em}.auth-form{margin-top:22px}.input-row,.status-grid,.choices,.photo-card{grid-template-columns:1fr}.input-row{gap:9px}.input-row input,.input-row button{min-height:54px}.photo-collage{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.collage-card:first-child,.collage-card:nth-child(4){transform:none}.collage-card{border-radius:18px}.collage-card,.collage-card img,.photo-fallback{min-height:82px}.cover-photo{border-radius:20px;grid-column:1/-1;min-height:76px}.cover-placeholder{min-height:76px;padding:14px}.portal{padding:20px 12px 54px}.dashboard{border-radius:26px;gap:18px;margin-bottom:16px}.dashboard,.mission-stage,.mission-panel,.roulette-card{padding:18px}.dashboard h1{max-width:100%}.dashboard__copy{margin-top:12px}.progress-track{height:10px;margin:18px 16px 0}.status-grid article{min-height:auto;padding:14px 16px}.workbench{gap:14px}.mission-panel{border-radius:22px;padding:12px;position:static;top:auto}.panel-heading{margin-bottom:10px}.panel-heading h2{font-size:1.02rem}.mission-list{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:8px;width:100%;max-width:100%;margin:0;padding:0 2px 4px;display:flex;overflow-x:auto}.mission-list::-webkit-scrollbar{display:none}.mission-tab{scroll-snap-align:start;border-radius:18px;flex:0 0 min(74vw,230px);grid-template-columns:auto minmax(0,1fr);min-height:58px;padding:10px}.mission-tab__number{border-radius:12px;width:32px;height:32px}.mission-tab__step,.mission-tab__meta{font-size:.72rem}.mission-tab__state{grid-column:1/-1;justify-self:start;padding:4px 8px;font-size:.72rem}.mission-stage{border-radius:24px;min-height:auto}.mission-header{margin-bottom:18px}.question-card,.photo-card,.final-card,.result-box{border-radius:20px;padding:16px}.choice span{min-height:54px;padding:13px 14px}.mission-actions{grid-template-columns:1fr;display:grid}.mission-actions>button{width:100%;min-height:50px}.photo-frame{min-height:210px;max-height:320px}.roulette-card{border-radius:24px;gap:18px}.roulette-wheel-wrap{padding-top:16px}.roulette-wheel{justify-self:center;width:min(286px,100%)}.roulette-result{text-align:center}.answer-modal-backdrop{align-items:center;padding:14px}.answer-modal{border-radius:24px;max-height:calc(100dvh - 28px);padding:22px 18px;overflow-y:auto}.answer-modal__prize{font-size:1.55rem}.letter{border-radius:22px;padding:18px}.letter p{line-height:1.78}h1{font-size:2.35rem}h2{font-size:1.62rem}.status-grid strong{font-size:1.34rem}.roulette-result strong{font-size:1.5rem}.celebration-card{width:min(100%,420px);padding:30px 18px}.celebration-card h2{font-size:2rem}.celebration-card p:not(.eyebrow){font-size:1rem}}@media (width<=430px){h1{font-size:2rem}.auth-card__copy,.dashboard__copy{font-size:.96rem}.ceremony-tags{grid-template-columns:1fr;display:grid}.collage-card,.collage-card img,.photo-fallback{min-height:76px}.roulette-option{width:70px;min-height:34px;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-82px) rotate(var(--counter-angle));padding:5px 6px;font-size:.66rem}.celebration-card h2{font-size:1.86rem}}@media (width<=380px){.topbar,.auth-view{padding-inline:10px}.auth-card,.dashboard,.mission-stage,.mission-panel,.roulette-card{padding:16px}.portal{padding-inline:10px}h1{font-size:1.86rem}.mission-tab{flex-basis:min(80vw,220px)}.roulette-wheel{width:min(262px,100%)}.roulette-option{width:64px;min-height:32px;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-76px) rotate(var(--counter-angle));font-size:.62rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.celebration-particle,.auth-sparkle-field span{display:none}}
