/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--photo-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><defs><filter id='f' x='-40%25' y='-40%25' width='180%25' height='180%25'><feGaussianBlur stdDeviation='4.4'/></filter></defs><path filter='url(%23f)' fill='%23ffffff' d='M55.5 100C49.5 98.2 38.3 84.1 33 79C27.7 73.9 26.6 73.2 23.9 69.1C21.3 65.1 18.6 59.2 17.3 54.7C15.9 50.3 15.6 46.7 16 42.7C16.4 38.6 17.2 34.3 19.7 30.6C22.2 26.9 26.1 22.5 30.8 20.5C35.4 18.4 43 16.2 47.7 18.2C52.4 20.2 55.2 31.2 59.1 32.6C63 33.9 67.1 26.7 71.1 26C75.2 25.2 79.7 26.2 83.2 28.1C86.6 30.1 89.9 34 91.8 37.7C93.7 41.4 94.9 45.3 94.6 50.3C94.3 55.3 92.4 62.6 89.9 67.7C87.3 72.8 82.7 77.3 79.3 81C75.9 84.8 73.3 86.9 69.4 90.1C65.4 93.2 61.6 101.8 55.5 100Z'/></svg>");--ink:oklch(23% .022 250);--ink-2:oklch(38% .022 250);--muted:oklch(53% .02 245);--faint:oklch(66% .016 245);--line:oklch(30% .03 250/.08);--line-strong:oklch(30% .03 250/.14);--paper:oklch(100% 0 0);--accent:oklch(60% .11 205);--accent-strong:oklch(46% .1 212);--accent-soft:oklch(93% .05 205);--rose:oklch(70% .12 350);--rose-soft:oklch(94% .045 350);--lilac:oklch(84% .07 290);--sky:oklch(87% .075 235);--sage:oklch(86% .085 165);--butter:oklch(92% .095 95);--peach:oklch(83% .1 45);--danger:oklch(57% .17 25);--danger-soft:oklch(94% .05 25);--success:oklch(58% .12 170);--glass-bg:linear-gradient(180deg,oklch(100% 0 0/.64),oklch(100% 0 0/.46));--glass-border:oklch(100% 0 0/.66);--glass-shadow:inset 0 1px 0 oklch(100% 0 0/.92),inset 0 -1px 0 oklch(30% .03 250/.04),0 1px 2px oklch(30% .03 250/.04),0 24px 60px -28px oklch(35% .05 240/.28);--card-bg:oklch(100% 0 0/.5);--card-border:oklch(100% 0 0/.72);--card-shadow:inset 0 1px 0 oklch(100% 0 0/.85),0 10px 30px -18px oklch(35% .05 240/.25);--chrome-bg:oklch(100% 0 0/.16);--chrome-blur:blur(10px)saturate(1.7)brightness(1.03);--panel-blur:blur(20px)saturate(1.5);--r-xl:1.75rem;--r-lg:1.35rem;--r-md:1rem;--r-sm:.7rem;--shell:76rem;--gutter:clamp(1rem,3vw,2.5rem);--ease:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.4,.64,1);--dur:.32s;--font:var(--font-sans),-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Noto Sans SC","Segoe UI",Roboto,system-ui,sans-serif;--display:var(--font-serif),var(--font-serif-sc),"Songti SC","Noto Serif SC","Source Han Serif SC","STSong",Georgia,serif;--glass-light-x:24%;--glass-light-y:0%}*,:after,:before{box-sizing:border-box}html{color-scheme:light;-webkit-text-size-adjust:100%;background:oklch(97.4% .012 230)}body{isolation:isolate;min-height:100dvh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;font-size:.95rem;line-height:1.55;overflow-x:clip}body:before{z-index:-2;animation:wallpaper-drift 42s var(--ease)infinite alternate;will-change:transform;background:radial-gradient(42rem 34rem at 12% 12%,oklch(90% .07 205/.75),#0000 70%),radial-gradient(40rem 32rem at 88% 10%,oklch(92% .06 350/.7),#0000 70%),radial-gradient(38rem 30rem at 78% 82%,oklch(90% .07 290/.55),#0000 70%),radial-gradient(34rem 28rem at 16% 86%,oklch(94% .07 95/.55),#0000 70%),radial-gradient(30rem 24rem,oklch(99% .005 90/.9),#0000 72%),linear-gradient(160deg,oklch(97.8% .014 210),oklch(97.6% .014 340));inset:-12%}body:after,body:before{content:"";pointer-events:none;position:fixed}body:after{z-index:-1;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:180px 180px;inset:0}@keyframes wallpaper-drift{0%{transform:translate(-1.2%,-.8%)scale(1.02)}to{transform:translate(1.2%,1%)scale(1.06)}}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.005em;text-wrap:balance;font-feature-settings:"kern","liga","onum" 0;margin:0;font-weight:600;line-height:1.2}.calendar-head h3,.coin-balance b,.habit-value,.invite-setting b,.ring-wrap strong,.stat-chip b,.summary-person strong{font-family:var(--font)}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.55}button:focus,input:focus,textarea:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}ul{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}small{font-size:.78em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:1000;background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;border-radius:999px;padding:.7rem 1rem;font-weight:600;text-decoration:none;position:fixed;top:1rem;left:1rem;transform:translateY(-300%)}.skip-link:focus-visible{opacity:1;pointer-events:auto;transform:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.muted{font-size:.84rem}.hint,.muted{color:var(--muted)}.hint{font-size:.8rem;line-height:1.6}.gate-card,.habit,.panel{border-radius:var(--r-xl);border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);position:relative}.panel{padding:clamp(1.15rem,2.2vw,1.75rem)}.card{border-radius:var(--r-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);padding:1.1rem;position:relative}.glass-chrome{isolation:isolate;-webkit-backdrop-filter:var(--glass-filter, )var(--chrome-blur);backdrop-filter:var(--glass-filter, )var(--chrome-blur);background:linear-gradient(oklch(100% 0 0/.22),oklch(100% 0 0/.08));border:1px solid oklch(100% 0 0/.5);position:relative;transform:translateZ(0);box-shadow:inset 0 1px oklch(100% 0 0/.9),inset 0 -1px oklch(100% 0 0/.3),0 14px 44px -12px oklch(35% .05 240/.3),0 1px 3px oklch(35% .05 240/.06)}.glass-chrome:before{background:radial-gradient(12rem 6rem at var(--glass-light-x,24%)calc(var(--glass-light-y,0%) - 30%),oklch(100% 0 0/.75),transparent 60%),linear-gradient(110deg,oklch(90% .06 205/.14),transparent 40%,transparent 60%,oklch(93% .05 350/.14))}.glass-chrome:after,.glass-chrome:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.glass-chrome:after{-webkit-backdrop-filter:blur(1.5px)brightness(1.18)saturate(1.5);backdrop-filter:blur(1.5px)brightness(1.18)saturate(1.5);padding:6px;box-shadow:inset 0 0 0 1px oklch(100% 0 0/.45),inset 0 0 10px oklch(100% 0 0/.35);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}[data-glass=refract]{background:linear-gradient(oklch(100% 0 0/.16),oklch(100% 0 0/.05))}[data-glass=refract]:after{display:none}.primary{min-height:2.85rem;color:var(--paper);letter-spacing:.005em;white-space:nowrap;transition:transform var(--dur)var(--spring),box-shadow var(--dur)var(--ease),filter var(--dur)var(--ease);background:linear-gradient(oklch(36% .04 245),oklch(26% .03 250));border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.3rem;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px oklch(100% 0 0/.18),0 10px 24px -10px oklch(25% .04 250/.55)}.primary:after{content:"";pointer-events:none;transition:transform .8s var(--ease);background:linear-gradient(115deg,#0000 32%,oklch(100% 0 0/.26) 50%,#0000 68%);position:absolute;inset:0;transform:translate(-130%)}.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px oklch(100% 0 0/.2),0 16px 30px -12px oklch(25% .04 250/.6)}.primary:hover:not(:disabled):after{transform:translate(130%)}.primary:active:not(:disabled){transform:translateY(0)scale(.97)}.primary.wide{width:100%}.chip-button{min-height:2.2rem;color:var(--ink-2);white-space:nowrap;transition:transform var(--dur)var(--spring),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.7);border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:0 .9rem;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px oklch(100% 0 0/.8),0 4px 12px -8px oklch(35% .05 240/.3)}.chip-button:hover:not(:disabled){color:var(--ink);background:oklch(100% 0 0/.8);transform:translateY(-1px)}.chip-button:active:not(:disabled){transform:scale(.96)}.chip-button.strong{color:var(--accent-strong);background:linear-gradient(oklch(94% .05 205/.95),oklch(90% .06 205/.9));border-color:oklch(100% 0 0/.8)}.chip-button.strong:hover:not(:disabled){background:linear-gradient(oklch(96% .05 205),oklch(92% .065 205))}.chip-button.ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.chip-button.ghost:hover:not(:disabled){color:var(--ink);background:oklch(100% 0 0/.5)}.chip-button.danger{background:var(--danger-soft);color:var(--danger);border-color:oklch(100% 0 0/.8)}.chip-button svg{flex:none}.icon-button{width:2.4rem;height:2.4rem;color:var(--ink-2);transition:transform var(--dur)var(--spring),background .2s var(--ease),color .2s var(--ease);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.7);border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px oklch(100% 0 0/.85),0 4px 12px -8px oklch(35% .05 240/.3)}.icon-button:hover:not(:disabled){color:var(--ink);background:oklch(100% 0 0/.85);transform:translateY(-1px)}.icon-button:active:not(:disabled){transform:scale(.94)}.icon-button .badge{background:var(--rose);min-width:1.05rem;height:1.05rem;color:var(--paper);border-radius:999px;place-items:center;padding:0 .25rem;font-size:.6rem;font-style:normal;font-weight:700;display:grid;position:absolute;top:-.2rem;right:-.2rem;box-shadow:0 0 0 2px oklch(100% 0 0/.9)}.text-button{min-height:2.2rem;color:var(--accent-strong);transition:gap .2s var(--ease),color .2s;align-items:center;gap:.2rem;font-size:.84rem;font-weight:600;display:inline-flex}.text-button:hover{color:var(--ink);gap:.4rem}.eyebrow,.kicker{color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.66rem;font-weight:700;display:inline-flex}.eyebrow>span{background:linear-gradient(90deg,var(--accent),var(--rose));border-radius:1px;width:1.4rem;height:1.5px}.count-chip,.note-chip,.soon-chip,.stat-chip{color:var(--ink-2);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.7);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.76rem;font-weight:600;display:inline-flex}.note-chip{color:var(--accent-strong);background:var(--accent-soft);border-color:oklch(100% 0 0/.8)}.note-chip.subtle{color:var(--muted);background:oklch(100% 0 0/.45)}.stat-chip{border-radius:var(--r-md);flex-direction:column;align-items:flex-end;gap:0;padding:.55rem 1rem}.stat-chip b{letter-spacing:-.02em;font-size:1.25rem;line-height:1.1}.stat-chip small{color:var(--muted);font-size:.68rem;font-weight:600}.soon-chip{color:var(--muted);margin:1.25rem auto 0}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.top-bar{z-index:40;width:min(100% - 2*var(--gutter),var(--shell));pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:.65rem auto 0;display:grid;position:sticky;top:.65rem}.top-bar>*{pointer-events:auto}.brand{-webkit-backdrop-filter:blur(14px)saturate(1.6);backdrop-filter:blur(14px)saturate(1.6);text-align:left;transition:transform var(--dur)var(--spring),background .2s var(--ease);background:linear-gradient(oklch(100% 0 0/.5),oklch(100% 0 0/.3));border:1px solid oklch(100% 0 0/.55);border-radius:999px;justify-self:start;align-items:center;gap:.6rem;padding:.25rem .95rem .25rem .25rem;display:inline-flex;box-shadow:inset 0 1px oklch(100% 0 0/.9),0 10px 30px -14px oklch(35% .05 240/.3)}.brand:hover{background:linear-gradient(oklch(100% 0 0/.7),oklch(100% 0 0/.45));transform:translateY(-1px)}.brand-mark{aspect-ratio:1;width:2.1rem;color:var(--accent-strong);letter-spacing:.06em;background:linear-gradient(160deg,oklch(98% .02 205),oklch(91% .06 205));border-radius:.7rem;place-items:center;font-size:.78rem;font-weight:800;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.9),inset 0 -1px oklch(70% .06 205/.3),0 10px 24px -10px oklch(60% .08 205/.5)}.brand-mark.large{border-radius:1.1rem;width:3.4rem;font-size:1.05rem}.brand-text b{letter-spacing:-.01em;font-size:.9rem;font-weight:700;display:block}.bar-actions{justify-self:end;align-items:center;gap:.45rem;display:flex}.bar-actions .icon-button,.mini-avatars{-webkit-backdrop-filter:blur(14px)saturate(1.6);backdrop-filter:blur(14px)saturate(1.6)}.mini-avatars{transition:background .2s var(--ease),transform var(--dur)var(--spring);background:oklch(100% 0 0/.4);border:1px solid oklch(100% 0 0/.55);border-radius:999px;align-items:center;padding:.2rem .35rem;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.85)}.mini-avatars:hover{background:oklch(100% 0 0/.7);transform:translateY(-1px)}.mini-avatars .person-avatar{border:2px solid oklch(100% 0 0/.9)}.mini-avatars .person-avatar+.person-avatar{margin-left:-.55rem}.pill-nav{border-radius:999px;justify-self:center;gap:.1rem;width:max-content;max-width:100%;padding:.3rem;display:flex}.pill-nav button{min-height:2.45rem;color:var(--ink-2);white-space:nowrap;transition:color .2s var(--ease);border-radius:999px;align-items:center;gap:.4rem;padding:0 .95rem;font-size:.82rem;font-weight:600;display:inline-flex;position:relative}.pill-nav button.active,.pill-nav button:hover{color:var(--ink)}.pill-nav button>*{z-index:1;position:relative}.pill-nav button svg{opacity:.8;transition:transform .35s var(--spring),opacity .2s}.pill-nav button.active svg{opacity:1;transform:scale(1.06)}.pill-nav .nav-pill{z-index:0}.nav-pill-jelly,.pill-nav .nav-pill{border-radius:inherit;position:absolute;inset:0}.nav-pill-jelly{transform-origin:50%;background:linear-gradient(oklch(100% 0 0/.82),oklch(100% 0 0/.58));box-shadow:inset 0 1px oklch(100% 0 0),inset 0 -1px oklch(100% 0 0/.5),0 8px 18px -8px oklch(35% .05 240/.45)}.pill-nav button.active span{text-shadow:0 1px oklch(100% 0 0/.6)}.pill-nav em{background:var(--accent-soft);min-width:1.1rem;height:1.1rem;color:var(--accent-strong);border-radius:999px;place-items:center;padding:0 .3rem;font-size:.62rem;font-style:normal;font-weight:700;display:grid}main{width:min(100% - 2*var(--gutter),var(--shell));flex:1;margin:0 auto;padding:clamp(1.5rem,3vw,2.25rem) 0 4rem}.page{min-width:0}.content-page{gap:clamp(1rem,2vw,1.5rem);display:grid}.bottom-nav{display:none}.offline-bar{width:max-content;max-width:calc(100% - 2rem);color:var(--paper);background:oklch(30% .03 250/.85);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;margin:.8rem auto 0;padding:.5rem .9rem;font-size:.76rem;font-weight:600;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;padding:0 .25rem;display:flex}.page-head-copy{gap:.15rem;display:grid}.page-head h2{font-size:clamp(1.55rem,2.3vw,2rem);line-height:1.1}.page-quote{color:var(--muted);font-family:var(--display);letter-spacing:.01em;margin-top:.15rem;font-size:.98rem}.page-head-tools{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.section-head h3{margin-top:.3rem;font-size:1.15rem}.section-head .muted{text-align:right;max-width:34ch}.segmented{background:oklch(100% 0 0/.4);border:1px solid oklch(100% 0 0/.7);gap:.1rem;padding:.25rem;box-shadow:inset 0 1px oklch(100% 0 0/.8)}.segmented,.segmented button{border-radius:999px;display:inline-flex;position:relative}.segmented button{min-height:2.2rem;color:var(--muted);white-space:nowrap;transition:color .2s var(--ease);align-items:center;gap:.3rem;padding:0 .9rem;font-size:.8rem;font-weight:600}.segmented button.active,.segmented button:hover{color:var(--ink)}.segmented button>*{z-index:1;position:relative}.seg-pill{z-index:0;border-radius:inherit;background:linear-gradient(oklch(100% 0 0/.96),oklch(100% 0 0/.82));position:absolute;inset:0;box-shadow:inset 0 1px oklch(100% 0 0),0 4px 12px -6px oklch(35% .05 240/.35)}.segmented.sm button{min-height:1.9rem;padding:0 .7rem;font-size:.74rem}.greeting{padding:.4rem .25rem 0}.greeting h1{letter-spacing:-.005em;margin:.7rem 0 .55rem;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:600;line-height:1.22}.greeting h1 em{color:var(--accent-strong);font-style:normal}.greeting p{color:var(--muted);font-size:.95rem}.greeting p b{color:var(--ink);font-weight:700}.home-grid{grid-template-columns:minmax(0,1.6fr) minmax(18rem,.75fr);align-items:start}.home-grid,.home-main{gap:clamp(1rem,2vw,1.5rem);display:grid}.today-panel .section-head{margin-bottom:.6rem}.today-panel .text-button.more{margin-top:.6rem}.glance-rows{gap:.5rem;display:grid}.glance-row{border-radius:var(--r-md);background:oklch(100% 0 0/.45);border:1px solid oklch(100% 0 0/.7);grid-template-columns:auto 5rem repeat(3,minmax(0,1fr));align-items:center;gap:.8rem;padding:.6rem .9rem .6rem .6rem;display:grid}.glance-row>b{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.glance-row>span{color:var(--muted);align-items:baseline;gap:.35rem;font-size:.72rem;display:inline-flex}.glance-row>span svg{flex:none;align-self:center}.glance-row>span em{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem;font-style:normal;font-weight:700}.glance-row>span.over em{color:var(--danger)}.rail{align-content:start;gap:.8rem;display:grid}.couple-card{text-align:left;transition:transform var(--dur)var(--spring);gap:.6rem;padding:.8rem .8rem .9rem;display:grid;overflow:hidden}.couple-card:hover{transform:translateY(-2px)}.couple-photo{aspect-ratio:1.15;filter:saturate(.95);width:100%;-webkit-mask-image:var(--photo-mask);mask-image:var(--photo-mask);transform:translate3d(calc(var(--par-x,0)*6px),calc(var(--par-y,0)*5px),0);transition:transform .7s var(--ease);margin:-.3rem auto 0;position:relative;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.couple-photo img{object-fit:cover;object-position:center 40%}.couple-photo-halo{z-index:-1;pointer-events:none;filter:blur(24px);background:radial-gradient(circle,oklch(99% .01 90/.8),oklch(93% .05 205/.35) 40%,oklch(95% .04 350/.3) 62%,#0000 82%);border-radius:50%;position:absolute;inset:-14%}.couple-meta{align-items:center;gap:.7rem;padding:0 .3rem;display:flex}.couple-avatars{display:flex}.couple-avatars .person-avatar{border:2px solid oklch(100% 0 0/.95)}.couple-avatars .person-avatar+.person-avatar{margin-left:-.5rem}.couple-meta small{color:var(--accent-strong);letter-spacing:.14em;font-size:.58rem;font-weight:700;display:block}.couple-meta b{font-family:var(--display);margin-top:.05rem;font-size:1.05rem;font-weight:600;display:block}.card.gacha-card,.card.mood-card{text-align:left;width:100%;transition:transform var(--dur)var(--spring),box-shadow var(--dur)var(--ease);align-items:center;gap:.9rem;display:flex}.card.gacha-card:hover,.card.mood-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px oklch(100% 0 0/.85),0 18px 36px -18px oklch(35% .05 240/.35)}.card.gacha-card>div:not(.gacha-mini),.card.mood-card>div:not(.mood-pair){flex:1;min-width:0}.card small{color:var(--muted);font-size:.72rem}.card b,.card small{font-weight:600;display:block}.card b{margin-top:.1rem;font-size:.92rem;line-height:1.35}.card em{color:var(--accent-strong);align-items:center;gap:.25rem;margin-top:.2rem;font-size:.74rem;font-style:normal;font-weight:600;display:inline-flex}.mood-pair{align-items:center;display:flex}.mood-pair>*+*{margin-left:-.5rem}.mood-pair .mood-cluster+.mood-cluster{margin-left:-.35rem}.mood-placeholder{border:1.5px dashed var(--line-strong);width:2.6rem;height:2.6rem;color:var(--faint);background:oklch(100% 0 0/.4);border-radius:.8rem;place-items:center;font-weight:700;display:grid}.gacha-mini{width:2.9rem;height:2.9rem;color:var(--accent-strong);background:linear-gradient(160deg,oklch(96% .04 205),oklch(90% .07 205));border-radius:1rem;place-items:center;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.9)}.reminders-card .card-head{color:var(--muted);align-items:center;gap:.4rem;display:flex}.reminders-card .card-head small{flex:1}.reminders-card .card-head .text-button{min-height:1.6rem;font-size:.74rem}.reminders-card ul{gap:.5rem;margin-top:.7rem;display:grid}.reminders-card li{border-radius:var(--r-sm);background:oklch(100% 0 0/.45);justify-content:space-between;align-items:baseline;gap:.6rem;padding:.55rem .7rem;display:flex}.reminders-card li b{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.84rem;overflow:hidden}.reminders-card li span{color:var(--muted);flex:none;font-size:.72rem}.reminders-card .muted{margin-top:.6rem}.love-note{color:var(--rose);background:var(--rose-soft);border-color:oklch(100% 0 0/.8);align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;display:flex}.period-bar{border-radius:var(--r-lg);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.6rem 1rem;padding:.7rem .9rem;display:grid}.period-toggle{border-radius:var(--r-md);text-align:left;min-width:0;transition:background .2s var(--ease);justify-items:start;gap:.05rem;padding:.35rem .8rem;display:grid}.period-toggle:not(.static):hover{background:oklch(100% 0 0/.55)}.period-toggle b{font-family:var(--display);letter-spacing:0;align-items:center;gap:.3rem;font-size:1.15rem;font-weight:600;display:inline-flex}.period-toggle b svg{color:var(--muted);transition:transform .3s var(--ease)}.period-toggle.open b svg{transform:rotate(180deg)}.period-toggle small{color:var(--muted);font-size:.74rem}.period-toggle.static{cursor:default}.period-side{align-items:center;gap:.5rem;display:flex}.calendar-pop{grid-column:1/-1;overflow:hidden}.plan-calendar{border-top:1px solid var(--line);margin-top:.4rem;padding:.6rem .3rem .2rem}.plan-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(.9rem,1.6vw,1.25rem);display:grid}.plan-columns.single{grid-template-columns:1fr}.plan-column{border-radius:var(--r-xl);border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);padding:clamp(1rem,1.8vw,1.35rem);position:relative;overflow:hidden}.plan-column.me{--tint:oklch(92% .06 205/.55)}.plan-column.together{--tint:oklch(93% .06 95/.55)}.plan-column.partner{--tint:oklch(94% .05 350/.55)}.plan-column:after{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(16rem 9rem at 10% 0,var(--tint),transparent 70%);pointer-events:none;position:absolute;inset:0}.dual-avatar{flex:none;display:flex}.dual-avatar .person-avatar{border:2px solid oklch(100% 0 0/.95)}.dual-avatar .person-avatar+.person-avatar{margin-left:-.6rem}.seg-count{min-width:1.05rem;height:1.05rem;color:var(--muted);background:oklch(100% 0 0/.55);border-radius:999px;place-items:center;padding:0 .3rem;font-size:.6rem;font-style:normal;font-weight:700;display:grid}.segmented button.active .seg-count{background:var(--accent-soft);color:var(--accent-strong)}.person-header{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.person-header>div{flex:1;min-width:0}.person-header b{font-size:.98rem;font-weight:700;display:block}.person-header span{color:var(--muted);font-size:.76rem;display:block}.quick-add{transition:box-shadow .2s var(--ease),background .2s var(--ease);background:oklch(100% 0 0/.55);border:1px solid oklch(100% 0 0/.75);border-radius:999px;align-items:center;gap:.55rem;margin-bottom:.6rem;padding:.3rem .3rem .3rem .85rem;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.9)}.quick-add:focus-within{background:oklch(100% 0 0/.85);box-shadow:inset 0 1px oklch(100% 0 0),0 0 0 3px oklch(60% .11 205/.18)}.quick-add svg{color:var(--muted);flex:none}.quick-add input{background:0 0;border:0;flex:1;min-width:0;min-height:2.1rem;font-size:.9rem}.quick-add input::placeholder{color:var(--faint)}.task-list{display:grid}.task-row{border-bottom:1px solid var(--line);border-radius:var(--r-md);transition:background .2s var(--ease);position:relative}.task-row:last-child{border-bottom:0}.task-line{align-items:center;gap:.8rem;min-height:3.6rem;padding:.55rem .35rem;display:flex}.task-row.dense .task-line{min-height:3.1rem;padding:.4rem .35rem}@media (hover:hover){.task-row:hover{background:oklch(100% 0 0/.4)}}.check-burst{border:2px solid var(--accent);pointer-events:none;border-radius:50%;position:absolute;inset:-5px}.check-button{width:1.55rem;height:1.55rem;color:var(--paper);transition:background .2s var(--ease),border-color .2s var(--ease),transform var(--dur)var(--spring);background:oklch(100% 0 0/.6);border:1.5px solid oklch(40% .03 250/.3);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.check-button:hover:not(:disabled){border-color:var(--accent);transform:scale(1.08)}.check-button:active:not(:disabled){transform:scale(.86)}.check-button:disabled{opacity:.7}.completed .check-button,.done .check-button{background:linear-gradient(160deg,oklch(70% .11 195),oklch(56% .11 205));border-color:#0000;box-shadow:0 6px 14px -6px oklch(56% .11 205/.6)}.task-main{flex:1;min-width:0}.task-main b{overflow-wrap:anywhere;font-size:.92rem;font-weight:600;line-height:1.35;transition:color .2s;display:block}.task-main span{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem .55rem;margin-top:.1rem;font-size:.72rem;display:flex}.task-main em{font-style:normal}.task-main .cheered-by{color:var(--rose);font-weight:600}.task-main .abandon-reason{color:var(--muted)}.task-main .task-origin{color:var(--muted);letter-spacing:.01em;opacity:.85;margin-top:.18rem;font-size:.66rem;line-height:1.5;display:block}.task-main .task-origin.carried{color:oklch(48% .08 70);opacity:1}.task-row.dense .task-main .task-origin{margin-top:.1rem;font-size:.62rem}.task-row.abandoned .task-main .task-origin,.task-row.complete .task-main .task-origin{opacity:.6}.task-row.complete .task-main b{color:var(--muted);-webkit-text-decoration:line-through oklch(50% .02 245/.5);text-decoration:line-through oklch(50% .02 245/.5)}.task-row.abandoned{opacity:.72}.task-row.abandoned .task-main b{text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);color:var(--muted)}.task-side{flex:none;gap:.4rem}.task-edit-form,.task-side{align-items:center;display:flex}.task-edit-form{flex:1;gap:.5rem;min-width:0}.task-edit-form input{border:0;border-bottom:1.5px solid var(--accent);background:0 0;flex:1;min-width:0;padding:.45rem .2rem;font-size:.9rem;font-weight:600}.task-tools{align-items:center;gap:.05rem;display:flex}@media (hover:hover) and (pointer:fine){.task-tools:not(.always){opacity:0;transition:opacity .2s var(--ease),transform .2s var(--ease);transform:translate(4px)}.task-row:focus-within .task-tools,.task-row:hover .task-tools{opacity:1;transform:none}}.task-tool{width:2rem;height:2rem;color:var(--muted);transition:background .2s var(--ease),color .2s var(--ease),transform var(--dur)var(--spring);border-radius:50%;place-items:center;display:grid}.task-tool:hover{color:var(--ink);background:oklch(100% 0 0/.8)}.task-tool:active{transform:scale(.92)}.task-tool.text{border-radius:999px;width:auto;padding:0 .6rem;font-size:.74rem;font-weight:600}.task-tool.active{color:var(--ink);background:oklch(100% 0 0/.85)}.task-tool.danger.active,.task-tool.danger:hover{color:var(--danger);background:var(--danger-soft)}.cheer{min-height:1.9rem;color:var(--rose);transition:transform var(--dur)var(--spring),background .2s var(--ease);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.7);border-radius:999px;align-items:center;gap:.3rem;padding:0 .7rem;font-size:.74rem;font-weight:600;display:inline-flex}.cheer:hover{transform:translateY(-1px)}.cheer.sent,.cheer:hover{background:var(--rose-soft)}.cheer.sent{border-color:oklch(100% 0 0/.85)}.cheer svg{transition:transform .35s var(--spring)}.cheer.sent svg{transform:scale(1.15)}.dual-check{align-items:center;display:flex}.dual-check span{opacity:.4;filter:grayscale(.6);transition:opacity .25s var(--ease),filter .25s var(--ease);position:relative}.dual-check span .person-avatar{border:2px solid oklch(100% 0 0/.9)}.dual-check span+span{margin-left:-.35rem}.dual-check span.checked{opacity:1;filter:none}.dual-check span.checked:after{content:"✓";width:.95rem;height:.95rem;color:var(--paper);background:linear-gradient(160deg,oklch(70% .11 195),oklch(56% .11 205));border-radius:50%;place-items:center;font-size:.55rem;font-weight:800;display:grid;position:absolute;bottom:-.15rem;right:-.15rem;box-shadow:0 0 0 2px oklch(100% 0 0/.9)}.inline-confirm{border-radius:var(--r-md);background:oklch(100% 0 0/.6);border:1px solid oklch(100% 0 0/.8);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 .35rem .6rem;padding:.6rem .8rem;display:flex}.inline-confirm.danger{background:var(--danger-soft)}.inline-confirm span{min-width:12rem;color:var(--ink-2);flex:1;font-size:.78rem}.inline-confirm.danger span{color:oklch(42% .12 25)}.inline-confirm div{gap:.3rem;display:flex}.inline-confirm .confirm{color:var(--paper);background:linear-gradient(160deg,oklch(62% .16 25),oklch(54% .17 25));padding:0 .85rem}.inline-confirm .confirm,.inline-confirm .ghost{min-height:2rem;border-radius:999px;font-size:.74rem;font-weight:600}.inline-confirm .ghost{color:var(--muted);padding:0 .7rem}.inline-confirm .ghost:hover{color:var(--ink);background:oklch(100% 0 0/.6)}.abandon-form{border-radius:var(--r-md);background:oklch(100% 0 0/.55);border:1px solid oklch(100% 0 0/.8);margin:0 .35rem .7rem;padding:.7rem .8rem}.abandon-form label{color:var(--ink-2);margin-bottom:.4rem;font-size:.76rem;font-weight:600;display:block}.abandon-form div{gap:.5rem;display:flex}.abandon-form input{border:1px solid var(--line-strong);background:oklch(100% 0 0/.8);border-radius:999px;flex:1;min-width:0;min-height:2.2rem;padding:0 .8rem;font-size:.84rem}.calendar-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.calendar-head>div{text-align:center}.calendar-head h3{margin-top:.15rem;font-size:1.05rem}.weekdays{color:var(--faint);text-align:center;text-transform:uppercase;margin-bottom:.3rem;font-size:.66rem;font-weight:700}.calendar-grid,.weekdays{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-grid{gap:.25rem}.calendar-blank{min-height:1px}.mood-day,.plan-day{border-radius:var(--r-sm);min-height:3.2rem;color:var(--ink-2);transition:background .2s var(--ease),transform var(--dur)var(--spring);align-content:center;justify-items:center;gap:.15rem;padding:.3rem .1rem;display:grid;position:relative}.mood-day:hover,.plan-day:hover{background:oklch(100% 0 0/.6)}.mood-day:active,.plan-day:active{transform:scale(.94)}.mood-day small,.plan-day small{font-size:.8rem;font-weight:600}.plan-day em{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:.05rem .35rem;font-size:.62rem;font-style:normal;font-weight:700}.plan-day em.empty{color:var(--faint);background:0 0}.plan-day.all-done em{color:var(--paper);background:linear-gradient(160deg,oklch(70% .11 195),oklch(56% .11 205))}.mood-day.today small,.plan-day.today small{background:var(--ink);width:1.6rem;height:1.6rem;color:var(--paper);border-radius:50%;place-items:center;display:grid}.plan-day.selected{box-shadow:inset 0 0 0 1.5px var(--accent);background:oklch(100% 0 0/.85)}.calendar-tip{color:var(--muted);align-items:center;gap:.4rem;margin-top:.8rem;font-size:.74rem;display:flex}.plan-week-list{gap:.45rem;display:grid}.plan-week{border-radius:var(--r-md);text-align:left;width:100%;transition:background .2s var(--ease),transform var(--dur)var(--spring);background:oklch(100% 0 0/.45);border:1px solid oklch(100% 0 0/.7);justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem .9rem;display:flex}.plan-week:hover{background:oklch(100% 0 0/.75);transform:translateY(-1px)}.plan-week b{font-size:.84rem;font-weight:600}.plan-week em{color:var(--muted);font-size:.72rem;font-style:normal}.plan-week.current b:after{content:"本周";background:var(--ink);color:var(--paper);border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.6rem}.plan-week.selected{box-shadow:inset 0 0 0 1.5px var(--accent);background:oklch(100% 0 0/.9)}.plan-week.all-done em{color:var(--success);font-weight:600}.ring-wrap{flex:none;width:5.4rem;height:5.4rem;position:relative}.ring-wrap.sm{width:3.4rem;height:3.4rem}.ring-wrap.lg{width:8.5rem;height:8.5rem}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-progress,.ring-track{fill:none;stroke-width:7px}.ring-track{stroke:oklch(30% .03 250/.08)}.ring-progress{stroke:var(--accent);stroke-linecap:round}.ring-wrap>div{place-content:center;justify-items:center;line-height:1;display:grid;position:absolute;inset:0}.ring-wrap strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.ring-wrap strong i{color:var(--muted);margin-left:.05em;font-size:.6em;font-style:normal}.ring-wrap span{color:var(--muted);margin-top:.2rem;font-size:.6rem;font-weight:600}.ring-wrap.sm strong{font-size:.8rem}.ring-wrap.sm span{display:none}.ring-wrap.lg strong{font-size:1.8rem}.ring-wrap.lg span{font-size:.7rem}.ring-wrap.lg .ring-progress,.ring-wrap.lg .ring-track{stroke-width:5.5px}.person-avatar{width:var(--avatar-size,2.75rem);height:var(--avatar-size,2.75rem);background:oklch(96% .01 230);border-radius:50%;flex:none;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(100% 0 0/.8),0 4px 12px -4px oklch(35% .05 240/.3)}.person-avatar img{object-fit:cover;width:100%;height:100%}.person-avatar.me{box-shadow:inset 0 0 0 1px oklch(100% 0 0/.8),0 6px 14px -6px oklch(60% .08 205/.6)}.person-avatar.partner{box-shadow:inset 0 0 0 1px oklch(100% 0 0/.8),0 6px 14px -6px oklch(70% .08 350/.6)}.generated-mood{flex:none;place-items:center;width:2.6rem;height:2.6rem;display:grid;position:relative}.generated-mood.sm{width:1.15rem;height:1.15rem}.generated-mood.lg{width:3.6rem;height:3.6rem}.generated-mood img{object-fit:contain;z-index:1;width:100%;height:100%;transition:opacity .2s var(--ease);position:absolute;inset:0}.generated-mood i{background:var(--mood,var(--sage));color:oklch(35% .05 250);border-radius:50%;place-items:center;width:100%;height:100%;font-size:.9em;font-style:normal;font-weight:700;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.8)}.generated-mood.partner i{border-radius:28%}.generated-mood.loaded i{opacity:0}.mood-cluster{flex:none;align-items:center;display:inline-flex;position:relative}.mood-cluster>.generated-mood{z-index:10;position:relative}.mood-cluster-extra{margin-left:-.7rem;display:inline-flex;position:relative}.mood-cluster.md .mood-cluster-extra{margin-left:-.45rem}.mood-cluster-extra .generated-mood i,.mood-cluster-extra .generated-mood img{filter:drop-shadow(0 0 1.5px oklch(100% 0 0/.95))}.mood-cluster-count{min-width:1.35rem;height:1.35rem;color:var(--ink-2);background:oklch(100% 0 0/.85);border-radius:999px;place-items:center;margin-left:-.35rem;padding:0 .3rem;font-size:.66rem;font-weight:700;display:grid;box-shadow:inset 0 1px oklch(100% 0 0),0 3px 8px -4px oklch(35% .05 240/.4)}.mood-cluster.sm{--fan-size:1.05rem;--step:.84rem;flex-direction:column;align-items:center;display:inline-flex}.mood-cluster.sm .generated-mood{width:var(--fan-size);height:var(--fan-size)}.mood-fan-item{display:inline-flex;position:relative}.mood-fan-item+.mood-fan-item{margin-top:calc(var(--step) - var(--fan-size))}.mood-fan-item+.mood-fan-item .generated-mood i,.mood-fan-item+.mood-fan-item .generated-mood img{filter:drop-shadow(0 0 1.2px oklch(100% 0 0/.95))}.milk-tea-sticker{width:100%;height:100%;display:block}.milk-tea-sticker img{object-fit:contain;filter:drop-shadow(0 4px 8px oklch(35% .05 240/.2));width:100%;height:100%}.milk-tea-sticker.over img{filter:drop-shadow(0 4px 8px oklch(57% .17 25/.35))saturate(1.2)}.empty-state{border-radius:var(--r-lg);border:1.5px dashed var(--line-strong);text-align:center;color:var(--muted);justify-items:center;gap:.3rem;padding:2.2rem 1rem;display:grid}.empty-state.compact{padding:1.3rem .8rem}.empty-state b{color:var(--ink-2);font-size:.88rem;font-weight:600}.empty-state p{max-width:26rem;font-size:.78rem;line-height:1.6}.empty-icon{width:2.6rem;height:2.6rem;color:var(--accent-strong);background:oklch(100% 0 0/.6);border-radius:.9rem;place-items:center;margin-bottom:.3rem;display:grid}.skeleton{gap:.6rem;display:grid}.skeleton span{background:linear-gradient(90deg,oklch(100% 0 0/.4),oklch(100% 0 0/.9),oklch(100% 0 0/.4)) 0 0/200% 100%;border-radius:999px;height:.9rem;animation:shimmer 1.4s linear infinite;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mood-layout{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.85fr);align-items:start;gap:clamp(1rem,2vw,1.5rem);display:grid}.mood-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.mood-entry-head .chip-button{min-height:2.2rem;padding:0 .9rem;font-size:.82rem}.mood-saved{gap:.9rem;margin-top:1rem;display:grid}.mood-saved .diary-card{padding:1rem}.mood-saved-actions{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.mood-saved-actions>span{align-items:center;gap:.35rem;display:inline-flex}.mood-saved-actions .chip-button{min-height:2.4rem}.mood-entry h3{font-size:1.15rem}.mood-picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-top:1rem;display:grid}.mood-picker button{border-radius:var(--r-lg);color:var(--muted);transition:color .2s var(--ease),transform var(--dur)var(--spring);justify-items:center;gap:.4rem;padding:.8rem .3rem .65rem;display:grid;position:relative}.mood-picker button:hover{color:var(--ink);transform:translateY(-2px)}.mood-picker button.active{color:var(--ink)}.mood-picker button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mood-picker-head{color:var(--muted);justify-content:space-between;align-items:baseline;gap:.6rem;margin-top:1rem;font-size:.76rem;display:flex}.mood-picker-head b{color:var(--ink-2);font-weight:600}.mood-picker-head+.mood-picker{margin-top:.45rem}.mood-check{z-index:2;background:var(--ink);width:1.05rem;height:1.05rem;color:var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;top:.4rem;right:.4rem;box-shadow:0 2px 6px -2px oklch(35% .05 240/.5)}.mood-picker button>*{z-index:1;position:relative}.mood-picker button>.mood-glow{z-index:0;position:absolute}.mood-picker b{font-size:.76rem;font-weight:600}.mood-picker .generated-mood{transition:transform .4s var(--spring)}.mood-picker button.active .generated-mood{animation:mood-pop .55s var(--ease)both;transform:scale(1.12)}@keyframes mood-pop{0%{transform:scale(1)}40%{transform:scale(1.26)rotate(-7deg)}70%{transform:scale(1.06)rotate(4deg)}to{transform:scale(1.12)}}.mood-glow{z-index:0;border-radius:inherit;background:linear-gradient(oklch(100% 0 0/.92),oklch(100% 0 0/.7));position:absolute;inset:0;box-shadow:inset 0 1px oklch(100% 0 0),0 10px 24px -14px oklch(35% .05 240/.5)}.mood-hint{min-height:1.4em;color:var(--muted);margin-top:.7rem;font-size:.82rem}.diary-fields{gap:.45rem;margin-top:1rem;display:grid}.diary-fields label{color:var(--ink-2);justify-content:space-between;align-items:center;margin-top:.4rem;font-size:.78rem;font-weight:600;display:flex}.diary-fields label span{align-items:center;gap:.35rem;display:inline-flex}.diary-fields label small{color:var(--faint);font-variant-numeric:tabular-nums;font-weight:500}.gate-form input,.pair-options input,.profile-form input,.reminder-compose input,.reminder-compose textarea,textarea{border-radius:var(--r-md);resize:vertical;width:100%;transition:background .2s var(--ease),box-shadow .2s var(--ease);background:oklch(100% 0 0/.62);border:1px solid oklch(100% 0 0/.8);padding:.75rem .95rem;font-size:.9rem;line-height:1.5;box-shadow:inset 0 1px 2px oklch(30% .03 250/.05)}.gate-form input:focus,.pair-options input:focus,.profile-form input:focus,.reminder-compose input:focus,.reminder-compose textarea:focus,textarea:focus{background:oklch(100% 0 0/.92);box-shadow:inset 0 1px 2px oklch(30% .03 250/.04),0 0 0 3px oklch(60% .11 205/.18)}input::placeholder,textarea::placeholder{color:var(--faint)}.photo-strip-wrap{margin-top:.9rem}.photo-strip{flex-wrap:wrap;gap:.6rem;display:flex}.photo-thumb{border-radius:var(--r-md);width:5.6rem;box-shadow:var(--card-shadow);background:oklch(100% 0 0/.55);border:1px solid oklch(100% 0 0/.8);position:relative;overflow:hidden}.photo-thumb.cover{box-shadow:0 0 0 2px var(--accent),var(--card-shadow)}.photo-thumb-image{aspect-ratio:1;background:oklch(100% 0 0/.5);position:relative}.photo-thumb-image img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb-state{color:var(--muted);text-align:center;background:oklch(100% 0 0/.55);place-items:center;gap:.1rem;font-size:.64rem;font-weight:700;display:grid;position:absolute;inset:0}.photo-thumb-state>*{margin:0 auto;display:block}.photo-thumb.failed .photo-thumb-image{background:oklch(94% .03 20/.6)}.photo-thumb.failed .photo-thumb-state{color:oklch(50% .16 25)}.photo-thumb-tag{background:var(--ink);color:var(--paper);letter-spacing:.02em;border-radius:999px;padding:.05rem .4rem;font-size:.6rem;font-weight:700;position:absolute;top:.3rem;left:.3rem}.photo-thumb-remove{width:1.45rem;height:1.45rem;color:var(--paper);transition:background .2s var(--ease),transform var(--dur)var(--spring);background:oklch(25% .03 250/.7);border-radius:50%;place-items:center;display:grid;position:absolute;top:.3rem;right:.3rem}.photo-thumb-remove:hover{background:oklch(25% .03 250/.9);transform:scale(1.06)}.photo-thumb-actions{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;padding:.2rem .25rem;font-size:.66rem;font-weight:700;display:flex}.photo-thumb-actions button{width:1.55rem;height:1.55rem;color:var(--ink-2);transition:background .2s var(--ease);border-radius:50%;place-items:center;display:grid}.photo-thumb-actions button:hover:not(:disabled){background:oklch(100% 0 0/.8)}.photo-thumb-actions button:disabled{opacity:.25;cursor:default}.photo-strip-tip{color:var(--muted);margin-top:.5rem;font-size:.74rem}.photo-deck-wrap{margin-top:.9rem}.photo-deck{width:min(100%,calc(32rem*var(--ratio,1.3333)));aspect-ratio:var(--ratio,1.3333);max-height:32rem;margin:0 auto 0 0;position:relative}.photo-deck.stacked{width:min(calc(100% - 2.1rem),calc(32rem*var(--ratio,1.3333)));cursor:pointer;-webkit-tap-highlight-color:transparent}.photo-deck.stacked:focus-visible{outline:none}.photo-deck.stacked:focus-visible .photo-deck-card.front{box-shadow:0 0 0 3px oklch(60% .11 205/.35),0 14px 36px -20px oklch(35% .05 240/.55)}.photo-deck-card{border-radius:var(--r-md);transform-origin:100%;will-change:transform;background:oklch(100% 0 0/.6);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 14px 36px -20px oklch(35% .05 240/.55)}.photo-deck-card img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.photo-deck-card:not(.front):after{content:"";background:oklch(100% 0 0/.32);position:absolute;inset:0}.photo-deck.stacked:hover .photo-deck-card.front{filter:brightness(1.02)}.photo-deck-count{z-index:100;color:var(--paper);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(8px);background:oklch(25% .03 250/.62);border-radius:999px;padding:.18rem .6rem;font-size:.7rem;font-weight:700;position:absolute;bottom:.6rem;right:.6rem;box-shadow:inset 0 1px oklch(100% 0 0/.2)}.photo-deck-tip{color:var(--faint);margin-top:.5rem;font-size:.72rem}.write-actions{justify-content:flex-end;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.write-actions label.chip-button{cursor:pointer;min-height:2.6rem;padding:0 1rem}.mood-grid .mood-day{min-height:3.7rem}.day-moods{justify-content:center;align-items:flex-start;gap:.15rem;min-height:1.2rem;display:flex}.mood-day.has-entry{background:oklch(100% 0 0/.4)}.mood-legend{color:var(--muted);gap:1rem;margin-top:.8rem;font-size:.72rem;font-weight:600;display:flex}.mood-legend span{align-items:center;gap:.35rem;display:inline-flex}.mood-legend i{background:var(--sage);width:.7rem;height:.7rem}.mood-legend i.mine{border-radius:50%}.mood-legend i.theirs{background:var(--peach);border-radius:25%}.mood-legend i.fan{background:var(--butter);box-shadow:0 .45rem 0 -.05rem var(--sky);border-radius:50%;margin-bottom:.45rem}.chip-button.back{justify-self:start}.diary-day-head{color:var(--muted);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.diary-day-head h3{color:var(--ink);margin-top:.35rem;font-size:1.3rem}.diary-day-head p{margin-top:.3rem;font-size:.84rem}.diary-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.diary-card{border-radius:var(--r-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);padding:1.15rem;position:relative}.diary-card.me{background:linear-gradient(oklch(96% .04 205/.6),oklch(100% 0 0/.5))}.diary-card.partner{background:linear-gradient(oklch(96.5% .035 350/.6),oklch(100% 0 0/.5))}.diary-card-top{align-items:center;gap:.8rem;display:flex}.diary-card-top>div>span{color:var(--muted);font-size:.74rem;font-weight:600;display:block}.diary-card-top h4{overflow-wrap:anywhere;margin-top:.1rem;font-size:1.15rem}.diary-card-top>div{min-width:0}.diary-photo{border-radius:var(--r-md);background:oklch(100% 0 0/.5);place-items:center;margin-top:.9rem;display:grid;overflow:hidden}.diary-photo:has(.diary-photo-loading){aspect-ratio:4/3}.diary-photo img{width:auto;max-width:100%;height:auto;max-height:32rem;display:block}.diary-photo-loading{color:var(--muted)}.diary-note{border-radius:var(--r-md);color:var(--ink-2);background:oklch(100% 0 0/.6);gap:.55rem;margin-top:.9rem;padding:.75rem .85rem;font-size:.86rem;line-height:1.6;display:flex}.diary-note svg{color:var(--rose);flex:none;margin-top:.2rem}.diary-note p{white-space:pre-wrap;overflow-wrap:anywhere}.diary-note.private{background:oklch(94% .02 290/.6)}.diary-note.private svg{color:var(--accent-strong)}.comment-thread{border-top:1px dashed var(--line-strong);margin-top:1rem;padding-top:.85rem}.comment-head{color:var(--muted);align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.comment-children,.comment-list{gap:.55rem;margin-top:.65rem;display:grid}.comment-children{border-left:2px solid oklch(30% .03 250/.1);margin-top:.5rem;padding-left:.55rem}.comment-children.flat{border-left:0;padding-left:0}.comment{align-items:flex-start;gap:.5rem;display:flex}.comment-body{flex:1;min-width:0}.comment-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.1rem .45rem;margin-bottom:.25rem;font-size:.68rem;display:flex}.comment-meta b{color:var(--ink);font-weight:700}.comment-reply-to{color:var(--accent-strong);align-items:center;gap:.15rem;font-weight:600;display:inline-flex}.comment-bubble{max-width:100%;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;background:oklch(100% 0 0/.65);border-radius:.3rem .95rem .95rem;padding:.5rem .75rem;font-size:.82rem;line-height:1.55;display:inline-block}.comment.mine .comment-bubble{background:oklch(95% .035 205/.8)}.comment-actions{gap:.7rem;margin-top:.25rem;padding-left:.2rem;display:flex}.comment-actions button{color:var(--muted);transition:color .2s var(--ease);font-size:.7rem;font-weight:600}.comment-actions button:hover{color:var(--ink)}.comment-actions button.danger:hover{color:var(--danger)}.comment-body .inline-confirm{margin-top:.4rem}.comment-form{align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.comment-form input{background:oklch(100% 0 0/.7);border:1px solid oklch(100% 0 0/.8);border-radius:999px;flex:1;min-width:0;min-height:2.25rem;padding:0 .85rem;font-size:.82rem}.comment-form input::placeholder{color:var(--faint)}.comment-form .chip-button{min-height:2.25rem;padding:0 .8rem}.habit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.2rem);display:grid}.habit{gap:.5rem;padding:1.25rem;display:grid;overflow:hidden}.habit:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(16rem 10rem at 100% 0,var(--tint),transparent 70%);position:absolute;inset:0}.habit.sunrise{--tint:oklch(93% .09 90/.7)}.habit.night{--tint:oklch(86% .07 280/.7)}.habit.game{--tint:oklch(90% .07 205/.7)}.habit.game.over{--tint:oklch(92% .07 25/.8)}.habit-top{color:var(--muted);align-items:center;gap:.65rem;font-size:.76rem;font-weight:600;display:flex}.habit-icon{width:2.4rem;height:2.4rem;color:var(--ink-2);background:oklch(100% 0 0/.7);border-radius:.85rem;place-items:center;display:grid;box-shadow:inset 0 1px oklch(100% 0 0)}.habit.sunrise .habit-icon{color:oklch(62% .13 70)}.habit.night .habit-icon{color:oklch(52% .1 285)}.habit.game .habit-icon{color:var(--accent-strong)}.habit-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:2.3rem;font-weight:700;line-height:1}.habit-value i{color:var(--faint);font-style:normal}.habit.running .habit-value i{animation:blink 1s steps(2) infinite}@keyframes blink{to{opacity:.2}}.habit p{color:var(--muted);font-size:.82rem}.time-bar{background:oklch(30% .03 250/.08);border-radius:999px;height:.45rem;overflow:hidden}.time-bar i{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,var(--accent),oklch(70% .12 350));height:100%;transition:transform .6s var(--ease);display:block}.habit.over .time-bar i{background:linear-gradient(90deg,oklch(64% .16 25),oklch(56% .17 25))}.habit-actions{gap:.5rem;margin-top:.3rem;display:grid}.habit-manual{align-items:center;gap:.4rem;display:flex}.habit-manual input{font-variant-numeric:tabular-nums;background:oklch(100% 0 0/.65);border:1px solid oklch(100% 0 0/.8);border-radius:999px;flex:1;min-width:0;min-height:2.2rem;padding:0 .7rem;font-size:.84rem}.habit-manual .unit{color:var(--muted);font-size:.76rem}.habit-logs{color:var(--muted);align-items:center;gap:.5rem;margin-top:.2rem;font-size:.72rem;font-weight:600}.habit-logs,.habit-logs ul{flex-wrap:wrap;display:flex}.habit-logs ul{gap:.3rem}.habit-logs li{color:var(--ink-2);background:oklch(100% 0 0/.65);border:1px solid oklch(100% 0 0/.8);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .3rem .2rem .6rem;display:inline-flex}.habit-logs li b{font-variant-numeric:tabular-nums;font-weight:600}.habit-logs li button{width:1.2rem;height:1.2rem;color:var(--muted);border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid}.habit-logs li button:hover{background:var(--danger-soft);color:var(--danger)}.two-col{align-items:start;gap:clamp(1rem,2vw,1.5rem)}.pair-grid,.two-col{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pair-grid{gap:.8rem}.two-col .section-head .muted{max-width:18ch}.review-head{align-items:center;gap:.75rem;display:flex}.review-head>div:not(.review-icon){flex:1;min-width:0}.review-head b{font-size:.9rem;font-weight:700;display:block}.review-head small{color:var(--muted);margin-top:.1rem;font-size:.7rem;line-height:1.5;display:block}.review-icon{background:var(--accent-soft);width:2.4rem;height:2.4rem;color:var(--accent-strong);border-radius:.8rem;flex:none;place-items:center;display:grid}.review-rows{gap:.45rem;margin-top:.9rem;display:grid}.review-row{text-align:left;background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.75);border-radius:999px;align-items:center;gap:.65rem;width:100%;padding:.5rem .55rem;display:flex}.review-row>span:not(.person-avatar){color:var(--ink-2);flex:1;font-size:.78rem;font-weight:600}.review-row.action{transition:transform var(--dur)var(--spring),background .2s var(--ease)}.review-row.action:hover{background:oklch(100% 0 0/.85);transform:translateY(-1px)}.review-mark{width:1.55rem;height:1.55rem;color:var(--paper);background:oklch(100% 0 0/.6);border:1.5px solid oklch(40% .03 250/.28);border-radius:50%;flex:none;place-items:center;margin-right:.15rem;transition:background .2s,border-color .2s;display:grid}.review-row.checked .review-mark{background:linear-gradient(160deg,oklch(70% .11 195),oklch(56% .11 205));border-color:#0000;box-shadow:0 6px 14px -6px oklch(56% .11 205/.6)}.review-row.checked{background:oklch(95% .035 205/.7)}.review-row:not(.action){opacity:.9}.milk-tea-shelf{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.milk-tea-cup{border-radius:var(--r-md);background:oklch(100% 0 0/.6);border:1px solid oklch(100% 0 0/.8);place-items:center;width:3.6rem;height:3.6rem;padding:.3rem;display:grid;position:relative;box-shadow:inset 0 1px oklch(100% 0 0)}.milk-tea-cup em{color:var(--muted);font-size:.6rem;font-style:normal;font-weight:700;position:absolute;bottom:.25rem;left:.3rem}.milk-tea-cup.over{background:var(--danger-soft)}.milk-tea-cup.over em{color:var(--danger)}.milk-tea-cup.empty{border:1.5px dashed var(--line-strong);box-shadow:none;background:0 0}button.milk-tea-cup{transition:transform var(--dur)var(--spring)}button.milk-tea-cup:hover{transform:translateY(-2px)}.milk-tea-remove{background:var(--ink);width:1.2rem;height:1.2rem;color:var(--paper);opacity:0;transition:opacity .2s var(--ease),transform .25s var(--spring);border-radius:50%;place-items:center;display:grid;position:absolute;top:-.35rem;right:-.35rem;transform:scale(.7)}button.milk-tea-cup:focus-visible .milk-tea-remove,button.milk-tea-cup:hover .milk-tea-remove{opacity:1;transform:scale(1)}.milk-tea-note{color:var(--muted);font-size:.78rem}.milk-tea-card.over-quota .review-head small{color:var(--danger);font-weight:600}.summary-person{align-items:center;gap:.7rem;display:flex}.summary-person>div{flex:1;min-width:0}.summary-person b{font-size:.9rem;font-weight:700;display:block}.summary-person small{color:var(--muted);font-size:.7rem;display:block}.summary-person strong{letter-spacing:-.03em;color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(4.6rem,1fr));gap:.45rem;margin-top:.9rem;display:grid}.summary-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-stats>div{border-radius:var(--r-md);color:var(--muted);text-align:center;background:oklch(100% 0 0/.55);justify-items:center;gap:.15rem;padding:.7rem .3rem;display:grid}.summary-stats>div b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.summary-stats>div span{font-size:.64rem;font-weight:600}.summary-stats>div.over-quota{background:var(--danger-soft);color:var(--danger)}.summary-stats>div.over-quota b{color:var(--danger)}.summary-progress{background:oklch(30% .03 250/.08);border-radius:999px;height:.4rem;margin-top:.8rem;overflow:hidden}.summary-progress i{transform-origin:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),oklch(70% .12 350));height:100%;transition:transform .8s var(--ease);display:block}.summary-person strong i{font-size:.6em;font-weight:600}.summary-person strong i,.summary-stats>div b i{color:var(--muted);margin-left:.05em;font-style:normal}.summary-stats>div b i{font-size:.62em}.summary-stats>div.piggy{background:var(--rose-soft);color:oklch(52% .12 350)}.summary-stats>div.piggy b{color:oklch(48% .13 350)}.start-note{white-space:normal;margin:-.2rem 0 .9rem;line-height:1.5}.scope-bar{flex-wrap:wrap;justify-content:space-between;gap:.75rem 1rem;margin:-.2rem 0 1.1rem}.period-nav,.scope-bar{align-items:center;display:flex}.period-nav{color:var(--ink-2);gap:.35rem;font-size:.82rem;font-weight:600}.period-nav b{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:11ch;padding:0 .3rem;display:inline-flex}.period-nav .now-tag{background:var(--ink);color:var(--paper);border-radius:999px;margin-left:.4rem;padding:.05rem .45rem;font-size:.6rem;font-weight:700}.period-nav .icon-button:disabled{opacity:.35;cursor:default}.discipline-stack{gap:clamp(1rem,2vw,1.5rem);display:grid}.discipline-stack .soon-chip{justify-self:center;margin-top:0}.score-items{gap:.4rem;margin-top:.9rem;display:grid}.score-items li{color:var(--muted);transition:background .25s var(--ease),color .25s var(--ease);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.75);border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .5rem .45rem .7rem;font-size:.78rem;font-weight:600;display:flex}.score-items li .task-icon{flex:none}.score-items li span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.score-items li .score-detail{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;font-size:.76rem;font-weight:700}.score-items li:not(.done) .score-detail{color:var(--muted);font-weight:600}.score-items li em{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.72rem;font-style:normal;font-weight:700}.score-items li.done{color:var(--ink);background:oklch(95% .035 205/.75)}.score-items li.done em{color:var(--accent-strong)}.score-mark{width:1.45rem;height:1.45rem;color:var(--paper);background:oklch(100% 0 0/.6);border:1.5px solid oklch(40% .03 250/.25);border-radius:50%;flex:none;place-items:center;transition:background .25s,border-color .25s;display:grid}.score-items li.done .score-mark{background:linear-gradient(160deg,oklch(70% .11 195),oklch(56% .11 205));border-color:#0000;box-shadow:0 6px 14px -6px oklch(56% .11 205/.6)}.week-matrix{grid-template-columns:auto repeat(7,minmax(0,1fr));align-items:center;gap:.3rem .32rem;margin-top:.9rem;display:grid}.week-matrix .week-row{display:contents}.week-matrix .col-label,.week-matrix .row-label{color:var(--muted);text-align:center;font-size:.62rem;font-weight:700;line-height:1}.week-matrix .row-label{text-align:left;padding-right:.15rem}.week-matrix .col-label.today,.week-matrix .day-total.today{color:var(--ink)}.week-matrix .col-label.today{position:relative}.week-matrix .col-label.today:after{content:"";background:var(--accent);border-radius:50%;width:.3rem;height:.3rem;position:absolute;bottom:-.22rem;left:50%;transform:translate(-50%)}.week-cell{aspect-ratio:1;width:100%;transition:background .3s var(--ease);background:oklch(30% .03 250/.07);border-radius:.38rem;display:block}.week-cell.done{background:#6bd45f;box-shadow:inset 0 1px oklch(100% 0 0/.45)}.week-cell.miss{background:#eb5545;box-shadow:inset 0 1px oklch(100% 0 0/.3)}.week-cell.pending{box-shadow:inset 0 0 0 1.5px var(--line-strong);background:oklch(100% 0 0/.55)}.week-cell.future{background:oklch(30% .03 250/.035)}.week-matrix .day-total{color:var(--ink-2);text-align:center;font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:700}.week-matrix .day-total.future{color:var(--faint)}.tier-list{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;display:grid}.tier{border-radius:var(--r-md);transition:background .25s var(--ease),box-shadow .25s var(--ease);background:oklch(100% 0 0/.55);border:1px solid oklch(100% 0 0/.75);gap:.15rem;padding:.7rem .85rem;display:grid}.tier b{font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700}.tier span{color:var(--muted);font-size:.7rem;font-weight:600}.tier.active{box-shadow:inset 0 0 0 1.5px var(--accent);background:oklch(95% .035 205/.85)}.tier.active span{color:var(--accent-strong)}.tier-hint{margin-top:.8rem}.cycle-weeks{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-top:.9rem;display:grid}.cycle-week{border-radius:var(--r-md);text-align:center;background:oklch(100% 0 0/.55);gap:.3rem;padding:.6rem .45rem .55rem;display:grid}.cycle-week small{color:var(--muted);font-size:.62rem;font-weight:700}.cycle-week b{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.05rem;font-weight:700}.cycle-week .summary-progress{height:.3rem;margin-top:.1rem}.cycle-week.current{box-shadow:inset 0 0 0 1.5px var(--accent)}.cycle-week.future{opacity:.55}.cycle-total{border-radius:var(--r-lg);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.75);align-items:center;gap:1rem;margin-top:.9rem;padding:.85rem 1rem;display:flex}.cycle-total-copy small{color:var(--muted);font-size:.68rem;font-weight:600;display:block}.cycle-total-copy b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.cycle-total-copy b i{color:var(--muted);font-size:.6em;font-style:normal;font-weight:600}.cycle-total .summary-progress{flex:1;margin:0}.cycle-total>.muted{flex:none;font-size:.72rem}.score-card.penalized .summary-person strong{color:var(--danger)}.award-list{gap:.5rem;display:grid}.award{border-radius:var(--r-md);transition:background .25s var(--ease);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.75);grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.award-icon{background:var(--accent-soft);width:2.4rem;height:2.4rem;color:var(--accent-strong);border-radius:.8rem;place-items:center;display:grid}.award b{font-size:.88rem;font-weight:700;display:block}.award small{color:var(--muted);margin-top:.1rem;font-size:.7rem;line-height:1.45;display:block}.award.won{background:oklch(95% .035 205/.75)}.award.won .award-icon{background:var(--butter);color:oklch(55% .12 70)}.award-people{gap:.3rem;display:flex}.award-state{color:var(--muted);white-space:nowrap;background:oklch(100% 0 0/.6);border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.68rem;font-weight:700;display:inline-flex}.award-state.won{color:var(--paper);background:linear-gradient(160deg,oklch(70% .11 195),oklch(56% .11 205));box-shadow:0 6px 14px -6px oklch(56% .11 205/.6)}.award-state.open{background:var(--accent-soft);color:var(--accent-strong)}.award-state.lost{background:var(--danger-soft);color:var(--danger)}.piggy-card .summary-person strong{color:oklch(48% .13 350)}.piggy-card.penalized .summary-person strong{color:var(--danger)}.piggy-lines{gap:.35rem;margin-top:.8rem;display:grid}.piggy-lines li{border-radius:var(--r-sm);color:var(--muted);background:oklch(100% 0 0/.55);justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .7rem;font-size:.74rem;font-weight:600;display:flex}.piggy-lines li b{color:var(--ink);font-variant-numeric:tabular-nums}.piggy-lines li.bad{background:var(--danger-soft);color:var(--danger)}.piggy-lines li.bad b{color:var(--danger)}.habit-value .auto-tag{vertical-align:middle;letter-spacing:0;margin-left:.5rem}.automation-events-head .automation-guide-toggle{margin-top:0}.automation-events ul{margin-top:.5rem}.automation-panel.collapsed .section-head{margin-bottom:.4rem}.auto-tag{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:.05rem .4rem;font-size:.58rem;font-weight:700}.automation-start{border-radius:var(--r-md);color:var(--accent-strong);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.75);grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.9rem 1rem;display:grid}.automation-start p{color:var(--ink-2);font-size:.82rem;line-height:1.55}.automation-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.6rem .8rem;display:grid}.automation-form label{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.automation-form label.wide{grid-column:1/-1}.automation-form label.wide input{flex:1;min-width:12rem}.automation-form input{font-variant-numeric:tabular-nums;background:oklch(100% 0 0/.7);border:1px solid oklch(100% 0 0/.8);border-radius:999px;width:4.6rem;min-height:2.2rem;padding:0 .7rem;font-size:.84rem}.automation-form label span{color:var(--muted);font-weight:500}.automation-form .chip-button{justify-self:start}.automation-form .hint{grid-column:1/-1}.automation-site{margin-top:1rem}.automation-site label{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;display:flex}.automation-site input{background:oklch(100% 0 0/.7);border:1px solid oklch(100% 0 0/.8);border-radius:999px;flex:1;min-width:14rem;min-height:2.2rem;padding:0 .8rem;font-size:.8rem}.hint.warn{color:var(--danger);margin-top:.4rem}.automation-links{gap:.45rem;margin-top:.6rem;display:grid}.copy-field{border-radius:var(--r-md);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.75);grid-template-columns:8.5rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.45rem .6rem .45rem .8rem;display:grid}.copy-field span{color:var(--ink-2);font-size:.76rem;font-weight:600}.copy-field code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:.7rem;overflow:hidden}.automation-guide-toggle{color:var(--accent-strong);align-items:center;gap:.3rem;margin-top:.9rem;font-size:.78rem;font-weight:600;display:inline-flex}.automation-guide-toggle svg{transition:transform .3s var(--ease)}.automation-guide-toggle.open svg{transform:rotate(180deg)}.automation-guide{color:var(--ink-2);gap:.45rem;margin-top:.6rem;padding-left:1.3rem;font-size:.8rem;line-height:1.6;display:grid;overflow:hidden}.automation-guide li::marker{color:var(--accent-strong);font-weight:700}.automation-status{border-radius:var(--r-md);color:var(--ink-2);background:oklch(95% .035 205/.6);gap:.3rem;margin-top:1rem;padding:.7rem .9rem;font-size:.76rem;line-height:1.55;display:grid}.automation-status li:before{content:"· ";color:var(--accent-strong);font-weight:700}.automation-check{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.automation-diagnosis{border-radius:var(--r-md);color:oklch(92% .02 200);white-space:pre-wrap;overflow-wrap:anywhere;background:oklch(20% .02 250/.92);max-height:22rem;margin-top:.6rem;padding:.7rem .85rem;font-size:.68rem;line-height:1.5;overflow:auto}.automation-events{border-top:1px dashed var(--line-strong);margin-top:1rem;padding-top:.8rem}.automation-events-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.automation-events-head b{font-size:.84rem}.automation-events ul{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.35rem;display:grid}.automation-events li{background:oklch(100% 0 0/.5);border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.74rem;display:flex}.automation-events li span{color:var(--muted);font-variant-numeric:tabular-nums}.automation-events li b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.automation-events li em{border-radius:999px;padding:.05rem .45rem;font-size:.66rem;font-style:normal;font-weight:700}.automation-events li em.open{color:oklch(45% .12 150);background:oklch(93% .07 150/.9)}.automation-events li em.close{color:var(--muted);background:oklch(94% .02 250/.9)}.alert-bar{border-radius:var(--r-lg);color:oklch(40% .1 60);background:oklch(95% .05 60/.8);border:1px solid oklch(100% 0 0/.8);align-items:flex-start;gap:.7rem;padding:.9rem 1.1rem;display:flex}.alert-bar svg{flex:none;margin-top:.15rem}.alert-bar b{font-size:.88rem;display:block}.alert-bar small{margin-top:.2rem;font-size:.74rem;line-height:1.55;display:block}.reminder-layout{grid-template-columns:minmax(19rem,.85fr) minmax(0,1.3fr);align-items:start;gap:clamp(1rem,2vw,1.5rem);display:grid}.reminder-compose{transition:box-shadow .3s var(--ease);position:sticky;top:4.6rem}.reminder-compose.editing{box-shadow:var(--glass-shadow),0 0 0 2px oklch(60% .11 205/.35)}.reminder-compose form{gap:.4rem;display:grid}.field-label,.reminder-compose form>label{color:var(--ink-2);margin-top:.5rem;font-size:.78rem;font-weight:600;display:block}.reminder-compose form>label small{color:var(--faint);font-weight:500}.reminder-quick{border-radius:var(--r-lg);background:oklch(98% .03 95/.85);border:1px dashed oklch(60% .11 205/.55);gap:.65rem;padding:.95rem 1.1rem;display:grid}.reminder-quick-head{color:var(--ink-2);align-items:flex-start;gap:.55rem;display:flex}.reminder-quick-head>svg{color:var(--accent-strong);flex:none;margin-top:.2rem}.reminder-quick-head b{font-size:.9rem;display:block}.reminder-quick-head small{color:var(--muted);margin-top:.15rem;font-size:.72rem;line-height:1.55;display:block}.reminder-quick-form{align-items:stretch;gap:.5rem;display:flex}.reminder-quick-form textarea{resize:vertical;min-width:0;min-height:2.8rem;max-height:12rem;line-height:1.5;font:inherit;flex:1;padding:.6rem .8rem}.reminder-quick-count{color:var(--muted);text-align:right;margin-top:-.2rem;font-size:.72rem;display:block}.reminder-quick-count.limit{color:var(--danger);font-weight:600}.reminder-quick-form .primary{flex:none}.reminder-quick-ask{border-radius:var(--r-md,.8rem);color:var(--ink-2);background:oklch(97% .04 205/.7);border:1px solid oklch(80% .08 205/.5);gap:.5rem;padding:.7rem .85rem;font-size:.8rem;display:grid}.reminder-quick-ask p.question{color:var(--ink-1,var(--ink-2));align-items:flex-start;gap:.35rem;margin:0;font-weight:600;display:flex}.reminder-quick-ask p.question>svg{color:var(--accent-strong);flex:none;margin-top:.2rem}.reminder-quick-options{flex-wrap:wrap;gap:.45rem;display:flex}.reminder-quick-option{color:var(--ink-1,inherit);font:inherit;cursor:pointer;background:#fff;border:1px solid oklch(60% .11 205/.6);border-radius:999px;padding:.45rem .85rem;font-size:.8rem;transition:background .15s,transform .15s}.reminder-quick-option:hover:not(:disabled){background:oklch(94% .05 205);transform:translateY(-1px)}.reminder-quick-option:disabled{opacity:.55;cursor:default}.reminder-quick-ask small{color:var(--muted);font-size:.72rem;line-height:1.5}.reminder-quick-reset{color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:.35rem;padding:0;font-size:.72rem;text-decoration:underline}.reminder-quick-result{color:var(--ink-2);gap:.3rem;font-size:.78rem;line-height:1.55;display:grid}.reminder-quick-result p{overflow-wrap:anywhere;align-items:flex-start;gap:.35rem;margin:0;display:flex}.reminder-quick-result p>svg{color:var(--success);flex:none;margin-top:.2rem}.reminder-quick-result p.question>svg{color:var(--accent-strong)}.reminder-quick-result.error{color:var(--danger)}.reminder-quick-result p.detail{opacity:.75;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem}@media (max-width:640px){.reminder-quick-form{flex-direction:column}.reminder-quick-form .primary{width:100%}}.time-group{margin-top:.2rem}.time-fields{grid-template-columns:1.4fr 1fr;gap:.45rem;margin-top:.35rem;display:grid}.time-fields input{font-variant-numeric:tabular-nums;padding:.6rem .8rem}.field-note{color:var(--muted);margin-top:.3rem;font-size:.72rem;line-height:1.5;display:block}.field-note.error{color:var(--danger);font-weight:600}.submit-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.8rem;display:flex}.reminder-stack{gap:.55rem;display:grid}.reminder-item{border-radius:var(--r-lg);transition:background .2s var(--ease),box-shadow .2s var(--ease);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.75);box-shadow:inset 0 1px oklch(100% 0 0/.8)}.reminder-item.editing{box-shadow:inset 0 1px oklch(100% 0 0/.8),0 0 0 2px oklch(60% .11 205/.35)}.reminder-item.completed{opacity:.7}.reminder-item.urgency-overdue{background:linear-gradient(oklch(95% .05 25/.7),oklch(100% 0 0/.5))}.reminder-item.urgency-today{background:linear-gradient(oklch(95% .05 60/.7),oklch(100% 0 0/.5))}.reminder-line{align-items:flex-start;gap:.8rem;padding:.95rem 1rem;display:flex}.reminder-line .check-button{margin-top:.15rem}.reminder-main{flex:1;min-width:0}.reminder-title-row{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.reminder-title-row b{overflow-wrap:anywhere;font-size:.95rem;font-weight:600;line-height:1.35}.reminder-item.completed .reminder-title-row b{color:var(--muted);text-decoration:line-through}.status-chip{color:var(--muted);white-space:nowrap;background:oklch(100% 0 0/.7);border-radius:999px;flex:none;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.66rem;font-weight:700;display:inline-flex}.status-chip.done,.status-chip.sent{color:var(--success);background:oklch(94% .05 165/.8)}.status-chip.failed{color:var(--danger);background:var(--danger-soft)}.status-chip.scheduled{color:var(--accent-strong);background:var(--accent-soft)}.reminder-note{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.3rem;font-size:.82rem;line-height:1.55}.reminder-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem .8rem;margin-top:.5rem;font-size:.72rem;display:flex}.reminder-meta span{align-items:center;gap:.3rem;display:inline-flex}.reminder-meta .creator{color:var(--faint);margin-left:auto}.reminder-shift{border:1px solid var(--line);background:var(--paper);gap:.55rem;margin:0 1rem .8rem 3rem;padding:.8rem;display:grid}.reminder-shift-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.reminder-shift-controls input,.reminder-shift-controls select{width:auto;min-height:2.2rem;padding:.35rem .55rem}.reminder-shift-controls input{width:5.5rem}.reminder-shift small{color:var(--muted);line-height:1.5}@media (max-width:600px){.reminder-shift{margin-left:0;margin-right:0}}.urgency{background:oklch(100% 0 0/.7);border-radius:999px;padding:.1rem .5rem;font-size:.64rem;font-weight:700}.urgency.overdue{color:var(--danger);background:var(--danger-soft)}.urgency.today{color:oklch(48% .12 60);background:oklch(95% .06 70)}.urgency.soon{color:var(--accent-strong);background:var(--accent-soft)}.urgency.later{color:var(--muted)}.urgency.done{color:var(--success);background:oklch(94% .05 165/.8)}.completed-block{margin-top:.9rem}.disclosure{min-height:2.2rem;color:var(--muted);border-radius:999px;align-items:center;gap:.4rem;margin-bottom:.5rem;padding:0 .8rem 0 .5rem;font-size:.78rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.disclosure:hover{color:var(--ink);background:oklch(100% 0 0/.6)}.disclosure span{place-items:center;display:grid}.collection-layout{grid-template-columns:minmax(0,1.5fr) minmax(17rem,.7fr);align-items:start;gap:clamp(1rem,2vw,1.5rem);display:grid}.shelves{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.8rem;display:grid}.collectible{border-radius:var(--r-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);text-align:center;justify-items:center;gap:.25rem;padding:1.3rem .8rem 1.1rem;display:grid;position:relative;overflow:hidden}.collectible:before{content:"";z-index:-1;background:radial-gradient(9rem 6rem at 50% 0,var(--tint),transparent 75%);opacity:0;transition:opacity .4s var(--ease);position:absolute;inset:0}.collectible.owned:before{opacity:1}.collectible.sky{--tint:var(--sky)}.collectible.peach{--tint:var(--peach)}.collectible.lilac{--tint:var(--lilac)}.collectible.butter{--tint:var(--butter)}.collectible.sage{--tint:var(--sage)}.collectible-icon{width:3.4rem;height:3.4rem;color:var(--ink);background:oklch(100% 0 0/.75);border-radius:50%;place-items:center;margin-bottom:.3rem;font-size:1.5rem;display:grid;box-shadow:inset 0 1px oklch(100% 0 0),0 10px 20px -10px oklch(35% .05 240/.4)}.collectible.locked .collectible-icon{color:var(--faint);box-shadow:none;border:1.5px dashed var(--line-strong);background:oklch(100% 0 0/.4)}.collectible b{font-size:.88rem;font-weight:700}.collectible small{color:var(--muted);font-size:.68rem;font-weight:600}.collectible p{color:var(--muted);margin-top:.3rem;font-size:.72rem;line-height:1.5}.collectible.locked{opacity:.75}.machine-card{text-align:center;justify-items:center;gap:.6rem;display:grid}.machine-card h3{font-size:1.15rem}.machine-card p{color:var(--muted);font-size:.82rem;line-height:1.6}.machine{justify-items:center;margin:.4rem 0 .6rem;display:grid}.machine-globe{background:radial-gradient(circle at 35% 30%,oklch(100% 0 0/.95),oklch(96% .03 205/.7) 40%,oklch(90% .06 205/.6));border-radius:50%;place-items:center;width:7.5rem;height:7.5rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px oklch(100% 0 0),inset 0 -8px 20px oklch(60% .08 205/.2),0 16px 34px -14px oklch(35% .05 240/.4)}.machine-globe span{z-index:1;color:var(--accent-strong);font-size:1.6rem;position:relative}.machine-globe i{border-radius:50%;width:1.6rem;height:1.6rem;position:absolute}.machine-globe i:nth-child(2){background:var(--peach);bottom:14%;left:18%}.machine-globe i:nth-child(3){background:var(--lilac);bottom:20%;right:16%}.machine-globe i:nth-child(4){background:var(--sage);bottom:8%;left:42%}.machine-body{width:6rem;height:2.6rem;color:var(--paper);letter-spacing:.1em;background:linear-gradient(oklch(36% .04 245),oklch(26% .03 250));border-radius:.9rem;justify-content:center;align-items:center;gap:.6rem;margin-top:-.6rem;font-size:.7rem;font-weight:800;display:flex;box-shadow:0 12px 24px -12px oklch(25% .04 250/.6)}.machine-body span{background:oklch(100% 0 0/.3);border-radius:999px;width:1.5rem;height:.35rem}.coin-balance{border-radius:var(--r-md);background:oklch(100% 0 0/.55);justify-content:space-between;align-items:center;width:100%;margin-top:.3rem;padding:.7rem .9rem;display:flex}.coin-balance span{color:var(--muted);font-size:.78rem;font-weight:600}.coin-balance b{color:oklch(60% .13 80);font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-size:1.25rem;font-weight:700;display:inline-flex}.dialog-backdrop{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(30% .03 250/.28);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--r-xl);-webkit-backdrop-filter:blur(28px)saturate(1.8);backdrop-filter:blur(28px)saturate(1.8);background:linear-gradient(oklch(100% 0 0/.9),oklch(100% 0 0/.78));border:1px solid oklch(100% 0 0/.8);width:min(100%,26rem);max-height:calc(100dvh - 2rem);padding:1.75rem;position:relative;overflow:auto;box-shadow:inset 0 1px oklch(100% 0 0),0 30px 80px -30px oklch(30% .05 250/.5)}.dialog-close{width:2.2rem;height:2.2rem;color:var(--muted);background:oklch(100% 0 0/.6);border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid;position:absolute;top:.9rem;right:.9rem}.dialog-close:hover{color:var(--ink);background:oklch(100% 0 0)}.gacha-dialog{text-align:center;justify-items:center;gap:.5rem;display:grid}.gacha-dialog h3{font-size:1.3rem}.gacha-dialog p{color:var(--muted);font-size:.86rem}.gacha-dialog .primary{margin-top:.6rem}.capsule{width:6.5rem;height:6.5rem;color:var(--ink);background:radial-gradient(circle at 35% 30%,oklch(100% 0 0),oklch(96% .02 230/.8) 45%,var(--tint,oklch(92% .04 230)));border-radius:50%;place-items:center;margin:.4rem 0 .8rem;font-size:2.4rem;display:grid;box-shadow:inset 0 1px oklch(100% 0 0),inset 0 -10px 24px oklch(35% .05 240/.12),0 20px 40px -18px oklch(35% .05 240/.45)}.capsule.loading{color:var(--faint)}.capsule.sky{--tint:var(--sky)}.capsule.peach{--tint:var(--peach)}.capsule.lilac{--tint:var(--lilac)}.capsule.butter{--tint:var(--butter)}.capsule.sage{--tint:var(--sage)}.profile-settings{gap:1rem;width:min(100%,30rem);display:grid}.settings-heading h2{margin-top:.4rem;font-size:1.5rem}.settings-heading p{color:var(--muted);margin-top:.3rem;font-size:.86rem}.profile-form{gap:.45rem;display:grid}.profile-form label,.profile-form legend{color:var(--ink-2);font-size:.78rem;font-weight:600}.profile-form fieldset{border:0;margin:.5rem 0 0;padding:0}.avatar-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.45rem;display:grid}.avatar-choices button{border-radius:var(--r-lg);color:var(--ink-2);transition:border-color .2s var(--ease),background .2s var(--ease),transform var(--dur)var(--spring);background:oklch(100% 0 0/.5);border:1.5px solid oklch(100% 0 0/.8);justify-items:center;gap:.4rem;padding:.9rem;font-size:.78rem;font-weight:600;display:grid;position:relative}.avatar-choices button:hover{background:oklch(100% 0 0/.8);transform:translateY(-2px)}.avatar-choices button.selected{border-color:var(--accent);color:var(--ink);background:oklch(100% 0 0/.9)}.avatar-choices img{object-fit:cover;border-radius:50%;width:4.5rem;height:4.5rem}.selected-mark{background:var(--accent);width:1.3rem;height:1.3rem;color:var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;top:.6rem;right:.6rem}.profile-form .primary{margin-top:.6rem}.invite-setting{border-radius:var(--r-lg);background:oklch(100% 0 0/.55);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.invite-setting span{color:var(--muted);font-size:.72rem;font-weight:600;display:block}.invite-setting b{letter-spacing:.14em;font-variant-numeric:tabular-nums;margin:.15rem 0;font-size:1.3rem;display:block}.invite-setting small{color:var(--muted);font-size:.7rem;line-height:1.5;display:block}.sign-out-button{min-height:2.5rem;color:var(--danger);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;transition:background .2s;display:inline-flex}.sign-out-button:hover{background:var(--danger-soft)}.bar-actions .icon-button.has-unread{color:var(--ink)}.bar-actions .icon-button.has-unread .badge{animation:inbox-badge-pop .5s var(--spring)both}@keyframes inbox-badge-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.inbox-dialog{gap:.9rem;width:min(100%,31rem);display:grid}.inbox-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.inbox-item{border-radius:var(--r-lg);text-align:left;width:100%;transition:background .2s var(--ease),border-color .2s var(--ease),transform var(--dur)var(--spring);background:oklch(100% 0 0/.5);border:1px solid oklch(100% 0 0/.7);align-items:flex-start;gap:.65rem;padding:.8rem .9rem .75rem;display:flex;position:relative}.inbox-item:hover{background:oklch(100% 0 0/.85);transform:translateY(-1px)}.inbox-item.unread{background:linear-gradient(180deg,var(--rose-soft),oklch(100% 0 0/.6));border-color:oklch(70% .12 350/.45)}.inbox-item .person-avatar{flex:none;margin-top:.1rem}.inbox-body{flex:1;gap:.3rem;min-width:0;display:grid}.inbox-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.1rem .45rem;font-size:.7rem;display:flex}.inbox-meta b{color:var(--ink);font-size:.82rem}.inbox-meta>span{color:var(--accent-strong);align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.inbox-meta time{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.inbox-new{background:var(--rose);color:var(--paper);border-radius:999px;place-items:center;padding:0 .4rem;font-size:.6rem;font-style:normal;font-weight:700;line-height:1.6;display:inline-grid}.inbox-quote{border-left:2px solid var(--line-strong);color:var(--muted);-webkit-line-clamp:2;padding:.3rem .6rem;font-size:.74rem;line-height:1.5}.inbox-quote,.inbox-text{overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inbox-text{color:var(--ink-2);white-space:pre-wrap;-webkit-line-clamp:5;font-size:.86rem;line-height:1.6}.inbox-item.unread .inbox-text{color:var(--ink)}.inbox-foot{color:var(--muted);align-items:center;gap:.35rem;margin-top:.1rem;font-size:.7rem;font-weight:600;display:flex}.inbox-foot>span{min-width:0;line-height:1.4}.inbox-foot .generated-mood{width:1.35rem;height:1.35rem}.inbox-foot .mood-cluster-extra{margin-left:-.4rem}.inbox-foot .mood-cluster-extra .generated-mood{width:1.05rem;height:1.05rem}.inbox-foot svg:last-child{flex:none;margin-left:auto}.inbox-hint{color:var(--faint);text-align:center;font-size:.72rem;line-height:1.5}.inbox-focus{animation:inbox-flash 2.4s var(--ease)both;border-radius:var(--r-md)}@keyframes inbox-flash{0%,50%{box-shadow:0 0 0 3px var(--butter),0 0 0 6px oklch(92% .095 95/.35)}to{box-shadow:0 0 #0000}}.signout-confirm{color:var(--ink-2);flex-wrap:wrap;justify-content:center;font-size:.82rem}.signout-confirm,.toast{align-items:center;gap:.5rem;display:flex}.toast{left:50%;bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + 1.5rem));z-index:100;max-width:min(92vw,30rem);color:var(--paper);-webkit-backdrop-filter:blur(12px)saturate(1.5);backdrop-filter:blur(12px)saturate(1.5);background:oklch(28% .03 250/.86);border-radius:999px;padding:.75rem 1.1rem;font-size:.84rem;font-weight:600;position:fixed;translate:-50%;box-shadow:inset 0 1px oklch(100% 0 0/.2),0 16px 40px -16px oklch(25% .04 250/.6)}.toast svg{color:oklch(88% .1 95);flex:none}.toast.success svg{color:oklch(80% .12 165)}.toast.warn{background:oklch(40% .1 40/.9)}.toast.warn svg{color:oklch(90% .1 80)}.gate-screen{place-items:center;min-height:100dvh;padding:clamp(1rem,4vw,3rem);display:grid}.gate-loading{color:var(--muted);justify-items:center;gap:1rem;font-size:.9rem;display:grid}.gate-loading .brand-mark{width:3.2rem;animation:float 2.4s var(--ease)infinite alternate;border-radius:1rem;font-size:1rem}@keyframes float{0%{transform:translateY(-4px)}to{transform:translateY(4px)}}.gate-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(100%,58rem);display:grid;overflow:hidden}.gate-card.single{grid-template-columns:1fr;width:min(100%,44rem)}.gate-art{background:linear-gradient(160deg,oklch(93% .06 205/.7),oklch(95% .05 350/.6));align-content:center;justify-items:start;gap:.8rem;padding:clamp(2rem,4vw,3.5rem);display:grid;position:relative}.gate-art h1{font-size:clamp(1.9rem,3.2vw,2.7rem)}.gate-art p{color:var(--ink-2);font-size:.95rem;line-height:1.7}.gate-heart{color:var(--rose)}.gate-form,.pair-card{gap:.5rem;padding:clamp(2rem,4vw,3.5rem);display:grid}.gate-form h2,.pair-card h1{margin:.3rem 0 .6rem;font-size:1.6rem}.gate-form label,.pair-options label{color:var(--ink-2);margin-top:.3rem;font-size:.78rem;font-weight:600}.gate-note{color:var(--muted);margin-top:.3rem;font-size:.76rem;line-height:1.6}.form-message{border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);padding:.6rem .8rem;font-size:.8rem;font-weight:600}.gate-form .primary{margin-top:.7rem}.pair-card{justify-items:start}.pair-card p{color:var(--muted);font-size:.9rem}.pair-options{grid-template-columns:1fr auto 1fr;align-items:start;gap:1.2rem;width:100%;margin-top:1.2rem;display:grid}.pair-options form,.pair-options>div{border-radius:var(--r-lg);background:oklch(100% 0 0/.45);border:1px solid oklch(100% 0 0/.75);gap:.45rem;padding:1.1rem;display:grid}.pair-options h2{margin-bottom:.2rem;font-size:1.05rem}.pair-options .primary{margin-top:.5rem}.pair-or{color:var(--faint);align-self:center;font-size:.76rem;font-weight:600}.card,.collectible,.diary-card{isolation:isolate}@media (hover:hover) and (pointer:fine){[data-sheen]{transition:transform .5s var(--ease),box-shadow .45s var(--ease)}[data-sheen].is-pointed{transform:perspective(900px)rotateX(var(--tilt-x,0deg))rotateY(var(--tilt-y,0deg))translate3d(0,-4px,0)scale(1.01);box-shadow:var(--card-shadow),0 24px 48px -24px oklch(35% .05 240/.35);transition:transform .12s linear,box-shadow .45s var(--ease)}.sheen-tilt-off [data-sheen].is-pointed{transform:none}.card:after,.collectible:after,.diary-card:after,.habit:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);background:radial-gradient(18rem 14rem at var(--px,50%)var(--py,50%),oklch(100% 0 0/.7),transparent 60%);position:absolute;inset:0}.card.is-pointed:after,.collectible.is-pointed:after,.diary-card.is-pointed:after,.habit.is-pointed:before{opacity:1}}@keyframes pane-rise{0%{opacity:0;transform:translateY(1.4rem)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.content-page>*{animation:pane-rise .65s var(--ease)backwards;animation-delay:calc(var(--i,0)*70ms)}.content-page>:nth-child(2){--i:1}.content-page>:nth-child(3){--i:2}.content-page>:nth-child(4){--i:3}.content-page>:nth-child(5){--i:4}.content-page>:nth-child(6){--i:5}.content-page>:nth-child(7){--i:6}.content-page>:nth-child(n+8){--i:7}.collection-layout>*,.habit-grid>*,.home-grid>*,.home-main>*,.mood-layout>*,.pair-grid>*,.plan-columns>*,.reminder-layout>*,.two-col>*{animation:pane-rise .65s var(--ease)backwards;animation-delay:calc(var(--j,0)*80ms + .12s)}.collection-layout>:nth-child(2),.habit-grid>:nth-child(2),.home-grid>:nth-child(2),.home-main>:nth-child(2),.mood-layout>:nth-child(2),.pair-grid>:nth-child(2),.plan-columns>:nth-child(2),.reminder-layout>:nth-child(2),.two-col>:nth-child(2){--j:1}.habit-grid>:nth-child(3),.plan-columns>:nth-child(3),.two-col>:nth-child(3){--j:2}.two-col>:nth-child(4){--j:3}}@media (max-width:1100px){.collection-layout,.home-grid,.mood-layout,.reminder-layout,.two-col{grid-template-columns:1fr}.reminder-compose{position:static}.habit-grid{grid-template-columns:1fr 1fr}.habit.game{grid-column:1/-1}.plan-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-columns>.together{grid-column:1/-1}.couple-card{grid-template-columns:11rem minmax(0,1fr);align-items:center;display:grid}.couple-card .couple-photo{aspect-ratio:1;margin:0}.brand-text{display:none}.brand{padding:.25rem}}@media (max-width:760px){:root{--r-xl:1.5rem;--r-lg:1.15rem}body{font-size:.94rem}.top-bar{grid-template-columns:auto 1fr;margin-top:.6rem;position:static}.brand-text{display:block}.brand{padding:.25rem .9rem .25rem .25rem}.pill-nav{display:none}main{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.greeting h1{font-size:1.6rem}.page-head h2{font-size:1.45rem}.page-quote{font-size:.9rem}.diary-pair,.habit-grid,.pair-grid,.plan-columns{grid-template-columns:1fr}.habit.game,.plan-columns>.together{grid-column:auto}.couple-card{grid-template-columns:1fr}.couple-card .couple-photo{width:min(100%,15rem);margin:-.3rem auto 0}.glance-row{grid-template-columns:auto 3.2rem repeat(3,minmax(0,1fr));gap:.5rem;padding:.55rem .6rem}.reminder-title-row{flex-wrap:wrap}.reminder-title-row b{flex:100%}.glance-row>span{flex-direction:column;align-items:flex-start;gap:.05rem}.glance-row>span svg{display:none}.period-bar{grid-template-columns:auto minmax(0,1fr) auto}.period-side{grid-column:1/-1;justify-content:center}.mood-picker{gap:.2rem}.mood-picker button{padding:.6rem .1rem .5rem}.mood-picker b{font-size:.68rem}.section-head .muted{text-align:left}.summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.scope-bar{justify-content:flex-start}.period-nav{width:100%}.period-nav b{flex:1;min-width:0}.cycle-total{flex-wrap:wrap}.cycle-total .summary-progress{flex:100%;order:3}.award{grid-template-columns:2.2rem minmax(0,1fr)}.award>.award-people,.award>.award-state{grid-column:2;justify-self:start}.automation-form{grid-template-columns:1fr}.automation-start{grid-template-columns:auto 1fr}.automation-start .chip-button{grid-column:1/-1;justify-self:start}.copy-field{grid-template-columns:1fr auto}.copy-field code{order:3;grid-column:1/-1}.gate-card{grid-template-columns:1fr}.gate-art{min-height:14rem}.pair-options{grid-template-columns:1fr}.pair-or{justify-self:center}.task-tools{opacity:1;transform:none}.bottom-nav{left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:60;border-radius:1.6rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:.1rem;padding:.35rem;display:grid;position:fixed}.bottom-nav button{min-height:3.35rem;color:var(--muted);transition:color .2s var(--ease);border-radius:1.25rem;justify-items:center;gap:.15rem;padding:.35rem 0 .3rem;font-size:.6rem;font-weight:600;display:grid;position:relative}.bottom-nav button>*{z-index:1;position:relative}.bottom-nav button svg{transition:transform .35s var(--spring)}.bottom-nav button.active{color:var(--ink)}.bottom-nav button.active svg{transform:translateY(-1px)scale(1.08)}.bottom-nav .nav-pill{z-index:0;border-radius:inherit;background:linear-gradient(oklch(100% 0 0/.85),oklch(100% 0 0/.6));position:absolute;inset:0;box-shadow:inset 0 1px oklch(100% 0 0),0 6px 14px -8px oklch(35% .05 240/.4)}.toast{bottom:calc(5.4rem + env(safe-area-inset-bottom))}.offline-bar{margin-top:.6rem}}@media (max-width:420px){.greeting h1{font-size:1.45rem}.time-fields{grid-template-columns:1fr}.avatar-choices{grid-template-columns:1fr 1fr}.shelves{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-value{font-size:2rem}.bottom-nav button span{font-size:.56rem}}@media (prefers-reduced-transparency:reduce){.brand,.card,.dialog,.gate-card,.glass-chrome,.habit,.mini-avatars,.panel,.plan-column{-webkit-backdrop-filter:none;backdrop-filter:none;background:oklch(100% 0 0/.92)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.diary-backfill-icon{width:2.6rem;height:2.6rem;color:var(--accent-strong);background:oklch(100% 0 0/.7);border-radius:.9rem;place-items:center;display:grid}.diary-backfill-tip{color:var(--muted);margin-top:.7rem;font-size:.82rem;line-height:1.6}.diary-backfill .mood-picker{gap:.25rem;margin-top:.6rem}.diary-backfill .mood-picker button{padding:.65rem .15rem .55rem}.diary-backfill .mood-picker b{font-size:.7rem}.diary-backfill .mood-hint{font-size:.78rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}