.daily-calendar{border:2px solid var(--border);border-radius:var(--radius);width:calc(100% - 24px);max-width:480px;max-height:calc(100dvh - 24px);box-shadow:var(--shadow-sticker);gap:12px;padding:20px;overflow-y:auto}.daily-calendar .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.daily-calendar .calendar-day{aspect-ratio:1;background:var(--muted);color:var(--muted-foreground);border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.daily-calendar .calendar-day.visited{background:var(--secondary);color:var(--secondary-foreground);font-weight:700}.daily-calendar .calendar-day.today{outline:2px solid var(--primary);outline-offset:-2px}.daily-calendar .calendar-day img{object-fit:contain;width:30px;height:30px}.daily-calendar .calendar-day.has-mood .day-number{font-size:9px;position:absolute;top:1px;left:3px}.daily-calendar .visit-badge{width:13px;height:13px;fill:var(--highlight);color:var(--foreground);position:absolute;bottom:2px;right:2px}.daily-calendar .mood-option{border-radius:8px;flex-direction:column;gap:0;min-width:0;height:83px;padding:4px;font-size:12px;display:flex}.daily-calendar .mood-option img{object-fit:contain;width:75px;height:55px;transition:transform .2s}.daily-calendar .mood-option[aria-pressed=true]{background:var(--secondary);outline:2px solid var(--primary);outline-offset:-2px}.daily-calendar .mood-option:hover img{transform:translateY(-3px)rotate(-4deg)}.mood-summary-row{grid-template-columns:24px 62px minmax(24px,1fr) 92px;align-items:center;gap:5px;display:grid}.mood-summary-row img{object-fit:contain;width:24px;height:24px}.mood-distribution{background:var(--muted);border:none;border-radius:4px;width:100%;height:8px;overflow:hidden}.mood-distribution::-webkit-progress-bar{background:var(--muted)}.mood-distribution::-webkit-progress-value{background:var(--primary);border-radius:4px}.mood-distribution::-moz-progress-bar{background:var(--primary)}.mood-history{max-height:230px;overflow-y:auto}@media (height<=740px){.daily-calendar{gap:8px;padding:16px}.daily-calendar .calendar-day{aspect-ratio:1.3}.daily-calendar .mood-option{height:69px}.daily-calendar .mood-option img{height:44px}}@media (prefers-reduced-motion:reduce){.daily-calendar,.daily-calendar .mood-option img{transition:none!important;animation:none!important;transform:none!important}}.ambient-mascot-layer{z-index:45;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-mascot-layer .ambient-mascot{width:84px;height:84px;box-shadow:none;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;padding:0;transition:none;position:absolute;inset:0 auto auto 0}.ambient-mascot-layer .ambient-mascot:hover{background:0 0;border:0}.ambient-mascot-art{width:100%;height:100%;animation:.38s ease-in-out infinite alternate mascot-footsteps;display:block;position:relative}.ambient-mascot-art img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.ambient-mascot.is-stationary .ambient-mascot-art{animation:2s ease-in-out infinite mascot-breathe}.ambient-mascot.facing-left .ambient-mascot-art img{transform:scaleX(-1)}.ambient-mascot .mascot-accessory{color:var(--foreground);fill:var(--highlight);stroke-width:1.8px;width:34px;height:34px;position:absolute;bottom:10%;left:26%}.ambient-mascot .mascot-headphones{fill:none;width:42px;height:42px;color:var(--primary);top:29%;left:22%}.ambient-mascot .mascot-phone{width:22px;height:30px;fill:var(--secondary);bottom:28%;left:63%;transform:rotate(-15deg)}.ambient-mascot .mascot-book{animation:1.8s ease-in-out infinite mascot-book-turn}.ambient-mascot .mascot-effects{color:var(--primary);font-size:17px;animation:1.5s ease-in-out infinite mascot-notes;position:absolute;top:5%;right:-4px}.ambient-mascot .mascot-effects svg{width:22px;height:22px}.ambient-mascot.activity-sleep.is-stationary .ambient-mascot-art{animation:2.4s ease-in-out infinite mascot-sleep;transform:rotate(-65deg)scale(.9)}.ambient-mascot .mascot-touch-sparkles{color:var(--highlight);pointer-events:none;position:absolute;inset:-8px}.mascot-touch-sparkles svg{width:22px;height:22px;animation:.7s ease-in-out infinite alternate mascot-notes;position:absolute}.mascot-touch-sparkles svg:nth-child(2){animation-delay:-.3s;bottom:0;right:0}.mascot-touch-sparkles svg:nth-child(3){animation-delay:-.5s;top:0;right:0}@keyframes mascot-footsteps{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-5px)rotate(3deg)}}@keyframes mascot-breathe{50%{transform:translateY(-2px)rotate(2deg)}}@keyframes mascot-sleep{50%{transform:rotate(-65deg)scale(.94)}}@keyframes mascot-book-turn{50%{transform:rotateY(30deg)}}@keyframes mascot-notes{50%{opacity:.5;transform:translateY(-8px)rotate(8deg)}}@media (width<=767px){.ambient-mascot-layer .ambient-mascot{width:60px;height:60px}.ambient-mascot .mascot-accessory{width:26px;height:26px}.ambient-mascot .mascot-headphones{width:30px;height:30px}.ambient-mascot .mascot-phone{width:18px;height:24px}}@media (prefers-reduced-motion:reduce){.ambient-mascot-layer{display:none}}
