.home-affection-section{margin-top:26px}.home-affection-section .menu-prompt{font-size:18px;margin-bottom:12px}.home-shortcut-card.affection{width:100%;min-height:72px;flex-direction:row;justify-content:flex-start}.home-shortcut-card.affection svg{width:28px;height:28px;fill:none;color:var(--theme-color)}
.affection-content{flex:1;min-height:0;overflow-y:auto;padding:16px 18px 24px}.affection-content .profile-section-heading{margin-bottom:16px}.affection-content h2{font-size:22px}.affection-content h3{font-size:16px;margin:0}.affection-content button{border-radius:8px}.affection-content .profile-section-heading button svg{width:20px;height:20px}
.affection-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.affection-heading-actions button{display:grid;place-items:center;width:38px;height:38px;padding:8px}.affection-history-content .affection-history{margin-top:0}.affection-history-content .affection-event time{display:block;line-height:1.5;margin-top:6px}#affection-history-status{color:#a3afbb;font-size:13px;line-height:1.5}#affection-history-status:empty{display:none}
.affection-history-count{margin:0 0 12px;text-align:right;color:#a3afbb;font-size:12px;font-variant-numeric:tabular-nums}.affection-history-count:empty{display:none}
.affection-heading-actions button[aria-pressed="false"]{color:#9ba6b2}.affection-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.affection-history-toolbar .affection-history-count{margin:0;margin-left:auto}.affection-history-toolbar .affection-retry{display:flex;align-items:center;gap:6px;margin:0;padding:8px 10px;min-height:36px;border:1px solid #30363d;background:#161b22}.affection-retry svg{width:14px;height:14px;flex-shrink:0}#affection-settings-status{font-size:13px;margin:10px 0}#affection-settings-status:empty{display:none}
.affection-tubes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:420px;margin:0 auto 24px;text-align:center}.affection-person{min-width:0}.affection-person h3{min-height:40px;overflow-wrap:anywhere;color:var(--tube-colour)}
.affection-glass{position:relative;width:100px;height:230px;margin:18px auto 14px;border:2px solid #a6bbc166;border-top:0;border-radius:0 0 48px 48px;background:linear-gradient(90deg,#ffffff08,#ffffff01 25%,#ffffff03 75%,#ffffff0d);box-shadow:inset 7px 0 7px #ffffff05,0 9px 20px #0006;isolation:isolate}
.affection-glass::after{content:'';position:absolute;left:10px;top:14px;bottom:30px;width:5px;background:#ffffff1c;border-radius:4px;pointer-events:none}
.affection-rim{position:absolute;top:-5px;left:-5px;right:-5px;height:10px;border:2px solid #becfd17a;border-radius:50%;background:#11191b}
.affection-liquid{position:absolute;bottom:3px;left:3px;right:3px;height:max(4px,calc(var(--fill,0%) - 6px));border-radius:0 0 44px 44px;background:linear-gradient(90deg,color-mix(in srgb,var(--tube-colour) 75%,#fff),var(--tube-colour) 35%,color-mix(in srgb,var(--tube-colour) 75%,#121b20));transition:height 1.35s cubic-bezier(.2,.7,.2,1);box-shadow:0 -6px 18px color-mix(in srgb,var(--tube-colour) 15%,transparent);overflow:hidden}
.affection-liquid::before{content:'';position:absolute;top:-4px;left:-10%;width:120%;height:10px;border-radius:50%;background:color-mix(in srgb,var(--tube-colour) 65%,#fff);animation:affection-wave 4s ease-in-out infinite}
.affection-liquid i{position:absolute;width:6px;height:6px;border:1px solid #ffffff40;border-radius:50%;left:25%;bottom:10%;animation:affection-bubble 6s ease-in-out infinite}.affection-liquid i:nth-child(2){left:66%;animation-delay:-2s;width:4px;height:4px}.affection-liquid i:nth-child(3){left:45%;animation-delay:-4s}
.affection-spill{position:absolute;inset:0;pointer-events:none}.affection-spill i{position:absolute;top:-3px;width:7px;height:12px;border-radius:50%;background:var(--tube-colour);opacity:0;left:-8px}.affection-spill i:nth-child(2){left:auto;right:-8px}.affection-spill i:nth-child(3){left:-13px}.affection-spill i:nth-child(4){left:auto;right:-13px}.affection-spill i:nth-child(5){left:-5px}.affection-overflow .affection-spill i{animation:affection-spill 1.4s .25s ease-in forwards}.affection-overflow .affection-spill i:nth-child(2n){animation-delay:.5s}.affection-overflow .affection-spill i:nth-child(3){animation-delay:.7s}
.affection-gesture{position:absolute;inset:0;display:grid;place-items:center;font-size:30px;opacity:0;pointer-events:none}.affection-filling .affection-gesture{animation:affection-arrival 1.5s ease-out}.affection-last{font-size:12px;color:#9da8b5;line-height:1.5;margin:0;min-height:36px}
.affection-send-title{text-align:center;overflow-wrap:anywhere}.affection-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px auto 0;max-width:500px}.affection-actions button{min-width:0;padding:12px 4px;border:1px solid #26303a;background:#0a0f14;color:#e8edf3;display:flex;flex-direction:column;align-items:center;gap:6px}.affection-actions button:hover{border-color:var(--theme-color)}.affection-actions button:active{transform:scale(.95)}.affection-actions span{font-size:27px;line-height:1.2}.affection-actions small{font-size:12px}
#affection-status{font-size:13px;text-align:center;line-height:1.5;min-height:22px;margin:12px 0}.affection-reminders{display:flex;align-items:center;gap:10px;font-size:13px;color:#b9c4ce}.affection-retry{background:none;color:var(--theme-color);font-size:12px;margin:8px 0;padding:6px 0}.affection-content button:disabled{opacity:.45;cursor:default}.affection-history{margin-top:18px}.affection-history>h3{margin-bottom:12px}.affection-event{border:1px solid #232d36;background:#0a0f14;border-radius:8px;padding:12px;display:flex;gap:12px;margin:8px 0;overflow-wrap:anywhere}.affection-event>div{min-width:0}.affection-event-symbol{font-size:24px;flex-shrink:0}.affection-event strong{font-size:13px}.affection-event-to,.affection-event time{font-size:12px;color:#a3afbb}.affection-event p{font-size:14px;line-height:1.5;margin:5px 0;white-space:pre-wrap}.affection-empty{font-size:13px;color:#9da8b5}#affection-note textarea{resize:vertical;width:100%;box-sizing:border-box;min-height:100px;max-height:40vh}#affection-note [type=submit]{background:#a7ddb6;color:#102218}#affection-note .affection-note-status{font-size:13px;color:#ffb1b8}
@keyframes affection-wave{50%{transform:translateY(3px) rotate(2deg)}}@keyframes affection-bubble{0%{transform:translateY(0);opacity:0}20%{opacity:.65}100%{transform:translateY(-100px);opacity:0}}@keyframes affection-arrival{0%{opacity:0;transform:translateY(20px) scale(.7)}25%{opacity:1}100%{opacity:0;transform:translateY(-65px) scale(1.15)}}@keyframes affection-spill{0%{opacity:0;transform:translateY(0)}10%{opacity:.9}100%{opacity:0;transform:translateY(110px)}}
@media(min-width:700px){.affection-content{width:620px;max-width:100%;margin:0 auto;box-sizing:border-box}.affection-glass{height:260px;width:110px}}
#affection-screen .affection-content{padding-top:12px;padding-bottom:14px}#affection-screen .profile-section-heading{margin-bottom:12px}#affection-screen .affection-person h3{min-height:32px}#affection-screen .affection-glass{margin-top:8px;margin-bottom:10px}#affection-screen .affection-tubes{margin-bottom:14px}#affection-screen .affection-actions{margin-top:10px}#affection-screen .affection-actions button{padding-block:10px}#affection-screen #affection-status{margin-block:8px}
@media(max-height:650px){#affection-screen .affection-content{padding-top:8px;padding-bottom:8px}#affection-screen .profile-section-heading{margin-bottom:8px}#affection-screen .affection-glass{height:150px;width:80px}#affection-screen .affection-person h3{min-height:24px}#affection-screen .affection-tubes{margin-bottom:10px}#affection-screen .affection-actions button{padding-block:8px}}
#affection-screen .profile-section-heading{margin-bottom:20px}.affection-history-tabs{margin-bottom:14px}.affection-history-toolbar .affection-retry[hidden]{display:none}.affection-note-favourite{display:grid;place-items:center;width:34px;height:34px;padding:7px;margin-top:8px;background:#161b22;color:var(--theme-color);border:1px solid #30363d;border-radius:6px}.affection-note-favourite svg{width:18px;height:18px}.affection-note-favourite:disabled{opacity:.4}.affection-saved-by{display:block;color:var(--theme-color);font-size:11px;margin-top:8px}#affection-favourite-status{font-size:13px;color:#a7ddb6;line-height:1.5;margin:8px 0}#affection-favourite-status:empty{display:none}.favourite-note{border:1px solid color-mix(in srgb,var(--note-colour) 55%,#30363d);border-left:3px solid var(--note-colour);border-radius:8px;background:#10161d;padding:14px;margin-bottom:12px;overflow-wrap:anywhere}.favourite-note header{display:flex;align-items:center;justify-content:space-between;gap:12px}.favourite-note header strong{font-size:13px;color:var(--note-colour)}.favourite-note header button{margin:0;flex-shrink:0}.favourite-note blockquote{margin:14px 0 16px;font-size:15px;line-height:1.6;white-space:pre-wrap}.favourite-note footer time,.favourite-note footer small{display:block;font-size:12px;color:#a3afbb;line-height:1.5}.favourite-note footer small{margin-top:4px}
@media(max-height:650px){#affection-screen .profile-section-heading{margin-bottom:16px}}
#affection-favourite-status.action-error{color:#f0a5ac}
@media(prefers-reduced-motion:reduce){.affection-liquid{transition:none}.affection-liquid::before,.affection-liquid i,.affection-filling .affection-gesture,.affection-overflow .affection-spill i{animation:none}.affection-actions button:active{transform:none}}
