.confirm-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:1.5vh;box-shadow:0 2.5vh 3.1vh -.6vh rgba(0,0,0,.1),0 1.25vh 1.25vh -.6vh rgba(0,0,0,.04);max-width:50vh;width:90%;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog-header{display:flex;align-items:center;gap:1.5vh;padding:3vh 3vh 2vh;border-bottom:1px solid #e5e7eb}.confirm-dialog-title{font-size:2.3vh;font-weight:600;color:#111827;margin:0}.confirm-dialog-icon-danger{color:#ef4444}.confirm-dialog-icon-warning{color:#f59e0b}.confirm-dialog-icon-info{color:#3b82f6}.confirm-dialog-body{padding:2.5vh 3vh}.confirm-dialog-message{font-size:1.8vh;color:#4b5563;line-height:1.6;margin:0 0 1.5vh}.confirm-dialog-details{list-style:none;padding:1.5vh 2vh;margin:1.5vh 0;background-color:#f9fafb;border-radius:1vh;border-left:.4vh solid #d1d5db}.confirm-dialog-details li{font-size:1.6vh;color:#6b7280;padding:.5vh 0}.confirm-dialog-details li:before{content:"•";margin-right:1vh;color:#9ca3af}.confirm-dialog-warning{margin-top:2vh;padding:1.5vh;background-color:#fef2f2;border:1px solid #fecaca;border-radius:1vh;font-size:1.6vh;color:#991b1b;text-align:center;font-weight:500}.confirm-dialog-footer{display:flex;gap:1.5vh;padding:2vh 3vh 3vh;justify-content:flex-end}.confirm-dialog-button{padding:1.25vh 2.5vh;border-radius:1vh;font-size:1.8vh;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;outline:none}.confirm-dialog-button:focus{outline:2px solid transparent;outline-offset:2px}.confirm-dialog-button-cancel{background-color:#f3f4f6;color:#374151}.confirm-dialog-button-cancel:hover{background-color:#e5e7eb}.confirm-dialog-button-cancel:active{background-color:#d1d5db}.confirm-dialog-button-confirm{color:#fff}.confirm-dialog-button-danger{background-color:#ef4444}.confirm-dialog-button-danger:hover{background-color:#dc2626}.confirm-dialog-button-danger:active{background-color:#b91c1c}.confirm-dialog-button-warning{background-color:#f59e0b}.confirm-dialog-button-warning:hover{background-color:#d97706}.confirm-dialog-button-warning:active{background-color:#b45309}.confirm-dialog-button-info{background-color:#3b82f6}.confirm-dialog-button-info:hover{background-color:#2563eb}.confirm-dialog-button-info:active{background-color:#1d4ed8}@media (prefers-color-scheme:dark){.confirm-dialog{background:#1f2937}.confirm-dialog-header{border-bottom-color:#374151}.confirm-dialog-title{color:#f9fafb}.confirm-dialog-message{color:#d1d5db}.confirm-dialog-details{background-color:#111827;border-left-color:#4b5563}.confirm-dialog-details li{color:#9ca3af}.confirm-dialog-button-cancel{background-color:#374151;color:#d1d5db}.confirm-dialog-button-cancel:hover{background-color:#4b5563}.confirm-dialog-button-cancel:active{background-color:#6b7280}}.settings-tab-container{height:100%;overflow:visible}.settings-list-wrapper{width:calc(53vh * (320 / 420) * .9 + 2.8vh);max-width:calc(53vh * (320 / 420) * .9 + 2.8vh);height:100vh;max-height:100vh;background-color:transparent;display:flex;flex-direction:column;position:relative;margin:0 auto;padding:0;overflow:visible}.settings-list-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:8vh}.settings-profile-section{width:100%;display:flex;justify-content:center;margin-bottom:1vh;margin-top:9vh}.settings-profile-section .profile-section{position:static;transform:none;top:auto;left:auto}.settings-stats-section{width:100%;margin-bottom:3vh;overflow:visible}.settings-stats-section .search-input-container,.settings-stats-section .stats-section{position:static;transform:none;top:auto;left:auto;width:100%}.settings-stats-section .search-input-container{margin:0}.settings-content{width:100%;padding:2vh;box-sizing:border-box}.settings-list{flex:1;overflow-y:scroll!important;overflow-x:visible;padding:0 1.4vh 9.5vh;min-height:0;scroll-behavior:smooth;background-color:transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;height:100vh;-ms-overflow-style:none;scrollbar-width:none;display:flex;flex-direction:column;align-items:center;gap:1.4vh}.settings-list::-webkit-scrollbar{display:none}.calendar-container{width:100%;height:100%;display:flex;flex-direction:column;gap:2vh;padding:2vh 3vw;overflow-y:auto;overflow-x:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.calendar-title{font-size:2.5vh;font-weight:700;color:var(--text-primary,#fff)}.calendar-domain-tabs{display:flex;gap:.8vw;background:var(--bg-secondary,hsla(0,0%,100%,.05));padding:.5vh .5vw;border-radius:1.5vh}.calendar-domain-tab{padding:.8vh 1.5vw;border-radius:1vh;cursor:pointer;transition:all .2s ease;font-size:1.6vh;font-weight:500;color:var(--text-secondary,hsla(0,0%,100%,.6));background:transparent;border:none;display:flex;align-items:center;gap:.5vw}.calendar-domain-tab:hover{color:var(--text-primary,#fff);background:hsla(0,0%,100%,.1)}.calendar-domain-tab--active{color:#fff}.calendar-domain-tab--active,.calendar-domain-tab--active:hover{background:var(--accent-color,#4a90d9)}.calendar-domain-tab--all.calendar-domain-tab--active{background:linear-gradient(135deg,#4a90d9,#2ecc71,#e74c3c)}.calendar-domain-tab--book.calendar-domain-tab--active{background:#4a90d9}.calendar-domain-tab--music.calendar-domain-tab--active{background:#2ecc71}.calendar-domain-tab--movie.calendar-domain-tab--active{background:#e74c3c}.calendar-domain-tab__icon{font-size:1.8vh}.calendar-stats-section{display:flex;gap:2vw;align-items:center;justify-content:center;padding:2vh 0;flex-shrink:0}.calendar-main-content{flex:1;display:flex;flex-direction:column;gap:2vh;min-height:0}.calendar-view-controls{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:2vw}.calendar-view-toggle{display:flex;background:var(--bg-secondary,hsla(0,0%,100%,.05));padding:.4vh;border-radius:1vh}.calendar-view-toggle__button{padding:.8vh 1.5vw;border-radius:.8vh;cursor:pointer;transition:all .2s ease;font-size:1.4vh;font-weight:500;color:var(--text-secondary,hsla(0,0%,100%,.6));background:transparent;border:none}.calendar-view-toggle__button:hover{color:var(--text-primary,#fff)}.calendar-view-toggle__button--active{background:var(--accent-color,#4a90d9);color:#fff}.calendar-view-toggle__button--active:hover{color:#fff}.calendar-month-nav{display:flex;justify-content:center;align-items:center;gap:2vw;flex-shrink:0}.calendar-month-nav__button{background:transparent;border:none;color:var(--text-secondary,hsla(0,0%,100%,.6));font-size:2.5vh;cursor:pointer;padding:.5vh 1vw;border-radius:1vh;transition:all .2s ease}.calendar-month-nav__button:hover{color:var(--text-primary,#fff);background:hsla(0,0%,100%,.1)}.calendar-month-nav__title{font-size:2.2vh;font-weight:600;color:var(--text-primary,#fff);min-width:15vw;text-align:center}.calendar-activity-section{flex:1;min-height:0;overflow-y:auto}.calendar-activity-list{display:flex;flex-direction:column;gap:1vh}.calendar-activity-item{display:flex;align-items:center;gap:1.5vw;padding:1.5vh 2vw;background:var(--bg-secondary,hsla(0,0%,100%,.05));border-radius:1.5vh;transition:all .2s ease;cursor:pointer}.calendar-activity-item:hover{background:hsla(0,0%,100%,.1);transform:translateX(.3vw)}.calendar-activity-item:active{transform:scale(.98)}.calendar-activity-item__icon{font-size:2.5vh;width:4vh;height:4vh;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.1);border-radius:1vh}.calendar-activity-item__content{flex:1;min-width:0}.calendar-activity-item__title{font-size:1.6vh;font-weight:600;color:var(--text-primary,#fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-activity-item__meta{font-size:1.3vh;color:var(--text-secondary,hsla(0,0%,100%,.6));margin-top:.3vh}.calendar-activity-item__action{padding:.5vh 1vw;font-size:1.2vh;border-radius:.8vh;font-weight:500}.calendar-activity-item__action--started{background:rgba(74,144,217,.2);color:#4a90d9}.calendar-activity-item__action--completed{background:rgba(46,204,113,.2);color:#2ecc71}.calendar-activity-item__action--sentence{background:rgba(155,89,182,.2);color:#9b59b6}.calendar-activity-item__action--rated{background:rgba(241,196,15,.2);color:#f1c40f}.calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary,hsla(0,0%,100%,.6));text-align:center;gap:1vh}.calendar-empty__icon{font-size:5vh;opacity:.5}.calendar-empty__text{font-size:1.6vh}.calendar-loading{display:flex;align-items:center;justify-content:center;height:100%}.calendar-loading__spinner{width:4vh;height:4vh;border:3px solid hsla(0,0%,100%,.1);border-top:3px solid var(--accent-color,#4a90d9);border-radius:50%;animation:calendar-spin .8s linear infinite}@keyframes calendar-spin{to{transform:rotate(1turn)}}.selected-date-panel{display:flex;flex-direction:column;gap:1.5vh}.selected-date-panel__header{padding-bottom:1vh;border-bottom:1px solid hsla(0,0%,100%,.1)}.calendar-activity-item__sentence{font-size:1.3vh;color:var(--text-tertiary,hsla(0,0%,100%,.4));font-style:italic;margin-top:.5vh;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-ring-clickable{cursor:pointer;transition:transform .2s ease}.activity-ring-clickable:hover{transform:scale(1.05)}.activity-ring-clickable:active{transform:scale(.98)}.goal-setting-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(.5vh);-webkit-backdrop-filter:blur(.5vh);display:flex;align-items:center;justify-content:center;z-index:9999;animation:goal-modal-backdrop-in .2s ease}@keyframes goal-modal-backdrop-in{0%{opacity:0}to{opacity:1}}.goal-setting-modal{background:var(--bg-card,rgba(30,30,30,.95));border-radius:2vh;padding:3vh 4vw;width:80vw;max-width:320px;animation:goal-modal-slide-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes goal-modal-slide-in{0%{opacity:0;transform:scale(.9) translateY(2vh)}to{opacity:1;transform:scale(1) translateY(0)}}.goal-setting-modal__header{display:flex;align-items:center;gap:1.5vw;margin-bottom:2vh}.goal-setting-modal__icon{width:3vh;height:3vh;color:var(--accent-color,#4a90d9)}.goal-setting-modal__title{font-size:2vh;font-weight:700;color:var(--text-primary,#fff);margin:0}.goal-setting-modal__content{text-align:center}.goal-setting-modal__description{font-size:1.4vh;color:var(--text-secondary,hsla(0,0%,100%,.6));margin-bottom:2.5vh}.goal-setting-modal__input-group{display:flex;align-items:center;justify-content:center;gap:2vw;margin-bottom:1vh}.goal-setting-modal__button{width:5vh;height:5vh;border-radius:50%;border:none;background:hsla(0,0%,100%,.1);color:var(--text-primary,#fff);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.goal-setting-modal__button:hover:not(:disabled){background:hsla(0,0%,100%,.2)}.goal-setting-modal__button:disabled{opacity:.3;cursor:not-allowed}.goal-setting-modal__button svg{width:2.5vh;height:2.5vh}.goal-setting-modal__input{width:12vw;max-width:80px;padding:1.5vh 0;font-size:3vh;font-weight:700;text-align:center;background:transparent;border:none;border-bottom:2px solid var(--accent-color,#4a90d9);color:var(--text-primary,#fff);outline:none}.goal-setting-modal__input::-webkit-inner-spin-button,.goal-setting-modal__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.goal-setting-modal__unit{font-size:1.4vh;color:var(--text-secondary,hsla(0,0%,100%,.6))}.goal-setting-modal__actions{display:flex;gap:2vw;margin-top:3vh}.goal-setting-modal__cancel,.goal-setting-modal__save{flex:1;padding:1.5vh 0;border-radius:1.2vh;font-size:1.6vh;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.goal-setting-modal__cancel{background:hsla(0,0%,100%,.1);color:var(--text-secondary,hsla(0,0%,100%,.6))}.goal-setting-modal__cancel:hover{background:hsla(0,0%,100%,.15)}.goal-setting-modal__save{background:var(--accent-color,#4a90d9);color:#fff}.goal-setting-modal__save:hover{opacity:.9}@media (max-width:768px){.calendar-container{padding:1.5vh 4vw}.calendar-header{flex-direction:column;gap:1.5vh}.calendar-domain-tabs{width:100%;justify-content:center}.calendar-stats-section{flex-wrap:wrap}}.activity-ring{position:relative;display:flex;align-items:center;justify-content:center}.activity-ring--small{width:8vh;height:8vh}.activity-ring--medium{width:12vh;height:12vh}.activity-ring--large{width:16vh;height:16vh}.activity-ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.activity-ring__background{fill:none;stroke:var(--ring-bg,hsla(0,0%,100%,.1))}.activity-ring--small .activity-ring__background{stroke-width:6}.activity-ring--medium .activity-ring__background{stroke-width:8}.activity-ring--large .activity-ring__background{stroke-width:10}.activity-ring__progress{fill:none;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.activity-ring--small .activity-ring__progress{stroke-width:6}.activity-ring--medium .activity-ring__progress{stroke-width:8}.activity-ring--large .activity-ring__progress{stroke-width:10}.activity-ring--all .activity-ring__progress{stroke:url(#gradient-all)}.activity-ring--book .activity-ring__progress{stroke:#4a90d9}.activity-ring--music .activity-ring__progress{stroke:#2ecc71}.activity-ring--movie .activity-ring__progress{stroke:#e74c3c}.activity-ring__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.activity-ring__value{font-weight:700;color:var(--text-primary,#fff);line-height:1}.activity-ring--small .activity-ring__value{font-size:2vh}.activity-ring--medium .activity-ring__value{font-size:2.8vh}.activity-ring--large .activity-ring__value{font-size:3.5vh}.activity-ring__label{color:var(--text-secondary,hsla(0,0%,100%,.6));margin-top:.3vh}.activity-ring--small .activity-ring__label{font-size:1vh}.activity-ring--medium .activity-ring__label{font-size:1.2vh}.activity-ring--large .activity-ring__label{font-size:1.4vh}.streak-counter{display:flex;flex-direction:column;align-items:center;gap:.5vh}.streak-counter__header{display:flex;align-items:center;gap:.8vw}.streak-counter__fire{font-size:3vh;animation:streak-pulse 1.5s ease-in-out infinite}@keyframes streak-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-counter__value{font-size:3.5vh;font-weight:800;color:var(--text-primary,#fff)}.streak-counter__label{font-size:1.4vh;color:var(--text-secondary,hsla(0,0%,100%,.6))}.streak-counter__best{font-size:1.2vh;color:var(--text-tertiary,hsla(0,0%,100%,.4));margin-top:.5vh}.today-stats{display:flex;gap:1.5vw;padding:2vh 2vw;background:var(--bg-secondary,hsla(0,0%,100%,.05));border-radius:2vh}.today-stats__item{display:flex;flex-direction:column;align-items:center;gap:.5vh;min-width:8vw}.today-stats__icon{font-size:2.5vh}.today-stats__value{font-size:2vh;font-weight:700;color:var(--text-primary,#fff)}.today-stats__label{font-size:1.2vh;color:var(--text-secondary,hsla(0,0%,100%,.6))}.today-stats__item--book .today-stats__value{color:#4a90d9}.today-stats__item--music .today-stats__value{color:#2ecc71}.today-stats__item--movie .today-stats__value{color:#e74c3c}.mini-rings{display:flex;gap:1vw}.mini-ring{position:relative;width:5vh;height:5vh}.mini-ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.mini-ring__background{fill:none;stroke:hsla(0,0%,100%,.1);stroke-width:4}.mini-ring__progress{fill:none;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.mini-ring--book .mini-ring__progress{stroke:#4a90d9}.mini-ring--music .mini-ring__progress{stroke:#2ecc71}.mini-ring--movie .mini-ring__progress{stroke:#e74c3c}.mini-ring__icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.8vh}.activity-ring--complete .activity-ring__progress{filter:drop-shadow(0 0 8px currentColor)}.activity-ring--complete .activity-ring__center:after{content:"✓";position:absolute;font-size:2vh;color:var(--accent-color);animation:check-pop .3s ease}@keyframes check-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.monthly-calendar{display:flex;flex-direction:column;gap:1vh}.monthly-calendar__header{display:grid;grid-template-columns:repeat(7,1fr);gap:.5vh}.monthly-calendar__day-name{text-align:center;font-size:1.3vh;font-weight:600;color:var(--text-secondary,hsla(0,0%,100%,.6));padding:1vh 0}.monthly-calendar__day-name--weekend{color:var(--text-tertiary,hsla(0,0%,100%,.4))}.monthly-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5vh}.calendar-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:1.2vh;cursor:pointer;transition:all .2s ease;position:relative;gap:.3vh}.calendar-cell:hover{transform:scale(1.05)}.calendar-cell--empty{background:transparent;cursor:default}.calendar-cell--empty:hover{transform:none}.calendar-cell__day{font-size:1.6vh;font-weight:500;color:var(--text-primary,#fff);line-height:1}.calendar-cell--other-month .calendar-cell__day{color:var(--text-tertiary,hsla(0,0%,100%,.3))}.calendar-cell--today{border:2px solid var(--accent-color,#4a90d9)}.calendar-cell--today .calendar-cell__day{color:var(--accent-color,#4a90d9);font-weight:700}.calendar-cell--selected{background:var(--accent-color,#4a90d9)!important}.calendar-cell--selected .calendar-cell__day{color:#fff!important;font-weight:700}.calendar-cell--selected .calendar-cell__dots{filter:brightness(2)}.calendar-cell--level-0{background:var(--cell-empty,hsla(0,0%,100%,.03))}.calendar-cell--level-1{background:rgba(74,144,217,.15)}.calendar-cell--level-2{background:rgba(74,144,217,.3)}.calendar-cell--level-3{background:rgba(74,144,217,.5)}.calendar-cell--level-4{background:rgba(74,144,217,.7)}.monthly-calendar--book .calendar-cell--level-1{background:rgba(74,144,217,.15)}.monthly-calendar--book .calendar-cell--level-2{background:rgba(74,144,217,.3)}.monthly-calendar--book .calendar-cell--level-3{background:rgba(74,144,217,.5)}.monthly-calendar--book .calendar-cell--level-4{background:rgba(74,144,217,.7)}.monthly-calendar--music .calendar-cell--level-1{background:rgba(46,204,113,.15)}.monthly-calendar--music .calendar-cell--level-2{background:rgba(46,204,113,.3)}.monthly-calendar--music .calendar-cell--level-3{background:rgba(46,204,113,.5)}.monthly-calendar--music .calendar-cell--level-4{background:rgba(46,204,113,.7)}.monthly-calendar--movie .calendar-cell--level-1{background:rgba(231,76,60,.15)}.monthly-calendar--movie .calendar-cell--level-2{background:rgba(231,76,60,.3)}.monthly-calendar--movie .calendar-cell--level-3{background:rgba(231,76,60,.5)}.monthly-calendar--movie .calendar-cell--level-4{background:rgba(231,76,60,.7)}.calendar-cell__dots{display:flex;gap:.3vh;margin-top:.2vh}.calendar-cell__dot{width:.6vh;height:.6vh;border-radius:50%}.calendar-cell__dot--book{background:#4a90d9}.calendar-cell__dot--music{background:#2ecc71}.calendar-cell__dot--movie{background:#e74c3c}.calendar-cell__badge{position:absolute;top:.3vh;right:.3vh;min-width:1.8vh;height:1.8vh;background:var(--accent-color,#4a90d9);color:#fff;font-size:1vh;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.selected-date-panel{background:var(--bg-secondary,hsla(0,0%,100%,.05));border-radius:2vh;padding:2vh;margin-top:2vh}.selected-date-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5vh}.selected-date-panel__title{font-size:1.8vh;font-weight:600;color:var(--text-primary,#fff)}.selected-date-panel__count{font-size:1.4vh;color:var(--text-secondary,hsla(0,0%,100%,.6))}.weekly-calendar{display:flex;flex-direction:column;gap:1vh}.weekly-calendar__row{display:grid;grid-template-columns:8vw repeat(7,1fr);gap:.5vh;align-items:center}.weekly-calendar__time{font-size:1.2vh;color:var(--text-secondary,hsla(0,0%,100%,.6));text-align:right;padding-right:1vw}.weekly-calendar__cell{min-height:6vh;background:var(--bg-secondary,hsla(0,0%,100%,.03));border-radius:.8vh;padding:.5vh}.yearly-heatmap{display:flex;flex-direction:column;gap:.8vh;position:relative;width:100%;overflow-x:auto;padding-bottom:1vh}.yearly-heatmap__months{display:grid;grid-template-columns:3vh repeat(53,1.5vh);gap:.3vh;margin-bottom:.3vh}.yearly-heatmap__day-labels-spacer{width:3vh}.yearly-heatmap__month-label{font-size:1.1vh;color:var(--text-secondary,hsla(0,0%,100%,.6));text-align:left;padding-left:.2vh}.yearly-heatmap__container{display:flex;gap:.5vh}.yearly-heatmap__day-labels{display:flex;flex-direction:column;gap:.3vh;width:3vh}.yearly-heatmap__day-label{height:1.5vh;font-size:1vh;color:var(--text-secondary,hsla(0,0%,100%,.6));display:flex;align-items:center;justify-content:flex-end;padding-right:.5vh}.yearly-heatmap__grid{display:flex;gap:.3vh}.yearly-heatmap__week{display:flex;flex-direction:column;gap:.3vh}.yearly-heatmap__cell{width:1.5vh;height:1.5vh;border-radius:.25vh;background:var(--cell-empty,hsla(0,0%,100%,.05));cursor:pointer;transition:all .15s ease}.yearly-heatmap__cell:hover:not(.yearly-heatmap__cell--empty){transform:scale(1.3);outline:1px solid var(--text-secondary,hsla(0,0%,100%,.4))}.yearly-heatmap__cell--empty{background:transparent;cursor:default}.yearly-heatmap__cell--today{outline:2px solid var(--accent-color,#4a90d9);outline-offset:-1px}.yearly-heatmap__cell--selected{outline:2px solid #fff;outline-offset:-1px}.yearly-heatmap__cell--level-0{background:var(--cell-empty,hsla(0,0%,100%,.05))}.yearly-heatmap__cell--level-1{background:rgba(74,144,217,.2)}.yearly-heatmap__cell--level-2{background:rgba(74,144,217,.4)}.yearly-heatmap__cell--level-3{background:rgba(74,144,217,.65)}.yearly-heatmap__cell--level-4{background:rgba(74,144,217,.9)}.yearly-heatmap--book .yearly-heatmap__cell--level-1{background:rgba(74,144,217,.2)}.yearly-heatmap--book .yearly-heatmap__cell--level-2{background:rgba(74,144,217,.4)}.yearly-heatmap--book .yearly-heatmap__cell--level-3{background:rgba(74,144,217,.65)}.yearly-heatmap--book .yearly-heatmap__cell--level-4{background:rgba(74,144,217,.9)}.yearly-heatmap--music .yearly-heatmap__cell--level-1{background:rgba(46,204,113,.2)}.yearly-heatmap--music .yearly-heatmap__cell--level-2{background:rgba(46,204,113,.4)}.yearly-heatmap--music .yearly-heatmap__cell--level-3{background:rgba(46,204,113,.65)}.yearly-heatmap--music .yearly-heatmap__cell--level-4{background:rgba(46,204,113,.9)}.yearly-heatmap--movie .yearly-heatmap__cell--level-1{background:rgba(231,76,60,.2)}.yearly-heatmap--movie .yearly-heatmap__cell--level-2{background:rgba(231,76,60,.4)}.yearly-heatmap--movie .yearly-heatmap__cell--level-3{background:rgba(231,76,60,.65)}.yearly-heatmap--movie .yearly-heatmap__cell--level-4{background:rgba(231,76,60,.9)}.yearly-heatmap--all .yearly-heatmap__cell--level-4{background:linear-gradient(135deg,rgba(74,144,217,.9),rgba(46,204,113,.9))}.yearly-heatmap__legend{display:flex;align-items:center;gap:.5vh;margin-top:1vh;font-size:1.1vh;color:var(--text-secondary,hsla(0,0%,100%,.6));justify-content:flex-end;padding-right:1vh}.yearly-heatmap__legend .yearly-heatmap__cell{cursor:default}.yearly-heatmap__legend .yearly-heatmap__cell:hover{transform:none;outline:none}.yearly-heatmap__tooltip{position:fixed;transform:translateX(-50%) translateY(-100%);background:var(--bg-card,rgba(30,30,30,.95));border-radius:.8vh;padding:.8vh 1.2vh;box-shadow:0 .5vh 2vh rgba(0,0,0,.3);z-index:1000;pointer-events:none;white-space:nowrap}.yearly-heatmap__tooltip-date{font-size:1.2vh;font-weight:600;color:var(--text-primary,#fff);margin-bottom:.3vh}.yearly-heatmap__tooltip-count{font-size:1.1vh;color:var(--text-secondary,hsla(0,0%,100%,.7))}@media (max-width:768px){.calendar-cell{border-radius:.8vh}.calendar-cell__day{font-size:1.4vh}.calendar-cell__dots{display:none}.calendar-cell__badge{width:1.5vh;height:1.5vh;font-size:.8vh}}:root{--vh:1px;--vw:1px;--aspect-ratio:calc(9 / 16);--scale-factor:1;will-change:--vh,--vw,--aspect-ratio,--scale-factor}.layout-container{position:fixed;background-color:transparent;color:var(--theme-text-primary);overflow:visible;display:flex;align-items:center;justify-content:center;top:0;left:0;right:0;bottom:0;height:100vh;width:100%;box-sizing:border-box;background-size:cover;background-position:50%;background-repeat:no-repeat;transition:background-image .5s ease-in-out;overscroll-behavior-x:none}.layout-container.has-video-background{background:none}.layout-container.has-video-background iframe,.layout-container.has-video-background video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1;border:none;pointer-events:none}.layout-container.has-video-background iframe{min-width:100%;min-height:100%;transform-origin:center}.tab-content-container{height:100%;width:100%;max-width:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;margin:0 auto;padding:0;overflow:visible}.tab-content-container.library-tab{display:block;height:100vh}.tab-content-container.collection-tab,.tab-content-container.feed-tab,.tab-content-container.friends-tab,.tab-content-container.settings-tab{height:100vh;position:relative;z-index:1}.main-content{width:100%;height:57vh;display:flex;align-items:center;justify-content:flex-start;overflow:visible;position:fixed;bottom:12vh;left:0;z-index:1;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}body.ios .main-content{bottom:14vh}.main-content-centered{justify-content:center}.main-content.is-dragging{z-index:10001}.collection-list-wrapper.modal-open>.collection-list,.collection-list.modal-open,.modal-open{opacity:0;pointer-events:none}.profile-view-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;-webkit-backdrop-filter:blur(1vh);backdrop-filter:blur(1vh);z-index:12000;display:flex;align-items:flex-start;justify-content:center}.profile-view-modal-frame{width:100%;height:90%;display:flex;flex-direction:column;position:relative;box-shadow:0 10px 30px hsla(0,0%,100%,.2);border-radius:0 0 4vh 4vh;overflow:hidden;background-color:transparent;background-image:var(--bg-image,none);background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:12001}.profile-view-modal-frame.bg-white{background-color:#fff;--theme-bg-primary:#fff;--theme-bg-secondary:rgba(0,0,0,.03);--theme-bg-card:rgba(0,0,0,.06);--theme-bg-hover:rgba(0,0,0,.1);--theme-text-primary:rgba(0,0,0,.9);--theme-text-secondary:rgba(0,0,0,.6);--theme-text-tertiary:rgba(0,0,0,.4);--theme-border:rgba(0,0,0,.15);--theme-border-hover:rgba(0,0,0,.3);--theme-icon:rgba(0,0,0,.7);--theme-icon-muted:rgba(0,0,0,.4);--theme-toggle-bg:rgba(0,0,0,.15);--theme-toggle-bg-hover:rgba(0,0,0,.2)}.profile-view-modal-frame.bg-dark{background-color:#000;--theme-bg-primary:#000;--theme-bg-secondary:hsla(0,0%,100%,.05);--theme-bg-card:hsla(0,0%,100%,.08);--theme-bg-hover:hsla(0,0%,100%,.15);--theme-text-primary:hsla(0,0%,100%,.9);--theme-text-secondary:hsla(0,0%,100%,.6);--theme-text-tertiary:hsla(0,0%,100%,.4);--theme-border:hsla(0,0%,100%,.2);--theme-border-hover:hsla(0,0%,100%,.4);--theme-icon:hsla(0,0%,100%,.8);--theme-icon-muted:hsla(0,0%,100%,.5);--theme-toggle-bg:hsla(0,0%,100%,.2);--theme-toggle-bg-hover:hsla(0,0%,100%,.25)}.profile-view-modal-frame.has-video-background{background:none}.profile-view-modal-frame.has-video-background iframe,.profile-view-modal-frame.has-video-background video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1;border:none;pointer-events:none}.profile-view-modal-close-area{position:fixed;bottom:5vh;left:50%;transform:translateX(-50%);z-index:10001}.profile-view-modal-close-btn{background:transparent;border:none;border-radius:50%;width:4.6vh;height:4.6vh;display:flex;align-items:center;justify-content:center;color:var(--theme-text-primary);opacity:.8;cursor:pointer;transition:opacity .2s ease;margin-bottom:-2.3vh}.profile-view-modal-close-btn svg{width:2.3vh;height:2.3vh;stroke-width:2}.profile-view-modal-close-btn:active,.profile-view-modal-close-btn:hover{opacity:1}.profile-view-modal-content{flex:1;width:100%;overflow:hidden;background-color:transparent;position:relative;contain:layout style paint;z-index:2;min-height:0}.profile-view-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:2vh}.profile-view-modal-loading p,.profile-view-modal-loading svg{color:var(--theme-text-primary)}.profile-view-modal-loading p{font-size:2vh}.profile-view-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--theme-text-primary);gap:2.5vh;padding:2.5vh;text-align:center}.profile-view-modal-error h3{font-size:3vh;font-weight:600;color:var(--theme-text-primary)}.profile-view-modal-error p{font-size:2vh;color:var(--theme-text-primary)}.profile-view-modal-error button{background:hsla(0,0%,100%,.2);border:none;border-radius:1vh;padding:1.5vh 3vh;color:var(--theme-text-primary);cursor:pointer;transition:background-color .2s ease}.profile-view-modal-error button:hover{background:hsla(0,0%,100%,.3)}.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container{--friend-modal-scale:0.9;position:relative!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:111.11%!important;height:111.11%!important;max-width:none!important;max-height:none!important;transform:scale(.9)!important;transform-origin:top left!important;overflow:hidden!important}.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container .library-tab-container,.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container .tab-content-container.library-tab{height:100%!important;overflow-y:auto!important}.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container .tab-content-container.collection-tab,.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container .tab-content-container.friends-tab,.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container .tab-content-container.settings-tab{height:100%!important;overflow:hidden!important}.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container .tab-content-container.feed-tab{height:100%!important;overflow:visible!important}.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content{--friend-modal-scale:0.9}.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .indicator{transform:translateX(var(--indicator-offset,0)) scale(.9)!important}.profile-view-modal-backdrop .profile-view-modal-frame .profile-view-modal-content .library-page-container .indicator-dot{opacity:0!important;transition:background-color .2s ease,opacity .2s ease!important}.profile-view-modal-backdrop .drag-overlay-item,.profile-view-modal-backdrop .drag-overlay-item.drag-left{transform:rotate(3deg) scale(1.111)!important}.profile-view-modal-backdrop .drag-overlay-item.drag-right{transform:rotate(-3deg) scale(1.111)!important}@keyframes dragFloatModal{0%{transform:rotate(3deg) scale(1.111) translateY(0)}to{transform:rotate(3deg) scale(1.111) translateY(-.5vh)}}@keyframes dragFloatLeftModal{0%{transform:rotate(3deg) scale(1.111) translateY(0)}to{transform:rotate(3deg) scale(1.111) translateY(-.5vh)}}@keyframes dragFloatRightModal{0%{transform:rotate(-3deg) scale(1.111) translateY(0)}to{transform:rotate(-3deg) scale(1.111) translateY(-.5vh)}}.profile-view-modal-backdrop .drag-overlay-item{animation:dragFloatModal 2s ease-in-out infinite alternate!important}.profile-view-modal-backdrop .drag-overlay-item.drag-left{animation:dragFloatLeftModal 2s ease-in-out infinite alternate!important}.profile-view-modal-backdrop .drag-overlay-item.drag-right{animation:dragFloatRightModal 2s ease-in-out infinite alternate!important}