.stage.event-stage{display:flex;justify-content:center;padding:20px 24px 24px;min-height:0}
.special-event{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}
.event-heading{text-align:center;animation:event-arrive .65s both}
.event-heading .eyebrow{font-size:10px;letter-spacing:.2em;color:var(--accent)}
.event-heading h1{font-size:30px;line-height:1.3;margin:7px 0 8px;letter-spacing:-.04em}
.event-heading p{font-size:13px;line-height:1.6;color:var(--muted);margin:0;word-break:keep-all}
.event-phone{position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(450px,100%);height:clamp(420px,calc(100dvh - 245px),620px);padding:14px 20px 10px;border:1px solid var(--line);border-radius:34px;background:var(--surface);box-shadow:0 22px 70px #0002,inset 0 0 0 5px color-mix(in srgb,var(--ink) 3%,transparent);animation:event-arrive .75s .12s both}
.event-camera{flex:none;width:60px;height:5px;margin:0 auto 12px;border-radius:9px;background:color-mix(in srgb,var(--ink) 22%,transparent)}
.event-phone-header{display:flex;align-items:center;justify-content:space-between;padding:0 3px 11px;font-size:13px;flex:none;line-height:1.4}
.event-phone-header .icon{width:19px;height:19px;color:var(--muted)}
.event-card{position:relative;flex:none;height:clamp(150px,26dvh,230px);border-radius:18px;overflow:hidden;background:var(--surface-raised)}
.event-card .portrait{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top;transform-origin:center top}
.event-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#171326b8);pointer-events:none}
.event-card-copy{position:absolute;z-index:1;bottom:15px;left:17px;color:#fff;text-shadow:0 2px 8px #0005}
.event-card-copy h2{font-size:23px;line-height:1.2;margin:0 0 6px;letter-spacing:-.04em}
.event-card-copy p{font-size:12px;line-height:1.4;margin:0;color:#fffd}
.event-chat{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:14px;padding:16px 2px;overflow:auto;scrollbar-width:thin}
.event-prompt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;margin-block:auto}
.event-message-emblem{position:relative;display:block;margin-bottom:4px;color:var(--accent)}
.event-message-emblem>.icon:first-child{width:32px;height:32px}
.event-message-emblem>.icon:last-child{position:absolute;width:15px;height:15px;right:-7px;bottom:0;fill:var(--accent);stroke:var(--surface);stroke-width:1.5}
.event-prompt strong{font-size:14px;line-height:1.5;letter-spacing:-.02em}
.event-prompt p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.event-message{display:flex;align-items:flex-end;gap:7px;max-width:94%;flex:none;animation:event-bubble .4s both}
.event-message p{margin:0;padding:11px 13px;border-radius:16px;font-size:13px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.event-message-mine{align-self:flex-end}
.event-message-mine p{background:color-mix(in srgb,var(--accent) 22%,var(--surface));border-bottom-right-radius:5px;color:var(--ink)}
.event-message-reply{align-self:flex-start}
.event-message-reply p{background:var(--surface-raised);border:1px solid var(--line);border-bottom-left-radius:5px}
.event-unread{color:var(--accent);font-size:10px;margin-bottom:4px;transition:opacity .5s}
.event-unread.is-read{opacity:0}
.event-typing{display:flex;gap:4px;align-self:flex-start;padding:12px 15px;border-radius:14px;background:var(--surface-raised);border:1px solid var(--line)}
.event-typing i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:event-dot .9s infinite}
.event-typing i:nth-child(2){animation-delay:.15s}.event-typing i:nth-child(3){animation-delay:.3s}
.event-no-reply{flex:1;display:flex;align-items:center;justify-content:center;min-height:34px;margin:0;text-align:center;font-size:12px;line-height:1.6;color:var(--muted);animation:event-arrive .65s both}
.event-compose{flex:none;padding-top:10px;border-top:1px solid var(--line)}
.event-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.event-choices button,.event-continue{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:48px;padding:10px 7px;border:1px solid var(--line);border-radius:14px;font-size:12px;font-weight:700;letter-spacing:-.035em;line-height:1.5;white-space:nowrap;transition:background .2s,transform .2s}
.event-choices .event-send{background:var(--accent);border-color:var(--accent);color:#fff}
.event-choices .event-skip,.event-continue{background:var(--surface-raised);color:var(--ink)}
.event-choices .icon,.event-continue .icon{width:16px;height:16px;flex:none}
.event-choices button:not(:disabled):hover,.event-continue:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.05)}
.event-continue{width:100%;animation:event-arrive .45s both}
.event-status{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;font-size:12px;color:var(--muted)}
.event-home{width:82px;height:4px;border-radius:8px;background:color-mix(in srgb,var(--ink) 18%,transparent);margin:12px auto 0;flex:none}
.event-hearts{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.event-hearts>span{position:absolute;bottom:25%;left:calc(12% + var(--i)*12%);color:var(--accent);opacity:0;animation:event-heart 2s calc(var(--i)*.12s) both}
.event-hearts .icon{width:20px;height:20px;fill:currentColor}
.event-phone.is-success{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
@keyframes event-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes event-bubble{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes event-dot{0%,70%,100%{transform:none;opacity:.45}35%{transform:translateY(-3px);opacity:1}}
@keyframes event-heart{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:.75}100%{opacity:0;transform:translateY(-150px) rotate(18deg) scale(1.1)}}
.event-opening{position:fixed;inset:0;z-index:11000;display:grid;place-items:center;background:#101018;color:#fff;pointer-events:all}
.event-opening-content{display:flex;flex-direction:column;align-items:center;gap:17px;text-align:center;padding:24px;opacity:0}
.event-opening.is-playing .event-opening-content{animation:event-opening-title 2050ms both}
.event-opening-symbol{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:28px;color:#ff91b2;background:linear-gradient(145deg,#ff91b225,#ff91b208);border:1px solid #ff91b22c;box-shadow:0 0 60px #ff91b215}
.event-opening-symbol>.icon{width:36px;height:36px;filter:drop-shadow(0 0 8px #ff91b24d)}
.event-opening-symbol::after{content:"";position:absolute;inset:-9px;border:1px solid #ff91b250;border-radius:35px;opacity:0}
.event-opening.is-playing .event-opening-symbol::after{animation:event-opening-ring 1500ms .2s both}
.event-opening-kicker{font-size:9px;letter-spacing:.24em;color:#ff91b2;margin-top:5px}
.event-opening h2{font-size:clamp(23px,4vw,32px);line-height:1.35;letter-spacing:-.035em;margin:0;word-break:keep-all}
@keyframes event-opening-title{0%{opacity:0;transform:translateY(12px) scale(.97)}22%,73%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
@keyframes event-opening-ring{0%{opacity:0;transform:scale(.9)}25%{opacity:.65}100%{opacity:0;transform:scale(1.5)}}
@media(max-width:600px){
 .stage.event-stage{padding:16px 16px 18px}.special-event{gap:15px}
 .event-heading h1{font-size:25px;margin:5px 0 7px}.event-heading .eyebrow{font-size:9px}
 .event-heading p{font-size:11px;max-width:300px}
 .event-phone{height:clamp(350px,calc(100dvh - 260px),570px);padding:12px 16px 10px;border-radius:29px}
 .event-card{height:clamp(115px,23dvh,200px);border-radius:15px}
 .event-card-copy{bottom:12px;left:14px}.event-card-copy h2{font-size:21px;margin-bottom:4px}
 .event-card-copy p{font-size:11px}.event-chat{padding:12px 0;gap:12px}
 .event-message p{font-size:12px;padding:9px 11px}.event-prompt strong{font-size:13px}
 .event-choices button{font-size:11px;gap:4px}.event-choices .icon{width:14px;height:14px}
}
@media(max-height:760px){
 .stage.event-stage{padding-top:12px;padding-bottom:12px}.special-event{gap:12px}
 .event-heading h1{font-size:23px;margin:3px 0 5px}.event-phone{padding-top:10px}
 .event-camera{margin-bottom:8px}.event-phone-header{padding-bottom:8px}
 .event-card{height:clamp(110px,20dvh,150px)}.event-chat{gap:10px;padding:10px 0}
 .event-compose{padding-top:8px}.event-home{margin-top:9px}.event-prompt{gap:5px}
 .event-message-emblem{margin-bottom:0}.event-message-emblem>.icon:first-child{width:26px;height:26px}
}
@media(max-width:359px){.event-choices .icon{display:none}.event-choices button{font-size:10.5px}.event-phone{padding-right:12px;padding-left:12px}}
