:root[data-palette=aurora][data-theme=light]{--bg:#f6f4ff;--card:#fff;--text:#1e1b3a;--muted:#5e5a80;--line:#e4dffb;--accent:#6040f0;--on-accent:#fff;--partner:#c72a63;--shared:#087f75;--ok:#15803d;--on-ok:#fff;--bad:#c92a2a;--on-bad:#fff;--warn:#b45309;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-palette=aurora][data-theme=dark]{--bg:#0f0b1f;--card:#1a1530;--text:#f3f0ff;--muted:#a9a3c9;--line:#2e2750;--accent:#9a8cff;--on-accent:#14102b;--partner:#ff7aa2;--shared:#2dd4bf;--ok:#34d399;--on-ok:#0f0b1f;--bad:#fb7185;--on-bad:#0f0b1f;--warn:#fbbf24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=sunset][data-theme=light]{--bg:#fff6ee;--card:#fff;--text:#2a1810;--muted:#7a5646;--line:#f3dfd1;--accent:#c2410c;--on-accent:#fff;--partner:#c2255c;--shared:#7048e8;--ok:#237a35;--on-ok:#fff;--bad:#c92a2a;--on-bad:#fff;--warn:#a85d00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-palette=sunset][data-theme=dark]{--bg:#160f0c;--card:#241913;--text:#fff1e6;--muted:#c9a896;--line:#3a2a21;--accent:#ff8a5b;--on-accent:#2a1208;--partner:#ff6b9a;--shared:#b197fc;--ok:#69db7c;--on-ok:#160f0c;--bad:#ff8787;--on-bad:#160f0c;--warn:#ffc15a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=ocean][data-theme=light]{--bg:#eef6ff;--card:#fff;--text:#0b1b33;--muted:#506580;--line:#d8e6f7;--accent:#1d5fe0;--on-accent:#fff;--partner:#0e7490;--shared:#c2410c;--ok:#0f7b4e;--on-ok:#fff;--bad:#c92a2a;--on-bad:#fff;--warn:#a85d00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-palette=ocean][data-theme=dark]{--bg:#07111f;--card:#0e1d33;--text:#eaf3ff;--muted:#9fb4cf;--line:#1c3050;--accent:#5ca0ff;--on-accent:#06142b;--partner:#22d3ee;--shared:#ff9f5a;--ok:#4ade80;--on-ok:#07111f;--bad:#ff8a8a;--on-bad:#07111f;--warn:#fbbf24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-palette=candy][data-theme=light]{--bg:#fff5fa;--card:#fff;--text:#2b1027;--muted:#7b5473;--line:#f5dceb;--accent:#c2185b;--on-accent:#fff;--partner:#6741d9;--shared:#0b7285;--ok:#1b7f4b;--on-ok:#fff;--bad:#c92a2a;--on-bad:#fff;--warn:#a85d00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-palette=candy][data-theme=dark]{--bg:#150b14;--card:#231322;--text:#ffeef8;--muted:#cda6c4;--line:#3c2339;--accent:#ff6fae;--on-accent:#2b0b1b;--partner:#9d8df1;--shared:#3bc9db;--ok:#63e6be;--on-ok:#150b14;--bad:#ff8787;--on-bad:#150b14;--warn:#ffd43b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--grad:linear-gradient(135deg, var(--accent), var(--partner));--glow:color-mix(in srgb, var(--accent) 16%, transparent)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{overscroll-behavior:none;height:100lvh;overflow:hidden}html{background:var(--bg)}body{background:radial-gradient(130% 42% at 50% -8%, var(--glow), transparent 70%), var(--bg);color:var(--text);margin:0;font:16px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.app{height:100lvh;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:relative}.app>:not(main):not(nav){padding-left:16px;padding-right:16px}main{flex-direction:column;flex:1;width:100%;max-width:520px;min-height:0;margin:0 auto;padding:0 16px;display:flex;overflow:hidden}.page{flex-direction:column;flex:1;min-height:0;display:flex}.page-head{background:0 0;flex:none;margin:0;padding:20px 0 6px}.page-head h1{color:var(--accent);margin:0}.page-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-height:0;padding:18px 0 140px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 130px),#0000 calc(100% - 82px));mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 130px),#0000 calc(100% - 82px))}.page-body::-webkit-scrollbar{width:0;height:0;display:none}.page-body>h2:first-child{margin-top:0}h1{margin:8px 0 12px;font-size:1.7rem;line-height:1.2}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 8px;font-size:.8rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.card .grow{flex:1;min-width:0}.card .title{font-weight:600}.card .sub{color:var(--muted);font-size:.8rem}.check{border:2px solid var(--line);width:34px;height:34px;color:var(--on-ok);background:0 0;border-radius:50%;flex:none;font-size:1.1rem}.check.done{background:var(--ok);border-color:var(--ok)}.check:disabled{opacity:.9}.counter{align-items:center;gap:8px;display:flex}.counter button,.btn{background:var(--accent);color:var(--on-accent);border:0;border-radius:10px;padding:8px 14px;font-size:1rem;font-weight:600}.counter button{border-radius:50%;width:34px;height:34px;padding:0}.btn.ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn.small{padding:5px 10px;font-size:.85rem}.btn.danger{background:var(--bad);color:var(--on-bad)}input,select{border:1px solid var(--line);background:var(--card);width:100%;color:var(--text);border-radius:10px;margin-bottom:10px;padding:12px;font-size:16px}.tabs{z-index:5;background:var(--card);border:1px solid var(--line);border-radius:26px;justify-content:center;width:calc(100% - 24px);max-width:496px;margin:0 auto;padding:6px 8px;display:flex;position:absolute;bottom:6px;left:0;right:0;box-shadow:0 8px 24px #0f172a29}:root[data-theme=dark] .tabs{box-shadow:0 8px 24px #00000080}.tabs>div{width:100%;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px 0;font-size:.95rem;line-height:1.2;display:flex}.tabs .ico{font-size:1.5rem;line-height:1}.tabs button.active{color:var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, transparent), color-mix(in srgb, var(--partner) 20%, transparent));border-radius:18px;font-weight:700}.bar{background:var(--line);border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.bar>div{background:var(--accent);height:100%}.error{color:var(--bad);font-size:.9rem}.muted{color:var(--muted)}.row{gap:8px;display:flex}.row>*{flex:1}.banner{background:var(--grad);color:var(--on-accent);border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;font-weight:600;display:flex}.banner .btn{background:var(--on-accent);color:var(--accent)}.banner .grow{flex:1}.card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.head{justify-content:space-between;align-items:center;gap:12px;display:flex}.plus{background:var(--grad);width:42px;height:42px;color:var(--on-accent);border:0;border-radius:50%;flex:none;margin-top:8px;font-size:1.7rem;line-height:1}.flame{white-space:nowrap;font-weight:700}.duo{align-items:center;gap:8px;display:flex}.emo{border:2px solid var(--line);background:var(--bg);border-radius:12px;width:44px;height:44px;padding:0;font-size:1.4rem;line-height:1}.emo.done{background:var(--accent);border-color:var(--accent)}.emo.part{background:color-mix(in srgb, var(--accent) 30%, var(--bg));border-color:var(--accent)}.emo.partner{border-color:color-mix(in srgb, var(--partner) 70%, var(--line))}.emo:disabled,.check:disabled,.counter button:disabled{opacity:.55}.step{background:var(--line);width:30px;height:30px;color:var(--text);border:0;border-radius:50%;padding:0;font-size:1.1rem}.pill.partner{background:color-mix(in srgb, var(--partner) 16%, transparent);color:var(--partner)}.btn.ghost.partner{color:var(--partner);border-color:var(--partner)}.pill{background:var(--line);white-space:nowrap;border-radius:99px;padding:6px 10px;font-size:.85rem;font-weight:600}.actions{flex-direction:column;gap:6px;display:flex}.toast{z-index:60;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);z-index:20;border-radius:99px;padding:10px 16px;font-weight:600;position:fixed;transform:translate(-50%)}.backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;height:100lvh;display:flex;position:fixed;top:0;left:0;right:0}.sheet{background:var(--card);width:100%;max-width:520px;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;max-height:90vh;overflow:auto}.srow{justify-content:space-between;margin-bottom:4px;font-size:.9rem;display:flex}.cells{gap:3px;display:flex}.track{background:var(--line);border-radius:5px;flex:1;justify-content:center;align-items:flex-end;min-width:0;height:52px;display:flex;position:relative;overflow:hidden}.track.tall{flex:none;width:100%;height:64px}.track .fill{position:absolute;bottom:0;left:0;right:0}.track .in{text-align:center;padding-bottom:3px;font-size:.58rem;font-weight:600;line-height:1.15;position:relative}.track.solid .in{color:inherit}.weeks{align-items:flex-end;gap:6px;display:flex}.wk{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.head h1{white-space:nowrap;margin-bottom:0;overflow:hidden}.head>div:first-child{flex:1;min-width:0}.head .year{color:var(--muted);margin:0;font-size:1rem;font-weight:600}.head .side{flex:none;align-items:center;gap:8px;display:flex}.head .side .plus{margin-top:0}.seg{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:4px;margin-top:10px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;padding:7px 0;font-size:.9rem;font-weight:600}.seg button.on{background:var(--grad);color:var(--on-accent)}.ov{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.ovcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.ovhead{margin-bottom:6px;font-weight:700}.ovrow{color:var(--muted);justify-content:space-between;align-items:baseline;padding:2px 0;font-size:.85rem;display:flex}.ovrow b{color:var(--text);font-size:1rem}button.card{text-align:left;width:100%;font:inherit;color:inherit}.srow2{cursor:pointer}.srow2.col{flex-direction:column;align-items:stretch;gap:4px}.stat{text-align:right;flex-direction:column;flex:none;gap:2px;display:flex}.stat b{font-size:1.3rem}.dots{gap:5px;margin-top:8px;display:flex}.dots i{border-radius:50%;width:14px;height:14px;display:block}.minibar{margin-top:6px}.minibar .bar{margin-top:0;margin-bottom:4px}.cmp{align-items:center;gap:8px;margin-top:6px;display:flex}.cmp .bar{flex:1;margin:0}.cmp .emo2{text-align:center;width:22px;font-size:1.1rem}.cmp .pc{text-align:right;width:42px;font-weight:700}.cmp .fl{text-align:right;width:42px}.person{border-top:1px solid var(--line);margin:14px 0 4px;padding-top:12px}.person:first-of-type{border-top:0;padding-top:0}.chips{gap:8px;margin-top:6px;display:flex}.chip{background:var(--line);border-radius:99px;padding:4px 10px;font-size:.8rem;font-weight:600}.g7{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.g7 .track{height:40px}.g7 .track.ghost{background:0 0}.head7{margin-bottom:3px}.head7 small{text-align:center;color:var(--muted);font-size:.65rem}.track.slim{height:56px}.mlabel{color:var(--muted);font-size:.6rem}.pnav{justify-content:space-between;align-items:center;margin:12px 0 2px;display:flex}.pnav span{font-weight:700}.pnav button{border:1px solid var(--line);background:var(--card);width:38px;height:38px;color:var(--text);border-radius:50%;padding:0;font-size:1.4rem;line-height:1}.pnav button:disabled{opacity:.3}.track.ghost{background:0 0}.sheet .seg{margin-top:12px}.pal{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pal button{text-align:left;border:2px solid var(--line);background:var(--card);color:var(--text);border-radius:14px;padding:10px 12px;font-weight:600}.pal button.on{border-color:var(--accent)}.pal .dots3{gap:5px;margin-top:6px;display:flex}.pal .dots3 i{border-radius:50%;width:14px;height:14px;display:block}input[type=checkbox]{accent-color:var(--accent)}input[type=time]{appearance:none;text-align:left;width:100%;min-width:0;max-width:100%;min-height:46px;display:block}input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}.row>*{min-width:0}label.sub{margin-bottom:4px;display:block}.page-body{touch-action:pan-y;overflow-x:hidden}main{overflow-x:hidden}.login{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:0;padding:24px 24px calc(24px + 6vh);display:flex;overflow-y:auto}.login-logo{flex:none;width:min(38vw,150px);height:auto;overflow:visible}.login-logo circle{fill:none;stroke-width:84px;stroke-linecap:round}.login-logo .outer{stroke:var(--accent)}.login-logo .inner{stroke:var(--partner)}.login-word{letter-spacing:.2px;flex:none;font-size:30px;font-weight:700}.login-word span{color:var(--accent)}.login-word b{color:var(--partner);font-weight:700}.login-form{width:100%;max-width:360px;margin-top:8px}.login-btn{background:var(--grad);width:100%;padding:13px 14px}.login-logo .outer{stroke-dasharray:76 124;stroke-dashoffset:76px;animation:.9s cubic-bezier(.4,0,.2,1) .1s forwards draw,2.4s ease-in-out 1.2s infinite breathe}.login-logo .inner{stroke-dasharray:76 124;stroke-dashoffset:76px;animation:.9s cubic-bezier(.4,0,.2,1) .5s forwards draw,2.4s ease-in-out 2.4s infinite breathe}.login-word,.login-form{opacity:0;animation:.6s 1.2s forwards fadeUp;transform:translateY(8px)}.login-form{animation-delay:1.5s}@keyframes draw{to{stroke-dashoffset:0}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.55}}@keyframes fadeUp{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.login-logo circle{stroke-dashoffset:0!important;animation:none!important}.login-word,.login-form{opacity:1;transform:none;animation:none!important}}.loading{opacity:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:24px;animation:.25s .15s forwards loadIn;display:flex}.loading-logo{width:min(30vw,120px);height:auto;overflow:visible}.loading-logo circle{fill:none;stroke-width:84px;stroke-linecap:round;stroke-dasharray:76 124;stroke-dashoffset:0}.loading-logo .outer{stroke:var(--accent);animation:2.4s ease-in-out infinite breathe}.loading-logo .inner{stroke:var(--partner);animation:2.4s ease-in-out 1.2s infinite breathe}.loading-late{opacity:0;animation:.3s 8s forwards loadIn}@keyframes loadIn{to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading{opacity:1;animation:none}.loading-logo circle{animation:none!important}.loading-late{opacity:1;animation:none}}.dayp{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;display:grid}.dayp button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:10px 0;font-size:.9rem;font-weight:600}.dayp button.on{background:var(--grad);color:var(--on-accent);border-color:#0000}
