:root{--bg-gradient: linear-gradient(135deg, #351857, #8d54ff 40%, #f0a7ff 120%);--frame-gradient: linear-gradient( 135deg, rgba(255, 255, 255, .82), rgba(241, 205, 255, .9) );--text-primary: #2a1149;--text-secondary: #f3ecff;--accent-pink: rgba(255, 153, 255, .95);--accent-violet: rgba(130, 92, 255, .85);--note-yellow: rgba(255, 240, 156, .58);--note-pink: rgba(255, 183, 244, .58);--note-blue: rgba(195, 225, 255, .58);--note-purple: rgba(206, 187, 255, .58);--shadow-soft: 0 28px 70px rgba(44, 8, 73, .38);--frame-shadow: 0 35px 90px rgba(31, 7, 52, .55)}*{margin:0;padding:0;box-sizing:border-box}html{min-height:100%;background:var(--bg-gradient)}body{font-family:Manrope,system-ui,sans-serif;background:var(--bg-gradient);color:var(--text-secondary);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;padding:3.5rem 1.5rem}body.schedule-modal-open{overflow:hidden}body:before,body:after{content:"";position:fixed;pointer-events:none;border-radius:999px;filter:blur(80px);opacity:.55;z-index:0}body:before{width:460px;height:460px;background:radial-gradient(circle,#ffb9ffe6,#5a08a300);top:-160px;left:-80px}body:after{width:520px;height:520px;background:radial-gradient(circle,#8068ffd9,#24095900);bottom:-200px;right:-120px}.bucket-list{width:min(1120px,100%);position:relative;z-index:2;margin:0 auto;display:flex;flex-direction:column;align-items:center}.bucket-header{text-align:center;margin-bottom:2.5rem;text-shadow:0 10px 25px rgba(28,4,51,.6)}.bucket-header h1{font-family:Kalam,cursive;font-size:clamp(3.1rem,8vw,5.6rem);font-weight:700;letter-spacing:.03em;color:#fff6ff;transform:rotate(-1deg)}.tagline{margin-top:1rem;font-size:1.1rem;color:#ffffffdb;letter-spacing:.07em;text-transform:uppercase}.bucket-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:clamp(1.2rem,2.4vw,1.8rem)}.bucket-frame{width:min(1100px,100%);padding:clamp(2.6rem,5vw,4rem);border-radius:36px;background:var(--frame-gradient);color:var(--text-primary);box-shadow:var(--frame-shadow);position:relative;overflow:hidden;border:3px solid rgba(255,255,255,.55);margin:0 auto}.bucket-frame:before,.bucket-frame:after{content:"";position:absolute;width:200px;height:200px;background:#ffffff5c;border-radius:26% 74% 48% 52%/42% 36% 64% 58%;filter:blur(.5px);transform:rotate(12deg)}.bucket-frame:before{top:-70px;right:-60px}.bucket-frame:after{bottom:-70px;left:-60px}.bucket-frame .frame-glow{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:28px;background:linear-gradient(145deg,#ffffffa6,#fadcff1a);mix-blend-mode:screen;pointer-events:none;opacity:.5;z-index:0}.bucket-add-form{width:100%;display:flex;gap:clamp(.7rem,1.6vw,1rem);align-items:stretch;margin-bottom:clamp(1.4rem,2.8vw,2.1rem);z-index:2;position:relative}.bucket-add-input{flex:1;border:0;border-radius:20px;padding:clamp(.9rem,2.4vw,1.15rem) clamp(1.1rem,2.6vw,1.6rem);font-size:clamp(1.05rem,2.2vw,1.3rem);font-family:Kalam,cursive;color:var(--text-primary);background:#ffffffe6;box-shadow:inset 0 0 0 1px #ffffffbf,0 16px 36px #4f188038}.bucket-add-input::placeholder{color:#3a195c73}.bucket-add-input:focus{outline:3px solid rgba(255,227,255,.7);outline-offset:2px}.bucket-add-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1;border:0;border-radius:18px;padding:clamp(.9rem,2.2vw,1.1rem) clamp(1.1rem,2.6vw,1.6rem);font-size:clamp(1rem,2vw,1.25rem);font-family:Kalam,cursive;font-weight:700;background:linear-gradient(135deg,#ffb7fff2,#8a60ffe6);color:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px #fff9,0 18px 32px #511a8452;transition:transform .25s ease,box-shadow .25s ease}.bucket-add-button:hover,.bucket-add-button:focus-visible{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffffffb3,0 22px 40px #3a126461}.bucket-add-button:focus-visible{outline:3px solid rgba(255,255,255,.6);outline-offset:3px}.bucket-search{display:flex;align-items:center;gap:.5rem;position:relative;z-index:2;margin-bottom:1rem;padding:.55rem 1rem;border-radius:999px;background:#ffffffa6;box-shadow:inset 0 0 0 1px #fffc,0 8px 20px #4413722e;transition:box-shadow .25s ease}.bucket-search:focus-within{box-shadow:inset 0 0 0 1px #fffffff2,0 14px 30px #44137242}.bucket-search-icon{width:1.1rem;height:1.1rem;flex-shrink:0;color:#3a195c99}.bucket-search-input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-family:Kalam,cursive;font-size:1rem;letter-spacing:.03em;color:#3a195ce6}.bucket-search-input::placeholder{color:#3a195c73}.bucket-search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.bucket-search-clear{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;padding:0;border:0;border-radius:999px;background:#956cff2e;color:#3a195cb3;cursor:pointer;transition:background .2s ease,color .2s ease}.bucket-search-clear:hover,.bucket-search-clear:focus-visible{background:#956cff52;color:#3a195cf2}.bucket-search-clear svg{width:.95rem;height:.95rem}.bucket-filters{display:inline-flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;position:relative;z-index:2}.bucket-filter-button{border:0;border-radius:999px;padding:.55rem 1.2rem;font-family:Kalam,cursive;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;background:#ffffffa6;color:#3a195cb8;box-shadow:inset 0 0 0 1px #fffc,0 8px 20px #4413722e;cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}.bucket-filter-button:hover,.bucket-filter-button:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffe6,0 14px 30px #44137242}.bucket-filter-button:focus-visible{outline:3px solid rgba(255,255,255,.6);outline-offset:2px}.bucket-filter-button.is-active{background:linear-gradient(135deg,#ffc6fff2,#956cffeb);color:#fff;box-shadow:inset 0 0 0 1px #ffffffb3,0 18px 36px #450c7c59}.bucket-feedback{min-height:1.2rem;font-size:.95rem;letter-spacing:.04em;font-family:Kalam,cursive;color:#562a96eb;text-shadow:0 8px 18px rgba(36,9,72,.28);margin-bottom:.8rem;text-align:center}.bucket-side-note{margin:clamp(1rem,2.2vw,1.6rem) auto 0;padding:.85rem 1.2rem;max-width:clamp(16rem,68%,28rem);text-align:center;font-family:Kalam,cursive;font-size:clamp(.96rem,1.9vw,1.18rem);color:#3a195cc7;background:#ffffffc7;border-radius:18px;box-shadow:inset 0 0 0 1px #ffffffb3,0 18px 32px #4818793d}.bucket-feedback[data-tone=error]{color:#eb60a4f0}.bucket-feedback[data-tone=success]{color:#d48efffa}.bucket-items{list-style:none;display:grid;gap:1.55rem;font-size:clamp(1.2rem,2.4vw,1.72rem);position:relative;z-index:1;scrollbar-gutter:stable;overscroll-behavior:contain;border-radius:24px;padding:clamp(1rem,2.4vw,1.6rem);overflow:visible;padding-right:0;padding-left:0;padding-bottom:0}.bucket-items::-webkit-scrollbar{width:8px}.bucket-items::-webkit-scrollbar-track{background:#ffffff1a;border-radius:999px}.bucket-items::-webkit-scrollbar-thumb{background:#9a76de8c;border-radius:999px}.bucket-items{scrollbar-color:rgba(154,118,222,.55) rgba(255,255,255,.1);scrollbar-width:thin}.bucket-items-container{max-height:65vh;overflow-y:auto;overflow-x:hidden;border-radius:24px;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto}.bucket-items-container::-webkit-scrollbar{width:8px}.bucket-items-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:999px}.bucket-items-container::-webkit-scrollbar-thumb{background:#9a76de8c;border-radius:999px}.bucket-items-container{scrollbar-color:rgba(154,118,222,.55) rgba(255,255,255,.1);scrollbar-width:thin}body.is-scrolling .background-notes .note,body.is-scrolling .background-notes .music-note{animation-play-state:paused!important}.bucket-items--virtualized{display:block;gap:0}.bucket-items--virtualized .bucket-item{margin-left:.5rem;margin-right:.5rem;margin-bottom:0;box-sizing:border-box;display:flex;align-items:center}@media (prefers-reduced-motion: reduce){.bucket-item,.checkmark{transition:none}.note{animation:fadeInNote .5s ease forwards}.music-note{transform:none}}.bucket-item{display:flex;align-items:flex-start;gap:1.1rem;font-weight:600;letter-spacing:.04em;background:#ffffffd9;padding:clamp(1.2rem,2.9vw,1.75rem) clamp(1.4rem,3vw,2.25rem);border-radius:26px;box-shadow:inset 0 0 0 1px #ffffff8c,0 15px 30px #4d1d8247;transform:translateZ(0);padding-right:clamp(1.5rem,3.2vw,2.5rem);transition:transform .4s ease,box-shadow .4s ease,background .4s ease;position:relative;contain:layout style;will-change:transform}@supports (backdrop-filter: blur(7px)){@media (hover: hover) and (pointer: fine){.bucket-item{background:#ffffffb3;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}}}.bucket-item.bucket-item-highlight{background:#ffffffd1;color:var(--text-primary);box-shadow:inset 0 0 0 1px #ffffffb3,0 26px 52px #8a3bd259;border:2px solid rgba(255,217,255,.85);padding:clamp(1.4rem,3vw,2rem) clamp(1.7rem,3.5vw,2.6rem)}.bucket-item.list-pop{animation:listPop 1.4s forwards ease var(--delay, 0s)}.bucket-drag-handle{border:0;border-radius:14px;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:#ffffffc7;box-shadow:inset 0 0 0 1px #ffffffbf,0 10px 22px #4b167a40;color:#3d1766cc;cursor:grab;flex-shrink:0;margin-top:0;align-self:center;transition:transform .2s ease,box-shadow .2s ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.bucket-drag-handle:focus-visible{outline:3px solid rgba(255,255,255,.7);outline-offset:3px;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffd9,0 16px 28px #3d0e694d}.bucket-drag-handle:active{cursor:grabbing;transform:translateY(1px)}.bucket-drag-icon{width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor,6px 0 0 currentColor,6px 6px 0 currentColor,6px 12px 0 currentColor;opacity:.9;pointer-events:none}.bucket-item.is-dragging{opacity:.85;transform:translateY(-6px) scale(1.01);box-shadow:inset 0 0 0 1px #ffffffb3,0 30px 56px #3d0e6959}.bucket-item.is-drop-target:after{content:"";position:absolute;left:1.5rem;right:1.5rem;height:4px;border-radius:999px;background:linear-gradient(135deg,#ffc4fff2,#956cffd9);box-shadow:0 6px 16px #450c7c59}.bucket-item.is-drop-target.drop-before:after{top:-10px}.bucket-item.is-drop-target.drop-after:after{bottom:-10px}.bucket-items.is-refreshing .bucket-item,.bucket-items.is-refreshing .checkmark{transition:none!important}@media (hover: hover) and (pointer: fine){.bucket-item:hover{transform:translateY(-8px) scale(1.015);box-shadow:inset 0 0 0 1px #ffffffb3,0 32px 48px #3d0e6952}}@media (hover: none),(pointer: coarse){.bucket-item:hover{transform:none;box-shadow:inset 0 0 0 1px #ffffff8c,0 15px 30px #4d1d8247}.bucket-item.is-touch-pressed{transform:translateY(-6px) scale(1.02);box-shadow:inset 0 0 0 1px #ffffffb3,0 26px 44px #3d0e694d}.bucket-item.is-touch-pressed .checkmark{transform:rotate(0) scale(1.04);box-shadow:inset 0 0 0 1px #ffffffbf,0 28px 42px #3d0e6952}.bucket-item{will-change:auto;transition:none}}.bucket-items-container.is-scrolling .bucket-item,.bucket-items-container.is-scrolling .checkmark,.bucket-items.is-scrolling .bucket-item,.bucket-items.is-scrolling .checkmark{transition:none!important;will-change:auto!important}.checkmark{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#f9ebffe6;position:relative;box-shadow:inset 0 0 0 1px #ffffffbf,0 8px 22px #581c8a61;flex-shrink:0;transform:rotate(-2deg);transition:transform .35s ease,box-shadow .35s ease;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;line-height:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box}.checkmark:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:10px;border:2px dashed rgba(158,99,226,.6);opacity:.6;transform:rotate(2deg)}.checkmark-icon{width:36px;height:36px;display:block;color:#5f1d9d}.bucket-item.bucket-item-highlight .checkmark{background:#fff5fff2;box-shadow:inset 0 0 0 1px #ffdbffcc,0 14px 26px #953fcc73;width:52px;height:52px}@media (hover: hover) and (pointer: fine){.bucket-item:hover .checkmark{transform:rotate(1deg) scale(1.06);box-shadow:inset 0 0 0 1px #ffffffbf,0 32px 48px #3d0e6952}}.checkmark:focus-visible{transform:rotate(1deg) scale(1.06);box-shadow:inset 0 0 0 1px #ffffffbf,0 32px 48px #3d0e6952}.bucket-item.bucket-item-highlight .checkmark:after{border-color:#ce6ef3a6}.bucket-item.bucket-item-highlight .checkmark-icon{width:40px;height:40px}.bucket-item.is-dreaming .checkmark{background:#f6e9ff8c;box-shadow:inset 0 0 0 1px #fff9,0 8px 16px #4b137e59}.bucket-item.is-dreaming .checkmark-icon{opacity:0}.bucket-item.is-dreaming .checkmark:after{border-style:solid;border-color:#9678d18c}.checkmark:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:3px}.item-text{flex:1;margin-top:0;display:flex;align-items:center;font-family:Kalam,cursive;font-weight:600;letter-spacing:.02em;color:var(--text-primary);cursor:text;border-radius:14px;line-height:1.25;min-height:clamp(2.6rem,4vw,3.2rem);padding:.2rem 0;transition:background .2s ease,box-shadow .2s ease,outline .2s ease,color .2s ease;word-break:break-word}.item-text:not([contenteditable=true]){cursor:pointer}.item-text.is-inline-editing,.item-text[contenteditable=true]:focus{align-items:flex-start;background:#ffffffdb;box-shadow:inset 0 0 0 1px #d19cff80,0 18px 32px #4e1a8338;outline:3px solid rgba(209,156,255,.6);outline-offset:4px;padding:.35rem .55rem}.item-text[contenteditable=true]::selection{background:#d19cff59;color:inherit}.bucket-item.bucket-item-highlight .item-text{font-size:clamp(1.35rem,2.8vw,1.9rem)}.bucket-item.is-dreaming .item-text{opacity:.88}.item-content{display:flex;flex:1;flex-direction:column;gap:clamp(.6rem,1.6vw,.85rem)}.item-schedule-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.item-schedule-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:999px;background:#673da326;color:#3e1d69e6;font-size:clamp(.88rem,1.8vw,1rem);letter-spacing:.03em}.item-schedule-button,.item-schedule-clear{border:0;border-radius:999px;padding:.35rem .9rem;font-size:clamp(.82rem,1.8vw,.96rem);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.item-schedule-button{background:linear-gradient(135deg,#ffcdfff2,#9676f0e6);color:#2a1149f2;box-shadow:inset 0 0 0 1px #fff9,0 14px 26px #4b177e3d}.item-schedule-button:hover,.item-schedule-button:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffbf,0 18px 32px #3d0e6947;outline:none}.item-schedule-clear{background:#fff9;color:#462070d9;box-shadow:inset 0 0 0 1px #ffffffb3,0 8px 18px #42156c33}.item-schedule-clear:hover,.item-schedule-clear:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffd9,0 12px 26px #3d0e6942;outline:none}.item-schedule-button:disabled,.item-schedule-clear:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:inset 0 0 0 1px #ffffff80,0 8px 16px #3d0e6929}.bucket-item.has-schedule .item-text{color:#241040eb}.bucket-item.is-editing{background:#ffffffe6;box-shadow:inset 0 0 0 1px #ffffffd9,0 28px 52px #531d8947}.bucket-empty{text-align:center;padding:clamp(1.6rem,3vw,2.2rem);color:#2f1252b8;font-family:Kalam,cursive;background:#ffffffd1;border-radius:24px;box-shadow:inset 0 0 0 1px #fffc,0 22px 44px #47127438}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.background-notes{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:auto;overflow:hidden;z-index:1}.background-notes .note,.background-notes .music-note{pointer-events:auto;cursor:pointer}.note{position:absolute;width:220px;height:220px;border-radius:16px;box-shadow:0 25px 45px #12052159;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;z-index:1;animation:fadeInNote 1.35s ease 0s forwards,floaty var(--floaty-duration, 12s) ease-in-out var(--floaty-delay, 0s) infinite alternate;border:2px dashed rgba(255,255,255,.2);--note-shift-x: 0px;--note-shift-y: 0px;--note-tilt: 0deg;transform-origin:center;transform:translate3d(var(--note-shift-x, 0px),var(--note-shift-y, 0px),0) rotate(calc(var(--note-rotation, 0deg) + var(--note-tilt, 0deg)))}.note:before,.note:after{content:"";position:absolute;left:18px;right:18px;height:3px;border-radius:999px;background:#602a7c4d}.note:before{top:60px}.note:after{top:100px}.note-one{background:#fff09cbf;top:8%;left:10%;--note-rotation: -8deg;--floaty-delay: 0s}.note-two{background:#ffb7f4bf;top:20%;right:14%;--note-rotation: 12deg;--floaty-delay: 1.5s}.note-three{background:#c3e1ffbf;bottom:12%;left:18%;--note-rotation: -15deg;--floaty-delay: 2.8s}.note-four{background:#cebbffbf;bottom:8%;right:12%;--note-rotation: 9deg;--floaty-delay: 3.6s}.note-five{background:#ffd7dcc7;top:55%;right:24%;width:180px;height:180px;--note-rotation: -6deg;--floaty-delay: 1.9s}.note-six{background:#d6f2ffc7;top:14%;left:55%;width:160px;height:160px;--note-rotation: 5deg;--floaty-delay: 2.4s}.melody-notes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.music-note{position:absolute;font-family:Kalam,cursive;font-size:clamp(1.6rem,3.8vw,3.2rem);color:#ffedffe0;text-shadow:0 10px 25px rgba(33,8,58,.4),0 0 12px rgba(255,255,255,.6);opacity:.55;z-index:3;transform:translate3d(0,20px,0) scale(.95);mix-blend-mode:screen}.music-note-one{top:12%;left:22%;--note-drift-duration: 16s}.music-note-two{top:18%;right:18%;font-size:clamp(1.8rem,4vw,3.5rem);--note-drift-duration: 12s}.music-note-three{top:42%;left:8%;--note-drift-duration: 18s}.music-note-four{bottom:32%;right:10%;--note-drift-duration: 15s}.music-note-five{bottom:18%;left:22%;--note-drift-duration: 13s}.music-note-six{bottom:12%;right:28%;--note-drift-duration: 17s}.music-note-seven{top:6%;right:32%;--note-drift-duration: 19s}.music-note-eight{top:48%;right:6%;--note-drift-duration: 14s}.music-note-nine{bottom:26%;left:8%;--note-drift-duration: 20s}.music-note-ten{top:34%;left:42%;--note-drift-duration: 16s}.schedule-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:clamp(1.1rem,4vw,2.2rem);background:#1c07378c;transition:opacity .22s ease,visibility .22s ease;opacity:0;visibility:hidden}.schedule-overlay.is-open{opacity:1;visibility:visible}.schedule-overlay:not(.is-open){pointer-events:none}.schedule-drawer{width:min(520px,100%);display:flex;flex-direction:column;background:linear-gradient(135deg,#fffffff5,#f7e3fff5);border-radius:28px 28px 18px 18px;box-shadow:0 40px 80px #1f07346b;padding:clamp(1.8rem,4vw,2.4rem);transform:translateY(16px);transition:transform .24s ease;outline:none}.schedule-overlay.is-open .schedule-drawer{transform:translateY(0)}.schedule-close{align-self:flex-end;background:none;border:0;color:#36175ed9;font-weight:600;font-size:.95rem;cursor:pointer;padding:.2rem .4rem}.schedule-title{font-family:Kalam,cursive;font-size:clamp(1.6rem,4vw,2.2rem);color:#2a1149f2;margin-bottom:.6rem}.schedule-subtitle{color:#3e1d69d1;font-size:clamp(1.02rem,2.4vw,1.2rem);margin-bottom:1.4rem}.schedule-form{display:flex;flex-direction:column;gap:1.4rem}.schedule-label{display:flex;flex-direction:column;gap:.6rem;font-weight:600;color:#3e1d69d9}.schedule-input{border:0;border-radius:16px;padding:.85rem 1rem;font-size:1rem;background:#ffffffe6;box-shadow:inset 0 0 0 1px #d2aaff99,0 18px 32px #5220832e;color:#301652f2}.schedule-input:focus{outline:3px solid rgba(210,170,255,.85);outline-offset:3px}.schedule-actions{display:flex;flex-wrap:wrap;gap:.75rem}.schedule-save{border:0;border-radius:18px;padding:.6rem 1.4rem;font-size:1rem;font-weight:700;background:linear-gradient(135deg,#ffb7fff2,#8a60ffeb);color:#2a1149f5;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffffa6,0 18px 34px #4f188042;transition:transform .25s ease,box-shadow .25s ease}.schedule-save:hover,.schedule-save:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffbf,0 24px 40px #3d0e6952}.schedule-remove{border:0;border-radius:18px;padding:.5rem 1.2rem;font-size:.95rem;font-weight:600;background:#fffc;color:#421a6ce6;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffffb3,0 14px 26px #46156f38;transition:transform .2s ease,box-shadow .2s ease}.schedule-remove:hover,.schedule-remove:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffd9,0 18px 30px #3d0e6947}.schedule-remove[hidden]{display:none}@keyframes floaty{0%,to{transform:translate3d(var(--note-shift-x, 0px),calc(var(--note-shift-y, 0px) + 0px),0) scale(1) rotate(calc(var(--note-rotation, 0deg) + var(--note-tilt, 0deg)))}50%{transform:translate3d(var(--note-shift-x, 0px),calc(var(--note-shift-y, 0px) - 18px),0) scale(1.03) rotate(calc(var(--note-rotation, 0deg) + var(--note-tilt, 0deg)))}}@keyframes fadeInNote{0%{opacity:0}to{opacity:1}}@keyframes listPop{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.bucket-frame{width:min(680px,100%);padding:clamp(2.2rem,5vw,3.4rem)}.note{width:200px;height:200px}.bucket-header h1{font-size:clamp(2.9rem,7vw,4.8rem)}}@media (max-width: 820px){body{padding:2.8rem 1.4rem}.bucket-frame{width:min(600px,100%);padding:clamp(2rem,5vw,3.1rem)}.bucket-items{gap:1.3rem}.note{width:180px;height:180px}.music-note-one{left:16%}.music-note-two{right:12%}.music-note-three{left:4%}.music-note-five{left:16%}}@media (max-width: 720px){body{padding:2.5rem 1.2rem}.bucket-frame{border-radius:24px}.note{width:150px;height:150px}.music-note{font-size:clamp(1.4rem,4vw,2.4rem)}.checkmark{width:42px;height:42px}.checkmark-icon{width:30px;height:30px}.bucket-item{gap:.9rem}}@media (max-width: 600px){body{padding:2.4rem 1.1rem}.bucket-header{margin-bottom:2rem}.bucket-header h1{font-size:clamp(2.5rem,8vw,3.8rem)}.tagline{font-size:.96rem;letter-spacing:.05em}.bucket-frame{border-radius:24px;padding:clamp(1.8rem,5vw,2.6rem)}.bucket-item{padding:1rem 1.5rem;border-radius:20px}.bucket-item.bucket-item-highlight{padding:1.2rem 1.8rem}.bucket-items{padding-right:.6rem;padding-left:.6rem;padding-bottom:1rem}.checkmark{width:40px;height:40px}.checkmark-icon{width:28px;height:28px}.note{width:150px;height:150px;opacity:.9}.music-note{opacity:.7}.music-note-seven{right:12%}.music-note-eight{right:4%;top:52%}.music-note-nine{left:4%}.music-note-ten{left:38%;top:46%}}@media (max-width: 420px){body{padding:2rem 1rem 2.5rem}.bucket-frame{padding:1.6rem 1.4rem}.bucket-items{gap:1.1rem}.bucket-item{padding:.95rem 1.2rem;gap:.75rem}.bucket-item.bucket-item-highlight{padding:1.05rem 1.4rem}.bucket-items{padding-right:.4rem;padding-left:.4rem;padding-bottom:.9rem}.item-text{font-size:1rem}.bucket-item.bucket-item-highlight .item-text{font-size:1.2rem}.note{width:130px;height:130px}.music-note{font-size:clamp(1.3rem,5vw,2rem);opacity:.65}}.item-memories-button{border:0;border-radius:999px;padding:.35rem .9rem;font-size:clamp(.82rem,1.8vw,.96rem);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:linear-gradient(135deg,#c3e1fff2,#9676f0e6);color:#2a1149f2;box-shadow:inset 0 0 0 1px #fff9,0 14px 26px #4b177e3d}.item-memories-button:hover,.item-memories-button:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffbf,0 18px 32px #3d0e6947;outline:none}.memory-page{width:min(800px,100%);min-height:100vh;min-height:100dvh;padding:clamp(1rem,3vw,2rem);padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));position:relative;z-index:2}.memory-loading,.memory-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;font-family:Kalam,cursive;font-size:clamp(1.2rem,3vw,1.6rem);color:#ffffffe6}.memory-error p{margin-bottom:1.5rem}.memory-header{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.2rem);margin-bottom:clamp(1.5rem,4vw,2.5rem);flex-wrap:wrap}.memory-back-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:14px;background:#ffffffd9;color:var(--text-primary);cursor:pointer;box-shadow:inset 0 0 0 1px #fff9,0 14px 26px #4b177e3d;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}.memory-back-button:hover,.memory-back-button:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffffbf,0 18px 32px #3d0e6947}.memory-back-icon{width:28px;height:28px}.memory-title{flex:1;font-family:Kalam,cursive;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;color:#fff;text-shadow:0 8px 20px rgba(28,4,51,.5);min-width:0;word-break:break-word}.memory-badge{padding:.4rem 1rem;border-radius:999px;background:linear-gradient(135deg,#ffb7fff2,#8a60ffe6);color:#fff;font-size:clamp(.85rem,2vw,1rem);font-weight:600;box-shadow:0 8px 20px #4b177e4d}.memory-section{background:var(--frame-gradient);border-radius:24px;padding:clamp(1.2rem,3vw,2rem);margin-bottom:clamp(1rem,3vw,1.5rem);box-shadow:var(--frame-shadow);border:2px solid rgba(255,255,255,.45)}.memory-section-title{font-family:Kalam,cursive;font-size:clamp(1.3rem,3vw,1.8rem);color:var(--text-primary);margin-bottom:clamp(1rem,2.5vw,1.5rem)}.memory-empty{color:#3a195c99;font-style:italic;text-align:center;padding:1rem}.memory-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:clamp(.8rem,2vw,1.2rem)}.memory-photo-item{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#ffffff80;box-shadow:0 8px 20px #4b177e33}.memory-photo-item img{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform .3s ease}.memory-photo-item:hover img{transform:scale(1.05)}.memory-photo-delete{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.memory-photo-item:hover .memory-photo-delete,.memory-photo-item:focus-within .memory-photo-delete{opacity:1}.memory-photo-delete svg{width:18px;height:18px}.memory-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:.85rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.memory-notes-list{display:flex;flex-direction:column;gap:clamp(.8rem,2vw,1rem)}.memory-note-item{background:#fffc;border-radius:16px;padding:clamp(1rem,2.5vw,1.4rem);box-shadow:inset 0 0 0 1px #fff9,0 8px 20px #4b177e26}.memory-note-content{color:var(--text-primary);font-size:clamp(1rem,2.2vw,1.15rem);line-height:1.5;white-space:pre-wrap;word-break:break-word}.memory-note-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(150,100,200,.2)}.memory-note-date{font-size:.85rem;color:#3a195c99}.memory-note-delete{border:0;background:none;color:#c86496cc;font-size:.85rem;cursor:pointer;padding:.3rem .6rem;border-radius:8px;transition:background .2s ease}.memory-note-delete:hover{background:#c864961a}.memory-action-bar{position:fixed;bottom:0;left:0;right:0;display:flex;gap:1rem;padding:clamp(1rem,3vw,1.5rem);padding-bottom:calc(clamp(1rem,3vw,1.5rem) + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,rgba(53,24,87,.98),rgba(53,24,87,.9) 70%,transparent);z-index:50}.memory-action-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:clamp(.9rem,2.5vw,1.2rem);border:0;border-radius:16px;font-family:Kalam,cursive;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:600;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff80,0 14px 28px #4b177e59;transition:transform .2s ease,box-shadow .2s ease}.memory-action-button:hover,.memory-action-button:focus-visible{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffffffb3,0 18px 36px #3d0e6966}.memory-action-button svg{width:24px;height:24px}.memory-action-photo{background:linear-gradient(135deg,#ffb7fff2,#8a60ffe6);color:#fff}.memory-action-note{background:#ffffffe6;color:var(--text-primary)}.memory-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c0737b3;display:flex;align-items:flex-end;justify-content:center;padding:clamp(1rem,3vw,2rem);z-index:100}.memory-modal{width:min(500px,100%);background:var(--frame-gradient);border-radius:24px 24px 16px 16px;padding:clamp(1.5rem,4vw,2rem);box-shadow:0 -20px 60px #1f073480}.memory-modal-title{font-family:Kalam,cursive;font-size:clamp(1.4rem,3.5vw,1.8rem);color:var(--text-primary);margin-bottom:1rem}.memory-note-textarea{width:100%;border:0;border-radius:14px;padding:clamp(.9rem,2.5vw,1.2rem);font-size:clamp(1rem,2.2vw,1.15rem);font-family:inherit;color:var(--text-primary);background:#ffffffe6;box-shadow:inset 0 0 0 1px #d2aaff80,0 12px 24px #52208326;resize:vertical;min-height:100px}.memory-note-textarea:focus{outline:3px solid rgba(210,170,255,.7);outline-offset:2px}.memory-modal-actions{display:flex;gap:.8rem;margin-top:1.2rem;justify-content:flex-end}.memory-modal-cancel,.memory-modal-save{border:0;border-radius:12px;padding:.7rem 1.4rem;font-size:clamp(.95rem,2vw,1.1rem);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.memory-modal-cancel{background:#ffffffb3;color:#3a195cd9}.memory-modal-save{background:linear-gradient(135deg,#ffb7fff2,#8a60ffe6);color:#fff;box-shadow:0 10px 24px #4b177e4d}.memory-modal-cancel:hover,.memory-modal-save:hover{transform:translateY(-2px)}.memory-modal-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.memory-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem);z-index:200;cursor:pointer}.memory-lightbox img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px}.memory-lightbox-caption{margin-top:1rem;color:#ffffffe6;font-size:clamp(1rem,2.5vw,1.2rem);text-align:center;max-width:600px}@media (max-width: 600px){.memory-photo-grid{grid-template-columns:repeat(2,1fr)}.memory-action-button span{display:none}.memory-action-button{padding:1rem}.memory-action-button svg{width:28px;height:28px}}@media (min-width: 768px){.memory-photo-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.memory-photo-grid{grid-template-columns:repeat(4,1fr)}}@media (hover: none),(pointer: coarse){.memory-photo-delete{opacity:1}.memory-action-button{transition:none}.memory-action-button:active{transform:scale(.98)}}.password-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;position:relative;z-index:2}.password-form{display:flex;flex-direction:column;align-items:center;gap:1.2rem;width:min(380px,100%);padding:clamp(2.2rem,5vw,3rem);border-radius:28px;background:var(--frame-gradient);box-shadow:var(--frame-shadow);border:2px solid rgba(255,255,255,.45)}.password-title{font-family:Kalam,cursive;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:700;color:var(--text-primary)}.password-input{width:100%;border:0;border-radius:16px;padding:.9rem 1.2rem;font-size:1.1rem;font-family:inherit;color:var(--text-primary);background:#ffffffe6;box-shadow:inset 0 0 0 1px #d2aaff99,0 12px 24px #5220832e;text-align:center}.password-input:focus{outline:3px solid rgba(210,170,255,.85);outline-offset:3px}.password-error{color:#eb60a4f0;font-size:.95rem;font-family:Kalam,cursive}.password-submit{width:100%;border:0;border-radius:18px;padding:.85rem 1.6rem;font-size:1.1rem;font-family:Kalam,cursive;font-weight:700;background:linear-gradient(135deg,#ffb7fff2,#8a60ffe6);color:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px #fff9,0 18px 32px #511a8452;transition:transform .25s ease,box-shadow .25s ease}.password-submit:hover,.password-submit:focus-visible{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffffffb3,0 22px 40px #3a126461}.password-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.core-memories-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:clamp(1.2rem,2.8vw,1.8rem);padding:clamp(.85rem,2.2vw,1.1rem) clamp(1.4rem,3.2vw,2.2rem);border:0;border-radius:999px;font-family:Kalam,cursive;font-size:clamp(1.1rem,2.6vw,1.4rem);font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,#ff8cc8f2,#ff5a96eb 50%,#c850ffe6);color:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff80,0 20px 40px #b4287859,0 0 60px #ff78c833;transition:transform .3s ease,box-shadow .3s ease;position:relative;z-index:2;text-shadow:0 2px 8px rgba(120,20,80,.3)}.core-memories-button:hover,.core-memories-button:focus-visible{transform:translateY(-4px) scale(1.02);box-shadow:inset 0 0 0 1px #ffffffa6,0 28px 52px #b4287866,0 0 80px #ff78c84d}.core-memories-button:focus-visible{outline:3px solid rgba(255,200,230,.7);outline-offset:4px}.core-memories-button:active{transform:translateY(-1px) scale(.98)}.core-memories-button-icon{width:22px;height:22px;filter:drop-shadow(0 2px 4px rgba(120,20,80,.3))}.memory-photo-favourite{position:absolute;top:8px;left:8px;width:36px;height:36px;border:0;border-radius:50%;background:#00000073;color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,transform .2s ease,background .2s ease;z-index:2}.memory-photo-favourite svg{width:20px;height:20px}.memory-photo-item:hover .memory-photo-favourite,.memory-photo-item:focus-within .memory-photo-favourite,.memory-photo-favourite.is-favourite{opacity:1}.memory-photo-favourite.is-favourite{background:#ff3c78d9;color:#fff}.memory-photo-favourite:hover{transform:scale(1.15)}.memory-photo-favourite.is-favourite:hover{background:#ff2864f2}body.core-memories-open{overflow:hidden}.core-memories-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#1c0737a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:clamp(1rem,3vw,2rem);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:coreMemoriesFadeIn .25s ease}@keyframes coreMemoriesFadeIn{0%{opacity:0}to{opacity:1}}.core-memories-panel{width:min(860px,100%);max-height:85vh;max-height:85dvh;margin:auto;display:flex;flex-direction:column;background:var(--frame-gradient);border-radius:28px;box-shadow:0 40px 100px #1f07348c,0 0 80px #ff78c826;border:2px solid rgba(255,255,255,.45);overflow:hidden;animation:coreMemoriesSlideUp .3s ease}@keyframes coreMemoriesSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.core-memories-header{display:flex;align-items:center;justify-content:space-between;padding:clamp(1.2rem,3vw,1.8rem) clamp(1.5rem,3.5vw,2.2rem);border-bottom:1px solid rgba(150,100,200,.2);flex-shrink:0}.core-memories-title{font-family:Kalam,cursive;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,#5a1a8a,#c44a90);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.core-memories-close{width:42px;height:42px;border:0;border-radius:12px;background:#ffffffb3;color:#3a195ccc;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease;flex-shrink:0}.core-memories-close svg{width:22px;height:22px}.core-memories-close:hover{transform:scale(1.08);background:#ffffffe6}.core-memories-body{flex:1;min-height:0;-webkit-overflow-scrolling:touch;overflow-y:auto;padding:clamp(1.2rem,3vw,2rem);scrollbar-color:rgba(154,118,222,.55) rgba(255,255,255,.1);scrollbar-width:thin}.core-memories-body::-webkit-scrollbar{width:8px}.core-memories-body::-webkit-scrollbar-track{background:#ffffff1a;border-radius:999px}.core-memories-body::-webkit-scrollbar-thumb{background:#9a76de8c;border-radius:999px}.core-memories-loading,.core-memories-error{text-align:center;font-family:Kalam,cursive;font-size:clamp(1.1rem,2.5vw,1.4rem);color:#3a195cbf;padding:3rem 1rem}.core-memories-error{color:#eb60a4f0}.core-memories-empty{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:clamp(2.5rem,6vw,4rem) 1rem;text-align:center;font-family:Kalam,cursive;color:#3a195ca6}.core-memories-empty-icon{width:52px;height:52px;color:#ff78b480}.core-memories-empty p{font-size:clamp(1.2rem,2.8vw,1.5rem);font-weight:600}.core-memories-empty-hint{font-size:clamp(.95rem,2.2vw,1.1rem)!important;font-weight:400!important;color:#3a195c80}.core-memories-groups{display:flex;flex-direction:column;gap:clamp(1.5rem,3.5vw,2.2rem)}.core-memories-group-title{font-family:Kalam,cursive;font-size:clamp(1.15rem,2.8vw,1.45rem);font-weight:600;color:var(--text-primary);margin-bottom:clamp(.6rem,1.5vw,1rem);padding-bottom:.5rem;border-bottom:2px solid rgba(200,140,255,.3)}.core-memories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:clamp(.6rem,1.5vw,1rem)}.core-memories-photo{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#ffffff80;box-shadow:0 8px 20px #4b177e33;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.core-memories-photo:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 32px #4b177e4d}.core-memories-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.core-memories-photo:hover img{transform:scale(1.06)}.core-memories-caption{position:absolute;bottom:0;left:0;right:0;padding:.4rem .6rem;background:linear-gradient(transparent,#000000a6);color:#fff;font-size:.8rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}@media (max-width: 600px){.core-memories-panel{max-height:92vh;max-height:92dvh;border-radius:20px}.core-memories-grid{grid-template-columns:repeat(2,1fr)}.core-memories-button{padding:.8rem 1.4rem}}@media (min-width: 768px){.core-memories-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.core-memories-grid{grid-template-columns:repeat(4,1fr)}}@media (hover: none),(pointer: coarse){.memory-photo-favourite{opacity:1}.memory-photo-favourite:hover{transform:none}.memory-photo-favourite:active{transform:scale(1.15)}.core-memories-photo{transition:none}.core-memories-photo:active{transform:scale(.97)}}
