.cal-assistant{--cal-ink: #14202b;--cal-teal: #17608c;--cal-blue: #4b65f5;--cal-coral: #b5610c;--cal-paper: #ffffff;position:fixed;right:max(1.15rem,env(safe-area-inset-right));bottom:max(1.15rem,env(safe-area-inset-bottom));z-index:80;color:var(--cal-ink);font-family:var(--font-sans),system-ui,sans-serif;transform:translate(0);transition:right .68s cubic-bezier(.2,.8,.2,1),bottom .68s cubic-bezier(.2,.8,.2,1),transform .68s cubic-bezier(.2,.8,.2,1)}.cal-assistant--centered{right:50%;bottom:max(6svh,env(safe-area-inset-bottom));transform:translate(50%)}.comic-ending{transition:transform .68s cubic-bezier(.2,.8,.2,1)}html.cal-is-centered .comic-ending{transform:translateY(-14svh)}.cal-trigger{position:relative;display:grid;width:5.6rem;height:6.25rem;padding:0;cursor:pointer;place-items:center;isolation:isolate;background:var(--cal-paper);border:1px solid rgb(29 113 162 / 38%);border-radius:45% 52% 46% 50%/48% 45% 54% 49%;box-shadow:0 0 0 5px #ffffff94,0 12px 32px #1032473d;transition:width .68s cubic-bezier(.2,.8,.2,1),height .68s cubic-bezier(.2,.8,.2,1),transform .18s ease,box-shadow .18s ease}.cal-assistant--centered .cal-trigger{width:8rem;height:9rem}.cal-trigger:before{position:absolute;inset:-.3rem;z-index:-1;content:"";background:linear-gradient(145deg,#4b65f542,#1d71a22e);border-radius:inherit;transform:rotate(-4deg)}.cal-trigger:hover,.cal-trigger:focus-visible{outline:none;box-shadow:0 0 0 5px #ffffffc2,0 15px 36px #1032474f;transform:translateY(-4px) rotate(1deg)}.cal-trigger img{width:4.75rem;height:5.3rem;object-fit:cover;object-position:center;border-radius:45% 52% 42% 47%/48% 45% 54% 49%;transition:width .68s cubic-bezier(.2,.8,.2,1),height .68s cubic-bezier(.2,.8,.2,1)}.cal-assistant--centered .cal-trigger img{width:6.85rem;height:7.65rem}.cal-trigger>span{position:absolute;right:-.28rem;bottom:-.28rem;display:grid;min-width:2.45rem;height:1.5rem;padding:0 .42rem;color:#fff;font-size:.62rem;font-weight:850;letter-spacing:.12em;place-items:center;background:var(--cal-teal);border:2px solid var(--cal-paper);border-radius:999px}.cal-introduction{position:absolute;right:1.25rem;bottom:calc(100% + 1.1rem);display:grid;width:min(19rem,calc(100vw - 2.5rem));gap:.3rem;padding:1rem 1.05rem 1.08rem;color:var(--cal-ink);text-align:left;cursor:pointer;background:#fffffffa;border:1px solid rgb(29 113 162 / 36%);border-radius:1.35rem 1.35rem .4rem;box-shadow:0 12px 34px #1032472e;animation:cal-introduction-in .48s cubic-bezier(.2,.8,.2,1) both}.cal-assistant--centered .cal-introduction{right:calc(100% + 1.4rem);bottom:1.2rem;width:min(22rem,calc(50vw - 6rem));padding:1.15rem 1.2rem 1.22rem;border-radius:1.5rem 1.5rem .45rem}.cal-assistant--centered .cal-introduction strong{font-size:1.16rem}.cal-assistant--centered .cal-introduction span{font-size:.88rem}.cal-assistant--centered .cal-introduction i{right:-.58rem;bottom:1.85rem;border-right:1px solid rgb(29 113 162 / 36%);border-bottom:1px solid rgb(29 113 162 / 36%);transform:rotate(-45deg)}.cal-introduction strong{color:var(--cal-teal);font-family:var(--font-display),ui-rounded,system-ui,sans-serif;font-size:1.05rem;font-weight:800;line-height:1.25}.cal-introduction span{font-size:.8rem;line-height:1.42}.cal-introduction i{position:absolute;right:1.6rem;bottom:-.58rem;width:1.2rem;height:1.2rem;background:var(--cal-paper);border-right:1px solid rgb(29 113 162 / 36%);border-bottom:1px solid rgb(29 113 162 / 36%);transform:rotate(45deg)}.cal-panel{position:absolute;right:0;bottom:calc(100% + 1.15rem);display:grid;width:min(23rem,calc(100vw - 2.3rem));max-height:min(34rem,calc(100svh - 9.5rem));overflow:hidden;background:radial-gradient(circle at 92% 6%,rgb(75 101 245 / 13%),transparent 32%),var(--cal-paper);border:1px solid rgb(29 113 162 / 28%);border-radius:1.5rem 1.5rem .45rem;box-shadow:0 22px 60px #10324747;animation:cal-panel-in .26s cubic-bezier(.2,.8,.2,1) both}.cal-panel>header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.1rem .8rem;border-bottom:1px solid rgb(29 113 162 / 12%)}.cal-panel>header div{display:grid;gap:.12rem}.cal-panel>header span,.cal-results>span{color:var(--cal-blue);font-size:.75rem;font-weight:800}.cal-panel>header strong{color:var(--cal-teal);font-family:var(--font-display),ui-rounded,system-ui,sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:-.01em}.cal-panel>header button{display:grid;width:2rem;height:2rem;color:var(--cal-ink);cursor:pointer;place-items:center;background:#1d71a214;border:0;border-radius:50%}.cal-panel>header svg{width:1rem}.cal-panel>p{margin:0;padding:.9rem 1.1rem .1rem;color:#14202bb8;font-size:.78rem;line-height:1.45}.cal-search{display:flex;align-items:center;gap:.6rem;margin:.8rem 1.1rem 0;padding:.72rem .78rem;background:#fff;border:1px solid rgb(29 113 162 / 28%);border-radius:.9rem;box-shadow:0 3px 10px #1d71a212 inset}.cal-search:focus-within{border-color:var(--cal-teal);box-shadow:0 0 0 3px #1d71a21f}.cal-search svg{width:1rem;color:var(--cal-teal);flex:none}.cal-search input{width:100%;min-width:0;color:var(--cal-ink);font-size:.85rem;background:transparent;border:0;outline:none}.cal-search input::placeholder{color:#14202b7a}.cal-results{min-height:0;padding:1rem 1.1rem 1.1rem;overflow-y:auto;overscroll-behavior:contain}.cal-results ul{display:grid;gap:.45rem;margin:.65rem 0 0;padding:0;list-style:none}.cal-results a{display:grid;gap:.18rem;padding:.7rem .75rem;color:var(--cal-ink);text-decoration:none;background:#ffffffa8;border:1px solid rgb(29 113 162 / 11%);border-radius:.82rem;transition:background .15s ease,border-color .15s ease,transform .15s ease}.cal-results a:hover,.cal-results a:focus-visible{outline:none;background:#fff;border-color:#1d71a261;transform:translate(2px)}.cal-results a strong{color:var(--cal-teal);font-size:.79rem}.cal-results a span{color:#14202bad;font-size:.69rem;line-height:1.35}.cal-empty{margin-top:.65rem;padding:.85rem;color:#14202bb8;font-size:.74rem;line-height:1.45;background:#b5610c14;border-radius:.82rem}@keyframes cal-introduction-in{0%{opacity:0;transform:translateY(.8rem) scale(.96)}}@keyframes cal-panel-in{0%{opacity:0;transform:translateY(.6rem) scale(.97)}}@media(max-width:600px){.cal-assistant{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom))}.cal-trigger{width:4.65rem;height:5.25rem}.cal-trigger img{width:3.95rem;height:4.45rem}.cal-assistant--centered{right:50%;bottom:max(3.5svh,env(safe-area-inset-bottom));transform:translate(50%)}html.cal-is-centered .comic-ending{transform:translateY(-22svh)}.cal-assistant--centered .cal-trigger{width:6.4rem;height:7.15rem}.cal-assistant--centered .cal-trigger img{width:5.45rem;height:6.1rem}.cal-introduction{right:.6rem;width:min(17rem,calc(100vw - 1.5rem))}.cal-assistant--centered .cal-introduction{right:50%;bottom:calc(100% + 1rem);width:min(19rem,calc(100vw - 1.5rem));transform:translate(50%);animation-name:cal-centered-introduction-in}.cal-assistant--centered .cal-introduction i{right:1.7rem;bottom:-.58rem;border-right:1px solid rgb(29 113 162 / 36%);border-bottom:1px solid rgb(29 113 162 / 36%);transform:rotate(45deg)}.cal-panel{width:min(22rem,calc(100vw - 1.5rem));max-height:calc(100svh - 7.5rem)}}@media(max-height:520px)and (orientation:landscape){.cal-trigger{width:3.7rem;height:4.15rem}.cal-trigger img{width:3.1rem;height:3.5rem}.cal-assistant--centered{right:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));transform:translate(50%)}html.cal-is-centered .comic-ending{transform:translateY(-10svh)}.cal-assistant--centered .cal-trigger{width:5rem;height:5.6rem}.cal-assistant--centered .cal-trigger img{width:4.25rem;height:4.75rem}.cal-assistant--centered .cal-introduction{right:calc(100% + 1rem);bottom:.3rem;width:min(17rem,calc(50vw - 3.5rem));transform:none;animation-name:cal-introduction-in}.cal-assistant--centered .cal-introduction i{right:-.58rem;bottom:1.5rem;transform:rotate(-45deg)}.cal-trigger>span{min-width:2rem;height:1.25rem;font-size:.52rem}.cal-panel{max-height:calc(100svh - 6.2rem)}}@media(prefers-reduced-motion:reduce){.cal-introduction,.cal-panel{animation:none}.cal-assistant,.comic-ending,.cal-trigger,.cal-trigger img{transition:none}}@keyframes cal-centered-introduction-in{0%{opacity:0;transform:translate(50%,.8rem) scale(.96)}}
