/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}}:root{color:#411136;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ffedf6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{touch-action:pan-x pan-y}body{background:#ffedf6;min-width:320px;min-height:100svh;margin:0}#root{min-height:100svh}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #d798ef}svg{width:100%;height:100%;display:block}.cosmic-shell{background-color:#ffedf6;background-image:linear-gradient(#fff1f814,#ffebf70a),url(/cosmic-pink-background.png);background-position:50%,50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;width:100%;max-width:28rem;min-height:100svh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffcfe4}.page-content{z-index:1;padding:max(1.5rem, env(safe-area-inset-top)) 1.35rem 1rem;flex-direction:column;flex:1;display:flex}.home-intro,.diary-intro{min-height:10.75rem;padding-top:2.5rem;position:relative}.home-intro h1,.diary-intro h1{z-index:2;letter-spacing:-.065em;margin:1.5rem 0 0;font-family:Georgia,Times New Roman,serif;font-weight:700;position:relative}.home-intro h1{white-space:nowrap;width:calc(100% + .25rem);max-width:none;margin-top:1rem;font-size:clamp(2.5rem,12.2vw,3.45rem);line-height:.94}.title-sparkle{color:#ef4b95;width:1.45rem;height:1.45rem;margin:.35rem 0 0 .45rem;position:absolute}.hero-moon{z-index:1;object-fit:contain;filter:drop-shadow(0 10px 18px #d5428b33);width:13rem;height:13rem;position:absolute;top:-2.4rem;right:-4rem;transform:rotate(-8deg)}.celestial-card{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffffdb;border:1px solid #ef80b385;border-radius:1.85rem;position:relative;overflow:hidden;box-shadow:0 0 0 4px #ffffff40,0 20px 40px #992d7033,inset 0 1px #fffffff2}.celestial-card h2{color:#411136;letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:700}.duration-orbit{flex:1;min-height:18rem;position:relative}.selection-status{z-index:6;color:#7b315e;white-space:nowrap;background:#fff8fcf0;border:1px solid #ef4b9557;border-radius:999px;align-items:center;gap:.35rem;width:max-content;max-width:100%;margin:0;padding:.45rem .75rem;font-size:.68rem;animation:.65s cubic-bezier(.2,.9,.3,1.25) both celebration-banner;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #c6307e2e,inset 0 1px #fffffff2}.selection-status strong{color:#e5337e;font-family:Georgia,Times New Roman,serif;font-size:.8rem}.duration-orb{aspect-ratio:1;will-change:transform;position:absolute}.duration-orb-15{width:5.15rem;animation:6.8s ease-in-out -1.2s infinite orb-drift-15;top:11%;left:10%}.duration-orb-30{width:6.55rem;animation:8.9s ease-in-out -4.1s infinite orb-drift-30;top:34.5%;right:7%}.duration-orb-45{width:7.8rem;animation:11.3s ease-in-out -7.4s infinite orb-drift-45;bottom:9%;left:14%}.duration-orb button{z-index:2;aspect-ratio:1;filter:drop-shadow(0 7px 9px #b5327629);color:#6a1d55;text-shadow:0 1px #ffffffb3;background:url(/cosmic-empty-orb.png) 50%/cover no-repeat;border:3px solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;line-height:1;transition:filter .15s,transform .15s;display:flex;position:relative}.duration-orb button:active{filter:drop-shadow(0 3px 5px #b5327624);transform:scale(.97)}.duration-orb button.is-recorded{filter:saturate(1.22)contrast(1.04)drop-shadow(0 10px 12px #b5327640);border-color:#fffffffa;transform:scale(1.08);box-shadow:0 0 0 5px #ee4a95,0 0 1.75rem #ea3d91b3}.duration-check{z-index:5;color:#fff;background:linear-gradient(145deg,#f23f8b,#c556d4);border:2px solid #fff;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;animation:.52s cubic-bezier(.2,.9,.3,1.35) both celebration-check;display:grid;position:absolute;top:-.2rem;right:-.2rem;box-shadow:0 5px 12px #bc2d7a52}.duration-check svg{width:1rem;height:1rem}.selection-burst{z-index:4;pointer-events:none;position:absolute;inset:0}.selection-burst>span{--spark-x:0rem;--spark-y:-3.8rem;opacity:0;background:#fff;border-radius:50%;width:.48rem;height:.48rem;animation:.9s ease-out forwards celebration-spark;position:absolute;top:50%;left:50%;box-shadow:0 0 .6rem #ef4b95}.selection-burst>span:nth-child(2){--spark-x:2.8rem;--spark-y:-2.7rem;animation-delay:45ms}.selection-burst>span:nth-child(3){--spark-x:3.8rem;--spark-y:0rem;animation-delay:90ms}.selection-burst>span:nth-child(4){--spark-x:2.6rem;--spark-y:2.8rem;animation-delay:.135s}.selection-burst>span:nth-child(5){--spark-x:0rem;--spark-y:3.8rem;animation-delay:.18s}.selection-burst>span:nth-child(6){--spark-x:-2.8rem;--spark-y:2.6rem;animation-delay:.225s}.selection-burst>span:nth-child(7){--spark-x:-3.8rem;--spark-y:0rem;animation-delay:.27s}.selection-burst>span:nth-child(8){--spark-x:-2.6rem;--spark-y:-2.8rem;animation-delay:.315s}.duration-orb strong{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-size:1.55rem}.duration-orb button>span{letter-spacing:.04em;text-transform:uppercase;margin-top:.15rem;font-size:.63rem;font-weight:800}.duration-orb-15 strong{font-size:1.35rem}.duration-orb-15 span{font-size:.56rem}.duration-orb-30 strong{font-size:1.65rem}.duration-orb-30 span{font-size:.64rem}.duration-orb-45 strong{font-size:1.95rem}.duration-orb-45 span{font-size:.72rem}@keyframes orb-drift-15{0%,to{transform:translate(0)rotate(-1deg)}24%{transform:translate(.45rem,-.35rem)rotate(1deg)}53%{transform:translate(-.2rem,-.7rem)rotate(0)}78%{transform:translate(-.5rem,-.15rem)rotate(-2deg)}}@keyframes orb-drift-30{0%,to{transform:translate(0)rotate(1deg)}31%{transform:translate(-.55rem,-.3rem)rotate(-1deg)}57%{transform:translate(.3rem,-.75rem)rotate(2deg)}82%{transform:translate(.6rem,.1rem)rotate(0)}}@keyframes orb-drift-45{0%,to{transform:translate(0)rotate(-1deg)}21%{transform:translate(.5rem,-.25rem)rotate(1deg)}48%{transform:translate(.2rem,-.8rem)rotate(0)}74%{transform:translate(-.6rem,-.4rem)rotate(-2deg)}}@keyframes celebration-banner{0%{opacity:0;transform:translate(-50%,-.5rem)scale(.82)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes celebration-check{0%{opacity:0;transform:scale(.25)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes celebration-spark{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}22%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) scale(1.35)}}.diary-intro h1{color:#411136;white-space:nowrap;width:calc(100% + .25rem);max-width:none;margin-top:1rem;font-size:clamp(2.5rem,12.2vw,3.45rem);line-height:.94}.diary-card{margin-block:auto;padding:1rem .85rem 1.15rem}.calendar-header{grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:.45rem;display:grid}.calendar-header h2{text-align:center;white-space:nowrap;font-size:1.15rem;line-height:1}.calendar-header button{color:#d8327c;background:#ffeff7d6;border:1px solid #e543893d;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;transition:transform .15s,opacity .15s;display:grid;box-shadow:0 4px 10px #b532761a}.calendar-header button span{display:block}.calendar-header button svg{width:1.15rem;height:1.15rem}.calendar-header button:active:not(:disabled){transform:scale(.94)}.calendar-header button:disabled{color:#aa9ba4;opacity:.5;background:#ebe6e980;border-color:#6f5b671f}.calendar-today{color:#d8327c;background:#ffeff7c7;border:1px solid #e5438933;border-radius:999px;min-width:4.25rem;min-height:1.8rem;margin:.55rem auto 0;font-size:.65rem;font-weight:800;transition:opacity .15s,transform .15s;display:block}.calendar-today:active:not(:disabled){transform:scale(.95)}.calendar-today:disabled{color:#aa9ba4;opacity:.52;background:#ebe6e957;border-color:#6f5b671a}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{color:#9a6b86;letter-spacing:.05em;text-align:center;text-transform:uppercase;margin-top:.7rem;font-size:.58rem;font-weight:800}.calendar-grid{gap:.18rem .12rem;margin-top:.45rem}.calendar-blank{aspect-ratio:1}.calendar-grid button{aspect-ratio:1;color:#572043;background:0 0;border:1px solid #0000;border-radius:50%;width:100%;font-size:.76rem;font-weight:750;transition:background .15s,box-shadow .15s,color .15s,transform .15s}.calendar-grid button:active:not(:disabled){transform:scale(.9)}.calendar-grid button:disabled{color:#695e6457;background:0 0;border-color:#0000}.calendar-grid button.has-run{color:#6a1d55;background:#f8b8d4;border-color:#f062a238;box-shadow:0 4px 10px #cd388729}.calendar-grid button.is-selected{color:#fff;background:linear-gradient(145deg,#f25498,#c458d8);border-color:#ffffffd9;box-shadow:0 5px 12px #cd388742}.calendar-grid button.has-run.is-selected{background:linear-gradient(145deg,#f075aa,#e55499);box-shadow:0 0 0 3px #e760a138,0 5px 12px #cd38873d}.calendar-selection{color:#8a5473;justify-content:center;align-items:center;gap:.45rem;min-height:1.5rem;margin:.55rem 0 0;font-size:.7rem;display:flex}.calendar-selection strong{color:#d8327c;font-size:.75rem}.calendar-total{color:#8a5473;justify-content:center;align-items:baseline;gap:.45rem;margin:.1rem 0 0;font-size:.66rem;font-weight:650;display:flex}.calendar-total strong{color:#d8327c;font-size:.76rem}.calendar-total.is-empty{visibility:hidden}.update-card{z-index:4;background:#ffffffeb;border:1px solid #ef80b380;border-radius:1rem;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;display:flex;box-shadow:0 10px 24px #992d7029}.update-card div{flex:1;font-size:.74rem}.update-card strong,.update-card span{display:block}.update-card span{color:#75425f;margin-top:.15rem}.update-card button{color:#fff;background:#e93982;border:0;border-radius:.75rem;flex:none;padding:.65rem .8rem;font-size:.73rem;font-weight:700}.cosmic-dock{z-index:5;min-height:5.2rem;margin:.7rem .8rem max(.8rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd4;border:1px solid #fffffffa;border-radius:2.4rem;grid-template-columns:repeat(2,1fr);padding:.55rem 1.6rem;display:grid;box-shadow:0 14px 30px #7f215b2e,inset 0 1px #fffffff2}.cosmic-dock button{color:#795068;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;font-size:.69rem;font-weight:700;transition:color .15s,transform .15s;display:flex;position:relative}.cosmic-dock button.is-active{color:#e73880}.cosmic-dock button.is-active:after{content:"";background:#ec3d86;border-radius:999px;width:1.85rem;height:.18rem;position:absolute;bottom:-.1rem}.cosmic-dock button:active{transform:scale(.96)}.dock-icon{width:1.55rem;height:1.55rem}.dock-label{line-height:1.3}@media (width>=28rem){body{padding:1rem}#root{min-height:calc(100svh - 2rem)}.cosmic-shell{border-radius:2rem;min-height:calc(100svh - 2rem)}}@media (height<=47rem){.home-intro,.diary-intro{min-height:10.2rem}.home-intro h1,.diary-intro h1{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.duration-orb,.duration-check,.selection-burst>span,.selection-status{animation:none}}
