:root{--paper: #f1e8d8;--paper-2: #f8f1e5;--ink: #2a2420;--ink-2: #6a5c4d;--ink-3: #7e6e59;--claret: #9d2b43;--claret-deep: #7d1f33;--gold: #ac8c4e;--rule: rgba(42, 36, 32, .16);--rule-soft: rgba(42, 36, 32, .09);--bg: var(--paper);--bg-tint: #eaddc9;--surface: var(--paper-2);--glass: rgba(245, 238, 224, .78);--text: var(--ink);--text-2: var(--ink-2);--text-3: var(--ink-3);--line: var(--rule);--line-strong: rgba(42, 36, 32, .28);--rose: var(--claret);--rose-hover: var(--claret-deep);--rose-soft: #f3dde0;--rose-glow: rgba(157, 43, 67, .22);--lavender: var(--gold);--lavender-soft: #efe7d6;--peach: #e7c9a8;--danger: #b3201b;--success: #3f7d4e;--grad-romance: linear-gradient(120deg, #9d2b43 0%, #c05a6e 55%, #ac8c4e 100%);--grad-soft: linear-gradient(135deg, #f1e3cf 0%, #f7ecda 100%);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Helvetica Neue", Arial, sans-serif;--serif: "Instrument Serif", "New York", "Iowan Old Style", Georgia, serif;--radius-xl: 8px;--radius-lg: 5px;--radius: 4px;--radius-sm: 3px;--shadow-sm: 0 1px 2px rgba(60, 35, 20, .05), 0 2px 8px rgba(60, 35, 20, .05);--shadow: 0 1px 2px rgba(60, 35, 20, .05), 0 12px 32px -10px rgba(80, 45, 25, .18);--shadow-lg: 0 2px 6px rgba(60, 35, 20, .06), 0 30px 60px -22px rgba(80, 45, 25, .32);--ease: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--nav-h: 52px;--gutter: clamp(16px, 4vw, 32px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font-family:var(--font);font-size:17px;line-height:1.5;letter-spacing:-.01em;color:var(--text);background-color:var(--paper);background-image:radial-gradient(1300px 820px at 50% -12%,rgba(255,251,242,.9),transparent 60%),radial-gradient(1000px 760px at 108% 118%,rgba(157,43,67,.07),transparent 62%),radial-gradient(900px 700px at -8% 108%,rgba(172,140,78,.07),transparent 60%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;display:block}a{color:var(--rose);text-decoration:none}a:hover{color:var(--rose-hover)}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--rose-glow);outline-offset:2px;border-radius:8px}[hidden]{display:none!important}::selection{background:var(--rose-soft);color:var(--rose-hover)}.icon{flex:none;width:1.1em;height:1.1em;vertical-align:-.15em}.hearts-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.page{position:relative;z-index:1;flex:1;width:100%;max-width:1120px;margin:0 auto;padding:0 var(--gutter) 64px}.eyebrow{margin:0 0 10px;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--rose)}.display{margin:0;font-family:var(--serif);font-size:clamp(40px,6.4vw,72px);line-height:1.02;font-weight:400;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}.display-xl{font-size:clamp(46px,8.6vw,104px);letter-spacing:-.02em}.display em,.login-title em,.sheet-title em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em;padding-right:.06em;color:var(--claret)}.lead{margin:20px auto 0;max-width:640px;font-size:clamp(19px,2.2vw,24px);line-height:1.4;font-weight:500;color:var(--text-2);letter-spacing:-.015em;text-wrap:pretty}.nav{position:sticky;top:0;z-index:50;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease),background .3s var(--ease)}.nav.is-scrolled{border-bottom-color:var(--line)}.nav-inner{max-width:1120px;height:var(--nav-h);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:16px}.nav-brand{display:inline-flex;align-items:center;gap:6px;font-family:var(--serif);font-style:italic;font-size:26px;line-height:1;color:var(--text)}.nav-brand .icon{color:var(--rose);width:18px;height:18px;animation:beat 2.6s ease-in-out infinite}.nav-brand:hover{color:var(--text)}.nav-links{display:flex;align-items:center;gap:4px;margin:0 auto;padding:0;list-style:none}.nav-links a{display:block;padding:6px 12px;font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--text-2);border-radius:999px;transition:color .2s var(--ease),background .2s var(--ease)}.nav-links a:hover{color:var(--text)}.nav-links a[aria-current=page]{color:var(--text);background:#1d1d1f0f}.nav-links-mobile-only{display:none}.nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.nav-links+.nav-actions{margin-left:0}.nav-toggle{display:none;position:relative;width:40px;height:40px;border:0;background:none;cursor:pointer;border-radius:50%}.nav-toggle span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--text);border-radius:2px;transition:transform .35s var(--ease-out),top .35s var(--ease-out)}.nav-toggle span:first-child{top:16px}.nav-toggle span:last-child{top:23px}.nav-open .nav-toggle span:first-child{top:19.5px;transform:rotate(45deg)}.nav-open .nav-toggle span:last-child{top:19.5px;transform:rotate(-45deg)}.menu{position:relative}.menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:280px;padding:8px;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);transform-origin:top right;animation:pop .28s var(--ease-out)}.menu-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-sm);color:var(--text)}.menu-item:hover{background:var(--bg-tint);color:var(--text)}.menu-item strong{display:block;font-size:15px;font-weight:600}.menu-item small{display:block;font-size:13px;color:var(--text-3)}.menu-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--rose-soft);color:var(--rose)}.menu-item-quiet .menu-icon{background:#1d1d1f0d;color:var(--text-2)}.menu-sep{height:1px;margin:6px 10px;background:var(--line)}.btn{--btn-bg: rgba(29, 29, 31, .06);--btn-fg: var(--text);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 22px;font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1;color:var(--btn-fg);background:var(--btn-bg);border:0;border-radius:999px;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:transform .2s var(--ease),background .2s var(--ease),box-shadow .25s var(--ease),opacity .2s}.btn:hover{color:var(--btn-fg)}.btn:active{transform:scale(.97)}.btn:disabled{cursor:default}.btn-primary{--btn-bg: var(--claret);--btn-fg: #fbf3e6;box-shadow:inset 0 1px #ffffff38,0 10px 22px -12px #7d1f33d9}.btn-primary:hover{--btn-bg: var(--claret-deep);box-shadow:inset 0 1px #ffffff38,0 14px 26px -12px #7d1f33e6}.btn-ghost{--btn-bg: transparent;--btn-fg: var(--ink);box-shadow:inset 0 0 0 1px var(--rule)}.btn-ghost:hover{--btn-bg: rgba(42, 36, 32, .04);--btn-fg: var(--claret);box-shadow:inset 0 0 0 1px var(--claret)}.btn-danger{--btn-bg: rgba(215, 0, 21, .08);--btn-fg: var(--danger)}.btn-danger:hover{--btn-bg: var(--danger);--btn-fg: #fff}.btn-sm{min-height:32px;padding:0 14px;font-size:13px}.btn-lg{min-height:52px;padding:0 28px;font-size:17px}.btn-block{width:100%}.btn-round{width:56px;height:56px;min-height:0;padding:0}.btn-round .icon{width:22px;height:22px}.btn .spinner{display:none;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.btn.is-busy .spinner{display:inline-block}.btn.is-busy{opacity:.85}.icon-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;color:var(--text-3);cursor:pointer;transition:background .2s,color .2s}.icon-btn:hover{background:#d7001514;color:var(--danger)}.hero{padding:clamp(56px,11vw,132px) 0 clamp(32px,6vw,64px);text-align:center}.hero-compact{padding:clamp(44px,8vw,92px) 0 clamp(24px,4vw,40px)}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}.section{padding:clamp(24px,5vw,56px) 0}.section-narrow{max-width:720px;margin:0 auto}.section-head{text-align:center;margin-bottom:clamp(32px,6vw,64px)}.card{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:inset 0 1px #ffffff80,var(--shadow)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--rose);background:var(--rose-soft);border-radius:999px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;color:var(--text-2);background:#1d1d1f0f;border-radius:999px}.avatar{display:inline-grid;place-items:center;width:32px;height:32px;font-size:14px;font-weight:700;color:#fff;background:var(--grad-romance);border-radius:50%}.avatar-sm{width:24px;height:24px;font-size:11px}.dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5}.empty{max-width:520px;margin:0 auto;padding:48px 32px;text-align:center}.empty h3{margin:16px 0 6px;font-size:24px;letter-spacing:-.02em}.empty p{margin:0 0 24px;color:var(--text-2)}.empty-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--grad-soft);color:var(--rose)}.empty-icon .icon{width:28px;height:28px}.footer{position:relative;z-index:1;padding:28px var(--gutter) 40px;text-align:center;font-size:13px;color:var(--text-3)}.footer p{margin:0}.footer .icon{color:var(--rose);width:13px;height:13px;animation:beat 2.6s ease-in-out infinite}.counter{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,2vw,20px);max-width:920px;margin:0 auto}.counter-cell{display:flex;flex-direction:column;align-items:center;padding:clamp(20px,4vw,36px) 8px;background:#ffffffc7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.counter-cell:first-child{background:var(--grad-romance);border-color:transparent;color:#fff}.counter-cell:first-child .counter-label{color:#ffffffd9}.counter-num{font-size:clamp(34px,7vw,72px);font-weight:700;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.counter-num.tick{animation:tick .5s var(--ease-out)}.counter-label{margin-top:8px;font-size:clamp(12px,1.6vw,15px);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em}.counter-caption{margin:20px 0 0;text-align:center;font-family:var(--serif);font-style:italic;font-size:24px;color:var(--text-2)}.player{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(24px,5vw,56px);max-width:820px;margin:0 auto;padding:clamp(24px,5vw,48px);border-radius:var(--radius-xl)}.vinyl-wrap{position:relative;width:clamp(180px,28vw,260px);aspect-ratio:1;margin-right:clamp(12px,3vw,28px)}.vinyl{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,transparent 0 30%,rgba(255,255,255,.04) 30.5% 31%,transparent 31.5% 40%,rgba(255,255,255,.05) 40.5% 41%,transparent 41.5% 52%,rgba(255,255,255,.04) 52.5% 53%,transparent 53.5% 64%,rgba(255,255,255,.05) 64.5% 65%,transparent 65.5%),conic-gradient(from 30deg,#1a1a1d,#2c2c31,#151517,#2a2a2f,#1a1a1d,#303036,#18181a,#1a1a1d),#18181b;box-shadow:0 24px 50px -16px #1e000f8c,inset 0 0 0 2px #ffffff0a;animation:spin 3.6s linear infinite;animation-play-state:paused}.vinyl:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 200deg,transparent 0 10%,rgba(255,255,255,.12) 15%,transparent 22% 60%,rgba(255,255,255,.08) 66%,transparent 72%)}.vinyl-label{position:absolute;top:33%;right:33%;bottom:33%;left:33%;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 0 0 4px #e0245e,0 0 0 5px #0000004d}.vinyl-label:after{content:"";position:absolute;left:50%;top:50%;width:10%;height:10%;transform:translate(-50%,-50%);border-radius:50%;background:var(--bg);box-shadow:inset 0 1px 2px #0006}.tonearm{position:absolute;top:-6%;right:-4%;width:8%;height:62%;transform-origin:50% 6%;transform:rotate(-6deg);transition:transform .9s var(--ease-out)}.tonearm:before{content:"";position:absolute;top:0;left:50%;width:160%;aspect-ratio:1;transform:translate(-50%);border-radius:50%;background:linear-gradient(145deg,#f4f4f6,#b9b9c0);box-shadow:0 4px 10px #00000040}.tonearm:after{content:"";position:absolute;top:8%;left:50%;width:22%;height:92%;transform:translate(-50%);border-radius:4px;background:linear-gradient(90deg,#d9d9de,#fff,#c4c4ca);box-shadow:0 6px 12px #0003,0 0 0 0 transparent;border-bottom:10px solid #2a2a2e}.is-playing .vinyl{animation-play-state:running}.is-playing .tonearm{transform:rotate(18deg)}.player-title{margin:0;font-size:clamp(32px,4.5vw,44px);letter-spacing:-.03em;font-family:var(--serif);font-weight:400;font-style:italic}.player-sub{margin:4px 0 20px;color:var(--text-2)}.player-progress{height:6px;border-radius:6px;background:#1d1d1f14;overflow:hidden;cursor:pointer}.player-progress span{display:block;height:100%;width:0;background:var(--grad-romance);border-radius:inherit;transition:width .25s linear}.player-time{display:flex;justify-content:space-between;margin:8px 0 18px;font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}[data-play] .icon-pause,.is-playing [data-play] .icon-play{display:none}.is-playing [data-play] .icon-pause{display:block}[data-play] .icon-play{margin-left:3px}.timeline{position:relative;margin:0;padding:0;list-style:none}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:linear-gradient(to bottom,transparent,rgba(224,36,94,.35) 6%,rgba(185,166,255,.45) 94%,transparent)}.timeline-item{position:relative;width:50%;padding:0 clamp(28px,4.5vw,56px) clamp(32px,5vw,56px)}.timeline-item.is-left{margin-right:auto}.timeline-item.is-right{margin-left:auto}.timeline-dot{position:absolute;top:22px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--rose);box-shadow:0 0 0 6px #ffe3ebcc,var(--shadow-sm)}.timeline-dot .icon{width:16px;height:16px;animation:beat 2.6s ease-in-out infinite}.is-left .timeline-dot{right:-17px}.is-right .timeline-dot{left:-17px}.moment{overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}.moment:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.moment-media{margin:0;aspect-ratio:4 / 3;overflow:hidden;background:var(--grad-soft)}.moment-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}.moment:hover .moment-media img{transform:scale(1.04)}.moment-media.is-missing{display:none}.moment-body{padding:22px 24px 26px}.moment-title{margin:14px 0 6px;font-size:24px;line-height:1.2;letter-spacing:-.02em}.moment-text{margin:0;color:var(--text-2)}.timeline-end{text-align:center}.form-card{padding:clamp(24px,5vw,44px)}.field{margin-bottom:22px}.field>label,.field>.label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--text)}.optional{margin-left:6px;font-weight:500;color:var(--text-3)}.field input[type=text],.field input[type=password],.field input[type=date],.field textarea,.add-row input{display:block;width:100%;min-height:52px;padding:14px 16px;font:inherit;font-size:17px;color:var(--text);background:#ffffffe6;border:1px solid var(--line-strong);border-radius:var(--radius-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s}.field textarea{resize:vertical;line-height:1.6}.field input::placeholder,.field textarea::placeholder,.add-row input::placeholder{color:#a3a3ab}.field input:hover,.field textarea:hover{border-color:#1d1d1f3d}.field input:focus,.field textarea:focus,.add-row input:focus{outline:none;background:#fff;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-glow)}.field.has-error input,.field.has-error textarea,.field.has-error .dropzone{border-color:var(--danger);box-shadow:0 0 0 4px #d700151f}.field-note{margin:8px 0 0;font-size:13px;color:var(--text-3)}.input-affix{position:relative}.input-affix input{padding-right:52px}.affix-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--text-3);cursor:pointer}.affix-btn:hover{color:var(--text)}.affix-btn .icon-eye-off,.affix-btn[aria-pressed=true] .icon-eye{display:none}.affix-btn[aria-pressed=true] .icon-eye-off{display:block}.form-error{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;padding:12px 14px;font-size:15px;font-weight:500;color:#a3001a;background:#ffe4e8e6;border-radius:var(--radius-sm);animation:drop-in .35s var(--ease-out)}.form-error:before{content:"💔"}.form-hint{margin:0 0 16px;padding:12px 14px;font-size:15px;color:#5b3fd1;background:var(--lavender-soft);border-radius:var(--radius-sm);animation:drop-in .35s var(--ease-out)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.shake{animation:shake .5s var(--ease)}.dropzone{position:relative;display:block;border:1.5px dashed rgba(224,36,94,.35);border-radius:var(--radius);background:#fff9;cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s,transform .2s}.dropzone:hover,.dropzone.is-drag{border-color:var(--rose);background:#ffe3eb73}.dropzone.is-drag{transform:scale(1.01)}.dropzone.has-file{border-style:solid;border-color:transparent}.dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:36px 16px;text-align:center}.dropzone-empty strong{font-size:16px}.dropzone-empty small{font-size:13px;color:var(--text-3)}.dropzone-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:8px;border-radius:16px;background:var(--rose-soft);color:var(--rose)}.dropzone-icon .icon{width:24px;height:24px}.dropzone-preview{position:relative;display:block}.dropzone-preview img{width:100%;max-height:380px;object-fit:cover}.dropzone.no-preview .dropzone-preview{min-height:120px;background:var(--grad-soft)}.dropzone.no-preview .dropzone-preview:before{content:"Photo selected";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:600;color:var(--rose)}.dropzone.is-converting .dropzone-preview:before{content:"Converting HEIC photo…";animation:pulse-soft 1.4s ease-in-out infinite}@keyframes pulse-soft{50%{opacity:.45}}.dropzone-clear{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;color:#fff;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.switch{display:flex;align-items:center;gap:14px;margin:4px 0 24px;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:relative;flex:none;width:51px;height:31px;border-radius:999px;background:#78788033;transition:background .25s var(--ease)}.switch-thumb{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029;transition:transform .3s var(--spring)}.switch input:checked+.switch-track{background:var(--rose)}.switch input:checked+.switch-track .switch-thumb{transform:translate(20px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 4px var(--rose-glow)}.switch-text strong{display:block;font-size:15px}.switch-text small{display:block;font-size:13px;color:var(--text-3)}.paper .textarea-paper{font-family:var(--serif);font-size:21px;line-height:32px;padding-top:6px;background-color:#fffdfb;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(224,36,94,.1) 31px 32px);background-attachment:local}.page-login .page{display:grid;place-items:center;padding-bottom:0}.login{width:100%;padding:48px 0}.login-card{position:relative;width:100%;max-width:420px;margin:0 auto;padding:44px clamp(24px,6vw,40px) 32px;text-align:center;background:#ffffffc7;-webkit-backdrop-filter:saturate(180%) blur(28px);backdrop-filter:saturate(180%) blur(28px);border:1px solid rgba(255,255,255,.95);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.login-avatar{width:96px;height:96px;margin:0 auto 20px;padding:3px;border-radius:50%;background:var(--grad-romance);box-shadow:0 12px 30px -10px #e0245e99;animation:float-y 6s ease-in-out infinite}.login-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid #fff}.login-title{margin:0;font-size:clamp(32px,7vw,40px);line-height:1.1;letter-spacing:-.03em}.login-sub{margin:8px 0 28px;color:var(--text-2)}.login-form{text-align:left}.login-form .field{margin-bottom:16px}.login-foot{margin:16px 0 0;text-align:center;font-size:13px;color:var(--text-3)}.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:32px}.filter{padding:8px 16px;font-size:14px;font-weight:600;color:var(--text-2);background:#ffffffb3;border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:all .2s var(--ease)}.filter:hover{color:var(--text)}.filter.is-active{color:#fff;background:var(--text);border-color:var(--text)}.diary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}.diary{position:relative;display:flex;flex-direction:column;padding:26px 26px 22px;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out);transition-delay:calc(var(--i, 0) * 40ms)}.diary:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);transition-delay:0s}.diary-open{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:0;background:none;cursor:pointer;border-radius:inherit}.diary-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:500;color:var(--text-3)}.diary-title{margin:16px 0 8px;font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.1;letter-spacing:-.01em}.diary-excerpt{flex:1;margin:0 0 18px;color:var(--text-2)}.diary-more{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:600;color:var(--rose)}.diary-more .icon{transition:transform .3s var(--ease-out)}.diary:hover .diary-more .icon{transform:translate(4px)}.filter-empty{text-align:center;color:var(--text-3)}dialog{color:var(--text)}dialog::backdrop{background:#280a1959;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sheet{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:var(--radius-xl);background:transparent;box-shadow:var(--shadow-lg);overflow:auto}.sheet[open]{animation:sheet-in .5s var(--ease-out)}.sheet[open]::backdrop{animation:fade-in .4s var(--ease)}.sheet-inner{position:relative;padding:clamp(32px,6vw,56px);background:#fffdfb;background-image:radial-gradient(600px 300px at 100% 0%,rgba(255,227,235,.6),transparent 70%)}.sheet-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#1d1d1f0f;color:var(--text-2);cursor:pointer}.sheet-close:hover{background:#1d1d1f1a;color:var(--text)}.sheet-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(36px,6vw,52px);line-height:1.05;letter-spacing:-.015em}.sheet-meta{margin:10px 0 24px;font-size:14px;color:var(--text-3)}.sheet-lead{margin:0 0 20px;font-size:20px;font-weight:500;color:var(--text-2)}.sheet-body{font-family:var(--serif);font-size:21px;line-height:1.65;color:#2a2326;white-space:normal;overflow-wrap:anywhere}.sheet-sign{margin:32px 0 0;text-align:right;color:var(--text-3)}.sheet-sign span{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--rose)}.confirm{width:min(380px,calc(100% - 32px));padding:0;border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.confirm[open]{animation:pop .3s var(--ease-out)}.confirm-inner{padding:28px 24px 20px;text-align:center}.confirm-inner p{margin:0 0 24px;font-size:17px;font-weight:600}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.has-dialog{overflow:hidden}.bucket-card{padding:clamp(22px,5vw,40px)}.progress-wrap{margin-bottom:24px}.progress-text{margin-bottom:10px;font-size:15px;color:var(--text-2)}.progress-text strong{color:var(--text)}.progress{height:8px;border-radius:8px;background:#1d1d1f12;overflow:hidden}.progress span{display:block;height:100%;background:var(--grad-romance);border-radius:inherit;transition:width .8s var(--ease-out)}.add-row{display:flex;gap:10px;margin-bottom:32px}.add-row input{flex:1;min-width:0;border-radius:999px;padding:0 22px}.add-row .btn{min-height:52px}.list-title{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.todo-list{margin:0 0 28px;padding:0;list-style:none}.todo{display:flex;align-items:center;gap:14px;min-height:60px;padding:8px 4px;border-bottom:1px solid var(--line);transition:opacity .3s var(--ease),transform .3s var(--ease)}.todo:last-child{border-bottom:0}.todo.is-new{animation:drop-in .45s var(--ease-out)}.todo.is-pending{opacity:.6}.todo.is-leaving{opacity:0;transform:translate(24px)}.todo-check{position:relative;flex:none;cursor:pointer}.todo-check input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.todo-box{display:grid;place-items:center;width:26px;height:26px;border:2px solid rgba(29,29,31,.22);border-radius:50%;color:transparent;transition:all .25s var(--spring)}.todo-box .icon{width:15px;height:15px;stroke-width:3}.todo-check:hover .todo-box{border-color:var(--rose)}.todo-check input:checked+.todo-box{background:var(--rose);border-color:var(--rose);color:#fff;transform:scale(1.08)}.todo-check input:focus-visible+.todo-box{box-shadow:0 0 0 4px var(--rose-glow)}.todo-text{flex:1;min-width:0;font-size:17px;overflow-wrap:anywhere}.todo.is-done .todo-text{color:var(--text-3);text-decoration:line-through;text-decoration-color:#e0245e80}.todo-date{flex:none;font-size:13px;color:var(--text-3)}.todo .icon-btn{opacity:.5}.todo:hover .icon-btn,.todo .icon-btn:focus-visible{opacity:1}.list-empty{margin:8px 0 28px;color:var(--text-3);font-size:15px}.pinboard{columns:3 280px;column-gap:24px}.sticky{--paper: #fff1f4;position:relative;display:inline-block;width:100%;margin:0 0 28px;padding:30px 24px 20px;break-inside:avoid;background:var(--paper);background-image:linear-gradient(180deg,#ffffff8c,#fff0 40%);border-radius:6px 6px 18px;box-shadow:0 1px 1px #5014280f,0 14px 28px -12px #781e4647;transform:rotate(var(--tilt, 0deg));cursor:pointer;transition:transform .5s var(--spring),box-shadow .5s var(--ease-out)}.sticky.reveal.is-visible{transform:rotate(var(--tilt, 0deg))}.sticky:hover,.sticky:focus-visible,.sticky.reveal.is-visible:hover,.sticky.reveal.is-visible:focus-visible{transform:rotate(0) translateY(-4px) scale(1.02);box-shadow:0 2px 2px #5014280f,0 24px 40px -14px #781e4659}.sticky-rose{--paper: #ffe4ec}.sticky-peach{--paper: #ffe8dc}.sticky-lilac{--paper: #eee8ff}.sticky-butter{--paper: #fff5d1}.sticky-mint{--paper: #e3f6ee}.sticky-tape{position:absolute;top:-12px;left:50%;width:90px;height:26px;transform:translate(-50%) rotate(-2deg);background:#ffffff8c;border:1px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 1px 3px #0000000f}.sticky-title{margin:0;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.15}.sticky-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-out)}.sticky-body>div{overflow:hidden}.sticky-body p{margin:14px 0 0;font-size:16px;color:#3a3134;overflow-wrap:anywhere}.sticky.is-open .sticky-body{grid-template-rows:1fr}.sticky-date{display:block;margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.04em;color:#3c1e2873;text-transform:uppercase}.fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:#fff;background:var(--rose);box-shadow:0 14px 30px -8px #e0245e99;transition:transform .3s var(--spring)}.fab:hover{color:#fff;transform:scale(1.08) rotate(90deg)}.fab .icon{width:26px;height:26px}.page-valentine .page{display:grid;place-items:center}.valentine{width:100%;padding:40px 0}.valentine-card{position:relative;max-width:560px;margin:0 auto;padding:36px clamp(24px,6vw,48px) 40px;text-align:center;border-radius:var(--radius-xl);overflow:hidden}.valentine-card .display{font-size:clamp(36px,7vw,56px)}.valentine-gif{max-width:220px;margin:0 auto 16px}.valentine-actions{position:relative;display:flex;justify-content:center;gap:12px;min-height:64px;margin-top:28px}.valentine-actions [data-yes]{transition:transform .4s var(--spring),background .2s}.btn.is-dodging{position:absolute;transition:left .35s var(--spring),top .35s var(--spring);z-index:2}.valentine-details{margin-top:28px;padding:24px;background:var(--grad-soft);border-radius:var(--radius-lg);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.valentine-details.is-in{opacity:1;transform:none}.valentine-details h2{margin:0;font-size:32px;letter-spacing:-.02em}.valentine-details>p{margin:4px 0 16px;color:var(--text-2)}.valentine-details dl{display:grid;gap:10px;margin:0;text-align:left}.valentine-details dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;background:#ffffffbf;border-radius:var(--radius-sm)}.valentine-details dt{color:var(--text-3);font-weight:500}.valentine-details dd{margin:0;font-weight:600;text-align:right}.valentine-sign{margin:18px 0 0;font-family:var(--serif);font-style:italic;font-size:24px;color:var(--rose)}.admin-group{padding:clamp(20px,4vw,32px);margin-bottom:24px}.admin-list{margin:8px 0 0;padding:0;list-style:none}.admin-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-row:last-child{border-bottom:0}.admin-thumb{flex:none;width:56px;height:56px;border-radius:14px;object-fit:cover;background:var(--grad-soft)}.admin-thumb-empty{display:grid;place-items:center;color:var(--rose)}.admin-info{flex:1;min-width:0}.admin-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-info small{display:block;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row form{margin:0}.toasts{position:fixed;top:calc(var(--nav-h) + 12px);left:50%;z-index:100;display:flex;flex-direction:column;align-items:center;gap:8px;width:min(440px,calc(100% - 32px));transform:translate(-50%);pointer-events:none}.toast{padding:12px 20px;font-size:15px;font-weight:600;color:var(--text);background:#ffffffe6;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,.95);border-radius:999px;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-12px) scale(.96);transition:opacity .35s var(--ease-out),transform .45s var(--spring)}.toast.is-in{opacity:1;transform:none}.toast-error{color:#a3001a}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}html:not(.js) .reveal{opacity:1;transform:none}.diary.reveal{transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),box-shadow .45s var(--ease-out);transition-delay:calc(var(--i, 0) * 60ms)}.diary.reveal.is-visible:hover{transform:translateY(-4px);transition-delay:0s}.moment.reveal.is-visible:hover{transform:translateY(-4px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes beat{0%,60%,to{transform:scale(1)}10%{transform:scale(1.18)}20%{transform:scale(1)}30%{transform:scale(1.1)}}@keyframes tick{0%{opacity:.4;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(32px) scale(.98)}to{opacity:1;transform:none}}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media(max-width:900px){.nav-toggle{display:block}.nav-links{position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px var(--gutter) 40px;background:#fff8f9f5;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .4s var(--ease-out),visibility 0s .3s;overflow-y:auto}.nav-open .nav-links{opacity:1;visibility:visible;transform:none;transition-delay:0s}.nav-open{overflow:hidden}.nav-links li{border-bottom:1px solid var(--line)}.nav-links a{padding:16px 4px;font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--text);border-radius:0}.nav-links a[aria-current=page]{background:none;color:var(--rose)}.nav-links-mobile-only{display:block}.nav-actions{margin-left:auto}.nav-links+.nav-actions{margin-left:auto}}@media(max-width:720px){body{font-size:16px}.player{grid-template-columns:1fr;justify-items:center;text-align:center}.player-body{width:100%}.counter{grid-template-columns:repeat(2,1fr)}.timeline:before{left:17px}.timeline-item{width:100%;padding:0 0 32px 52px}.timeline-item.is-left,.timeline-item.is-right{margin:0}.is-left .timeline-dot,.is-right .timeline-dot{left:0;right:auto}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.todo-date{display:none}.admin-row{flex-wrap:wrap}.admin-row form{margin-left:72px}.add-row{flex-direction:column}.add-row input{min-height:52px}}body.page-home{--paper: #f1e8d8;--paper-2: #f8f1e5;--ink: #2a2420;--ink-2: #6a5c4d;--ink-3: #7e6e59;--claret: #9d2b43;--claret-deep: #7d1f33;--gold: #ac8c4e;--rule: rgba(42, 36, 32, .16);--rule-soft: rgba(42, 36, 32, .09);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(1300px 820px at 50% -12%,rgba(255,251,242,.9),transparent 60%),radial-gradient(1000px 760px at 108% 118%,rgba(157,43,67,.07),transparent 62%),radial-gradient(900px 700px at -8% 108%,rgba(172,140,78,.07),transparent 60%);background-attachment:fixed}body.page-home:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body.page-home ::selection{background:#9d2b432e;color:var(--claret-deep)}body.page-home :focus-visible{outline-color:#9d2b4366}body.page-home ::-webkit-scrollbar{width:11px;height:11px}body.page-home ::-webkit-scrollbar-thumb{background:#2a242038;border:3px solid var(--paper);border-radius:999px}body.page-home ::-webkit-scrollbar-thumb:hover{background:#2a242057}body.page-home{scrollbar-color:rgba(42,36,32,.22) transparent}.page-home .btn-primary{--btn-bg: var(--claret);--btn-fg: #fbf3e6;box-shadow:inset 0 1px #ffffff38,0 10px 22px -12px #7d1f33d9}.page-home .btn-primary:hover{--btn-bg: var(--claret-deep);box-shadow:inset 0 1px #ffffff38,0 14px 26px -12px #7d1f33e6}.page-home .btn-ghost{--btn-bg: transparent;--btn-fg: var(--ink);box-shadow:inset 0 0 0 1px var(--rule);-webkit-backdrop-filter:none;backdrop-filter:none}.page-home .btn-ghost:hover{--btn-bg: rgba(42, 36, 32, .04);--btn-fg: var(--claret);box-shadow:inset 0 0 0 1px var(--claret)}.ks-hero{padding:clamp(44px,9vw,108px) 0 clamp(30px,6vw,60px);max-width:min(94vw,1040px)}.ks-hero-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(46px,10vw,128px);line-height:.96;letter-spacing:-.015em;color:var(--ink)}.ks-hero-title em{font-style:italic;color:var(--claret)}.ks-hero-deck{margin:clamp(22px,3vw,30px) 0 0;max-width:52ch;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--ink-2)}.ks-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,3.5vw,38px)}.ks-ledger{padding:clamp(20px,4vw,44px) 0}.ks-ledger-row{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper-2);border:1px solid var(--rule);border-radius:3px;box-shadow:inset 0 1px #fff9,0 24px 48px -36px #50281480;overflow:hidden}.ks-ledger-cell{min-width:0;padding:clamp(20px,3.6vw,38px) 10px;text-align:center;border-right:1px solid var(--rule-soft)}.ks-ledger-cell:last-child{border-right:0}.ks-ledger-num{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(42px,7vw,78px);line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.ks-ledger-cell:first-child .ks-ledger-num{color:var(--claret)}.ks-ledger-num.tick{animation:tick .5s var(--ease-out)}.ks-ledger-label{display:block;margin-top:12px;font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.ks-ledger-caption{margin:clamp(18px,2.5vw,26px) 0 0;text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,27px);color:var(--ink-2)}.ks-side{padding:clamp(20px,4vw,44px) 0}.ks-record{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(28px,5vw,64px);max-width:860px;margin:0 auto;padding:clamp(26px,4vw,48px);background:var(--paper-2);border:1px solid var(--rule);border-radius:5px;box-shadow:inset 0 1px #fff9,0 34px 64px -40px #50281480}.page-home .vinyl-label{box-shadow:0 0 0 4px var(--claret),0 0 0 5px #0000004d}.page-home .vinyl-label:after{background:var(--paper-2)}.ks-record-liner{min-width:0}.ks-record-title{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(34px,4.6vw,48px);letter-spacing:-.01em;color:var(--ink)}.ks-record-sub{margin:6px 0 22px;color:var(--ink-2)}.ks-progress{position:relative;height:3px;background:var(--rule);cursor:pointer}.ks-progress span{display:block;height:100%;width:0;background:var(--claret);transition:width .25s linear}.ks-record-time{display:flex;justify-content:space-between;margin:10px 0 20px;font-size:12px;letter-spacing:.08em;color:var(--ink-3);font-variant-numeric:tabular-nums}.ks-record-note{margin:18px 0 0;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-3)}.ks-album{padding:clamp(34px,6vw,76px) 0 0}.ks-album-head{text-align:center;margin-bottom:clamp(36px,6vw,72px)}.ks-album-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(42px,6.2vw,80px);line-height:1.02;letter-spacing:-.015em;color:var(--ink)}.ks-album-title em{font-style:italic;color:var(--claret)}.ks-album-sub{margin:14px 0 0;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.tl{position:relative;--spine-x: 50%;--node: 13px}.tl-spine{position:absolute;top:0;bottom:64px;left:var(--spine-x);width:2px;transform:translate(-50%);background:var(--rule);border-radius:2px;overflow:hidden}.tl-spine-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--claret),#c05a6e);transform-origin:top;transform:scaleY(0);will-change:transform}.tl-list{position:relative;margin:0;padding:0;list-style:none}.tl-year{position:relative;margin:clamp(8px,2vw,20px) 0 clamp(36px,5vw,56px);text-align:center}.tl-year:first-child{margin-top:0}.tl-year span{position:relative;display:inline-block;padding:9px 22px 8px;font-family:var(--serif);font-size:clamp(28px,3.2vw,38px);line-height:1;letter-spacing:.01em;color:var(--claret);background:var(--paper-2);border:1px solid rgba(157,43,67,.35);border-radius:999px;box-shadow:0 10px 24px -16px #7d1f3373}.tl-entry{position:relative;display:grid;grid-template-columns:1fr clamp(56px,8vw,96px) 1fr;align-items:start;margin-bottom:clamp(48px,7vw,96px)}.tl-entry.is-left{grid-template-areas:"card node when"}.tl-entry.is-right{grid-template-areas:"when node card"}.tl-card{grid-area:card;width:100%;max-width:440px}.is-left .tl-card{justify-self:end}.is-right .tl-card{justify-self:start}.tl-when{grid-area:when}.tl-node{grid-area:node;justify-self:center}.tl-when{display:flex;flex-direction:column;padding-top:4px}.is-left .tl-when{align-items:flex-start}.is-right .tl-when{align-items:flex-end;text-align:right}.tl-day{font-family:var(--serif);font-size:clamp(56px,6.4vw,88px);line-height:.85;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:lining-nums}.tl-month{margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}.tl-node{position:relative;z-index:1;width:var(--node);height:var(--node);margin-top:22px;border-radius:50%;background:var(--paper);box-shadow:0 0 0 2px var(--rule),0 0 0 7px var(--paper);transition:background .4s var(--ease),box-shadow .4s var(--ease),transform .5s var(--spring)}.tl-entry.is-past .tl-node,.tl-end.is-past .tl-node{background:var(--claret);box-shadow:0 0 0 2px var(--claret),0 0 0 7px var(--paper),0 0 0 8px #9d2b432e;transform:scale(1.15)}.tl-card{padding:12px 12px 0;background:#fffdf8;border-radius:2px;box-shadow:0 1px #fffc inset,0 1px 2px #3c231414,0 18px 40px -22px #3c231473;transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}.tl-card:hover{transform:translateY(-3px);box-shadow:0 1px #fffc inset,0 2px 4px #3c231414,0 28px 56px -26px #3c231480}.tl-photo{margin:0;overflow:hidden;background:#ebe1cf}.tl-photo img{width:100%;height:auto;max-height:460px;object-fit:cover;filter:saturate(.95)}.tl-photo.is-missing{display:none}.tl-text{padding:18px 8px 22px}.tl-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(25px,2.6vw,32px);line-height:1.12;letter-spacing:-.01em;color:var(--ink)}.tl-desc{margin:8px 0 0;color:var(--ink-2);line-height:1.6;overflow-wrap:anywhere}.tl-card.is-note{padding:0;background:transparent;box-shadow:none}.tl-card.is-note:hover{transform:none;box-shadow:none}.tl-card.is-note .tl-text{border-left:2px solid var(--claret);padding:2px 0 0 20px}.is-left .tl-card.is-note .tl-text{border-left:0;padding-left:0;border-right:2px solid var(--claret);padding-right:20px;text-align:right}.tl-card.is-note .tl-title{font-style:italic;font-size:clamp(28px,3vw,36px)}.tl-end{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding-bottom:8px}.tl-node-end{margin-top:0}.tl-end-text{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,28px);color:var(--ink-2);background:var(--paper);padding:0 12px}.js .tl-entry.reveal.is-left{transform:translate(-18px,18px)}.js .tl-entry.reveal.is-right{transform:translate(18px,18px)}.js .tl-entry.reveal.is-visible{transform:none}.ks-empty{max-width:520px;margin:0 auto;padding:clamp(36px,6vw,56px) 28px;text-align:center;background:var(--paper-2);border:1px solid var(--rule);border-radius:3px;box-shadow:0 22px 48px -34px #50281480}.ks-empty-seal{display:inline-grid;place-items:center;width:64px;height:64px;margin-bottom:18px;border-radius:50%;color:var(--claret);box-shadow:0 0 0 1px var(--gold),inset 0 0 0 6px var(--paper)}.ks-empty-seal .icon{width:26px;height:26px}.ks-empty h3{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,32px);color:var(--ink)}.ks-empty p{margin:0 0 22px;color:var(--ink-2)}@media(max-width:720px){body.page-home .ks-record{grid-template-columns:1fr;justify-items:center;text-align:center}body.page-home .ks-record-liner{width:100%}body.page-home .vinyl-wrap{margin-right:0}body.page-home .ks-ledger-row{grid-template-columns:repeat(2,1fr)}body.page-home .ks-ledger-cell:nth-child(2){border-right:0}body.page-home .ks-ledger-cell:nth-child(1),body.page-home .ks-ledger-cell:nth-child(2){border-bottom:1px solid var(--rule-soft)}body.page-home .tl{--spine-x: 7px}body.page-home .tl-spine{bottom:40px}body.page-home .tl-year{text-align:left;margin-left:-4px}body.page-home .tl-year span{padding:7px 16px 6px;font-size:26px}body.page-home .tl-card,body.page-home .is-left .tl-card,body.page-home .is-right .tl-card{max-width:none;justify-self:stretch}body.page-home .tl-entry,body.page-home .tl-entry.is-left,body.page-home .tl-entry.is-right{grid-template-columns:14px 1fr;grid-template-areas:"node when" "node card";column-gap:22px;row-gap:14px}body.page-home .tl-node{margin-top:10px;align-self:start}body.page-home .tl-when,body.page-home .is-left .tl-when,body.page-home .is-right .tl-when{flex-direction:row;align-items:baseline;gap:12px;text-align:left;padding-top:0}body.page-home .tl-day{font-size:44px}body.page-home .tl-month{margin-top:0}body.page-home .is-left .tl-card.is-note .tl-text{border-right:0;padding-right:0;text-align:left;border-left:2px solid var(--claret);padding-left:18px}body.page-home .tl-end{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:12px 18px}body.page-home .tl-end .btn{margin-left:36px}.js body.page-home .tl-entry.reveal.is-left,.js body.page-home .tl-entry.reveal.is-right{transform:translateY(18px)}.js body.page-home .tl-entry.reveal.is-visible{transform:none}}@media(max-width:560px){body.page-home .ks-ledger-num{font-size:clamp(38px,11vw,60px)}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:#9d2b432e;color:var(--claret-deep)}input,textarea{caret-color:var(--claret)}a{text-underline-offset:.16em}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:#2a242033;border:3px solid var(--paper);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#2a242052}html{scrollbar-color:rgba(42,36,32,.2) transparent}.nav-links a[aria-current=page]{color:var(--ink);background:#2a242012}.menu-item:hover{background:var(--bg-tint)}.menu-icon{background:var(--rose-soft);color:var(--claret)}.hero-compact{padding:clamp(40px,7vw,80px) 0 clamp(20px,3vw,34px)}.lead{font-weight:400;color:var(--ink-2)}.section-head .eyebrow,.eyebrow{color:var(--claret)}.empty-icon{width:60px;height:60px;border-radius:50%;background:transparent;color:var(--claret);box-shadow:0 0 0 1px var(--gold),inset 0 0 0 6px var(--paper-2)}.empty h3{font-family:var(--serif);font-weight:400}.chip{background:var(--rose-soft);color:var(--claret)}.badge{background:#2a24200f;color:var(--ink-2)}.field input[type=text],.field input[type=password],.field input[type=date],.field textarea,.add-row input{background:#fdfbf4;border-color:var(--line-strong)}.field input:hover,.field textarea:hover,.add-row input:hover{border-color:#2a242066}.field input:focus,.field textarea:focus,.add-row input:focus{background:#fffdf8;border-color:var(--claret)}.field input::placeholder,.field textarea::placeholder,.add-row input::placeholder{color:var(--ink-3)}.field>label,.field>.label{color:var(--ink)}.paper .textarea-paper{background-color:#fffdf6;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(157,43,67,.12) 31px 32px);color:var(--ink)}.form-error{color:var(--claret-deep);background:var(--rose-soft);box-shadow:inset 0 0 0 1px #9d2b4338}.form-error:before{content:"";flex:none;width:4px;align-self:stretch;border-radius:2px;background:var(--claret)}.form-hint{color:var(--claret-deep);background:var(--lavender-soft);box-shadow:inset 0 0 0 1px var(--rule)}.dropzone{border-color:#9d2b4352;background:#fdfbf4}.dropzone:hover,.dropzone.is-drag{border-color:var(--claret);background:#9d2b430f}.dropzone-icon{background:var(--rose-soft);color:var(--claret)}.filter{background:var(--paper-2);border-color:var(--rule);color:var(--ink-2)}.filter:hover{color:var(--ink);border-color:var(--line-strong)}.filter.is-active{background:var(--claret);border-color:var(--claret);color:#fbf3e6}.toast{color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);-webkit-backdrop-filter:none;backdrop-filter:none}.toast-error{color:var(--claret-deep)}.sheet-inner{background:#fffdf6;background-image:radial-gradient(600px 300px at 100% 0%,rgba(157,43,67,.06),transparent 70%)}.sheet-close{background:#2a24200f;color:var(--ink-2)}.sheet-close:hover{background:#2a24201a;color:var(--ink)}.sheet-body{color:#2f2822}.sheet-date{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--claret)}.diary-meta{color:var(--ink-3)}.diary:hover{box-shadow:inset 0 1px #ffffff80,var(--shadow-lg)}.fab{background:var(--claret);box-shadow:0 14px 30px -10px #7d1f33a6}.fab:hover{background:var(--claret-deep)}.admin-thumb{background:var(--grad-soft);border-radius:6px}.admin-thumb-empty{color:var(--claret)}.login-card{background:var(--paper-2);border:1px solid var(--rule);box-shadow:inset 0 1px #fff9,var(--shadow-lg)}.login-card:before{content:"FOR MY BABY";position:absolute;top:20px;left:50%;transform:translate(-50%);font-size:10.5px;font-weight:700;letter-spacing:.3em;color:var(--ink-3)}.login-avatar{box-shadow:0 12px 30px -12px #7d1f3399}.login-title{font-family:var(--serif);font-weight:400;letter-spacing:-.015em}.login-sub{color:var(--ink-2)}.login-foot{color:var(--ink-3)}.valentine-details{background:var(--grad-soft);box-shadow:inset 0 0 0 1px var(--rule)}.valentine-details dl div{background:#fffdf6;box-shadow:inset 0 0 0 1px var(--rule)}.valentine-sign{color:var(--claret)}@media(prefers-reduced-motion:reduce){body:before{opacity:.04}}.edit-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--text-2);background:#ffffffeb;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm);transition:color .2s,border-color .2s,opacity .25s var(--ease),transform .25s var(--ease)}.edit-link .icon{width:14px;height:14px}.edit-link:hover{color:var(--rose);border-color:#e0245e66}.tl-card{position:relative}.tl-card>.edit-link{position:absolute;top:20px;right:20px;z-index:2;opacity:0;transform:translateY(-4px)}.tl-card.is-note>.edit-link{position:static;margin-bottom:10px;opacity:1;transform:none}.tl-card:hover>.edit-link,.tl-card>.edit-link:focus-visible{opacity:1;transform:none}@media(hover:none){.tl-card>.edit-link{opacity:1;transform:none}}.page-home .edit-link:hover{color:var(--claret);border-color:var(--claret)}.sticky-body .edit-link{margin-top:14px;background:#fff9}.sheet-actions{margin-top:28px}.danger-zone{display:flex;justify-content:center;margin-top:20px}.current-photo{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:12px;background:#ffffffb3;border:1px solid var(--line);border-radius:var(--radius)}.current-photo img{width:96px;height:96px;flex:none;object-fit:cover;border-radius:10px}.current-photo.is-missing img{display:none}.current-photo-text strong{display:block;font-size:15px}.current-photo-text small{display:block;margin-bottom:8px;font-size:13px;color:var(--text-3)}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-2);cursor:pointer}.check input{width:18px;height:18px;margin:0;accent-color:var(--rose);cursor:pointer}.admin-actions{display:flex;align-items:center;gap:8px}.admin-note{font-size:12px;color:var(--text-3)}.icon-btn-quiet:hover{background:#1d1d1f0f;color:var(--text)}.todo.is-editing .icon-btn{visibility:hidden}.todo-input{flex:1;min-width:0;height:40px;padding:0 12px;font:inherit;font-size:17px;color:var(--text);background:#fff;border:1px solid var(--rose);border-radius:10px;box-shadow:0 0 0 4px var(--rose-glow);outline:none}.wheel-section{display:flex;flex-direction:column;align-items:center;gap:28px}.segmented{display:inline-flex;padding:4px;background:#1d1d1f0f;border-radius:999px}.segmented-btn{padding:9px 20px;font-size:15px;font-weight:600;color:var(--text-2);background:transparent;border:0;border-radius:999px;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease)}.segmented-btn.is-active{color:var(--text);background:#fff;box-shadow:0 1px 2px #00000014,0 4px 12px #0000000f}.wheel-stage{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.wheel-wrap{position:relative;width:min(440px,86vw);aspect-ratio:1;padding:12px;border-radius:50%;background:linear-gradient(145deg,#fff,#f3e3e9);box-shadow:0 30px 60px -28px #961e5073,0 0 0 1px #e0245e1f,inset 0 2px 6px #ffffffe6}.wheel{display:block;width:100%;height:100%;border-radius:50%;transform-origin:50% 50%;will-change:transform;filter:drop-shadow(0 2px 6px rgba(80,10,40,.18))}.wheel text{font-family:var(--font);font-weight:650;letter-spacing:-.01em;pointer-events:none;-webkit-user-select:none;user-select:none}.wheel text{transition:opacity .16s var(--ease)}.wheel.is-reorienting text{opacity:0}.wheel .wheel-peg{fill:#fff;stroke:#500a2840;stroke-width:.5}.wheel-pointer{position:absolute;top:-6px;left:50%;z-index:3;width:34px;height:44px;margin-left:-17px;transform-origin:50% 20%;background:var(--rose);clip-path:polygon(50% 100%,0 30%,8% 12%,24% 2%,50% 0,76% 2%,92% 12%,100% 30%);filter:drop-shadow(0 4px 6px rgba(120,10,50,.35))}.wheel-pointer:after{content:"";position:absolute;top:9px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#fff}.wheel-pointer.is-ticking{animation:pointer-flick .12s ease-out}@keyframes pointer-flick{40%{transform:rotate(-14deg)}to{transform:rotate(0)}}.wheel-hub{position:absolute;top:50%;left:50%;z-index:2;width:25%;aspect-ratio:1;transform:translate(-50%,-50%);font-size:clamp(15px,3.6vw,19px);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:radial-gradient(circle at 35% 30%,#ff6f95,var(--rose) 55%,#a8123f);border:5px solid #fff;border-radius:50%;box-shadow:0 10px 24px -6px #96143c99,inset 0 2px 3px #ffffff59;cursor:pointer;transition:transform .2s var(--spring),box-shadow .2s}.wheel-hub:hover{transform:translate(-50%,-50%) scale(1.05)}.wheel-hub:active{transform:translate(-50%,-50%) scale(.96)}.wheel-hub:disabled{opacity:.5;cursor:default;transform:translate(-50%,-50%)}.is-spinning .wheel-hub{pointer-events:none}.wheel-sound{padding:6px 12px;font-size:13px;color:var(--text-3);background:none;border:0;border-radius:999px;cursor:pointer}.wheel-sound:hover{color:var(--text);background:#1d1d1f0d}.wheel-sound .sound-off,.wheel-sound[aria-pressed=false] .sound-on{display:none}.wheel-sound[aria-pressed=false] .sound-off{display:inline}.wheel-result{width:min(520px,100%);padding:28px 24px;text-align:center}.wheel-result.is-in{animation:sheet-in .55s var(--ease-out)}.wheel-result-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}.wheel-result-title{margin:8px 0 22px;font-family:var(--serif);font-weight:400;font-size:clamp(34px,6vw,48px);line-height:1.08;letter-spacing:-.01em;overflow-wrap:anywhere}.wheel-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.wheel-options{width:min(720px,100%);padding:clamp(20px,4vw,32px)}.wheel-options-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:14px}.wheel-options-head .list-title{margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none}.chip-item{display:inline-flex;align-items:center;gap:2px;padding:5px 6px 5px 14px;font-size:14px;font-weight:500;background:#fff;border:1px solid var(--line);border-radius:999px;animation:drop-in .3s var(--ease-out)}.chip-remove{display:grid;place-items:center;width:24px;height:24px;padding:0;font-size:17px;line-height:1;color:var(--text-3);background:none;border:0;border-radius:50%;cursor:pointer}.chip-remove:hover{color:var(--danger);background:#d7001514}.wheel-options .add-row{margin-bottom:0}@media(max-width:720px){.admin-actions{margin-left:72px}.admin-row .admin-actions form{margin-left:0}}.section-bucket{display:flex;flex-direction:column;gap:24px;max-width:820px;margin:0 auto}.section-bucket .bucket-card{padding:clamp(20px,4vw,34px)}select,.select{min-height:52px;padding:0 40px 0 16px;font:inherit;font-size:15px;font-weight:500;color:var(--text);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238a8a93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center;border:1px solid var(--line-strong);border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.field .select{width:100%;border-radius:var(--radius-sm)}select:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-glow)}.bucket-add{margin:4px 0 0}.bucket-add-row{display:flex;gap:10px}.bucket-add-row input[type=text]{flex:1;min-width:0;min-height:52px;padding:0 22px;font:inherit;font-size:17px;background:#fff;border:1px solid var(--line-strong);border-radius:999px}.bucket-add-row input[type=text]:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-glow)}.bucket-add-row .btn{min-height:52px}.btn-place[aria-expanded=true]{--btn-bg: var(--rose-soft);box-shadow:inset 0 0 0 1px var(--rose)}.bucket-add-place{margin-top:12px;animation:drop-in .3s var(--ease-out)}.place-picker{position:relative}.place-search input{width:100%;min-height:48px;padding:0 16px 0 42px;font:inherit;font-size:16px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%238a8a93' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M12.5 12.5L17 17'/%3E%3C/svg%3E") no-repeat 15px center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);-webkit-appearance:none}.place-search input:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-glow)}.place-picker.is-searching .place-search input{background-image:none}.place-picker.is-searching .place-search:before{content:"";position:absolute;top:15px;left:15px;width:16px;height:16px;border:2px solid var(--rose);border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.place-search{position:relative}.place-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:300px;margin:0;padding:6px;overflow-y:auto;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:pop .2s var(--ease-out)}.place-option{display:flex;flex-direction:column;padding:10px 12px;border-radius:10px;cursor:pointer}.place-option strong{font-size:15px;font-weight:600}.place-option small{font-size:13px;color:var(--text-3)}.place-option:hover,.place-option.is-active{background:var(--rose-soft)}.place-none{padding:12px;font-size:14px;color:var(--text-3)}.place-selected{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 8px 8px 14px;font-size:15px;font-weight:500;background:var(--rose-soft);border:1px solid rgba(224,36,94,.25);border-radius:999px}.place-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-card{padding:0;overflow:hidden}.map-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:20px 24px 14px}.map-head .list-title{margin:0}.map-count{font-size:13px;color:var(--text-3)}.bucket-map{height:clamp(300px,46vw,440px);background:#e8eef2}.map-card .map-empty{margin:0;padding:14px 24px 18px;font-size:14px;color:var(--text-3);border-top:1px solid var(--line)}.bucket-map .leaflet-control-attribution{font-size:10px;background:#ffffffbf}.bucket-map .leaflet-tile-pane{filter:saturate(.7) sepia(.12) brightness(1.03)}.bucket-map .leaflet-control-zoom a{color:var(--text)}.map-pin-wrap{background:none;border:0}.map-pin{position:relative;width:38px;height:38px;display:grid;place-items:center;background:var(--pin);border:3px solid #fff;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);box-shadow:0 6px 14px #280a1959;transition:transform .2s var(--spring)}.map-pin span{transform:rotate(45deg);font-size:16px;line-height:1;color:#fff;font-weight:800}.map-pin.is-done{filter:grayscale(.55) brightness(1.05);opacity:.85}.leaflet-marker-icon:hover .map-pin{transform:rotate(-45deg) scale(1.12)}.map-popup{display:flex;flex-direction:column;gap:3px;min-width:160px;font-family:var(--font)}.map-popup strong{font-size:15px}.map-popup span{font-size:13px;color:var(--text-2)}.map-popup small{font-size:12px;color:var(--text-3)}.bucket-map .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:var(--shadow-lg)}.cat-filter{justify-content:flex-start;margin-bottom:22px}.cat-head{display:flex;align-items:center;gap:8px;margin:20px 0 2px;font-size:15px;font-weight:700}.cat-head span{padding:1px 8px;font-size:12px;font-weight:700;color:var(--cat);background:color-mix(in srgb,var(--cat) 12%,transparent);border-radius:999px}.todo-list.is-grouped{margin-bottom:8px}.todo-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.todo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--text-3)}.todo-main .todo-date{display:inline}.cat-chip{padding:1px 9px;font-size:12px;font-weight:600;color:var(--cat);background:color-mix(in srgb,var(--cat) 12%,transparent);border-radius:999px}.is-grouped .cat-chip{display:none}.place-chip{max-width:100%;padding:0;overflow:hidden;font:inherit;font-size:13px;color:var(--rose);text-overflow:ellipsis;white-space:nowrap;background:none;border:0;cursor:pointer}.place-chip:hover{text-decoration:underline}.edit-sheet{width:min(560px,calc(100% - 24px));overflow:visible}.edit-sheet .sheet-inner{border-radius:var(--radius-xl)}.edit-sheet .sheet-title{margin-bottom:22px;font-size:clamp(30px,5vw,40px)}.edit-sheet .place-results{position:static;margin-top:6px;max-height:240px;box-shadow:none;animation:none}@media(max-width:720px){.bucket-add-row{flex-wrap:wrap}.bucket-add-row input[type=text]{flex-basis:100%}.bucket-add-row select,.bucket-add-row .btn-primary{flex:1}.map-head{padding:16px 18px 12px}}#root{display:contents}.word{display:inline-block;will-change:transform}.nav-links a{position:relative}.nav-links a[aria-current=page]{background:transparent}.nav-pill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:999px;background:#2a242014}.nav-text{position:relative;z-index:1}.menu-item-button{width:100%;text-align:left;border:0;background:none;font:inherit;cursor:pointer}.filter-pill{position:relative;isolation:isolate}.filter-pill.is-active{background:transparent;border-color:transparent}.filter-pill>span:last-child{position:relative;z-index:1}.filter-pill-bg{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:0;border-radius:999px;background:var(--claret);box-shadow:0 6px 16px -8px #7d1f3399}.segmented-btn{position:relative;isolation:isolate}.segmented-btn.is-active{background:transparent;box-shadow:none}.segmented-btn>span:last-child{position:relative;z-index:1}.segmented-pill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:999px;background:#fff;box-shadow:0 1px 2px #00000014,0 4px 12px #0000000f}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:24px 12px;overflow-y:auto;background:#28121961;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-panel{position:relative;max-width:calc(100vw - 24px)}.modal-panel.sheet{max-height:none;overflow:visible;animation:none}.modal-panel.sheet .sheet-inner{border-radius:var(--radius-xl)}.modal-panel.confirm{width:min(380px,calc(100% - 32px));background:var(--paper-2, #fff);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:none}.loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 0;color:var(--text-3);font-size:14px}.loading-heart{display:inline-flex;color:var(--rose)}.loading-heart .icon{width:30px;height:30px}.ks-ledger-num.roll{position:relative;display:flex;justify-content:center;overflow:hidden;height:1.08em}.roll-value{display:inline-block}.ks-hero-with-heart{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(16px,4vw,48px);max-width:none}.ks-hero-heart{width:clamp(240px,28vw,400px);aspect-ratio:1}.ks-hero-heart>div,.ks-hero-heart canvas{width:100%!important;height:100%!important}.ks-hero-since{color:var(--ink-3)}@media(max-width:899px){.ks-hero-with-heart{grid-template-columns:1fr}}.valentine-heart{width:220px;height:220px;margin:0 auto 8px}.valentine-heart>div,.valentine-heart canvas{width:100%!important;height:100%!important}.sticky-reveal{overflow:hidden}.sticky-reveal p{margin:14px 0 0;font-size:16px;color:#3a3134;white-space:pre-wrap;overflow-wrap:anywhere}.sticky-reveal .edit-link{margin-top:14px;background:#fff9}.fab-wrap{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:40}.fab-wrap .fab{position:static}.tl-desc,.sheet-body,.sheet-lead{white-space:pre-wrap}.bucket-add-place,.todo.is-new{animation:none}.login-back{display:block;margin:14px auto 0;padding:4px 8px;font:inherit;font-size:13px;color:var(--text-3);background:none;border:0;cursor:pointer}.login-back:hover{color:var(--rose)}#code{letter-spacing:.3em;font-variant-numeric:tabular-nums;text-align:center;font-size:22px}.security-status{margin:4px 0 18px;padding:12px 14px;font-size:14px;border-radius:var(--radius-sm);background:#3f7d4e1a;color:var(--text)}.security-status span{color:var(--text-3)}.security-status.is-warn{background:#b3201b14}.security-status em{color:var(--danger);font-style:normal;font-weight:600}.security-form{max-width:520px}.security-form code{font-size:13px}.security-sub{margin:28px 0 8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.security-events{margin:0;padding:0;list-style:none}.security-events li{display:grid;grid-template-columns:10px 1fr;column-gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.security-events li:last-child{border-bottom:0}.ev-dot{grid-row:span 2;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--success)}.is-fail .ev-dot{background:var(--danger)}.ev-meta{font-size:12px;color:var(--text-3)}
