@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translate(0,0)}}@keyframes slideInR{0%{transform:translate(110%)}to{transform:translate(0,0)}}@keyframes slideOutR{0%{transform:translate(0,0)}to{transform:translate(110%)}}@keyframes nowPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translate(0,0)}}@keyframes slideDown{0%{transform:translate(0,0)}to{transform:translateY(100%)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0,0)}}@keyframes slideOutRight{0%{transform:translate(0,0)}to{transform:translate(100%)}}@keyframes fadeInBlur{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();opacity:0}to{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:1}}@keyframes fadeOutBlur{0%{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:1}to{-webkit-backdrop-filter:blur();backdrop-filter:blur();opacity:0}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body{overflow-x:clip}body{color:#1a1a2e;background:#f7f5f2;font-family:Inter,system-ui,sans-serif}input,button{font-family:inherit}input:focus,button:focus{outline:none}h1,h2,h3,h4,h5{font-family:Gloock,Georgia,serif;font-weight:400;line-height:1.1}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:#ddd;border-radius:9999px}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.fade-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeUp}.fade-up-d1{animation:.6s cubic-bezier(.16,1,.3,1) .1s both fadeUp}.fade-up-d2{animation:.6s cubic-bezier(.16,1,.3,1) .2s both fadeUp}.time-block{cursor:pointer;width:18px;height:32px}.tb-empty{background:#f1f5f9}.tb-mine{background:#93c5fd}.tb-partner{background:#6ee7b7}.tb-overlap{background:#e55937}.now-line{background:#ef4444;height:2px;animation:1s ease-in-out infinite nowPulse}
