@font-face{font-family:Fraunces;src:url(/fonts/fraunces-var.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Ma Shan Zheng UI;src:url(/fonts/ma-shan-zheng-ui-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:LXGW WenKai UI;src:url(/fonts/lxgw-wenkai-ui-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:LXGW WenKai UI;src:url(/fonts/lxgw-wenkai-ui-500.woff2) format("woff2");font-style:normal;font-weight:500 700;font-display:swap}:root{--paper: #FAF7F0;--paper-2: #FFFDF8;--dot: #E4DCCC;--ink: #2A2620;--ink-2: #7A7263;--ink-3: #958B7A;--line: rgba(42, 38, 32, .09);--hairline: rgba(42, 38, 32, .08);--cinnabar: #C0432B;--pink: #F8D7E3;--pink-2: #F4C6D8;--pink-3: #EFB4CC;--pink-strong: #E0719A;--down: #4E9F6E;--up: #D95F4B;--water: #6FA8CF;--r-panel: 28px;--r-card: 20px;--r-btn: 14px;--spring: cubic-bezier(.34, 1.4, .44, 1);--ease: cubic-bezier(.22, 1, .36, 1);--font: "LXGW WenKai UI", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--hand: "LXGW WenKai UI", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--accent-hand: "Ma Shan Zheng UI", "LXGW WenKai UI", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--num: "Fraunces", "LXGW WenKai UI", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--tabbar-space: calc(84px + env(safe-area-inset-bottom, 0px)) }*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{font-family:var(--font);font-kerning:normal;color:var(--ink);background:var(--paper);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:26px 26px;min-height:100vh;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;animation:paperIn .8s var(--ease) both}@keyframes paperIn{0%{opacity:0}}input,textarea{-webkit-user-select:text;user-select:text}button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px;border-radius:6px}::selection{background:#c0432b29}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetUp{0%{transform:translateY(34px);opacity:0}to{transform:none;opacity:1}}@keyframes drawStroke{to{stroke-dashoffset:0}}.glass,.tabbar-inner,.sheet,.toast,.record-btn,.today-link-chip{background:linear-gradient(150deg,#ffffff57,#fffdf81f 55%,#ffffff38);backdrop-filter:blur(26px) saturate(2.6) brightness(1.1);-webkit-backdrop-filter:blur(26px) saturate(2.6) brightness(1.1);border:.5px solid rgba(255,255,255,.55);box-shadow:inset 0 1px #ffffffe6,inset 0 -1px 1px #ffffff47,0 12px 32px #2a262021}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass,.tabbar-inner,.sheet,.toast,.record-btn,.today-link-chip{background:#fffdf8eb}}.margin-line{position:fixed;top:0;bottom:0;left:46px;width:1.5px;background:#c0432b52;z-index:5;pointer-events:none}.holes{position:fixed;left:12px;top:0;bottom:0;z-index:5;pointer-events:none;display:flex;flex-direction:column;justify-content:center;gap:150px}.hole{width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#efe8d8,#dcd3be 70%);box-shadow:inset 0 1.5px 3px #5a4e374d}@media(max-width:560px){.margin-line{left:20px;opacity:.5}.holes{display:none}}.app-root{min-height:100vh}.app-stage{transform-origin:50% 60%}.app-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--ink-3);font-size:14px;letter-spacing:.1em}.app-loading .rabbit{width:54px;height:54px}.page{max-width:460px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top,0px)) 20px var(--tabbar-space)}.page>*{animation:fadeUp .5s var(--ease) both}.page>*:nth-child(2){animation-delay:.06s}.page>*:nth-child(3){animation-delay:.12s}.page>*:nth-child(4){animation-delay:.18s}.page>*:nth-child(5){animation-delay:.24s}.page-head{margin:10px 2px 18px}.page-head p{font-size:13px;color:var(--ink-3);letter-spacing:.04em}.page-head h1{font-family:var(--hand);font-size:27px;font-weight:500;letter-spacing:.035em;line-height:1.25;margin-top:6px}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 1px 2px #2a26200a,0 10px 28px #2a26200f}.card-label{font-size:12px;color:var(--ink-3);letter-spacing:.08em}.hint{font-size:12.5px;color:var(--ink-3);line-height:1.7}.down{color:var(--down)}.up{color:var(--up)}.period-text{color:var(--pink-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 18px;border-radius:var(--r-btn);border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font-size:14.5px;font-weight:500;transition:transform .16s var(--spring),background .2s,box-shadow .2s}.btn svg{width:17px;height:17px}.btn:active{transform:scale(.96)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fffdf8;box-shadow:0 6px 18px #2a262038}.btn.big{width:100%;min-height:52px;font-size:15.5px;border-radius:16px}.btn:disabled{opacity:.45}.row-actions{display:flex;gap:10px}.row-actions .btn{flex:1}.input{width:100%;min-height:48px;padding:10px 14px;border-radius:13px;border:1px solid var(--line);background:var(--paper-2);font-size:15px;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--ink-2);box-shadow:0 0 0 3px #2a26200f}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:12.5px;color:var(--ink-2)}.field.wide{grid-column:1 / -1}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-form .big{grid-column:1 / -1}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:6px 16px calc(10px + env(safe-area-inset-bottom,0px));pointer-events:none}.tabbar-inner{pointer-events:auto;position:relative;overflow:hidden;max-width:356px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:999px;padding:5px;background:linear-gradient(150deg,#ffffff57,#fffdf81a 55%,#fff3);backdrop-filter:blur(26px) saturate(2.6) brightness(1.1);-webkit-backdrop-filter:blur(26px) saturate(2.6) brightness(1.1);border:.5px solid rgba(255,255,255,.55);box-shadow:inset 0 1px #fffffff2,inset 0 -1px 1px #ffffff4d,inset 0 -10px 18px #2a26200b,0 14px 34px #2a262021,0 2px 6px #2a26200d;animation:tabbarIn .55s var(--spring) both .2s}.tabbar-inner:before{content:"";position:absolute;left:6%;right:6%;top:0;height:48%;background:linear-gradient(180deg,#ffffffa6,#fff0);border-radius:999px 999px 45% 45%;pointer-events:none}.tabbar-inner:after{content:"";position:absolute;left:12%;right:12%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);pointer-events:none}@keyframes tabbarIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}.tab-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 5px;border-radius:999px;color:var(--ink-3);font-size:10px;letter-spacing:.04em;transition:color .25s,background .3s var(--ease),box-shadow .3s var(--ease),transform .16s var(--spring)}.tab-item svg{width:20px;height:20px;transition:transform .3s var(--spring),color .25s}.tab-item:active{transform:scale(.92)}.tab-item.active{color:var(--ink);font-weight:600;background:linear-gradient(165deg,#ffffffb8,#ffffff47);box-shadow:inset 0 1px #fffffff2,inset 0 -1px 1px #ffffff40,0 3px 10px #2a26201f}.tab-item.active svg{color:var(--cinnabar);transform:translateY(-1px) scale(1.08)}.cover{min-height:100vh;display:grid;place-items:center;padding:28px 20px}.cover-card{width:100%;max-width:430px}.cover-eyebrow{font-size:11px;letter-spacing:.3em;color:var(--ink-3)}.cover-card h1{font-family:var(--hand);font-size:42px;font-weight:500;letter-spacing:.08em;line-height:1.2;margin-top:10px}.cover-card h1 .red{color:var(--cinnabar)}.cover-sub{color:var(--ink-2);font-size:14px;margin:10px 0 24px}.cover-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.demo-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2);cursor:pointer}.demo-toggle input{display:none}.demo-toggle .box{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--ink-3);position:relative;flex:none;transition:background .2s,border-color .2s}.demo-toggle input:checked+.box{background:var(--cinnabar);border-color:var(--cinnabar)}.demo-toggle input:checked+.box:after{content:"";position:absolute;left:5.5px;top:2.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}.cover-form .btn.big{grid-column:1 / -1;margin-top:6px}.today-page{display:flex;flex-direction:column;min-height:calc(100svh - var(--tabbar-space) - 8px)}.today-header{display:flex;align-items:flex-end;justify-content:space-between;margin:8px 2px 14px;flex:none;position:relative}.today-header .t-date{font-size:13px;color:var(--ink-3);letter-spacing:.04em}.today-header .t-hello{font-family:var(--hand);font-size:25px;font-weight:500;letter-spacing:.025em;line-height:1.28;margin-top:5px}.page-mark{text-align:center;color:var(--cinnabar);padding:6px 10px 5px;transform:rotate(3deg);background-color:#c0432b0a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 42'%3E%3Cpath d='M5 4C18 2.5 30 5 41 3.5C42.5 15 40 28 41.5 38C29 39.5 16 37.5 4.5 38.5C3 27 5.5 15 5 4Z' fill='none' stroke='%23C0432B' stroke-width='1.5' stroke-linecap='round' stroke-dasharray='8 4 2.5 5 12 3.5' opacity='.8'/%3E%3Cpath d='M5.8 4.8C18 3.4 29.5 5.8 40.2 4.4C41.6 15.5 39.4 27.5 40.6 37.2C29 38.6 16.5 36.8 5.3 37.6C3.9 27 6.2 15.2 5.8 4.8Z' fill='none' stroke='%23C0432B' stroke-width='.8' stroke-linecap='round' stroke-dasharray='2.5 6 8 4.5' opacity='.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:100% 100%;animation:pageStamp .4s var(--spring) both .1s}@keyframes pageStamp{0%{opacity:0;transform:rotate(3deg) scale(1.6)}to{opacity:1;transform:rotate(3deg) scale(1)}}.page-mark small{display:block;font-size:8.5px;letter-spacing:.22em}.page-mark b{font-family:var(--num);font-size:16px;font-weight:600}.day-seal{position:absolute;right:72px;bottom:-9px;z-index:2;width:42px;height:42px;display:grid;place-items:center;font-family:var(--accent-hand);font-size:16px;color:#2a262099;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpath d='M22 3.5C32 2.6 40.6 10.2 40.5 21.2C40.4 32.4 32.2 40.6 21.4 40.4C10.8 40.2 3.4 32.2 3.6 21.4C3.8 11 11.4 4.4 22 3.5Z' fill='none' stroke='%232A2620' stroke-width='1.4' stroke-linecap='round' stroke-dasharray='7 4 2.5 5 11 3.5' opacity='.5'/%3E%3Cpath d='M22 6.2C30.6 5.6 37.8 12 38 21.4C38.2 31 31.2 38 21.6 37.8C12.4 37.6 6 30.8 6.2 21.6C6.4 12.6 13.4 6.8 22 6.2Z' fill='none' stroke='%232A2620' stroke-width='.8' stroke-linecap='round' stroke-dasharray='2.5 6 8 4.5' opacity='.25'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:100% 100%;transform:rotate(-7deg);pointer-events:none;animation:sealStamp .45s var(--spring) both .35s}@keyframes sealStamp{0%{opacity:0;transform:rotate(-7deg) scale(1.7)}to{opacity:.92;transform:rotate(-7deg) scale(1)}}.today-canvas{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;animation:canvasIn .6s var(--ease) both}@keyframes canvasIn{0%{opacity:0;transform:translateY(14px) scale(.995)}to{opacity:1;transform:none}}.weight-zone{position:relative;flex:none;padding:12px 20px 14px;text-align:center}.weight-zone-top{display:flex;justify-content:flex-start;align-items:center;gap:8px}.delta-text{font-size:12.5px;color:var(--ink-3)}.delta-text.down,.delta-text.up{font-weight:600}.weight-num{position:relative;z-index:4;display:block;margin:2px auto 0;font-family:var(--num);font-size:clamp(46px,13vw,60px);font-weight:560;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15;transition:transform .16s var(--spring)}.weight-num:active{transform:scale(.97)}.weight-num.is-pressing{transform:translateY(2.8px) scaleY(.985);transition-duration:.34s}.weight-num small{font-size:15px;font-weight:400;color:var(--ink-3);margin-left:6px;font-family:var(--font)}.weight-main{position:relative;display:flex;align-items:center;justify-content:center}.track-cat{position:relative;display:block;width:100%;height:100%}.rabbit-crawl .crawl-frame{opacity:0}.track-cat.is-crawling .crawl-f1{animation:crawlF1 1.08s linear infinite}.track-cat.is-crawling .crawl-f2{animation:crawlF2 1.08s linear infinite}.track-cat.is-crawling .crawl-f3{animation:crawlF3 1.08s linear infinite}@keyframes crawlF1{0%,33.2%{opacity:1}33.4%,to{opacity:0}}@keyframes crawlF2{0%,33.2%{opacity:0}33.4%,66.5%{opacity:1}66.7%,to{opacity:0}}@keyframes crawlF3{0%,66.5%{opacity:0}66.7%,99.8%{opacity:1}to{opacity:0}}.track-cat.is-retreating .crawl-f1{animation-name:crawlF3}.track-cat.is-retreating .crawl-f3{animation-name:crawlF1}.track-cat.is-retreating .crawl-f1,.track-cat.is-retreating .crawl-f2,.track-cat.is-retreating .crawl-f3{animation-duration:1.35s}.rabbit-crawl .squish-frame{opacity:0;transition:opacity .14s ease-in}.track-cat.is-squished .squish-frame{opacity:1}.rabbit .r-sweat{fill:#fbf6ea;stroke:none;transform-box:fill-box;transform-origin:50% 0%}.rabbit .r-press{stroke:#2a211b80;stroke-width:.9;fill:none;stroke-linecap:round;transform-box:fill-box}.rabbit .r-squint{stroke:#fbf6ea;stroke-width:.8;fill:none;stroke-linecap:round}.track-cat.is-squished .squish-body{animation:squishTremble 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes squishTremble{0%,66%,to{transform:translate(0)}71%{transform:translate(.4px)}76%{transform:translate(-.35px)}81%{transform:translate(.28px)}86%{transform:translate(0)}}.track-cat.is-squished .sweat-a{animation:sweatDrop 2.1s ease-in infinite}.track-cat.is-squished .sweat-b{animation:sweatDrop 2.1s ease-in -1.05s infinite}@keyframes sweatDrop{0%,to{opacity:0;transform:translateY(-.5px) scale(.45)}14%{opacity:1;transform:translate(0) scale(1)}58%{opacity:1;transform:translate(.8px,1.8px) scale(.95)}74%{opacity:0;transform:translate(1.1px,2.4px) scale(.8)}}.track-cat.is-squished .r-press{animation:pressPulse 1.1s ease-in-out infinite}@keyframes pressPulse{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(.7px);opacity:.9}}.track-cat.is-squished .r-squish-tail{animation:squishTail 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:100% 100%}@keyframes squishTail{0%,68%,to{transform:rotate(0)}76%{transform:rotate(-6deg)}84%{transform:rotate(3.5deg)}91%{transform:rotate(0)}}.lead-fly{position:absolute;left:100%;bottom:13px;margin-left:5px;width:13px;height:9px;overflow:visible;opacity:0;transform:translate(5px,-7px) scale(.5);transition:opacity .25s ease-out,transform .4s var(--spring)}.lead-fly path{fill:#2a211b;stroke:none}.lead-fly.is-leading{opacity:1;transform:none}.lead-fly .lead-bob{transform-box:fill-box;transform-origin:center;animation:leadBob 1.15s ease-in-out infinite}@keyframes leadBob{0%,to{transform:translate(0)}50%{transform:translate(1px,-1.5px)}}.lead-fly .lead-flap{transform-box:fill-box;transform-origin:center;animation:butterflyFlap .9s ease-in-out infinite}.sigh-puff{position:absolute;left:50%;bottom:18px;margin-left:-9px;width:11px;height:8px;opacity:0;pointer-events:none}.sigh-puff path{fill:#2a26208c}.sigh-puff.is-sighing{animation:sighPuff 1.4s var(--ease) both}@keyframes sighPuff{0%{opacity:0;transform:translate(2px,3px) scale(.3)}18%{opacity:.6}55%{opacity:.45;transform:translate(-3px,-3px) scale(.85)}to{opacity:0;transform:translate(-6px,-7px) scale(1.1)}}.fast-chip{margin-left:auto;margin-top:-2px;flex:none;transform:rotate(-2.5deg);display:flex;align-items:center;gap:10px;padding:10px 15px 10px 12px;text-align:left;color:var(--ink-2);background:var(--paper-2);border:1px solid rgba(42,38,32,.1);border-radius:14px 17px 13px 16px/16px 13px 17px 14px;box-shadow:0 4px 14px #2a262026,0 1px 2px #2a26200f;transition:transform .16s var(--spring),box-shadow .16s;animation:chipStick .5s var(--spring) both .45s}.fast-chip:before{content:"";position:absolute;top:-6px;left:50%;width:38px;height:12px;transform:translate(-50%) rotate(-3.5deg);background:linear-gradient(100deg,#c0432b33,#c0432b1f 60%,#c0432b2b);border-radius:2px 4px 3px 2px/3px 2px 4px 3px;box-shadow:0 1px 2px #2a262014}.fast-chip:active{transform:rotate(0) scale(.94);box-shadow:0 1px 3px #2a26201a}@keyframes chipStick{0%{opacity:0;transform:translateY(-10px) rotate(-9deg) scale(.82)}to{opacity:1;transform:translateY(0) rotate(-2.5deg)}}.fast-chip svg{width:34px;height:34px;flex:none}.fast-chip-copy{display:flex;flex-direction:column;gap:2px}.fast-chip-copy small{font-size:11px;color:var(--ink-3);letter-spacing:.06em;white-space:nowrap}.fast-chip-copy b{font-size:17.5px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.new-low-stamp{position:absolute;left:18px;top:46px;font-family:var(--accent-hand);font-size:15px;color:var(--cinnabar);padding:4px 10px;transform:rotate(8deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 26'%3E%3Cpath d='M4 3.5C18 2 36 4.5 50 3C51.2 9 49.5 17 50.5 22.5C36 24 18 22 3.5 23C2.4 16 4.6 10 4 3.5Z' fill='none' stroke='%23C0432B' stroke-width='1.7' stroke-linecap='round' stroke-dasharray='8 4 2.5 5 13 3.5' opacity='.85'/%3E%3Cpath d='M4.8 4.3C18 3 35 5.2 49.2 3.9C50.3 9.5 48.8 16.8 49.7 21.8C36 23 18.5 21.2 4.3 22.2C3.3 16 5.2 10.2 4.8 4.3Z' fill='none' stroke='%23C0432B' stroke-width='.9' stroke-linecap='round' stroke-dasharray='2.5 6 9 4.5' opacity='.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:100% 100%;opacity:.88;animation:stampIn .45s var(--spring) both .5s}@keyframes stampIn{0%{opacity:0;transform:rotate(8deg) scale(1.7)}to{opacity:.88;transform:rotate(8deg) scale(1)}}.journey{margin:12px 4px 0;position:relative;z-index:3}.journey-line{height:1px;background:#2a262033;overflow:visible;position:relative}.journey-line i{display:block;height:100%;background:var(--ink);transition:width 1.08s steps(3,end)}.rabbit-marker{position:absolute;top:-43px;margin-left:-23px;z-index:3;width:46px;height:45px;transition:left 1.08s steps(3,end)}.track-cat .rabbit{position:absolute;bottom:0;left:50%;translate:-50% 0;transform-box:fill-box;transform-origin:50% 100%}.track-cat .rabbit-crawl{bottom:-4px;width:46px;height:19px;transition:opacity .18s ease-in,transform .3s var(--ease)}.track-cat .rabbit-full{bottom:-4px;width:36px;height:45px;transition:opacity .22s ease-out .06s,transform .38s var(--spring) .04s}.track-cat.is-crawling .rabbit-crawl,.track-cat.is-squished .rabbit-crawl{opacity:1;transform:none;transition:opacity .18s ease-in .12s,transform .32s var(--ease) .1s}.track-cat.is-crawling .rabbit-full,.track-cat.is-squished .rabbit-full{opacity:0;transform:scaleY(.42);transition:opacity .2s ease-out,transform .3s var(--spring)}.track-cat.is-sitting .rabbit-crawl{opacity:0;transform:scaleY(.55);transition:opacity .15s ease-out,transform .2s var(--ease)}.track-cat.is-sitting .rabbit-full{opacity:1;transform:none;transition:opacity .24s ease-out .1s,transform .4s var(--spring) .08s}.journey-meta{display:flex;justify-content:space-between;margin-top:8px;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.journey-meta .j-pct{color:var(--cinnabar);font-weight:600}.rabbit{overflow:visible}.rabbit .r-sil,.rabbit .r-lid{fill:#2a211b;stroke:none}.rabbit .r-eye-white{fill:#fbf6ea;stroke:none}.rabbit .r-pupil{fill:#2a211b;stroke:none}.rabbit .r-nose{fill:#fbf6ea;stroke:none}.rabbit .r-mouth{stroke:#fbf6ea;stroke-width:.7;fill:none;stroke-linecap:round}.rabbit .r-whiskers{stroke:#2a211b66;stroke-width:.6;fill:none;stroke-linecap:round}.rabbit .r-butterfly path{fill:#2a211b;stroke:none}.rabbit .r-eyes{transform-box:fill-box;transform-origin:center;animation:rabbitBlink 5.2s ease-in-out infinite}@keyframes rabbitBlink{0%,91%,to{transform:scaleY(1)}94.5%{transform:scaleY(.1)}}.rabbit-breathe{transform-origin:50% 100%;animation:rabbitBreathe 3.15s ease-in-out infinite}@keyframes rabbitBreathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.035)}}.rabbit .r-ear-r{transform-box:fill-box;transform-origin:50% 92%;animation:earWiggle 7s ease-in-out infinite}@keyframes earWiggle{0%,88%,to{transform:rotate(0)}91%{transform:rotate(8deg)}94%{transform:rotate(-5deg)}97%{transform:rotate(2deg)}}.rabbit .r-butterfly{transform-box:fill-box;transform-origin:center;animation:butterflyFlee 9s ease-in-out infinite}.rabbit .r-butterfly-flap{transform-box:fill-box;transform-origin:center;animation:butterflyFlap .9s ease-in-out infinite}@keyframes butterflyFlap{0%,to{transform:translate(0) rotate(-6deg) scaleX(1)}50%{transform:translate(.6px,-1.2px) rotate(5deg) scaleX(.82)}}@keyframes butterflyFlee{0%,56%{transform:translate(0);opacity:1}60%{transform:translate(2px,-3px);opacity:1}68%{transform:translate(13px,-11px) scale(.85);opacity:0}80%{transform:translate(13px,-11px) scale(.85);opacity:0}90%{transform:translate(0);opacity:0}96%,to{transform:translate(0);opacity:1}}.rabbit .r-tail{transform-box:fill-box;transform-origin:8% 65%;animation:tailSway 4.3s ease-in-out -1.6s infinite}@keyframes tailSway{0%,to{transform:rotate(0)}50%{transform:rotate(2.2deg)}}.rabbit .r-tail-flick{transform-box:fill-box;transform-origin:8% 65%;animation:tailFlick 9s ease-in-out infinite}@keyframes tailFlick{0%,55%,74%,to{transform:rotate(0)}59%{transform:rotate(-9deg)}64%{transform:rotate(5deg)}69%{transform:rotate(-4deg)}}.field-rows{position:relative;flex:1;min-height:0;display:grid;grid-auto-rows:minmax(0,1fr);margin-top:6px;padding-left:10px;border-top:1px dashed rgba(42,38,32,.14)}.ink-route{position:absolute;left:0;top:0;bottom:0;width:100px;pointer-events:none;z-index:1}.ink-route path{fill:none;stroke:#2a262033;stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:drawStroke 1.8s var(--ease) .3s forwards}.ink-node{position:absolute;left:0;top:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:#2a26204d;pointer-events:none;z-index:2;animation:inkBloom .5s var(--spring) both}.ink-node:after{content:"";position:absolute;top:-2.5px;right:-2.5px;bottom:-2.5px;left:-2.5px;border-radius:50%;border:.75px solid rgba(42,38,32,.14);animation:inkBleed 1s var(--ease) both;animation-delay:inherit}.field-row:nth-child(3) .ink-node,.field-row:nth-child(5) .ink-node{left:68px}.field-row:nth-child(2) .ink-node{animation-delay:.4s}.field-row:nth-child(3) .ink-node{animation-delay:.6s}.field-row:nth-child(4) .ink-node{animation-delay:.8s}.field-row:nth-child(5) .ink-node{animation-delay:1.15s}@keyframes inkBloom{0%{transform:scale(0);opacity:0}55%{transform:scale(1.4);opacity:1}to{transform:scale(1);opacity:1}}@keyframes inkBleed{0%{transform:scale(.5);opacity:.9}to{transform:scale(1.8);opacity:0}}.field-row{position:relative;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:4px 12px;padding:10px 10px 10px 6px;text-align:left;border-radius:18px;transition:background .25s,transform .16s var(--spring);min-height:0}.field-row+.field-row:before{content:"";position:absolute;left:70px;right:12px;top:0;border-top:1px dashed rgba(42,38,32,.08);pointer-events:none}.field-row:active{background:#2a262009;transform:scale(.99)}.f-icon{grid-row:span 2;width:38px;height:38px;border-radius:13px;background:#2a26200d;display:grid;place-items:center;color:var(--ink-2)}.f-icon svg{width:20px;height:20px}.field-row.is-period .f-icon{background:#e0719a1f;color:var(--pink-strong)}.f-label{font-size:11.5px;color:var(--ink-3);letter-spacing:.08em}.f-value{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.f-value small{font-size:11.5px;font-weight:400;color:var(--ink-3);margin-left:3px}.f-side{grid-row:span 2;text-align:right;font-size:11.5px;color:var(--ink-3);line-height:1.55;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:3px}.f-drops{display:inline-flex;gap:5px;align-items:center}.f-drops i{width:9px;height:9px;border-radius:0 50% 50%;border:1px solid rgba(111,168,207,.5);background:transparent;transform:rotate(45deg) scale(.9);transition:transform .3s var(--spring),border-color .3s;position:relative}.f-drops i:after{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;border-radius:inherit;background:var(--water);transform:scale(0);transform-origin:50% 100%;transition:transform .38s var(--spring)}.f-drops i.on{border-color:#6fa8cfe6;animation:dropPop .4s var(--spring) both}.f-drops i.on:after{transform:scale(1)}.f-drops i.on:nth-child(2){animation-delay:.06s}.f-drops i.on:nth-child(3){animation-delay:.12s}.f-drops i.on:nth-child(4){animation-delay:.18s}.f-drops i.on:nth-child(5){animation-delay:.24s}.f-drops i.on:nth-child(6){animation-delay:.3s}.f-drops i.on:nth-child(7){animation-delay:.36s}.f-drops i.on:nth-child(8){animation-delay:.42s}.f-drops i.on:nth-child(n+9){animation-delay:.48s}@keyframes dropPop{0%{transform:rotate(45deg) scale(.4)}60%{transform:rotate(45deg) scale(1.18)}to{transform:rotate(45deg) scale(1)}}.water-add{grid-column:1 / 3;grid-row:1 / 3;display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:12px;row-gap:4px;align-items:center;text-align:left;border-radius:18px;transition:background .25s,transform .16s var(--spring)}.water-add:active{background:#2a262009;transform:scale(.99)}.water-row:active{background:none;transform:none}.water-undo{width:32px;height:32px;margin-right:-3px;display:grid;place-items:center;color:var(--ink);border-radius:50%;transition:transform .16s var(--spring),color .2s,background-color .2s;animation:undoIn .3s var(--ease) both}.water-undo svg{width:19px;height:19px;display:block}.water-undo:active{transform:scale(.9) rotate(-10deg);color:var(--cinnabar);background:#c0432b14}@keyframes undoIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.f-dots{display:inline-flex;gap:4px}.f-dots i{width:6px;height:6px;border-radius:50%;background:#2a26201f}.f-dots i.on{background:var(--ink-2);animation:dotPop .3s var(--spring) both}.f-dots i.on:nth-child(2){animation-delay:.08s}.f-dots i.on:nth-child(3){animation-delay:.16s}@keyframes dotPop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.f-thumb{width:40px;height:40px;border-radius:11px;object-fit:cover}.f-petal{animation:petalSpin 6s linear infinite;transform-origin:center}@keyframes petalSpin{to{transform:rotate(360deg)}}.fc-face{stroke:#2a26203d;stroke-width:1.15}.fc-progress{stroke:var(--cinnabar);stroke-width:1.35;transform:rotate(-90deg);transform-origin:12px 12px}.fc-hand{stroke:var(--ink-2);stroke-width:1.3}.fast-chip.is-running .fc-hand-min,.fasting-dial .fc-hand-min{transform-origin:12px 12px;animation:tickMin 10s linear infinite}@keyframes tickMin{to{transform:rotate(360deg)}}@media(max-height:740px)and (orientation:portrait){.today-header .t-hello{font-size:22px}.weight-zone{padding:13px 18px 9px}.weight-num{font-size:clamp(38px,11vw,48px)}.field-row{padding-top:5px;padding-bottom:5px}.f-icon{width:33px;height:33px;border-radius:11px}}@media(orientation:landscape)and (max-height:500px){.today-page{min-height:auto}.today-canvas{display:flex}.field-rows{min-height:280px}}.calendar-page{max-width:460px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin:8px 2px 14px}.cal-head h1{font-family:var(--hand);font-size:30px;font-weight:500;letter-spacing:.05em}.today-link{font-size:13.5px;color:var(--cinnabar);font-weight:500;padding:7px 14px;border-radius:12px;border:1px solid rgba(192,67,43,.35);background:#c0432b0d;transition:transform .16s var(--spring)}.today-link:active{transform:scale(.94)}.cal-board{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:0 1px 2px #2a26200a,0 18px 44px #2a262012;padding:14px 12px 10px}.cal-month-row{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:8px}.cal-month-row h2{text-align:center;font-family:var(--hand);font-size:21px;font-weight:500;letter-spacing:.06em}.cal-month-row .nav-btn:first-child{justify-self:start}.cal-month-row .nav-btn:last-child{justify-self:end}.nav-btn{width:44px;height:44px;border-radius:14px;font-size:20px;color:var(--ink-2);display:grid;place-items:center;transition:background .2s,transform .16s var(--spring)}.nav-btn:active{background:#2a26200f;transform:scale(.92)}.week-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.week-row span{text-align:center;font-size:12px;color:var(--ink-3);padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;animation:fadeIn .3s var(--ease) both}.cal-cell{display:flex;flex-direction:column;align-items:center;padding:3px 0 4px;border-radius:12px;min-height:62px;position:relative;transition:background .2s}.cal-cell:active{background:#2a26200b}.cal-cell.out .cal-day b,.cal-cell.out .cal-weight{color:var(--ink-3);opacity:.5}.cal-bowel{position:absolute;top:6px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--ink-2);animation:dotPop .3s var(--spring) both}.cal-day{position:relative;width:34px;height:34px;display:grid;place-items:center}.blotch{position:absolute;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-50%);overflow:visible;z-index:1;pointer-events:none}.cal-cell.out .blotch{opacity:.32}.cal-day b{position:relative;z-index:2;font-size:15.5px;font-weight:500}.cal-cell.is-period .cal-day b{color:#fffdf8;font-weight:700;text-shadow:0 1px 3px rgba(70,22,25,.6),0 0 2px rgba(70,22,25,.4)}.cal-cell.is-today .cal-day b{color:#fffdf8;font-weight:700}.today-ring{position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-50%);z-index:2;pointer-events:none}.today-ring path{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:4 5;opacity:.8}.sel-ring{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);pointer-events:none;z-index:3}.sel-ring path{fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:110;stroke-dashoffset:110;animation:drawStroke .46s var(--ease) forwards}.cal-weight{font-size:10.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;line-height:1.35;min-height:14px}.cal-delta{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35;min-height:13px}.cal-delta.flat{color:var(--ink-3);font-weight:400}.cal-legend{display:flex;justify-content:center;gap:15px;margin-top:10px;font-size:11px;color:var(--ink-3)}.cal-legend span{display:inline-flex;align-items:center;gap:5px}.cal-legend em{font-style:normal;font-size:9px}.lg{width:10px;height:10px;border-radius:50%;display:inline-block}.lg-blotch{width:16px;height:16px;border-radius:0;position:relative}.lg-blotch .blotch{position:static;transform:none;width:100%;height:100%;display:block}.lg-bowel{width:6px;height:6px;background:var(--ink-2)}.cal-summary{margin-top:14px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 1px 2px #2a26200a,0 10px 26px #2a26200f;display:grid;grid-template-columns:repeat(5,1fr);padding:13px 6px;position:relative}.cal-summary:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%) rotate(-1.5deg);width:74px;height:16px;border-radius:2px;background:#c0432b1f;border-left:1px dashed rgba(192,67,43,.3);border-right:1px dashed rgba(192,67,43,.3)}.cal-summary div{display:flex;flex-direction:column;align-items:center;gap:4px}.cal-summary span{font-size:11px;color:var(--ink-3)}.cal-summary b{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--num)}.cal-summary b small{font-size:10.5px;font-weight:400;color:var(--ink-3);margin-left:2px;font-family:var(--font)}.cal-summary b.down small,.cal-summary b.up small{color:inherit;opacity:.7}.sel-day{margin-top:20px}.sel-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sel-day-head h3{font-family:var(--hand);font-size:21px;font-weight:500}.sel-day-head h3 span{font-family:var(--font);font-size:12.5px;color:var(--ink-3);margin-left:7px}.future-note{font-size:12.5px;color:var(--ink-3)}.record-btn{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:500;color:var(--ink);padding:8px 14px;border-radius:13px;min-height:44px;transition:transform .16s var(--spring)}.record-btn:active{transform:scale(.94)}.record-btn svg{width:16px;height:16px}.sel-day-card{width:100%;text-align:left;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 1px 2px #2a26200a,0 10px 26px #2a26200f;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px;padding:15px 14px;transition:transform .16s var(--spring)}.sel-day-card:not(:disabled):active{transform:scale(.985)}.sel-day-card:disabled{cursor:default;opacity:.75}.sel-day-card div{display:flex;flex-direction:column;gap:3px;align-items:center}.sel-day-card div span{font-size:11px;color:var(--ink-3)}.sel-day-card div b{font-size:15.5px;font-weight:650;font-variant-numeric:tabular-nums;font-family:var(--num)}.sel-day-card div b small{font-size:10.5px;font-weight:400;color:var(--ink-3);font-family:var(--font)}.sel-note{grid-column:1 / -1;margin-top:4px;font-size:12.5px;color:var(--ink-2);line-height:1.7;border-top:1px dashed var(--line);padding-top:10px}.record-form{display:flex;flex-direction:column;gap:18px}.record-weight span,.record-note span{font-size:12.5px;color:var(--ink-2);display:block;margin-bottom:6px}.record-weight>div{display:flex;align-items:baseline;gap:8px;border-bottom:1.5px solid var(--line);padding-bottom:8px}.record-weight input{flex:1;border:0;background:none;font-family:var(--num);font-size:36px;font-weight:560;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.record-weight input:focus{outline:none}.record-weight small{font-size:14px;color:var(--ink-3)}.record-form fieldset{border:0}.record-form legend{font-size:12.5px;color:var(--ink-2);margin-bottom:8px}.record-form legend small{color:var(--ink-3);margin-left:6px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row button{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:12px;min-height:44px;border:1px solid var(--line);background:var(--paper-2);font-size:13.5px;color:var(--ink-2);transition:all .18s var(--spring)}.choice-row button.active{border-color:var(--ink);background:var(--ink);color:#fffdf8}.choice-dot{width:10px;height:10px;border-radius:50%;background:var(--line)}.choice-dot.flow-light{background:var(--pink)}.choice-dot.flow-medium{background:var(--pink-2)}.choice-dot.flow-heavy{background:var(--pink-3)}.choice-row button.active .choice-dot{box-shadow:0 0 0 2px #fffdf88c}.bowel-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px}.bowel-chip{display:inline-flex;align-items:center;gap:7px;background:#2a26200d;border-radius:11px;padding:6px 8px 6px 12px;font-size:12.5px;color:var(--ink-2)}.bowel-chip button{width:18px;height:18px;border-radius:50%;background:var(--ink-3);color:#fff;font-size:9px;display:grid;place-items:center;line-height:1}.record-form .hint{margin-top:9px}.journal-page .row-actions{margin-bottom:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#2a26200d;border-radius:13px;padding:3px;margin-bottom:16px}.segmented button{padding:8px 0;border-radius:10px;font-size:13.5px;color:var(--ink-2);transition:all .2s var(--ease)}.segmented button.active{background:var(--paper-2);color:var(--ink);font-weight:600;box-shadow:0 1px 4px #2a26201a}.jr-day{margin-bottom:18px}.jr-date{font-size:14px;font-weight:600;margin-bottom:9px;display:flex;align-items:baseline;gap:7px}.jr-date span{font-size:12px;font-weight:400;color:var(--ink-3)}.jr-date small{margin-left:auto;font-size:11.5px;font-weight:400;color:var(--ink-3)}.meal-card{position:relative;display:flex;gap:13px;align-items:center;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 1px 2px #2a26200a,0 10px 26px #2a26200f;padding:11px;margin-bottom:10px;cursor:pointer;transition:transform .16s var(--spring)}.meal-card:active{transform:scale(.985)}.meal-photo{width:72px;height:72px;border-radius:13px;object-fit:cover;flex:none;background:#2a26200d}.sticker-placeholder{background:#2a26200d}.meal-copy{flex:1;min-width:0}.meal-copy p{font-size:11.5px;color:var(--ink-3)}.meal-copy h3{font-size:14.5px;font-weight:600;margin:3px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-nums{display:flex;gap:9px;font-size:11px;color:var(--ink-3);align-items:baseline}.meal-nums b{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;font-family:var(--num)}.meal-nums b small{font-size:10.5px;font-weight:400;color:var(--ink-3);font-family:var(--font)}.meal-del{position:absolute;top:7px;right:9px;font-size:11px;color:var(--ink-3);padding:4px}.empty-block{width:100%;margin-top:26px;border:1.5px dashed var(--line);border-radius:var(--r-card);padding:34px 20px 30px;color:var(--ink-3);display:flex;flex-direction:column;align-items:center;gap:8px}.empty-block .rabbit{width:48px;height:48px}.empty-block b{color:var(--ink-2);font-size:15px;font-family:var(--hand);font-weight:500;letter-spacing:.05em}.empty-block small{font-size:12.5px}.mini-cal{padding:14px}.mini-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mini-cal-head h3{font-family:var(--hand);font-size:18px;font-weight:500}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.mini-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0}.mini-cell b{font-size:13.5px;font-weight:500}.mini-cell.out b{color:var(--ink-3);opacity:.5}.mini-cell.today b{color:var(--cinnabar);font-weight:700}.mini-cell i{width:5px;height:5px;border-radius:50%;background:var(--pink-strong)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#2a262080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:26px;animation:fadeIn .25s both}.lightbox figure{background:var(--paper-2);border-radius:20px;padding:14px;max-width:360px;width:100%;animation:sheetUp .34s var(--spring) both}.lightbox img{width:100%;border-radius:13px;display:block}.lightbox figcaption{display:flex;gap:10px;margin-top:12px}.lightbox figcaption .btn{flex:1}.me-group-title{font-size:12px;color:var(--ink-3);letter-spacing:.12em;margin:20px 4px 8px}.me-list{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 1px 2px #2a26200a,0 10px 26px #2a26200f;overflow:hidden}.me-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;font-size:14.5px;text-align:left;border-bottom:1px solid var(--hairline);transition:background .2s;min-height:52px}.me-row:last-child{border-bottom:0}.me-row:active{background:#2a262008}.me-row.static:active{background:none}.me-row em{font-style:normal;font-size:12.5px;color:var(--ink-3)}.privacy-note{font-size:12px;color:var(--ink-3);line-height:1.8;margin:22px 6px 0}.switch{position:relative;display:inline-block}.switch input{display:none}.switch i{display:block;width:48px;height:29px;border-radius:15px;background:#2a262024;position:relative;transition:background .25s}.switch i:after{content:"";position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:#fffdf8;box-shadow:0 1px 4px #2a262038;transition:transform .28s var(--spring)}.switch input:checked+i{background:var(--ink)}.switch input:checked+i:after{transform:translate(19px)}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#2a262057;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .24s both}.sheet{width:100%;max-width:460px;max-height:88vh;border-radius:26px 26px 0 0;border-bottom:0;display:flex;flex-direction:column;animation:sheetUp .38s var(--spring) both;padding-bottom:env(safe-area-inset-bottom,0px)}.sheet.wide{max-width:500px}.sheet-grabber{width:38px;height:4.5px;border-radius:3px;background:#2a262029;margin:10px auto 2px;flex:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 12px;flex:none}.sheet-head h2{font-family:var(--hand);font-size:21px;font-weight:500;letter-spacing:.04em}.sheet-close{width:34px;height:34px;border-radius:50%;background:#2a26200f;color:var(--ink-2);font-size:12px;display:grid;place-items:center;transition:transform .16s var(--spring)}.sheet-close:active{transform:scale(.9)}.sheet-body{overflow-y:auto;padding:4px 20px 26px}.sheet-section-title{font-size:12.5px;color:var(--ink-2);margin:14px 0 9px}.sheet-section-title small{color:var(--ink-3);margin-left:6px}.center-form{display:flex;flex-direction:column;align-items:center;gap:16px;padding:6px 0 4px}.stepper{display:flex;align-items:center;gap:12px}.stepper button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);font-size:20px;color:var(--ink-2);transition:transform .16s var(--spring)}.stepper button:active{transform:scale(.9)}.stepper input{width:124px;text-align:center;font-family:var(--num);font-size:34px;font-weight:560;letter-spacing:-.02em;border:0;border-bottom:1.5px solid var(--line);border-radius:0;background:none;min-height:54px}.stepper input:focus{border-color:var(--ink-2)}.stepper span{color:var(--ink-3);font-size:15px}.cycle-line{text-align:center;font-size:14px;color:var(--ink-2)}.cycle-forecast{position:relative;display:grid;gap:5px;padding:15px 16px 14px;margin-top:3px;border:1px solid rgba(83,57,42,.14);border-radius:16px 13px 17px 14px;background:#fffdf870;box-shadow:inset 0 1px #ffffffa8;text-align:left}.cycle-forecast:before{content:"";position:absolute;top:-1px;left:18px;width:42px;height:1px;background:var(--pink-strong);opacity:.55}.cycle-forecast-kicker{color:var(--pink-strong);font-size:11px;letter-spacing:.16em}.cycle-forecast strong{color:var(--ink);font-family:var(--hand);font-size:16px;font-weight:500;line-height:1.45}.cycle-forecast p{margin:0;color:var(--ink-3);font-size:12.5px;line-height:1.6}.cycle-forecast .cycle-phase{color:var(--ink-2)}.cycle-connect{width:100%;min-height:44px;margin-top:6px}.cycle-disclaimer{margin-top:2px;text-align:center}.bowel-history{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--paper-2)}.bowel-history-title{display:flex;justify-content:space-between;align-items:baseline;padding:11px 14px;border-bottom:1px solid var(--hairline)}.bowel-history-title b{font-size:13.5px}.bowel-history-title small{font-size:11.5px;color:var(--ink-3)}.bowel-entry{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--hairline)}.bowel-entry:last-child{border-bottom:0}.bowel-entry>span{display:flex;align-items:baseline;gap:9px}.bowel-entry b{font-size:13.5px}.bowel-entry small{font-size:11.5px;color:var(--ink-3)}.bowel-delete{font-size:12px;color:var(--ink-3);padding:5px 8px}.bowel-delete-confirm{display:flex;gap:6px}.bowel-delete-confirm button{font-size:12px;padding:6px 11px;border-radius:9px;background:#2a26200f}.bowel-delete-confirm .danger{background:var(--up);color:#fff}.quick-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-radius:15px;border:1px solid var(--line);background:var(--paper-2);transition:transform .16s var(--spring)}.quick-item:active{transform:scale(.98)}.quick-item b{font-size:14.5px}.quick-item small{font-size:11.5px;color:var(--ink-3)}.fasting-sheet{display:flex;flex-direction:column}.fasting-dial{display:flex;align-items:center;gap:15px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-card);padding:15px 17px}.fasting-dial svg{width:46px;height:46px;flex:none}.fasting-dial.is-done .fc-progress{stroke:var(--down)}.fasting-dial>div{display:flex;flex-direction:column;gap:2px}.fasting-dial small{font-size:10.5px;letter-spacing:.12em;color:var(--ink-3)}.fasting-dial b{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;font-family:var(--num)}.fasting-dial span{font-size:12px;color:var(--ink-2)}.fasting-meta{display:flex;align-items:center;gap:12px;margin:14px 2px}.fasting-meta span{display:flex;flex-direction:column;gap:2px}.fasting-meta small{font-size:11px;color:var(--ink-3)}.fasting-meta b{font-size:15px;font-variant-numeric:tabular-nums}.fasting-meta i{flex:1;height:1px;background:var(--line)}.fasting-plan-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fasting-plan-picker button{padding:12px 6px;border-radius:14px;border:1px solid var(--line);background:var(--paper-2);display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .18s var(--spring)}.fasting-plan-picker button.active{border-color:var(--ink);background:var(--ink);color:#fffdf8}.fasting-plan-picker b{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--num)}.fasting-plan-picker small{font-size:11px;opacity:.75}.fasting-alarm-row{display:flex;gap:9px}.fasting-alarm-row .input{flex:1;min-height:54px}.fasting-last{display:flex;align-items:baseline;gap:10px;margin:12px 2px;font-size:12.5px;color:var(--ink-2)}.fasting-last b{color:var(--ink)}.fasting-sheet .btn.big{margin-top:14px}.fasting-sheet .hint{margin-top:10px}.fasting-sheet .row-actions{margin-top:12px}.capture-stage{border-radius:var(--r-card);overflow:hidden;background:var(--paper-2);border:1px solid var(--line);min-height:220px;display:grid;place-items:center}.capture-stage img{width:100%;display:block}.cutting{display:flex;flex-direction:column;align-items:center;gap:9px;padding:48px 20px;color:var(--ink-2)}.cutting svg{width:30px;height:30px;animation:snip 1.1s ease-in-out infinite}@keyframes snip{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.cutting p{font-size:14.5px;font-weight:600;color:var(--ink)}.cutting small{font-size:12px;color:var(--ink-3)}.capture-empty{display:flex;flex-direction:column;align-items:center;gap:9px;padding:40px 20px;color:var(--ink-3)}.capture-empty svg{width:30px;height:30px}.capture-empty b{color:var(--ink);font-size:15px}.capture-empty small{font-size:12.5px;margin-bottom:6px}.capture-empty img{border-radius:13px}.capture-actions{display:flex;gap:10px}.capture-actions .btn{flex:1;white-space:nowrap}.meal-editor{margin-top:16px;display:flex;flex-direction:column;gap:12px}.nut-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:8px}.nut-row .nf{display:flex;flex-direction:column;gap:4px}.nut-row .nf.name{grid-column:1 / -1}.nf span{font-size:11px;color:var(--ink-3)}.add-food{border-style:dashed;color:var(--ink-2)}.notice{border:1px solid var(--line);border-radius:15px;background:var(--paper-2);padding:13px 15px;font-size:12.5px;color:var(--ink-2);line-height:1.7}.notice strong{display:block;font-size:13.5px;color:var(--ink);margin-bottom:3px}.notice button{margin-top:8px;font-size:12.5px;color:var(--cinnabar);font-weight:500;padding:4px 0}.poster-copy{margin-top:16px;display:flex;flex-direction:column;gap:10px}.poster-copy h3{font-size:16px}.invite-ok{font-size:15px;font-weight:600;color:var(--down)}.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%,14px);z-index:100;color:var(--ink);font-size:13.5px;padding:11px 20px;border-radius:16px;opacity:0;transition:opacity .3s,transform .34s var(--spring);max-width:82vw;text-align:center;line-height:1.55;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}.privacy-cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--paper);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:26px 26px;display:grid;place-content:center;gap:8px;text-align:center}.privacy-cover h2{font-family:var(--hand);font-size:24px;font-weight:500}.privacy-cover p{color:var(--ink-3);font-size:13.5px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.mood-face-btn.active .anim-bob,.mood-face-btn.active .anim-sway,.mood-face-btn.active .anim-tremble,.mood-face-btn.active .anim-zzz .zzz,.mood-face-btn.active .anim-zzz .tear{animation:none!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media(max-width:360px){.cal-summary b{font-size:14px}.cal-cell{min-height:56px}.cal-day{width:31px;height:31px}.cal-day .blotch{width:42px;height:42px}.f-drops{gap:4px}.f-drops i{width:8px;height:11px}}.f-sticker{grid-row:span 2;position:relative;width:52px;height:58px;display:grid;place-items:center;transition:transform .22s var(--spring)}.field-row:nth-child(2) .f-sticker{transform:rotate(-3deg)}.field-row:nth-child(3) .f-sticker{transform:rotate(2.4deg)}.field-row:nth-child(4) .f-sticker{transform:rotate(-2deg)}.field-row:nth-child(5) .f-sticker{transform:rotate(3deg)}.field-row:active .f-sticker{transform:rotate(0) scale(1.08)}.field-row .f-sticker{animation:stickOn .5s var(--spring) both}.field-row:nth-child(2) .f-sticker{animation-delay:.18s}.field-row:nth-child(3) .f-sticker{animation-delay:.26s}.field-row:nth-child(4) .f-sticker{animation-delay:.34s}.field-row:nth-child(5) .f-sticker{animation-delay:.42s}@keyframes stickOn{0%{opacity:0;transform:translateY(-8px) rotate(-8deg) scale(.8)}to{opacity:1}}.glass-glyph{width:28px;height:28px;display:block;overflow:visible;color:var(--ink-2)}.glass-line{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.water-sticker.is-pouring>svg{animation:glassPour .5s var(--spring);transform-box:fill-box;transform-origin:50% 100%}@keyframes glassPour{0%{transform:rotate(0)}30%{transform:rotate(-4deg) scale(1.04)}65%{transform:rotate(2.5deg)}to{transform:rotate(0)}}.water-sticker.is-done .glass-glyph{color:var(--water)}.water-sticker.is-done .glass-water{fill:#6fa8cf57}.water-sticker.is-done .glass-wave{fill:#6fa8cfad}.moon-glyph{width:29px;height:29px;display:block;overflow:visible;color:var(--ink-2)}.moon-shade{animation:moonPhase 7s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes moonPhase{0%{transform:translate(-13px)}to{transform:translate(13.5px)}}.period-sticker.is-period .moon-glyph{color:var(--pink-strong)}.period-sticker.is-period{animation:periodGlow 5.3s ease-in-out -3.2s infinite;border-radius:50%}@keyframes periodGlow{0%,to{box-shadow:0 0 3px #e0719a1a}50%{box-shadow:0 0 8px 2px #e0719a4d}}.roll-glyph{width:28px;height:28px;display:block;overflow:visible;color:var(--ink-2);animation:rollWobble 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 40%}@keyframes rollWobble{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}.roll-tail{animation:tailFlutter 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 0}@keyframes tailFlutter{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}.meal-sticker .f-thumb{width:40px;height:40px;object-fit:cover;border-radius:12px;box-shadow:0 4px 10px #2a262026}.bowl-glyph{width:29px;height:29px;display:block;overflow:visible;color:var(--ink-2)}.steam-line{stroke-dasharray:1;stroke-dashoffset:0;animation:steamRise 2.4s ease-in-out infinite;transform-box:fill-box}.steam-b{animation-delay:1.2s}@keyframes steamRise{0%{opacity:0;transform:translateY(1.6px)}35%{opacity:1}to{opacity:0;transform:translateY(-1.8px)}}.bowel-sticker.is-done .roll-glyph{color:var(--down)}.glass-fill{transform:translate3d(0,var(--water-y),0);transition:transform .48s cubic-bezier(.2,.82,.2,1);will-change:transform}.glass-water{fill:#6fa8cf33}.glass-wave{fill:#6fa8cf7a;transform-box:fill-box;animation:waveDrift 3.6s ease-in-out -.9s infinite}@keyframes waveDrift{0%,to{transform:translate3d(-1.7px,0,0)}50%{transform:translate3d(1.7px,0,0)}}.hydration-impact{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hydration-drop{position:absolute;top:-5px;left:50%;width:6px;height:9px;margin-left:-3px;opacity:0;animation:hydrationDrop .48s cubic-bezier(.5,.02,.9,.6) both}.hydration-drop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%/62% 62% 38% 38%;background:var(--water)}@keyframes hydrationDrop{0%{opacity:0;transform:translate3d(0,-7px,0) scale(.75)}14%{opacity:.95}72%{opacity:.95;transform:translate3d(0,calc(var(--water-impact-y) - 5px),0) scale(.84,1.22)}to{opacity:0;transform:translate3d(0,var(--water-impact-y),0) scale(1.45,.42)}}.hydration-ring{position:absolute;top:calc(var(--water-impact-y) + 3px);left:50%;width:16px;height:5px;margin-left:-8px}.hydration-ring:before,.hydration-ring:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(111,168,207,.55);border-radius:50%;opacity:0;animation:hydrationRipple .64s .44s cubic-bezier(.17,.67,.35,1) both}.hydration-ring:after{border-color:#6fa8cf52;animation-delay:.58s;animation-duration:.72s}@keyframes hydrationRipple{0%{opacity:.55;transform:scale(.28,.4)}to{opacity:0;transform:scale(1.9,1.6)}}.field-rows .field-row{animation:rowIn .45s var(--ease) both}.field-rows .field-row:nth-child(2){animation-delay:.16s}.field-rows .field-row:nth-child(3){animation-delay:.24s}.field-rows .field-row:nth-child(4){animation-delay:.32s}.field-rows .field-row:nth-child(5){animation-delay:.4s}@keyframes rowIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.weight-zone .card-label{position:relative;padding-bottom:3px}.weight-zone .card-label:after{content:"";position:absolute;left:0;right:-6px;bottom:-1px;height:1px;background:linear-gradient(90deg,#c0432b7a,#c0432b33);transform:rotate(-.6deg);transform-origin:left center}.delta-text{animation:deltaPop .5s var(--spring) .45s both}@keyframes deltaPop{0%{opacity:0;transform:translateY(5px) scale(.92)}to{opacity:1;transform:none}}.weight-zone .journey{animation:fadeUp .5s var(--ease) .3s both}.sheet{background:linear-gradient(180deg,#ffffff85,#fffdf857)}.toast{background:linear-gradient(135deg,#ffffff6b,#fffdf83d)}.record-btn{background:linear-gradient(135deg,#fff6,#fffdf838)}.sheet-mask{backdrop-filter:blur(6px) saturate(1.3);-webkit-backdrop-filter:blur(6px) saturate(1.3)}.partner-weight-line{margin-top:10px;font-size:12.5px;color:var(--ink-2);text-align:center;font-family:var(--num);font-weight:600;letter-spacing:.03em}.couple-card{display:flex;flex-direction:column;gap:8px;padding:10px 14px;margin-top:10px}.couple-empty{font-size:13px;color:var(--ink-3)}.shift-pill{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 6px;border-radius:7px;background:#2a262012;color:var(--ink);font-size:12px;font-weight:600}.shift-pill.empty{background:none;color:var(--ink-3);font-weight:400}.shift-today{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:1px 0 5px}.shift-today .shift-pill{min-width:34px;height:26px;font-size:13px;border-radius:9px}.shift-today span{font-family:var(--num);font-weight:600;color:var(--ink)}.shift-upcoming{list-style:none;display:flex;flex-direction:column;gap:7px}.shift-upcoming li{display:grid;grid-template-columns:66px 42px 1fr;align-items:baseline;gap:9px;font-size:12.5px;color:var(--ink-2)}.shift-upcoming li span{min-width:0}.shift-upcoming li small{color:var(--ink-3)}.partner-cycle-line{font-size:12.5px;color:var(--pink-strong);border-top:1px dashed var(--hairline);padding-top:10px;margin-top:1px}.plan-list{list-style:none;display:flex;flex-direction:column;gap:7px}.plan-item{display:flex;align-items:center;gap:8px;font-size:13.5px}.plan-item .plan-text{flex:1}.plan-item.done .plan-text{color:var(--ink-3);text-decoration:line-through}.plan-prefix{flex:none;font-style:normal;font-size:11px;color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:1px 5px}.plan-check{flex:none;width:22px;height:22px;border-radius:7px;border:1px solid var(--line);background:var(--paper-2);display:grid;place-items:center;font-size:12px;color:var(--down);transition:transform .24s var(--spring),border-color .2s,color .2s}.plan-item.done .plan-check{color:var(--cinnabar);font-weight:700;border-color:var(--cinnabar);transform:rotate(-6deg) scale(1.06)}.plan-check.readonly{border-style:dashed}.plan-item.done .plan-check.readonly{color:var(--ink-3);border-color:var(--line)}.plan-del{flex:none;width:24px;height:24px;color:var(--ink-3);font-size:12px}.plan-add{display:flex;gap:9px;margin-top:2px}.plan-add .input{flex:1;min-height:44px}.plan-add .btn{flex:none;min-height:44px;padding:0 16px}.mood-ask{display:inline-block;padding:1px 8px 2px;margin-left:-4px;color:var(--ink);letter-spacing:.04em;background:linear-gradient(100deg,#e0719a42,#c0432b33);border-radius:48% 52% 55% 45%/62% 40% 60% 38%;transform:rotate(-.6deg)}.mood-row{display:grid;grid-template-columns:repeat(5,1fr);gap:3px 2px;padding:1px}.mood-row-sheet{gap:5px 3px}.mood-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:4px 2px;border-radius:13px;border:1px solid transparent;transition:transform .28s var(--spring),background .2s,border-color .2s}.mood-btn b{font-size:22px;line-height:1.2}.mood-btn small{font-size:10px;color:var(--ink-3)}.mood-btn.active{border-color:var(--ink);background:var(--paper-2);transform:scale(1.1)}.mood-btn.active small{color:var(--ink);font-weight:600}.mood-current{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--ink-2)}.mood-current button{font-size:12px;color:var(--cinnabar);padding:4px 6px}.shift-chip-row{display:flex;flex-wrap:wrap;gap:8px}.shift-chip{min-width:44px;min-height:38px;padding:0 10px;border-radius:11px;border:1px solid var(--line);background:var(--paper-2);font-size:13.5px;font-weight:600;color:var(--ink-2);transition:transform .22s var(--spring),background .2s,border-color .2s,color .2s}.shift-chip.active{transform:scale(1.05)}.shift-time{font-size:12.5px;color:var(--ink-2);font-family:var(--num);letter-spacing:.02em}.week-shift-card{gap:6px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.week-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0 5px;border-radius:10px;border:1px dashed transparent}.week-cell small{font-size:10.5px;color:var(--ink-3)}.week-cell.is-today{background:none;box-shadow:none;border-color:#2a262052}.week-cell.is-today small{color:var(--cinnabar);font-weight:600}.ink-section{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:12px 4px 10px;background:none;border:none;box-shadow:none;border-radius:0;border-top:1px dashed rgba(42,38,32,.14)}.ink-section-label{font-size:12px;color:var(--ink-3);letter-spacing:.08em}.plan-day{flex:none;font-style:normal;font-size:11px;color:var(--ink-3);padding:1px 6px;border:1px dashed rgba(42,38,32,.18);border-radius:999px}.mood-inline{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(42,38,32,.14)}.mood-inline-row{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;margin-top:4px}.ink-section-head{display:flex;align-items:center;justify-content:space-between}.week-ocr-btn{display:grid;place-items:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:8px;color:var(--ink-3);transition:color .2s,transform .16s var(--spring)}.week-ocr-btn svg{width:18px;height:18px}.week-ocr-btn:hover{color:var(--ink)}.week-ocr-btn:active{transform:scale(.88)}.week-cell{transition:transform .18s var(--spring),border-color .2s;animation:fadeUp .45s var(--spring) both}.week-strip .week-cell:nth-child(1){animation-delay:0ms}.week-strip .week-cell:nth-child(2){animation-delay:40ms}.week-strip .week-cell:nth-child(3){animation-delay:80ms}.week-strip .week-cell:nth-child(4){animation-delay:.12s}.week-strip .week-cell:nth-child(5){animation-delay:.16s}.week-strip .week-cell:nth-child(6){animation-delay:.2s}.week-strip .week-cell:nth-child(7){animation-delay:.24s}.week-cell:hover{transform:scale(1.06)}.week-cell:active{transform:scale(.94)}.shift-glyph{width:22px;height:22px;display:block}.shift-glyph path,.shift-glyph circle{stroke-dasharray:48;stroke-dashoffset:48;animation:drawStroke .7s var(--ease) .08s forwards}.shift-glyph.is-done{opacity:.45}.shift-glyph .shift-done-tick{fill:none;stroke:var(--cinnabar);stroke-width:2;stroke-linecap:round;stroke-dasharray:8;stroke-dashoffset:8;animation:drawStroke .5s var(--ease) .3s forwards}.mood-face-btn{position:relative;display:grid;place-items:center;min-width:0;padding:2px;background:none;border:none;border-radius:10px;transition:transform .28s var(--spring)}.mood-face{width:24px;height:24px;display:block;transition:transform .28s var(--spring)}.mood-face-btn:hover .mood-face{transform:scale(1.1)}.mood-face-btn.active .mood-face{transform:scale(1.18)}.mood-face-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid rgba(42,38,32,.3);opacity:0;transform:scale(.5);pointer-events:none}.mood-face-btn.active:after{animation:inkBleed .6s var(--ease) both}.mood-face-btn.active .anim-bob,.mood-face-btn.active .anim-sway,.mood-face-btn.active .anim-tremble,.mood-face-btn.active .anim-zzz,.mood-face-btn.active .zzz,.mood-face-btn.active .tear{transform-box:fill-box;transform-origin:center}.mood-face-btn.active .anim-bob{animation:moodBob 1.6s ease-in-out infinite}.mood-face-btn.active .anim-sway{animation:moodSway 2.4s ease-in-out infinite}.mood-face-btn.active .anim-tremble{animation:moodTremble .5s ease-in-out infinite}@keyframes moodBob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.6px)}}@keyframes moodSway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes moodTremble{0%,to{transform:translate(0)}25%{transform:translate(-.7px)}75%{transform:translate(.7px)}}.mood-face-btn.active .anim-zzz .zzz{animation:zzzFloat 2s var(--ease) infinite}.mood-face-btn.active .anim-zzz .tear{animation:tearDrop 2s ease-in infinite}@keyframes zzzFloat{0%{transform:translate(0);opacity:0}30%{opacity:1}to{transform:translate(2px,-6px);opacity:0}}@keyframes tearDrop{0%{transform:translateY(0);opacity:0}25%,80%{opacity:1}to{transform:translateY(5px);opacity:0}}.plan-add-min{align-items:center;gap:8px}.plan-add-min .input{min-height:30px;padding:2px 0;background:none;border:none;border-radius:0;border-bottom:1px solid rgba(42,38,32,.18)}.plan-add-min .input:focus{box-shadow:none;border-bottom-color:#2a262073}.plan-add-btn{flex:none;display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;background:none;border:1px solid var(--ink-3);border-radius:50%;color:var(--ink);transition:transform .16s var(--spring),opacity .2s,border-color .2s}.plan-add-btn svg{width:14px;height:14px}.plan-add-btn:hover{border-color:var(--ink)}.plan-add-btn:active{transform:scale(.88)}.plan-add-btn:disabled{opacity:.35}.schedule-confirm{display:flex;flex-direction:column;gap:10px}.schedule-day{display:flex;flex-direction:column;gap:5px}.schedule-day-label{font-size:12.5px;color:var(--ink-2);font-weight:600}.schedule-day .shift-chip{min-width:38px;min-height:30px;padding:0 8px;font-size:12.5px;border-radius:9px}.schedule-day .shift-chip-row{gap:6px}.cal-head-tools{display:flex;align-items:center;gap:10px}.cal-mode-toggle{margin-bottom:0;min-width:128px}.cal-mode-toggle button{padding:6px 0;font-size:12.5px}.cal-shift{margin-top:3px;width:calc(100% - 4px);height:13px;padding:0 3px;border-radius:4px;background:#2a262014;color:var(--ink-2);font-size:9.5px;font-weight:700;line-height:13px;text-align:center;white-space:nowrap;overflow:hidden}.cal-plan{position:absolute;left:7px;top:6px;width:5px;height:5px;border-radius:50%;background:var(--pink-strong)}.cal-moods{display:flex;align-items:center;justify-content:center;min-height:22px}.cal-mood{font-size:17px;line-height:1.25}.cal-mood.is-partner{font-size:12px;opacity:.55;transform:translate(2px,4px)}.lg-shift{width:auto;height:auto;border-radius:4px;padding:2px 5px;background:#2a262014;color:var(--ink-2);font-size:9px;font-weight:700;font-style:normal}.lg-plan{background:var(--pink-strong)}.sel-day-card .sel-mood{grid-column:1 / -1;border-top:1px dashed var(--line);padding-top:9px;margin-top:2px}.sel-day-card .sel-mood b{font-size:13px;font-family:var(--font);font-weight:500;text-align:center}.sel-plans{grid-column:1 / -1;display:flex;flex-direction:column;gap:5px;border-top:1px dashed var(--line);padding-top:9px;margin-top:2px}.sel-plans p{font-size:12.5px;color:var(--ink-2)}.sel-plans p.done{text-decoration:line-through;color:var(--ink-3)}.sel-plans p em{font-style:normal;font-size:11px;color:var(--ink-3);margin-right:6px}.sel-shift-val{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}.sel-shift-val i{font-style:normal;font-size:9.5px;font-weight:700;line-height:1;padding:3px 6px;border-radius:5px;background:#2a262014;color:var(--ink-2)}.sel-shift-val small{font-size:11px;font-weight:500;color:var(--ink-2);font-family:var(--num)}.couple-code-box{display:flex;flex-direction:column;align-items:center;gap:8px;margin:6px 16px 12px;padding:15px 18px 14px;border-radius:16px;border:1px dashed rgba(192,67,43,.4);background:#c0432b0a;text-align:center}.couple-code{font-family:var(--num);font-size:26px;letter-spacing:.3em;text-indent:.3em;line-height:1.25;color:var(--cinnabar)}.couple-code-box small{font-size:12px;color:var(--ink-3);line-height:1.75}.couple-join{display:flex;gap:10px;margin:0 16px 14px}.couple-join .input{flex:1;min-height:46px}.couple-join .btn{flex:none;min-height:46px;padding:0 18px}.me-list .couple-empty{margin:4px 16px 13px;line-height:1.7}.me-row .couple-partner{color:var(--cinnabar);font-weight:600}.role-field .choice-row{flex-wrap:nowrap}.role-field .choice-row button{flex:1;justify-content:center}
