:root{--plum:#3a1029;--plum2:#571c3e;--pink:#e4568b;--blush:#f7c6d9;--blush2:#fbe3ec;--paper:#f6efe2;--cream:#fcf7ee;--butter:#faefc6;--sky:#a7c7e4;--ink:#25121b;--muted:#7a5f6b;--pink-ink:#b82e63;--pink-btn:#c93a70;--wine:#33091a;--forest:#1f3d2b;--lilac:#dccbe6;--glass:#ffffffad;--glass-edge:#ffffffe6;--line:#3a102924;--shadow:#e4568b80;--soft:0 10px 30px #3a102914;--serif:"Frank Ruhl Libre", Georgia, serif;--sans:"Assistant", system-ui, sans-serif;--hand:"Frank Ruhl Libre", Georgia, serif;--script:"Playpen Sans Hebrew", "Assistant", cursive;--bubble:"Baloo 2", system-ui, sans-serif;--groovy:"Pacifico", cursive;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16.5px;line-height:1.6}body:before{content:"";pointer-events:none;z-index:200;opacity:.38;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");position:fixed;inset:0}button{color:inherit;font-family:inherit}:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}.app{max-width:440px;min-height:100%;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin:0 auto;padding-block:0 110px;position:relative}h1,h2,h3{font-family:var(--serif);text-wrap:balance;margin:0;line-height:1.2}.hand{font-family:var(--hand);color:var(--pink-ink);line-height:1.2}.muted{color:var(--muted)}.label{letter-spacing:.16em;color:var(--pink-ink);font-size:12.5px;font-weight:700}.top{justify-content:space-between;align-items:center;gap:12px;padding-block:18px 6px;display:flex}.me{background:var(--plum);width:44px;height:44px;color:var(--blush);font-family:var(--serif);cursor:pointer;box-shadow:3px 3px 0 var(--shadow);border:0;border-radius:50%;font-size:19px;font-weight:700}.card{background:var(--cream);box-shadow:6px 7px 0 var(--shadow);border-radius:18px;padding:18px;position:relative}.card.tilt{transform:rotate(-.7deg)}.tape{background:#f7c6d9d9;width:86px;height:22px;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:inset 0 0 0 1px #3a10290d}.btn{background:var(--plum);color:var(--cream);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-size:16px;font-weight:700;transition:transform .12s;display:inline-flex}.btn:active{transform:scale(.97)}.btn.pink{background:var(--pink-btn);color:#fff}.btn.ghost{color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum);background:0 0}.btn.small{padding:8px 16px;font-size:14px}.btn.wide{width:100%}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{gap:14px;display:grid}.hello{padding-block:6px 4px}.hello h1{color:var(--plum);font-size:30px;font-weight:900}.hello p{color:var(--muted);margin:2px 0 0;font-size:15px}.chips{flex-wrap:wrap;gap:8px;margin-block:14px 6px;display:flex}.chip{background:var(--blush2);color:var(--plum);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:14px;font-weight:600;display:inline-flex}.chip.butter{background:var(--butter)}.chip.sky{background:#dce9f5}.num{font-variant-numeric:tabular-nums}.today{margin-block:22px 8px}.today .k{font-family:var(--hand);color:var(--pink-ink);font-size:22px}.today h2{color:var(--plum);margin:2px 0 6px;font-size:22px}.today .meta{color:var(--muted);margin-bottom:14px;font-size:14px}.dream{text-align:center;margin-top:30px}.dream .k{letter-spacing:.2em;color:var(--pink-ink);font-size:12.5px;font-weight:700}.dream h2{color:var(--plum);margin-top:4px;font-size:24px;font-weight:900}.dream .why{font-family:var(--hand);color:var(--plum2);margin-top:6px;font-size:21px}.map{width:100%;margin-top:6px;position:relative}.map svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node{cursor:pointer;width:58px;height:58px;font-family:var(--serif);border:0;border-radius:50%;place-items:center;margin:-29px 0 0 -29px;font-size:22px;font-weight:900;transition:transform .15s;display:grid;position:absolute}.node:hover{transform:scale(1.06)}.node.done{background:var(--pink-btn);color:#fff;box-shadow:3px 4px 0 var(--plum)}.node.cur{background:var(--plum);color:var(--blush);box-shadow:0 0 0 6px var(--blush),4px 5px 0 6px var(--shadow)}.node.next{background:var(--cream);color:var(--plum);box-shadow:inset 0 0 0 2px var(--plum)}.node.goal{background:var(--butter);width:74px;height:74px;color:var(--plum);box-shadow:inset 0 0 0 2px var(--plum),4px 5px 0 var(--shadow);margin:-37px 0 0 -37px;font-size:30px}.node.cur:after{content:"";border:2px solid var(--pink);border-radius:50%;animation:2.2s ease-out infinite ping;position:absolute;inset:-6px}@keyframes ping{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}.slabel{width:52%;position:absolute;transform:translateY(-50%)}.slabel b{font-family:var(--serif);color:var(--plum);font-size:17px;line-height:1.25;display:block}.slabel span{color:var(--muted);font-size:13.5px;line-height:1.4;display:block}.slabel .cnt{color:var(--plum);background:var(--blush2);border-radius:999px;margin-top:3px;padding:0 9px;font-size:12px;font-style:normal;font-weight:700;display:inline-block}.slabel .pin{font-family:var(--hand);color:var(--pink-ink);font-size:20px;line-height:1;display:block}.slabel.r{text-align:right;right:2%}.slabel.l{text-align:left;left:2%}.promise{text-align:center;margin-top:34px;padding:22px 20px 20px}.promise p{font-family:var(--hand);color:var(--plum);margin:6px 0 10px;font-size:23px;line-height:1.3}.stamp{border:2px solid var(--pink);color:var(--pink-ink);letter-spacing:.06em;border-radius:999px;align-items:center;gap:6px;padding:3px 12px;font-size:13px;font-weight:700;display:inline-flex;transform:rotate(-4deg)}.nav{z-index:50;width:100%;max-width:440px;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav .in{background:var(--plum);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;grid-template-columns:repeat(5,1fr);display:grid;box-shadow:0 -4px 18px #3a10292e}.nav a{color:var(--blush);cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:1px;padding:7px 2px;font-size:12.5px;font-weight:600;text-decoration:none;display:flex}.nav a svg{width:22px;height:22px}.nav a[aria-current=page]{background:var(--pink-btn);color:#fff}.veil{z-index:80;background:#25121b73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:100%;max-width:440px;max-height:88vh;padding:10px 18px calc(22px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;animation:.25s up;overflow:auto}@keyframes up{0%{opacity:.4;transform:translateY(30px)}to{opacity:1;transform:none}}.grab{background:var(--line);border-radius:9px;width:42px;height:5px;margin:4px auto 14px}.sheet h3{color:var(--plum);font-size:22px}.tasks{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.task{background:var(--cream);cursor:pointer;text-align:right;border:0;border-radius:14px;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;font-size:15.5px;line-height:1.45;display:flex}.task .box{width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--plum);color:#0000;border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:14px;font-weight:700;display:grid}.task.done .box{background:var(--pink-btn);box-shadow:none;color:#fff}.task.done .t{text-decoration:line-through;-webkit-text-decoration-color:var(--pink-ink);text-decoration-color:var(--pink-ink);color:var(--muted)}.task .m{color:var(--muted);font-size:12.5px;display:block}.ring{width:220px;height:220px;margin:8px auto 4px;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .c{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.ring .tm{font-family:var(--serif);color:var(--plum);font-variant-numeric:tabular-nums;font-size:46px;font-weight:900;line-height:1}.ring .tl{color:var(--muted);font-size:13px}.seg{background:var(--blush2);border-radius:999px;padding:3px;display:inline-flex}.seg button{color:var(--plum);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 14px;font-size:14px;font-weight:700}.seg button[aria-pressed=true]{background:var(--plum);color:var(--cream)}textarea,input[type=text],input[type=email],input[type=password]{width:100%;color:var(--ink);background:var(--cream);border:1.5px solid var(--line);resize:vertical;border-radius:14px;padding:12px 14px;font-family:inherit;font-size:16px}textarea:focus,input:focus{border-color:var(--pink-ink);outline:none}.fieldk{color:var(--plum);margin-bottom:6px;font-size:15px;font-weight:700;display:block}.hint{color:var(--muted);margin-top:6px;font-size:13.5px}.strip{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px;display:grid}.dy{background:var(--cream);color:var(--plum);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:8px 0;font-size:15px;font-weight:700;display:flex}.dy small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.dy.on{background:var(--plum);color:var(--blush)}.dy.on small{color:var(--blush)}.dy.istoday{box-shadow:0 0 0 2.5px var(--pink)}.dy .dot{background:0 0;border-radius:50%;width:7px;height:7px}.dy.did .dot{background:var(--pink)}.sess{grid-template-columns:62px minmax(0,1fr);align-items:start;gap:12px;display:grid}.sess .when{font-family:var(--serif);color:var(--plum);font-size:20px;font-weight:900;line-height:1.1}.sess .when small{font-family:var(--sans);color:var(--muted);font-size:12.5px;font-weight:600;display:block}.sess ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sess li{background:var(--cream);border-radius:12px;padding:9px 12px;font-size:14.5px;line-height:1.4}.sess li.rest{box-shadow:inset 0 0 0 1.5px dashed var(--line);color:var(--muted);background:0 0}.pick{flex-wrap:wrap;gap:8px;display:flex}.pick button{background:var(--cream);color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;border:0;border-radius:999px;padding:8px 15px;font-size:14.5px;font-weight:700}.pick button[aria-pressed=true]{background:var(--plum);color:var(--cream);box-shadow:none}.ob{flex-direction:column;min-height:100%;padding-block:22px 30px;display:flex}.ob .dots{justify-content:center;gap:6px;margin:14px 0 26px;display:flex}.ob .dots i{background:var(--line);border-radius:9px;width:26px;height:5px}.ob .dots i.on{background:var(--pink)}.ob h1{color:var(--plum);font-size:28px;font-weight:900}.ob .sub{color:var(--muted);margin:8px 0 20px}.ob .foot{justify-content:space-between;gap:10px;margin-top:auto;padding-top:26px;display:flex}.scale{grid-template-columns:repeat(11,minmax(0,1fr));gap:4px;min-width:0;display:grid}.scale button{aspect-ratio:1;background:var(--cream);width:100%;min-width:0;color:var(--plum);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:50%;padding:0;font-size:14px;font-weight:700}.scale button[aria-pressed=true]{background:var(--pink-btn);color:#fff;box-shadow:none}.sign{background:var(--plum);width:100%;color:var(--cream);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:999px;padding:16px;font-size:16px;font-weight:700;position:relative;overflow:hidden}.sign .fill{background:var(--pink-btn);transform-origin:100%;position:absolute;inset:0;transform:scaleX(0)}.sign span{position:relative}.build{text-align:center;padding-top:60px}.build ol{text-align:right;gap:12px;margin:26px 0 0;padding:0;list-style:none;display:grid}.build li{opacity:.25;align-items:center;gap:10px;font-size:16px;transition:opacity .4s;display:flex}.build li.on{opacity:1}.build li b{background:var(--blush);width:26px;height:26px;color:var(--plum);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.build li.on b{background:var(--pink-btn);color:#fff}.build li.now{opacity:.85}.build .spin{border:2.5px solid var(--pink-btn);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.build-slow{margin-top:22px;animation:.6s fadein}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.build .spin{animation-duration:2.4s}}.welcome{text-align:center;padding-top:44px}.moods{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.moods button{background:var(--cream);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 0 8px;font-size:28px;display:flex}.moods button small{color:var(--muted);font-size:11.5px;font-weight:700}.moods button[aria-pressed=true]{background:var(--blush);box-shadow:inset 0 0 0 2px var(--pink)}.change{background:var(--cream);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:15px;line-height:1.45;display:flex}.change b{color:var(--pink-ink);flex:none}.toast{background:var(--plum);color:var(--cream);z-index:120;white-space:nowrap;border-radius:999px;padding:10px 18px;font-size:14.5px;font-weight:600;position:fixed;bottom:110px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #3a10294d}.confetti{pointer-events:none;z-index:150;position:fixed;inset:0;overflow:hidden}.confetti i{display:block;position:absolute}.demo{color:var(--muted);text-align:center;margin-top:26px;font-size:12.5px}.quote{background:var(--butter);border-radius:4px;margin-top:22px;padding:16px 18px 14px;position:relative;transform:rotate(.8deg);box-shadow:4px 5px #3a10291f}.quote .tape{background:#a7c7e4cc}.quote p{font-family:var(--hand);color:var(--plum);margin:0;font-size:24px;line-height:1.25}.quote small{letter-spacing:.12em;color:var(--pink-ink);margin-top:6px;font-size:12.5px;font-weight:700;display:block}.nudge{background:var(--plum);color:var(--cream);box-shadow:5px 6px 0 var(--shadow);border-radius:18px;margin-top:18px;padding:16px 18px}.nudge b{font-family:var(--serif);color:var(--blush);margin-bottom:2px;font-size:18px;display:block}.nudge p{margin:0 0 12px;font-size:15px;line-height:1.5}.nudge .btn{background:var(--cream);color:var(--plum)}.nudge .btn.ghost{color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--blush);background:0 0}.track{gap:8px;margin-top:18px;display:grid}.bar{background:var(--blush2);border-radius:9px;height:10px;overflow:hidden}.bar i{background:var(--pink);border-radius:9px;height:100%;display:block}.track .row{color:var(--muted);justify-content:space-between;font-size:14px}.hb{background:var(--cream);border-radius:16px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.hb .ic{background:var(--blush2);border-radius:12px;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.hb .nm{color:var(--plum);font-size:15.5px;font-weight:700;line-height:1.3}.hb .nm small{color:var(--muted);margin-inline-start:6px;font-size:12.5px;font-weight:600}.hdots{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px;display:grid}.hdots button{aspect-ratio:1;background:var(--blush2);width:100%;max-width:30px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;justify-self:center;padding:0;font-size:11px;font-weight:700}.hdots button.on{background:var(--pink-btn);color:#fff}.hdots button.td{box-shadow:0 0 0 2px var(--plum)}.hdots button:disabled{cursor:default;opacity:.55}.quick{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.quick button{background:var(--cream);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--plum);cursor:pointer;border:0;border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:700}.quick button[aria-pressed=true]{background:var(--pink-btn);color:#fff;box-shadow:none}.addrow{gap:8px;margin-top:10px;display:flex}.addrow input{flex:1;min-width:0}.emo{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.emo button{background:var(--cream);cursor:pointer;width:40px;height:40px;box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:12px;font-size:20px}.emo button[aria-pressed=true]{background:var(--blush);box-shadow:inset 0 0 0 2px var(--pink)}.sec{margin-top:28px}.sec h2{color:var(--plum);font-size:21px}.sec .hint{margin-top:2px}.energy{background:var(--cream);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:18px;margin-top:18px;padding:14px 16px}.energy b{font-family:var(--serif);color:var(--plum);margin-bottom:8px;font-size:18px;display:block}.energy .opts{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.energy .opts button{background:var(--paper);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;font-size:24px;display:flex}.energy .opts button small{color:var(--plum);font-size:12.5px;font-weight:700}.energy .opts button[aria-pressed=true]{background:var(--blush);box-shadow:inset 0 0 0 2px var(--pink)}.energy .note{color:var(--muted);margin:10px 0 0;font-size:14px}.mini{background:var(--butter);color:var(--plum);border-radius:999px;margin-bottom:6px;padding:2px 10px;font-size:12.5px;font-weight:700;display:inline-block}.wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.win{background:var(--butter);color:var(--plum);overflow-wrap:anywhere;border-radius:3px;min-width:0;padding:12px 12px 10px;font-size:14.5px;line-height:1.4;box-shadow:3px 4px #3a10291a}.win:nth-child(3n+2){background:var(--blush2);transform:rotate(1.2deg)}.win:nth-child(3n){background:#dce9f5;transform:rotate(-1deg)}.win:nth-child(3n+1){transform:rotate(-.6deg)}.win small{color:var(--muted);margin-top:6px;font-size:11.5px;font-weight:700;display:block}.wincount{font-family:var(--serif);color:var(--pink-ink);font-size:40px;font-weight:900;line-height:1}.queue{margin-top:30px}.queue li{background:var(--cream);box-shadow:inset 0 0 0 1.5px dashed var(--line);border-radius:14px;align-items:center;gap:10px;padding:11px 14px;font-size:15px;display:flex}.queue li .x{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-inline-start:auto;padding:0 4px;font-size:18px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.brand-logo{color:var(--plum);-webkit-user-select:none;user-select:none;direction:ltr;flex-direction:column;align-items:center;line-height:.82;display:inline-flex}.brand-logo b{font-family:var(--bubble);font-weight:800;font-size:calc(var(--d) / 1.5);letter-spacing:.08em}.brand-logo i{font-family:var(--groovy);font-style:normal;font-size:var(--d);color:var(--pink);transform:rotate(-3deg)}.brand-logo .the{margin-bottom:calc(-.175em + var(--d) * -.051)}.brand-logo .club{letter-spacing:.12em;margin-top:calc(-.105em + var(--d) * .29)}.soon{text-align:center;margin-top:22px}.soon p{color:var(--muted);margin:6px 0 0}body{background:#f6e8ee}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(55% 32% at 88% 4%,#f7c6d9f2,#0000 70%),radial-gradient(45% 30% at 6% 26%,#dccbe6cc,#0000 70%),radial-gradient(60% 34% at 92% 58%,#f7c6d9b3,#0000 70%),radial-gradient(50% 30% at 4% 86%,#dccbe6b3,#0000 70%),linear-gradient(#f8e9ef,#f4e6ec);position:fixed;inset:0}body:before{opacity:.22}.script{font-family:var(--script);color:var(--pink-ink);font-weight:500}.hand{font-family:var(--hand);font-weight:400}.hand.big{font-size:24px}.hello h1{font-size:32px;font-weight:700}.chip{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge),0 2px 8px #3a10290d;-webkit-backdrop-filter:blur(10px);font-size:13.5px}.card{background:var(--glass);box-shadow:var(--soft),inset 0 0 0 1px var(--glass-edge);-webkit-backdrop-filter:blur(14px);border-radius:26px;padding:20px}.today .k{font-family:var(--hand);font-size:19px;font-weight:400;line-height:1.2}.today h2{font-size:23px;font-weight:700}.dream{margin-top:36px}.dream h2{font-weight:700}.dream .why{font-family:var(--hand);font-size:20px;font-weight:400;line-height:1.35}.slabel .pin{font-family:var(--hand);font-size:18px;font-weight:700;line-height:1.3}.slabel .cnt{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge)}.node.next{background:#fff}.task,.queue li{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge)}.queue li{box-shadow:inset 0 0 0 1.5px #e4568b59}.sec h2{font-size:23px}textarea,input[type=text],input[type=email],input[type=password]{background:#ffffffbf;border-color:#3a10291a;border-radius:16px}.band{margin:40px -16px 0;padding:44px 22px}.promise-band{background:var(--wine)}.framed{background:var(--cream);border:12px solid var(--blush);box-shadow:0 0 0 2px #e7a1bb,inset 0 0 0 2px #e7a1bb,inset 0 0 0 7px var(--cream),inset 0 0 0 8px #e4568b59,0 22px 44px #0006;border-radius:6px;position:relative}.promise{margin:0;padding:28px 22px 24px}.promise .label{font-family:var(--serif);letter-spacing:0;color:var(--plum);font-size:20px}.promise p{font-family:var(--hand);font-size:23px;font-weight:400;line-height:1.4}.promise .tape{background:#a7c7e4e6;top:-24px}.sheet{background:#fbf2f5}a.btn{text-decoration:none}.info{margin-top:22px}.info-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.info-head h2{color:var(--plum);font-size:22px}.info dl{margin:0 0 16px}.info dt{color:var(--pink-ink);margin-top:12px;font-size:13px;font-weight:700}.info dd{color:var(--plum);margin:2px 0 0;font-weight:600}.info .dream-title{font-family:var(--serif);color:var(--plum);margin:4px 0 0;font-size:21px;font-weight:700;line-height:1.3}.info .why{color:var(--plum2);margin:6px 0 0;font-size:19px;line-height:1.4}.plain{color:var(--plum);gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.btn:disabled{opacity:.45;cursor:default}.area-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.area-head .ic{background:var(--glass);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--glass-edge);border-radius:12px;place-items:center;font-size:21px;display:grid}.area-head h2{color:var(--plum);flex:1;font-size:21px}.hb{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge)}.hb .nm{flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.hb .nm small{margin:0}.hb .x{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-inline-start:auto;padding:0 4px;font-size:18px;line-height:1}.today .quick{margin-top:12px}.routine-today .more{color:var(--pink-ink);font-size:14px;font-weight:700;text-decoration:none}.routine-today h2{font-size:21px}.checkin-card{background:var(--glass);box-shadow:inset 0 0 0 1.5px dashed var(--line);color:var(--muted);border-radius:20px;gap:2px;margin-top:22px;padding:14px 18px;text-decoration:none;display:grid}.checkin-card b{font-family:var(--serif);color:var(--plum);font-size:17px}.checkin-card span{font-size:14px}.checkin-card.open{background:var(--pink-btn);box-shadow:5px 6px 0 var(--plum);color:#fff}.checkin-card.open b{color:#fff}.welcome .tagline{color:var(--pink-ink);margin:14px 0 26px;font-size:22px}.welcome .card{margin-top:0}.linkish{color:var(--plum2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px;font-size:14.5px;font-weight:600;text-decoration:underline}.ob h1{font-weight:700}.habit-input{align-items:center;gap:10px;font-size:20px;display:flex}.habit-input input{flex:1;min-width:0}.hb-meta{color:var(--muted);flex-wrap:wrap;gap:0 6px;margin-top:2px;font-size:12.5px;font-weight:600;display:flex}.ob .progress{background:#3a10291a;border-radius:9px;height:6px;margin:14px 0 26px;overflow:hidden}.ob .progress i{background:var(--pink);border-radius:9px;height:100%;transition:width .3s;display:block}.note-tip{background:var(--butter);color:var(--plum);border-radius:4px;margin:18px 0 24px;padding:14px 16px;font-weight:600;line-height:1.5;transform:rotate(-.6deg);box-shadow:3px 4px #3a10291a}.how{counter-reset:how;gap:14px;margin:0;padding:0;list-style:none;display:grid}.how li{counter-increment:how;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;line-height:1.5;display:grid}.how li:before{content:counter(how);background:var(--pink-btn);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.how b{color:var(--plum)}.scale-legend{color:var(--muted);justify-content:space-between;gap:8px;margin-top:6px;font-size:12.5px;display:flex}.date-input{width:100%;font:inherit;color:var(--ink);background:#ffffffbf;border:1.5px solid #3a10291a;border-radius:16px;margin-top:10px;padding:10px 14px;font-size:16px}.opt{color:var(--muted);font-size:13px;font-weight:400}.loading-line{font-family:var(--serif);color:var(--plum);text-align:center;margin-top:60px;font-size:20px;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45}}.mini-toggle{background:var(--glass);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;border:0;border-radius:999px;margin-top:6px;padding:4px 12px;font-size:13px;font-weight:700}.mini-toggle[aria-pressed=true]{background:var(--blush);color:var(--plum)}textarea:disabled{opacity:.5}.per-day{gap:8px;margin-top:10px;display:grid}.per-day label{color:var(--plum);grid-template-columns:70px minmax(0,1fr);align-items:center;gap:10px;font-weight:700;display:grid}.per-day input{font:inherit;background:#ffffffbf;border:1.5px solid #3a10291a;border-radius:14px;padding:8px 12px;font-size:16px}.per-day .linkish{justify-self:start}.habit-pick{gap:8px;display:grid}.pick.small{align-items:center;gap:6px}.pick.small button{padding:5px 11px;font-size:13px}.pick.small .muted{font-size:13px}.note{background:var(--cream);border-radius:4px;padding:22px 18px 16px;position:relative;transform:rotate(.4deg);box-shadow:4px 5px #3a10291f}.note .tape{background:#a7c7e4d9}.summary dl{gap:12px;margin:0;display:grid}.summary dt{color:var(--pink-ink);font-size:13px;font-weight:700}.summary dd{color:var(--plum);font-family:var(--hand);margin:2px 0 0;font-size:17.5px;line-height:1.45}.summary .fix{background:var(--blush2);color:var(--plum);cursor:pointer;font-size:12.5px;font-weight:700;font-family:var(--sans);border:0;border-radius:999px;margin-inline-start:8px;padding:2px 10px}.ob-promise{padding:16px}.ob-promise textarea{font-family:var(--hand);color:var(--plum);text-align:center;resize:none;background:0 0;border:0;padding:4px;font-size:22px;line-height:1.4}.ob-promise .stamp{margin-top:8px}.ob .framed{margin-top:4px}.pace{background:var(--butter);color:var(--plum);border-radius:14px;margin:0 0 14px;padding:10px 14px;font-size:14.5px}.station-card{padding:0;overflow:hidden}.station-head{text-align:right;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;gap:2px;padding:16px 18px;display:grid}.station-head b{font-family:var(--serif);color:var(--plum);font-size:17px}.station-head span{color:var(--muted);font-size:14px}.station-head em{color:var(--pink-ink);font-size:13px;font-style:normal;font-weight:700}.ptasks{gap:10px;margin:0;padding:0 18px 16px;list-style:none;display:grid}.ptasks li{background:#ffffffb3;border-radius:14px;gap:6px;padding:10px 12px;display:grid}.ptasks li.done .t{text-decoration:line-through;-webkit-text-decoration-color:var(--pink-ink);text-decoration-color:var(--pink-ink);color:var(--muted)}.ptasks .t small{color:var(--muted);margin-inline-start:4px;font-size:12.5px}.ptasks .acts{flex-wrap:wrap;gap:6px;display:flex}.ptasks .acts button{background:var(--blush2);color:var(--plum);cursor:pointer;border:0;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.ptasks .acts button[aria-pressed=true]{background:var(--pink-btn);color:#fff}.escapes-today{color:var(--plum);gap:4px;margin:8px 0 0;padding:0;font-size:14.5px;list-style:none;display:grid}.energy{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge);-webkit-backdrop-filter:blur(10px)}.energy .opts button{background:#fff9}.escape-row{align-items:center;gap:6px;display:flex}.escape-row .task{flex:1}.escape-row .x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:18px}.dy,.sess li{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge)}.sess li.rest{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.cal-link{cursor:pointer;color:var(--pink-ink);background:0 0;border:0;margin-top:6px;padding:0;font-family:inherit;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-block}.nudge .btn.small{white-space:nowrap}.quote p{white-space:pre-line}.ci{flex-direction:column;min-height:calc(100vh - 220px);padding-top:10px;display:flex}.ci h1{color:var(--plum);font-size:28px;font-weight:700}.ci .sub{color:var(--muted);margin:8px 0 20px}.ci .foot{justify-content:space-between;gap:10px;margin-top:auto;padding-top:26px;display:flex}.ci .progress{background:#3a10291a;border-radius:9px;height:6px;margin:4px 0 22px;overflow:hidden}.ci .progress i{background:var(--pink);border-radius:9px;height:100%;display:block}.big-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.big-stats div{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge);text-align:center;border-radius:18px;padding:14px 6px;display:grid}.big-stats b{font-family:var(--serif);color:var(--pink-ink);font-size:38px;line-height:1.1}.big-stats span{color:var(--plum);font-size:13.5px;font-weight:700}.ci-note{font-family:var(--hand);color:var(--plum);text-align:center;margin:20px 0 0;font-size:19px;line-height:1.5}.ci-habit{padding:14px 16px}.ci-habit .nm{color:var(--plum);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:8px;font-weight:700;display:flex}.ci-habit .nm b{color:var(--pink-ink);font-size:14px}.offer{padding:14px 16px}.offer p{color:var(--plum);margin:0 0 10px;font-weight:600;line-height:1.5}.offer .btn[aria-pressed=false]{opacity:.55}.offer .btn.ghost[aria-pressed=true]{background:var(--plum);color:var(--cream);opacity:1}.offer.declined p{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.week-rule{color:var(--plum2);background:var(--butter);border-radius:10px;margin:0 0 10px;padding:4px 10px;font-size:13.5px;font-weight:700;display:block}.edit-tasks li{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge);border-radius:14px;gap:8px;padding:10px 12px;display:grid}.edit-tasks .row{justify-content:space-between}select{font:inherit;color:var(--plum);background:#fffc;border:1.5px solid #3a10291f;border-radius:12px;padding:6px 10px;font-size:15px}.add-task{margin-top:18px}.page-title{color:var(--plum);margin-top:18px;font-size:28px;font-weight:700}.welcome .sub{color:var(--muted);margin:6px 0 18px}.err{color:#b3204f;margin:6px 0 0;font-size:13.5px;font-weight:600}input[aria-invalid=true]{border-color:#b3204f}.info h2{color:var(--plum);font-size:21px}.linkish.danger{color:#b3204f}.demo a{color:var(--plum2)}.done{text-align:center;padding-top:8px}.done h1{color:var(--plum);font-size:32px;font-weight:700}.done .lead{color:var(--plum);margin:8px 0 0;font-size:18px;font-weight:600}.done .sec{text-align:right}.star-big{background:var(--butter);width:96px;height:96px;color:var(--plum);box-shadow:inset 0 0 0 2px var(--plum),5px 6px 0 var(--shadow);border-radius:50%;place-items:center;margin:6px auto 12px;font-size:48px;animation:.6s pop;display:grid}@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.1)}to{transform:scale(1)}}.offline{background:var(--butter);color:var(--plum);text-align:center;border-radius:12px;margin:10px 0 0;padding:8px 12px;font-size:14px;font-weight:600}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sheet:focus{outline:none}.ai-par{font-family:var(--hand);color:var(--plum);margin:0 0 10px;font-size:17.5px;line-height:1.55}.ai-par b{font-weight:700}.path-card{text-align:right;background:var(--glass);width:100%;box-shadow:inset 0 0 0 1.5px var(--pink),0 6px 18px #3a10290f;cursor:pointer;font:inherit;color:var(--plum);border:0;border-radius:20px;gap:4px;margin-top:12px;padding:16px 18px;display:grid}.path-card b{font-family:var(--serif);font-size:18px}.path-card span{color:var(--muted);font-size:14.5px}.path-card.static{cursor:default;box-shadow:inset 0 0 0 1px var(--glass-edge);margin-bottom:4px}.past-card{text-align:right;background:var(--glass);width:100%;box-shadow:inset 0 0 0 1px var(--glass-edge);cursor:pointer;font:inherit;color:var(--plum);border:0;border-radius:18px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;display:grid}.past-card .star{background:var(--butter);width:48px;height:48px;box-shadow:inset 0 0 0 2px var(--plum);border-radius:50%;place-items:center;font-size:24px;display:grid}.past-card b{font-family:var(--serif);font-size:17px;display:block}.past-card .fl{color:var(--pink-ink);font-size:14.5px;font-weight:600;display:block}.past-card .meta{color:var(--muted);font-size:12.5px;display:block}.postcards{gap:12px;margin-top:16px;display:grid}.pc-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pc{cursor:pointer;color:var(--muted);background:0 0;border:0;justify-items:center;gap:6px;padding:0;font-size:14px;font-weight:700;display:grid}.pc img,.pc .pc-wait{aspect-ratio:9/16;outline-offset:3px;border-radius:14px;outline:3px solid #0000;width:100%;transition:outline-color .2s;display:block;box-shadow:0 6px 18px #3a102924}.pc .pc-wait{background:var(--cream)}.pc[aria-checked=true]{color:var(--plum)}.pc[aria-checked=true] img{outline-color:var(--pink-btn)}.switch{cursor:pointer;background:#3a10292e;border:0;border-radius:999px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:right .2s;position:absolute;top:3px;right:3px;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:var(--pink-btn)}.switch[aria-checked=true]:after{right:25px}.switch:focus-visible{outline:3px solid var(--plum);outline-offset:2px}.start-list ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.start-list .st{text-align:start;width:100%;font:inherit;color:var(--plum);background:0 0;border:0;align-items:center;gap:10px;padding:8px 2px;font-weight:600;display:flex}.start-list button.st{cursor:pointer}.start-list .st.done{color:var(--muted);-webkit-text-decoration:line-through #3a10294d;text-decoration:line-through #3a10294d}.start-list .ck{width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--plum);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.start-list .done .ck{background:var(--pink-btn);box-shadow:none;color:#fff}.start-list .go{color:var(--pink-ink);margin-inline-start:auto;font-size:22px}.steps{color:var(--plum);gap:8px;margin:12px 0 0;padding-inline-start:22px;display:grid}.plan{text-align:start;width:100%;font:inherit;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;background:#ffffffb3;border:0;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.plan>span{text-align:end;line-height:1.5;display:block}.plan s{color:var(--muted);font-size:14px}.plan small{color:var(--muted);font-size:12.5px;display:block}.plan[aria-checked=true]{box-shadow:inset 0 0 0 2.5px var(--pink-btn);background:#fff}.love{text-align:center;color:var(--pink-ink);margin:18px 0 10px;font-weight:800}.legal .card h2{color:var(--plum);margin:18px 0 6px;font-size:17px}.legal .card h2:first-child{margin-top:0}.legal .card p,.legal .card li{color:var(--plum);margin:0 0 8px;font-size:15px;line-height:1.7}.legal .card ul{margin:0 0 8px;padding-inline-start:20px}.legal-links{flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:16px;font-size:13.5px;display:flex}.legal-links a{color:var(--muted)}.envelope{aspect-ratio:1.5;perspective:900px;width:100%;max-width:280px;margin:6px auto 0;position:relative}.envelope.small{max-width:110px}.env-back,.env-front,.env-flap,.env-letter{position:absolute;inset:0}.env-back{background:#efa9c5;border-radius:10px}.env-letter{background:var(--cream);border-radius:6px;align-content:start;gap:10%;padding:12% 12% 0;transition:transform .9s cubic-bezier(.2,.8,.2,1) .35s;display:grid;inset:10% 8% 8%;box-shadow:0 2px 6px #3a10291f}.env-letter span{background:#3a10292e;border-radius:3px;height:3px;display:block}.env-letter span:last-child{width:60%}.env-front{clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);background:#f7c6d9;border-radius:10px}.env-flap{clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:top;z-index:2;background:#e98ab0;border-radius:10px 10px 0 0;transition:transform .6s}.env-seal{aspect-ratio:1;background:var(--pink-btn);color:#fff;z-index:3;border-radius:50%;place-items:center;width:22%;font-size:clamp(12px,4vw,22px);transition:opacity .3s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #3a102940}.envelope.open{margin-top:clamp(60px,26vw,110px)}.envelope{transition:margin-top .6s}.envelope.open .env-flap{z-index:0;transform:rotateX(180deg)}.envelope.open .env-seal{opacity:0}.envelope.open .env-letter{transform:translateY(-45%)}.unfold{transform-origin:top;animation:.7s cubic-bezier(.2,.8,.2,1) unfold}@keyframes unfold{0%{opacity:0;transform:scaleY(.4)translateY(-20px)}to{opacity:1;transform:none}}.more-cue{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--plum);color:var(--cream);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:999px;padding:11px 20px;font-size:15px;font-weight:700;animation:1.6s ease-in-out infinite cue;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #3a10294d}.done .sec{scroll-margin-top:16px}.more-cue span{margin-inline-start:4px;display:inline-block}@keyframes cue{0%,to{transform:translate(-50%)}50%{transform:translate(-50%)translateY(-5px)}}.env-button{cursor:pointer;background:0 0;border:0;width:100%;padding:0}.paper{background:var(--cream) repeating-linear-gradient(transparent 0 31px,#3a10291a 31px 32px);font-family:var(--hand);color:var(--plum);border-radius:14px;margin-top:16px;padding:18px 20px;font-size:18px;line-height:32px;box-shadow:0 6px 18px #3a10291f}.paper-text{white-space:pre-wrap;margin:0}.paper-date{color:var(--muted);text-align:left;margin:12px 0 0;font-size:14px}.paper-input{resize:vertical;outline-offset:3px;border:0;width:100%}.letter-write .sub{margin-bottom:6px}.letter-sealing{justify-items:center;gap:12px;padding-top:40px;display:grid}.letter-sealing .envelope{animation:.9s seal}@keyframes seal{0%{opacity:0;transform:scale(.6)translateY(30px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.env-flap,.env-letter,.letter-sealing .envelope,.unfold,.more-cue{transition:none;animation:none}}.letter-card{box-shadow:inset 0 0 0 1.5px var(--line);background:#fff9;border-radius:22px;align-items:center;gap:16px;padding:14px 16px;display:flex}.letter-card .envelope{flex:none;width:96px;margin:0}.deadline-card{gap:10px;margin-top:18px;display:grid}.deadline-card h2{font-family:var(--serif);color:var(--plum);margin:0;font-size:21px}.deadline-card p{color:var(--muted);margin:0;line-height:1.6}.deadline-card .fieldk{margin-top:4px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}@media (width>=700px){.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-stat{text-align:center;gap:2px;padding:14px 10px;display:grid}.admin-stat b{color:var(--plum);font-size:28px}.admin-stat b.warn{color:#b3204f}.admin-stat span{color:var(--muted);font-size:13.5px}.admin-h{color:var(--plum);margin:22px 0 8px;font-size:19px}.admin-row{overflow-wrap:anywhere;border-bottom:1px solid #3a102914;gap:2px;margin:0;padding:8px 0;font-size:14.5px;display:grid}.admin-row:last-child{border-bottom:0}.admin-row span{color:var(--muted);font-size:13.5px}.admin-member summary{cursor:pointer;gap:2px;list-style:none;display:grid}.admin-member summary::-webkit-details-marker{display:none}.admin-member summary b{color:var(--plum)}.admin-facts{color:var(--ink);gap:3px;margin:8px 0 2px;padding-inline-start:18px;font-size:13.5px;display:grid}
