.calendar{border:1px solid #e5e5ea;border-radius:24px;overflow:hidden;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif}.demo-toolbar{display:flex;align-items:center;gap:10px;padding:16px 22px;background:#fafafa;font-size:12px;color:#686870;border-bottom:1px solid #e5e5ea}.demo-toolbar span{margin-left:auto}.demo-toolbar select{font:inherit;background:#e9e9ed;color:#1d1d1f;border:0;border-radius:7px;padding:7px;min-height:36px}.scene{position:relative;min-height:545px;padding:38px 24px 24px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 100%,#e2e7f5,transparent 70%)}.calendar-window{width:100%;max-width:360px;background:rgba(255,255,255,.95);border:1px solid #fff;border-radius:16px;box-shadow:0 14px 40px #1b28451a,0 2px 5px #1b284509;position:relative;transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .65s;overflow:hidden}.window-toolbar{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #ededf0;font-size:13px}.calendar-icon{font-size:12px;border-top:5px solid #ff453a;line-height:17px;border-radius:3px;background:#f3f3f5;width:22px;text-align:center}.draft-label{margin-left:auto;color:#86868b;font-size:12px}.event-content{padding:24px;position:relative}.event-accent{width:4px;height:55px;border-radius:2px;background:#007aff;position:absolute;left:12px;top:28px}.calendar .event-content h2{font-size:23px;line-height:1.22;letter-spacing:-.6px;margin:0 0 10px;font-weight:600}.calendar .event-date{font-size:14px;color:#6e6e73;margin:0 0 25px}.event-fields{margin:0;background:#f5f5f7;border-radius:10px;padding:0 12px;font-size:13px}.event-fields div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px}.event-fields div+div{border-top:1px solid #e5e5ea}.event-fields dt{color:#6e6e73}.event-fields dd{display:flex;align-items:center;gap:7px;margin:0}.avatar{display:grid;place-items:center;width:24px;height:24px;background:#e2e4ea;color:#555b68;border-radius:50%;font-size:9px}.calendar-dot{width:9px;height:9px;border-radius:50%;background:#007aff}.save-status{font-size:11px;color:#86868b;margin-top:18px}.assistant-sheet{position:relative;width:100%;max-width:390px;min-height:116px;margin-top:22px;background:rgba(255,255,255,.87);backdrop-filter:blur(20px);border:1px solid #fff;border-radius:22px;padding:18px 22px;box-shadow:0 8px 25px #34436c12;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s}.assistant-top{display:flex;align-items:center;gap:10px;font-size:12px;color:#6e6e73}.wave{display:flex;gap:3px;align-items:center;height:20px;width:36px}.wave i{width:3px;height:5px;border-radius:3px;background:#007aff;animation:wave .7s ease-in-out infinite alternate;animation-play-state:paused}.wave i:nth-child(2n){animation-delay:-.3s}.wave i:nth-child(3n){animation-delay:-.5s}.voiceplate{font-size:16px;line-height:1.45;min-height:46px;margin-top:10px;letter-spacing:-.2px}.calendar button{font:inherit;font-size:14px;min-height:44px;padding:10px 18px;border:0;border-radius:10px;cursor:pointer;color:#007aff;background:#e8e8ed}.calendar button.primary,.calendar #confirm{background:#007aff;color:#fff}.calendar #confirm{width:100%;margin-top:14px}.playback{display:flex;align-items:center;gap:10px;padding:0 24px}.playback span{margin-left:auto;font-size:12px;color:#6e6e73}.scene-caption{padding:0 24px;min-height:89px;text-align:center}.calendar .scene-caption p{font-size:13px;margin:0 0 6px;color:#6e6e73}.calendar .scene-caption #environment{color:#945621;min-height:20px;font-weight:500}.calendar .sound{display:flex;gap:8px;align-items:center;font-size:12px;margin:14px 24px 0;min-height:36px}.sound input{width:17px;height:17px}.calendar .sound-note{font-size:11px;color:#86868b;margin:0 24px 20px}.calendar .reflection{padding:17px 24px;margin:0;border-top:1px solid #e5e5ea;font-size:13px;text-align:center}.saved-mark{position:absolute;right:20px;top:70px;width:36px;height:36px;background:#e5f6eb;border-radius:50%;opacity:0;transform:scale(.5);transition:opacity .3s,transform .5s cubic-bezier(.2,1.8,.4,1)}.saved-mark svg{stroke:#248a3d;stroke-width:3;fill:none}.scene[data-phase=saved] .saved-mark{opacity:1;transform:scale(1)}.scene[data-phase=saved] .calendar-window{transform:translateY(-4px)}.scene[data-phase=speaking] .wave i,.scene[data-phase=recovery] .wave i{animation-play-state:running}.scene[data-phase=impact] .wave i{height:3px;background:#86868b}.scene[data-phase=impact] .assistant-sheet{transform:translateY(5px);opacity:.75}.scene[data-phase=impact] .calendar-window{animation:bump .4s ease-out}.impact{position:absolute;top:200px;right:12%;pointer-events:none}.impact span{position:absolute;width:20px;height:20px;border:1px solid #a7a9af;border-radius:50%;opacity:0}.scene[data-phase=impact] .impact span{animation:ripple .8s ease-out}.scene[data-phase=impact] .impact span:nth-child(2){animation-delay:.15s}.scene[data-phase=impact] .impact span:nth-child(3){animation-delay:.3s}.calendar.paused *{animation-play-state:paused!important}.source-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.source-pair figure{margin:12px 0}@keyframes wave{to{height:19px}}@keyframes ripple{from{opacity:.7;transform:scale(.2)}to{opacity:0;transform:scale(7)}}@keyframes bump{30%{transform:translateY(2px)}100%{transform:translateY(0)}}@media(max-width:500px){.demo-toolbar{padding:12px}.demo-toolbar span{display:none}.scene{padding:24px 16px 18px;min-height:535px}.event-content{padding:22px}.calendar .event-content h2{font-size:21px}.playback{padding:0 16px;gap:8px}.playback span{font-size:11px}.source-pair{grid-template-columns:1fr}.scene-caption{padding:0 16px}}@media(prefers-reduced-motion:reduce){.calendar *{animation:none!important;transition:none!important}}

.calendar button:disabled{opacity:.45;cursor:default}.scene[data-phase=ready] .wave i,.scene[data-phase=waiting] .wave i,.scene[data-phase=saved] .wave i{animation:none;height:4px}
