.flame[data-v-a61f8574]{--flame-speed:1;flex-shrink:0;overflow:visible}.flame-body[data-v-a61f8574]{stroke:var(--panel-border);stroke-width:1.6px;stroke-linejoin:round}.flame-core[data-v-a61f8574]{stroke:var(--panel-border);stroke-width:.9px;stroke-linejoin:round;opacity:.95;transform-origin:16px 26px;animation:fx-core-a61f8574 calc(1.2s * var(--flame-speed)) ease-in-out infinite}.flame-figure[data-v-a61f8574]{transform-origin:16px 28px}.flame-stage[data-v-a61f8574]{transform-origin:16px 24px}.flame--at_risk[data-v-a61f8574]{opacity:.55;--flame-speed:2.2}.flame--at_risk .flame-aura[data-v-a61f8574]{opacity:.45}.flame--none .flame-body[data-v-a61f8574],.flame--none .flame-core[data-v-a61f8574]{fill:var(--track)}.flame--none .flame-core[data-v-a61f8574]{animation:none}.flame--anim-flicker .flame-figure[data-v-a61f8574]{animation:fx-flicker-a61f8574 calc(1.9s * var(--flame-speed)) ease-in-out infinite}.flame--anim-wobble .flame-figure[data-v-a61f8574]{animation:fx-wobble-a61f8574 calc(2.6s * var(--flame-speed)) ease-in-out infinite}.flame--anim-bounce .flame-figure[data-v-a61f8574]{animation:fx-bounce-a61f8574 calc(1.5s * var(--flame-speed)) cubic-bezier(.3, 0, .4, 1) infinite}.flame--anim-jelly .flame-figure[data-v-a61f8574]{animation:fx-jelly-a61f8574 calc(2.1s * var(--flame-speed)) ease-in-out infinite}.flame--anim-heartbeat .flame-figure[data-v-a61f8574]{animation:fx-heartbeat-a61f8574 calc(2.4s * var(--flame-speed)) ease-out infinite}.flame--anim-shiver .flame-figure[data-v-a61f8574]{animation:fx-shiver-a61f8574 calc(.5s * var(--flame-speed)) linear infinite}.flame--anim-tilt .flame-figure[data-v-a61f8574]{animation:fx-tilt-a61f8574 calc(4.2s * var(--flame-speed)) ease-in-out infinite}@keyframes fx-flicker-a61f8574{0%,to{transform:scale(1)rotate(0)}35%{transform:scale(1.06,.97)rotate(-1.5deg)}70%{transform:scale(.97,1.05)rotate(1.5deg)}}@keyframes fx-wobble-a61f8574{0%,to{transform:rotate(-4.5deg)}50%{transform:rotate(4.5deg)}}@keyframes fx-bounce-a61f8574{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-2.6px)scale(.96,1.06)}60%{transform:translateY(0)scale(1.05,.94)}}@keyframes fx-jelly-a61f8574{0%,to{transform:scale(1.07,.93)}50%{transform:scale(.92,1.08)}}@keyframes fx-heartbeat-a61f8574{0%,55%,to{transform:scale(1)}12%{transform:scale(1.14)}24%{transform:scale(1)}36%{transform:scale(1.09)}}@keyframes fx-shiver-a61f8574{0%,to{transform:translate(-.6px)}50%{transform:translate(.6px)}}@keyframes fx-tilt-a61f8574{0%,to{transform:rotate(-7deg)translate(-.5px)}50%{transform:rotate(7deg)translate(.5px)}}@keyframes fx-core-a61f8574{0%,to{opacity:.95;transform:scaleY(1)}50%{opacity:.6;transform:scaleY(.82)}}.flame-orbit[data-v-a61f8574]{transform-origin:16px 18px;animation:fx-orbit-a61f8574 calc(17s * var(--flame-speed)) linear infinite}.flame-emoji[data-v-a61f8574]{transform-box:fill-box;transform-origin:50%;animation:fx-orbit-back-a61f8574 calc(17s * var(--flame-speed)) linear infinite;font-size:8px}@keyframes fx-orbit-a61f8574{to{transform:rotate(360deg)}}@keyframes fx-orbit-back-a61f8574{to{transform:rotate(-360deg)}}.fx-glow[data-v-a61f8574]{opacity:.16;transform-origin:16px 18px;animation:fx-glow-pulse-a61f8574 calc(3.4s * var(--flame-speed)) ease-in-out infinite}.fx-glow--wide[data-v-a61f8574]{opacity:.09;animation-duration:calc(4.6s * var(--flame-speed))}@keyframes fx-glow-pulse-a61f8574{0%,to{transform:scale(.93)}50%{transform:scale(1.06)}}.fx-halo[data-v-a61f8574]{opacity:.75;transform-origin:16px 18px;animation:fx-halo-spin-a61f8574 calc(11s * var(--flame-speed)) linear infinite}@keyframes fx-halo-spin-a61f8574{to{transform:rotate(360deg)}}.fx-sparkle[data-v-a61f8574]{transform-box:fill-box;transform-origin:50%;animation:fx-twinkle-a61f8574 calc(2.2s * var(--flame-speed)) ease-in-out infinite}@keyframes fx-twinkle-a61f8574{0%,to{opacity:.95;transform:scale(1)rotate(0)}50%{opacity:.35;transform:scale(.55)rotate(45deg)}}.fx-dot[data-v-a61f8574]{opacity:.85;transform-box:fill-box;transform-origin:50%;animation:fx-dot-pulse-a61f8574 calc(2.8s * var(--flame-speed)) ease-in-out infinite}@keyframes fx-dot-pulse-a61f8574{0%,to{transform:scale(1)}50%{transform:scale(.45)}}.fx-confetti[data-v-a61f8574]{opacity:.9;transform-box:fill-box;transform-origin:50%;animation:fx-confetti-drift-a61f8574 calc(3.1s * var(--flame-speed)) ease-in-out infinite}@keyframes fx-confetti-drift-a61f8574{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2.5px)rotate(150deg)}}.flame--celebrate-pop .flame-stage[data-v-a61f8574]{animation:.9s cubic-bezier(.2,1.5,.35,1) fx-pop-a61f8574}.flame--celebrate-unlock .flame-stage[data-v-a61f8574]{animation:1.6s cubic-bezier(.2,1.5,.35,1) fx-pop-a61f8574}@keyframes fx-pop-a61f8574{0%{transform:scale(1)}22%{transform:scale(1.32)rotate(-4deg)}48%{transform:scale(.94)rotate(3deg)}to{transform:scale(1)rotate(0)}}.flame-burst[data-v-a61f8574]{transform-origin:16px 18px;stroke-width:2.5px;animation:.9s ease-out both fx-burst-a61f8574}.flame-burst--late[data-v-a61f8574]{animation-duration:1.6s;animation-delay:.35s}@keyframes fx-burst-a61f8574{0%{opacity:.9;transform:scale(.55)}to{opacity:0;transform:scale(2.1)}}.adm[data-v-9778a72c]{flex-direction:column;flex:auto;gap:18px;min-height:0;padding-bottom:18px;display:flex;overflow-y:auto}.adm .panel[data-v-9778a72c]{flex:none}.adm .panel-body[data-v-9778a72c]{overflow-y:visible}.adm .panel-body[data-v-9778a72c]>:last-child{margin-bottom:0}.adm .st-cat-actions[data-v-9778a72c]{margin-bottom:12px}.adm-badge[data-v-9778a72c]{white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);background:var(--track);color:var(--ink-soft);flex:none;padding:2px 8px;font-size:.7rem;font-weight:700}.adm-meta[data-v-9778a72c]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);flex:0 auto;font-size:.78rem;overflow:hidden}.adm-badge-warn[data-v-9778a72c]{color:#8a5a12;background:#f4e2c4}.adm-orphan[data-v-9778a72c]{font-style:italic}.adm-store[data-v-9778a72c]{margin-bottom:10px}.adm-store .st-cat[data-v-9778a72c]{margin-bottom:0}.adm-feat[data-v-9778a72c]{padding:0 12px}.adm-feat>summary[data-v-9778a72c]{color:var(--ink-soft);cursor:pointer;padding:6px 0;font-size:.78rem;font-weight:700}.adm-feat-hint[data-v-9778a72c]{margin-bottom:8px}.adm-feat-error[data-v-9778a72c]{color:#b53a3a;align-items:center;gap:10px;margin:0;padding:6px 0 10px;font-size:.8rem;font-weight:700;display:flex}.adm-feat-row[data-v-9778a72c]{align-items:center;gap:10px;padding:6px 0 10px;display:flex}.adm-check-row[data-v-9778a72c]{margin-bottom:10px;display:flex}.adm-members[data-v-9778a72c]{border-radius:var(--radius-sm);background:var(--task-bg);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.adm-check[data-v-9778a72c]{cursor:pointer;align-items:center;gap:5px;font-size:.82rem;display:inline-flex}.adm-row[data-v-9778a72c]{border-radius:var(--radius-sm);background:var(--task-bg);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.adm-row-name[data-v-9778a72c]{flex:none}.adm-chips[data-v-9778a72c]{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.adm-chip[data-v-9778a72c]{border-radius:var(--radius-pill);background:var(--panel-bg);border:1.5px solid var(--track);align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.adm-chip-x[data-v-9778a72c]{width:18px;height:18px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.75rem;line-height:1;display:inline-flex}.adm-chip-x[data-v-9778a72c]:hover:not(:disabled),.adm-chip-x[data-v-9778a72c]:focus-visible{color:#fff;background:#d63232}.adm-grant[data-v-9778a72c]{flex:none;align-items:center;gap:8px;display:flex}.adm-grant .st-input[data-v-9778a72c]{min-width:8rem}.adm-outro[data-v-9778a72c]{margin-bottom:0}@media (width<=768px){.adm-row[data-v-9778a72c]{flex-direction:column;align-items:stretch}.adm-grant .st-input[data-v-9778a72c]{flex:auto;min-width:0}}.pw-form[data-v-a6d5af48]{display:contents}.pw-error[data-v-a6d5af48]{color:#b53a3a;margin:0 0 10px;font-size:.85rem}.login-screen[data-v-1446e5d3]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel[data-v-1446e5d3]{width:100%;max-width:400px}.fpc-title[data-v-1446e5d3]{font-family:var(--font-head,sans-serif);margin:0 0 6px;font-weight:800}.fpc-hint[data-v-1446e5d3]{color:var(--ink-soft,#666);margin:0 0 16px;font-size:.9rem}.login-screen[data-v-c4fc1e61]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel[data-v-c4fc1e61]{width:100%;max-width:360px}.login-form[data-v-c4fc1e61]{flex-direction:column;gap:14px;display:flex}.login-field[data-v-c4fc1e61]{flex-direction:column;gap:6px;display:flex}.login-label[data-v-c4fc1e61]{text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.login-error[data-v-c4fc1e61]{color:#b53a3a;margin:0;font-size:.85rem}.login-screen[data-v-2b35319f]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel[data-v-2b35319f]{width:100%;max-width:360px}.nostore-title[data-v-2b35319f]{font-family:var(--font-head,sans-serif);margin:0 0 6px;font-weight:800}.nostore-hint[data-v-2b35319f]{color:var(--ink-soft,#666);margin:0 0 16px;font-size:.9rem}:root{--font-head:"Bungee", system-ui, sans-serif;--font-body:"Rubik", system-ui, sans-serif;--page-bg:#fff3d6;--on-page:#1a1a1a;--on-page-soft:#555;--title-shadow:none;--ink:#1a1a1a;--ink-soft:#555;--head-fg:#1a1a1a;--head-shadow:none;--accent:#ff4d4d;--accent-2:#ffd23f;--accent-strong:#008a8a;--panel-bg:#fff;--panel-border:#111;--head-bg:#ffd23f;--task-bg:#eafffb;--task-bg-hover:#d6fff7;--chip-bg:#ffd23f;--chip-fg:#1a1a1a;--track:#ececec;--nav-bg:#fff;--radius:10px;--radius-sm:8px;--radius-pill:999px;--shadow:4px 4px 0 #111;--shadow-soft:2px 2px 0 #111;--mark-size:26px;--mark-color:#bcbcbc}*{box-sizing:border-box}body{height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--page-bg);background-attachment:fixed;margin:0;padding:20px;overflow:hidden}#app{height:100%}.wrap{flex-direction:column;width:100%;max-width:none;height:100%;margin:0 auto;display:flex}header.topbar{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.title-block{align-items:center;gap:16px;min-width:0;display:flex}.title-text{min-width:0}.title-block h1{font-family:var(--font-head);color:var(--on-page);text-shadow:var(--title-shadow);letter-spacing:.5px;margin:0;font-size:2.1rem}.house-badge{background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius-pill);box-shadow:var(--shadow);align-items:center;gap:14px;padding:10px 22px 10px 14px;display:flex}.house-badge .badge-label{text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);font-size:.72rem;font-weight:700}.house-badge .badge-score{font-family:var(--font-head);font-size:2rem;font-weight:800;line-height:1}.house-badge .badge-score small{color:var(--ink-soft);font-size:.9rem}.grid{flex:auto;align-items:stretch;gap:22px;min-height:0;display:grid}.grid-mobile{flex-direction:column;display:flex}.col{flex-direction:column;gap:18px;height:100%;min-height:0;display:flex;overflow:hidden}.panel{background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-head{background:var(--head-bg);color:var(--head-fg);font-family:var(--font-head);letter-spacing:.5px;text-shadow:var(--head-shadow);border-bottom:3px solid var(--panel-border);flex:none;align-items:center;gap:10px;padding:12px 20px;font-weight:800;display:flex}.panel-head--filters{justify-content:space-between}.panel-body{flex:auto;min-height:0;padding:18px 20px}.panel-grow .panel-body{overflow-y:auto}.dashboard-filters{justify-content:flex-end;display:flex;position:relative}.df-toggle{color:var(--ink);background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:.9rem;font-weight:800;display:inline-flex}.df-toggle.is-open,.df-toggle.is-active{border-color:var(--accent-strong);color:var(--accent-strong)}.df-icon{font-size:1rem;line-height:1}.df-dot{background:var(--accent-strong);border-radius:50%;width:8px;height:8px}.df-popover{z-index:30;background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);min-width:240px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.df-field{flex-direction:column;gap:4px;display:flex}.df-label{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);font-size:.7rem;font-weight:800}.dashboard-filters select{border-radius:var(--radius-sm);border:2px solid var(--track);background:var(--panel-bg);color:var(--ink);padding:9px 10px;font-family:inherit;font-size:.9rem}.df-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:flex}.df-reset{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 2px;font-family:inherit;font-size:.85rem;font-weight:700;text-decoration:underline}.cat-layout{flex-flow:wrap;align-items:stretch;gap:16px;display:flex}.cat-why{border-top:2px solid var(--track);color:var(--ink);flex:1 0 100%;margin:0;padding-top:10px;font-size:.78rem;line-height:1.4}.cat-list{flex:auto;min-width:0;padding-right:4px;overflow-y:auto}.strike-layout{align-items:center;gap:16px;display:flex}.strike-main{min-width:0}.strike-count{font-family:var(--font-head);align-items:baseline;gap:10px;font-size:2.6rem;font-weight:800;line-height:1;display:flex}.strike-count small{font-family:var(--font-body);color:var(--ink-soft);font-size:.82rem;font-weight:600}.strike-pill{border-radius:var(--radius-pill);border:2px solid var(--panel-border);margin-top:8px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-block}.strike-pill--banked{background:#dff5e1}.strike-pill--at_risk{background:var(--chip-bg)}.strike-pill--none{background:var(--track);color:var(--ink-soft)}.strike-hint{color:var(--ink-soft);margin:14px 0 0;font-size:.76rem}.strike-hint--why{color:var(--ink);border-left:3px solid var(--panel-border);padding-left:8px}.score-mark{width:var(--mark-size,26px);height:var(--mark-size,26px);background:var(--mark-color,#bcbcbc);border:3px solid #111;border-radius:50%;flex-shrink:0;transition:background .2s,border-radius .2s,box-shadow .2s,border-color .2s;position:relative;box-shadow:3px 3px #111}.score-mark.today{box-shadow:0 0 0 3px var(--accent), 3px 3px 0 #111}.months{flex-wrap:wrap;gap:28px;display:flex}.month{flex:320px;min-width:min(290px,100%)}.month-title{font-family:var(--font-head);color:var(--ink);text-transform:capitalize;margin:0 0 12px;font-size:1.05rem;font-weight:800}.cal{flex-direction:column;gap:10px;display:flex}.cal-head,.cal-row{grid-template-columns:34px repeat(7,1fr);align-items:center;column-gap:4px;display:grid}.cal-head .wd{text-align:center;color:var(--ink-soft);text-transform:uppercase;font-size:.66rem;font-weight:800}.week-label{color:var(--chip-fg);background:var(--chip-bg);border-radius:var(--radius-sm);text-align:center;padding:4px 0;font-size:.66rem;font-weight:800}.day{--mark-size:30px}.day.empty{visibility:hidden}.day.future{opacity:.5}.day{cursor:default;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.day .day-label{color:var(--ink-soft);font-size:.62rem;font-weight:700}.legend{color:var(--ink-soft);align-items:center;gap:10px;margin-top:18px;font-size:.72rem;font-weight:700;display:flex}.legend .bar{background:linear-gradient(90deg,#df2020,#e6e61a,#28bd28);border-radius:4px;flex:1;height:8px}.cat{margin-bottom:11px}.cat:last-child{margin-bottom:0}.cat-top{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.cat-top .cat-dot{align-self:center}.cat-name{font-size:.85rem;font-weight:700}.cat-weight{color:var(--chip-fg);background:var(--chip-bg);border-radius:var(--radius-pill);padding:1px 6px;font-size:.65rem;font-weight:700}.cat-score{font-family:var(--font-head);margin-left:auto;font-size:.9rem;font-weight:800}.cat-track{border-radius:var(--radius-pill);background:var(--track);height:12px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001f}.cat-fill{border-radius:var(--radius-pill);height:100%;transition:width .4s;box-shadow:inset 0 -3px 5px #0000002e,inset 0 2px 3px #ffffff80}.task-group{margin-bottom:20px}.task-group:last-child{margin-bottom:0}.group-label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;color:var(--accent-strong);align-items:center;gap:10px;margin-bottom:10px;font-size:.78rem;font-weight:800;display:flex}.group-label:after{content:"";background:linear-gradient(90deg, var(--track), transparent);border-radius:2px;flex:1;height:2px}.group-label--toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.group-caret{color:var(--accent-strong);font-weight:800}.task-row{border-radius:var(--radius-sm);background:var(--task-bg);align-items:center;margin-bottom:9px;display:flex}.task-row:last-child{margin-bottom:0}.task{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;flex-wrap:wrap;flex:1;align-items:center;gap:4px 12px;min-width:0;padding:11px 13px;transition:background .15s,transform 50ms;display:flex}.task:hover{background:var(--task-bg-hover)}.task:active{transform:scale(.995)}.task-date-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;padding:0;transition:opacity .15s,color .15s;display:flex}.task-date-btn svg{width:16px;height:16px}.task-row:hover .task-date-btn,.task-date-btn:focus-visible{opacity:1}.task-date-btn:hover{color:var(--accent-strong)}.task-date-btn:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.task-date-btn:disabled{cursor:default;opacity:.25}.task-row:hover .task-date-btn:disabled,.task-date-btn:disabled:hover{color:var(--ink-soft);opacity:.25}.check{border-radius:var(--radius-sm);border:2.5px solid var(--accent);background:var(--panel-bg);flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .15s,border-color .15s;display:flex}.task.done .check{background:var(--accent);border-color:var(--accent)}.check svg{opacity:0;width:13px;height:13px;transition:opacity .15s}.task.done .check svg{opacity:1}.task:hover .check{border-color:var(--accent-strong)}.check-spinner{border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:13px;height:13px;animation:.6s linear infinite btn-spin}.task:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.task.busy{cursor:progress}.task.done-today{opacity:.55;cursor:default}.task.done-today:hover{background:0 0}.task.done-today:active{transform:none}.task.on-hold{opacity:.6}.task-main{flex-direction:column;flex:140px;gap:2px;min-width:0;display:flex;overflow:hidden}.task-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.task.done .task-name{color:var(--ink-soft);text-decoration:line-through}.task-meta{min-width:0;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:7px;font-size:.76rem;display:flex}.cat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.task-interval,.task-gain,.task-last-done,.task-never-done,.task-hold,.task-resumed{color:var(--chip-fg);background:var(--chip-bg);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:1px 6px;font-size:.65rem;font-weight:700}.task-resumed{color:#fff;background:#3aa0ff}.task-never-done{color:#8a5a12;background:#f4e2c4}.task-hold{background:var(--track);color:var(--ink-soft)}.task-gain.gain-negative{background:var(--accent);color:#fff}.task-gain.gain-neutral{background:var(--track);color:var(--ink-soft)}.task-gain.gain-positive{color:var(--chip-fg);background:#32cd32}.task-gain.gain-rainbow{color:#fff;background-image:linear-gradient(90deg,#b71c1c,#b35c00,#1e7a2e,#005b8a,#5a1f8f,#b71c1c);background-size:200% 100%;animation:3s linear infinite gain-rainbow}@keyframes gain-rainbow{to{background-position:-200% 0}}.task-when{color:var(--chip-fg);background:var(--chip-bg);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:3px 9px;font-size:.74rem;font-weight:700}.nav{gap:8px;display:flex}.nav button{border:2px solid var(--panel-border);cursor:pointer;font-family:var(--font-head);border-radius:var(--radius-pill);background:var(--nav-bg);color:var(--on-page);padding:10px 18px;font-size:.85rem;font-weight:800;transition:background .15s,color .15s}.nav button.active{background:var(--panel-bg);color:var(--ink);box-shadow:var(--shadow)}.nav button.logout{color:var(--on-page-soft);opacity:.7;background:0 0;border-color:#0000;padding:10px 12px;font-size:1rem}.nav button.logout:hover{opacity:1;border-color:var(--panel-border);background:var(--nav-bg)}.drawer-nav>button.drawer-logout{color:var(--ink-soft);border-style:dashed}.legend2{color:var(--ink-soft);flex-wrap:wrap;gap:16px;margin-top:20px;font-size:.74rem;font-weight:700;display:flex}.legend2 .seg{align-items:center;gap:7px;display:flex}.legend2 .sw{border-radius:4px;width:18px;height:13px}.today-score{border-left:2px solid var(--track);text-align:center;flex-direction:column;flex:none;justify-content:center;align-self:stretch;align-items:center;gap:10px;padding:4px 8px 4px 18px;display:flex}.today-score .ts-label{text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);margin-bottom:4px;font-size:.68rem;font-weight:800}.today-score .ts-value{font-family:var(--font-head);font-size:2rem;font-weight:800;line-height:1}.today-score .ts-value small{color:var(--ink-soft);font-size:.9rem}.house-badge,.today-score{cursor:pointer;-webkit-user-select:none;user-select:none}.cfg-intro{color:var(--ink-soft);margin:0 0 18px;line-height:1.5}.settings{flex-direction:column;flex:auto;align-self:center;gap:18px;width:100%;max-width:900px;min-height:0;display:flex;overflow:hidden}.st-tabs{flex-wrap:wrap;flex:none;gap:10px;display:flex}.st-tabs button{font-family:var(--font-head);letter-spacing:.3px;border:3px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-soft);padding:10px 16px;font-size:.85rem;font-weight:800}.st-tabs button.active{background:var(--head-bg);box-shadow:var(--shadow)}.settings .panel{flex:auto;overflow:clip}.settings .panel-body{overflow-y:auto}.btn{cursor:pointer;font-family:var(--font-head);border-radius:var(--radius-sm);border:none;padding:11px 18px;font-size:.9rem;font-weight:800}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:8px 13px;font-size:.78rem}.btn-add{background:var(--accent);color:#fff}.btn-ghost{background:var(--panel-bg);color:var(--ink);border:2px solid var(--panel-border)}.btn-del{color:#b53a3a;border-radius:var(--radius-sm);background:#f4d4d4;width:36px;height:36px;padding:0;font-size:1.2rem;line-height:1}.btn-del-wide{width:auto;height:auto;padding:8px 13px;font-size:.78rem}.st-input{border-radius:var(--radius-sm);border:2px solid var(--track);background:var(--panel-bg);color:var(--ink);padding:9px 10px;font-family:inherit;font-size:.9rem}.st-input:disabled{opacity:.6;color:var(--ink-soft)}.st-grow{flex:auto;min-width:0}.st-num{width:90px}.st-cat,.st-addform{border-radius:var(--radius-sm);background:var(--task-bg);align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.st-cat-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.st-tasks-actions{z-index:1;background:var(--panel-bg);border-top:2px solid var(--track);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;padding:12px 0;display:flex;position:sticky;bottom:0}.st-pct{color:var(--ink-soft);font-weight:700}.st-total{font-family:var(--font-head);margin:12px 0;font-size:.95rem;font-weight:800}.st-total.ok{color:#2b8a3e}.st-total.bad{color:#b53a3a}.st-group{border:2px solid var(--track);border-radius:var(--radius-sm);margin-bottom:12px;overflow:hidden}.st-group-head{background:var(--task-bg);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:11px 14px;display:flex}.st-caret{color:var(--accent-strong);font-weight:800}.st-group-name{flex:auto;font-weight:800}.st-count{color:var(--chip-fg);background:var(--chip-bg);border-radius:var(--radius-pill);padding:2px 9px;font-size:.72rem;font-weight:700}.st-group-body{padding:12px 14px}.st-task{border-radius:var(--radius-sm);background:var(--panel-bg);border:1.5px solid var(--track);align-items:center;gap:10px;margin-bottom:8px;padding:9px 11px;display:flex}.st-badge{font-size:1.05rem}.st-task-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.st-task-name{font-weight:700}.st-archived{color:#8a2020;border-radius:var(--radius-pill);background:#ffe0e0;border:1px solid #d99;margin-left:6px;padding:1px 7px;font-size:.68rem;font-weight:800}.st-hold,.st-expired{color:var(--ink-soft);background:var(--track);border:1px solid var(--panel-border);border-radius:var(--radius-pill);margin-left:6px;padding:1px 7px;font-size:.68rem;font-weight:800}.st-task-params{color:var(--ink-soft);font-size:.74rem}.st-task-weight{color:var(--ink);font-weight:700}.task-form,.cat-form,.complete-form{flex-direction:column;gap:14px;display:flex}.hold-form{flex-direction:column;gap:16px;display:flex}.hold-intro{color:var(--ink-soft);margin:0;font-size:.86rem;line-height:1.5}.hold-chip{white-space:nowrap;font-weight:700}.hold-modes{border:1.5px solid var(--track);border-radius:var(--radius-sm);align-self:flex-start;gap:0;display:flex;overflow:hidden}.hold-mode{font:inherit;background:var(--panel-bg);color:var(--ink-soft);cursor:pointer;border:none;padding:6px 14px;font-size:.82rem;font-weight:700}.hold-mode+.hold-mode{border-left:1.5px solid var(--track)}.hold-mode.is-active{background:var(--accent);color:#fff}.hold-shared{border:1.5px solid var(--track);border-radius:var(--radius-sm);background:var(--panel-bg);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;display:flex}.hold-shared-label{font-size:.86rem;font-weight:700}.hold-shared-hint{color:var(--ink-soft);flex-basis:100%;font-size:.74rem}.hold-selectall{cursor:pointer;align-items:center;gap:10px;font-size:.86rem;font-weight:700;display:flex}.hold-selectall input[type=checkbox]{cursor:pointer;width:17px;height:17px}.hold-group{flex-direction:column;gap:4px;display:flex}.hold-group-head{border-bottom:2px solid var(--track);cursor:pointer;align-items:center;gap:8px;margin-bottom:4px;padding:2px 0;font-weight:800;display:flex}.hold-group-head input[type=checkbox]{cursor:pointer;width:16px;height:16px}.hold-row{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:7px 9px;display:flex}.hold-row:hover{background:var(--track)}.hold-check{cursor:pointer;flex:200px;align-items:center;gap:10px;min-width:0;display:flex}.hold-check input[type=checkbox]{cursor:pointer;flex-shrink:0;width:17px;height:17px}.hold-badge{flex-shrink:0;font-size:1rem}.hold-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.hold-until{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.hold-until-label{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.hold-until-input{font:inherit;border:1.5px solid var(--track);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--ink);padding:3px 6px;font-size:.8rem}.hold-until-echo{color:var(--ink-soft);white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.76rem;font-weight:700}.hold-state{color:var(--ink-soft);background:var(--track);border:1px solid var(--panel-border);border-radius:var(--radius-pill);flex-shrink:0;padding:1px 7px;font-size:.68rem;font-weight:800}.complete-msg{color:var(--ink);margin:0;font-size:.9rem}.cat-colors{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cat-swatch{border:2px solid var(--panel-border);cursor:pointer;border-radius:50%;width:26px;height:26px;padding:0}.cat-swatch.is-selected{box-shadow:0 0 0 3px var(--panel-bg), 0 0 0 5px var(--ink)}.cat-color-input{border:2px solid var(--panel-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:42px;height:30px;padding:2px}.complete-pick{align-self:flex-start;padding-left:0;padding-right:0}.complete-days{flex-wrap:wrap;gap:8px;display:flex}.complete-day{border:2px solid var(--track);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--ink);cursor:pointer;flex-direction:column;flex:auto;gap:2px;padding:8px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.complete-day:hover{border-color:var(--accent)}.complete-day.is-selected{border-color:var(--accent-strong);background:var(--task-bg)}.complete-day:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.complete-day-name{white-space:nowrap;font-size:.85rem;font-weight:700}.complete-day-date{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.complete-covers{color:var(--ink);cursor:pointer;align-items:flex-start;gap:8px;font-size:.85rem;line-height:1.35;display:flex}.complete-covers input{flex:none;margin-top:2px}.st-cat-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;overflow:hidden}.tt-wrap-field{display:flex}.tt-wrap-field>select{width:100%}.tf-row{flex-wrap:wrap;gap:12px;display:flex}.tf-field{flex-direction:column;gap:4px;display:flex}.tf-grow{flex:180px;min-width:0}.tf-label{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);font-size:.7rem;font-weight:800}.tf-section{margin-top:4px}.tf-hint{color:var(--ink-soft);margin:0;font-size:.76rem}.tf-label-row{align-items:center;gap:6px;display:flex}.tf-help{border:1.5px solid var(--track);width:16px;height:16px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;padding:0;font-size:.68rem;font-weight:800;line-height:1}.tf-help:hover,.tf-help:focus-visible{border-color:var(--accent);color:var(--accent-strong)}.tf-help[aria-expanded=true]{border-color:var(--accent);background:var(--accent);color:#fff}.tf-kinds{border-radius:var(--radius-sm);background:var(--track);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.tf-kinds p{color:var(--ink-soft);margin:0;font-size:.76rem;line-height:1.4}.tf-kinds strong{color:var(--ink)}.tf-modes{border:1.5px solid var(--track);border-radius:var(--radius-sm);align-self:flex-start;gap:0;display:flex;overflow:hidden}.tf-mode{font:inherit;background:var(--panel-bg);color:var(--ink-soft);cursor:pointer;border:none;padding:6px 14px;font-size:.82rem;font-weight:700}.tf-mode+.tf-mode{border-left:1.5px solid var(--track)}.tf-mode.is-active{background:var(--accent);color:#fff}.tf-days{flex-wrap:wrap;gap:6px;display:flex}.tf-day{font:inherit;border:2px solid var(--track);border-radius:var(--radius-sm);background:var(--panel-bg);min-width:46px;color:var(--ink-soft);cursor:pointer;padding:7px 10px;font-size:.82rem;font-weight:700}.tf-day.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.tf-day.is-invalid{border-color:#b53a3a}.task-form input,.task-form select{border-radius:var(--radius-sm);border:2px solid var(--track);background:var(--panel-bg);color:var(--ink);padding:9px 10px;font-family:inherit;font-size:.9rem}.task-form input:disabled,.task-form select:disabled{opacity:.6}.task-form input.is-invalid,.task-form select.is-invalid,.palier-row input.is-invalid{border-color:#b53a3a}.tf-adv{border:2px solid var(--track);border-radius:var(--radius-sm);margin-top:4px;overflow:hidden}.tf-adv-head{background:var(--task-bg);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;align-items:center;gap:10px;padding:11px 14px;display:flex}.tf-adv-caret{color:var(--accent-strong);font-weight:800}.tf-adv-title{flex:auto;font-weight:800}.tf-adv-body{flex-direction:column;gap:12px;padding:12px 14px;display:flex}.tf-problems,.paliers-errors{color:#b53a3a;margin:0;padding-left:18px;font-size:.76rem;font-weight:700}.tf-effective{border:1px solid var(--track);border-left:3px solid var(--accent);background:color-mix(in srgb, var(--track) 18%, transparent);border-radius:8px;gap:6px;padding:10px 12px}.tf-pending{color:#9a6b00;margin:0;font-size:.76rem;font-weight:700}.tf-warnings{color:#9a6b00;margin:0;padding-left:18px;font-size:.76rem;font-weight:600;list-style:none}.paliers-grid{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.paliers-editor{flex:260px;min-width:220px}.paliers-head,.palier-row{grid-template-columns:1fr 1fr 36px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.paliers-head span{text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:800}.palier-row input{border-radius:var(--radius-sm);border:2px solid var(--track);background:var(--panel-bg);color:var(--ink);width:100%;padding:7px 9px;font-family:inherit;font-size:.88rem}.palier-row input:disabled{opacity:.6;color:var(--ink-soft)}.curve{background:var(--panel-bg);border:2px solid var(--track);border-radius:var(--radius-sm);flex:none;width:240px;height:140px}.curve-grid{stroke:var(--track);stroke-width:1px}.curve-axis-line{stroke:#999;stroke-width:1.5px}.curve-axis{fill:var(--ink-soft);font-size:9px;font-weight:700}.curve-line{fill:none;stroke:var(--accent-strong);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.sankey-wrap{flex-direction:column;gap:10px;display:flex}.sankey-hint,.sankey-legend{color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:700}.sankey-legend{align-items:center;gap:6px;display:flex}.sankey-key{border:2px solid var(--ink);background:var(--ink-soft);border-radius:3px;width:14px;height:14px}.sankey-key-lost{opacity:.22;margin-left:12px}.sankey-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.sankey{width:100%;height:auto}.sankey-link{opacity:.55}.sankey-node{stroke:none}.sankey-lost{opacity:.14}.sankey-outline{fill:none;stroke:var(--ink);stroke-width:1.5px}.sankey-label{fill:var(--ink);font-size:10.5px;font-weight:700}.sankey-meta{fill:var(--ink-soft);font-weight:600}.sankey-cat-label,.sankey-house-score{fill:var(--ink);stroke:var(--panel-bg);stroke-width:3.5px;paint-order:stroke;font-size:11.5px;font-weight:800}.sankey-house-score{font-family:var(--font-head);font-size:15px}.gate-loading{text-align:center;min-height:100vh;font-family:var(--font-head,sans-serif);color:var(--on-page,#333);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;font-size:1rem;display:flex}.gate-loading .gate-error{max-width:34rem;margin:0;font-weight:700}.gate-loading .btn-retry{border:2px solid var(--on-page,#333);color:var(--on-page,#333);cursor:pointer;font-family:var(--font-head);border-radius:var(--radius-pill);background:0 0;padding:8px 18px;font-size:.8rem;font-weight:800}.error-banner{border-radius:var(--radius-sm);color:#8a2020;background:#ffe0e0;border:2px solid #b53a3a;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:.82rem;font-weight:700;display:flex}.error-banner .btn-retry{color:#b53a3a;cursor:pointer;font-family:var(--font-head);border-radius:var(--radius-pill);background:#fff;border:2px solid #b53a3a;margin-left:auto;padding:6px 12px;font-size:.75rem;font-weight:800}.empty-note{color:var(--ink-soft);opacity:.75;padding:6px 0;font-size:.82rem;font-weight:700}body.modal-open{overflow:hidden}dialog.app-modal{border:3px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);color:var(--ink);box-shadow:var(--shadow);cursor:auto;-webkit-user-select:text;user-select:text;max-width:min(92vw,560px);max-height:88dvh;padding:0;overflow:hidden}dialog.app-modal.size-wide{width:min(94vw,720px);max-width:94vw}dialog.app-modal.size-xwide{width:min(94vw,1040px);max-width:94vw}dialog.app-modal.size-compact{max-width:min(92vw,440px)}dialog.app-modal::backdrop{background:#11111180}.modal-card{flex-direction:column;max-height:88dvh;display:flex}.modal-header{background:var(--head-bg);border-bottom:3px solid var(--panel-border);flex:none;align-items:center;gap:12px;padding:13px 18px;display:flex}.modal-title{font-family:var(--font-head);letter-spacing:.3px;flex:auto;min-width:0;margin:0;font-size:1.1rem;font-weight:800}.modal-x{cursor:pointer;color:var(--ink);border-radius:var(--radius-sm);background:0 0;border:none;flex:none;width:36px;height:36px;font-size:1.6rem;line-height:1}.modal-x:hover{background:#00000014}.modal-body{flex:auto;min-height:0;padding:18px;overflow-y:auto}.modal-footer{border-top:2px solid var(--track);flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.confirm-message{color:var(--ink);margin:0;line-height:1.5}.btn-danger{color:#fff;background:#d63232}.btn-danger:hover:not(:disabled){background:#b52626}.toast-host{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;width:min(92vw,440px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast-region{display:contents}.toast{pointer-events:auto;border-radius:var(--radius-sm);border:3px solid var(--panel-border);box-shadow:var(--shadow);background:var(--panel-bg);color:var(--ink);align-items:center;gap:12px;padding:12px 14px;font-size:.86rem;font-weight:700;animation:.18s toast-in;display:flex}.toast-msg{flex:auto;min-width:0}.toast-success{background:#e6f8ea;border-color:#2b8a3e}.toast-error{color:#8a2020;background:#ffe0e0;border-color:#b53a3a}.toast-undo{background:var(--head-bg)}.toast-action{border:2px solid var(--panel-border);background:var(--panel-bg);cursor:pointer;font-family:var(--font-head);border-radius:var(--radius-pill);flex:none;padding:6px 13px;font-size:.72rem;font-weight:800}.toast-x{cursor:pointer;color:inherit;background:0 0;border:none;flex:none;padding:0 2px;font-size:1.3rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tt-wrap{display:inline-flex}.app-tooltip{color:#fff;font-family:var(--font-body);white-space:normal;z-index:2147483000;background:#1e293b;border:none;border-radius:10px;max-width:240px;margin:0;padding:6px 10px;font-size:.72rem;font-weight:600;line-height:1.35;position:fixed;inset:auto;box-shadow:0 6px 14px #00000040}.btn-spinner{vertical-align:-.1em;border:2px solid;border-top-color:#0000;border-radius:50%;width:.9em;height:.9em;margin-right:6px;animation:.6s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.hamburger{border:2px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);width:44px;height:44px;color:var(--ink);cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:none}.nav-drawer{border:none;border-right:3px solid var(--panel-border);background:var(--panel-bg);width:min(82vw,300px);max-width:300px;height:100dvh;max-height:100dvh;color:var(--ink);box-shadow:var(--shadow);margin:0;padding:0;position:fixed;inset:0 auto 0 0;overflow:hidden}.nav-drawer::backdrop{background:#11111180}.nav-drawer[open] .drawer-card{animation:.22s drawer-in}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-card{flex-direction:column;height:100%;max-height:100%;display:flex}.drawer-header{background:var(--head-bg);border-bottom:3px solid var(--panel-border);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.drawer-title{font-family:var(--font-head);font-size:1rem;font-weight:800}.drawer-body{flex:auto;padding:14px;overflow-y:auto}.drawer-nav{flex-direction:column;gap:10px;display:flex}.drawer-nav>button{text-align:left;font-family:var(--font-head);border:2px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);min-height:48px;color:var(--ink);cursor:pointer;padding:14px 16px;font-size:.95rem;font-weight:800}.drawer-nav>button.active{background:var(--head-bg);box-shadow:var(--shadow-soft)}.store-switch{position:relative}.store-title{margin:0}.store-trigger{min-width:0;max-width:100%;font:inherit;color:inherit;text-shadow:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:8px;padding:0;display:inline-flex}.store-trigger:disabled{cursor:default}.store-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.store-suffix{white-space:nowrap;flex:none;font-size:.7em}.store-caret{opacity:.65;align-self:center;font-size:.55em}.store-trigger:hover:not(:disabled) .store-caret{opacity:1}.store-backdrop{z-index:40;cursor:default;background:0 0;border:none;padding:0;position:fixed;inset:0}.store-menu{z-index:41;border:3px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);min-width:220px;max-width:80vw;box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.store-option{border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--ink);font-family:var(--font-head);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;font-weight:800;display:flex}.store-option:hover{background:var(--task-bg)}.store-option.active{background:var(--head-bg)}.store-check{flex:none;width:1.1em}.store-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.store-sep{background:var(--track);height:2px;margin:4px 2px}.store-switch--drawer .store-trigger{border:2px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--head-bg);width:100%;min-height:48px;color:var(--ink);font-family:var(--font-head);justify-content:space-between;padding:14px 16px;font-size:.95rem;font-weight:800}.store-switch--drawer .store-menu{max-width:none;box-shadow:none;border-width:2px;margin-top:8px;position:static}.store-switch--drawer .store-backdrop{display:none}.store-switch--drawer .store-option{min-height:44px}.st-field{border-radius:var(--radius-sm);background:var(--task-bg);align-items:center;gap:10px;width:100%;margin-bottom:10px;padding:10px 12px;display:flex}.st-field .st-input{flex:auto;min-width:0}.st-hint{color:var(--ink-soft);margin:0 0 14px;font-size:.78rem}.st-sep{background:var(--track);height:2px;margin:16px 0}.lay-subtabs{margin-bottom:14px}.lay-preview{border:3px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--page-bg);height:150px;box-shadow:var(--shadow-soft);gap:8px;margin-bottom:16px;padding:8px;display:flex}.lay-prev-col{flex-direction:column;flex-basis:0;gap:8px;min-width:0;min-height:0;display:flex}.lay-prev-col--mobile{flex:auto;overflow-y:auto}.lay-prev-col--mobile .lay-prev-panel{flex:none;min-height:26px}.lay-prev-panel{border:2px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);text-align:center;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;min-height:0;padding:2px 6px;font-size:.68rem;font-weight:700;display:flex;overflow:hidden}.lay-column{border:2px solid var(--track);border-radius:var(--radius-sm);margin-bottom:12px;padding:10px 10px 2px}.lay-column-head{background:var(--chip-bg)}.lay-row .btn{flex:none}.lay-num-label{color:var(--ink-soft);align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex}.lay-num-label .st-num{width:76px}.lay-tray{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.date-screen{flex-direction:column;flex:auto;align-self:center;gap:14px;width:100%;min-height:0;padding-bottom:18px;display:flex;overflow-y:auto}.dsub-head{background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.dsub-back{flex:none}.dsub-title{min-width:0;font-family:var(--font-head);letter-spacing:.5px;margin:0;font-size:1.05rem}.dv{max-width:980px}.dv-head{background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:16px 20px;display:flex}.dv-brand{flex:18rem;min-width:0}.dv-title{font-family:var(--font-head);letter-spacing:.5px;align-items:center;gap:10px;margin:0;font-size:1.5rem;display:flex}.dv-tagline{max-width:44rem;color:var(--ink-soft);margin:8px 0 0;font-size:.84rem;line-height:1.5}.dv-actions{flex:none;align-items:center;gap:10px;display:flex}.dv-blocked{border-radius:var(--radius-sm);color:#8a5a12;background:#f4e2c4;border:2px dashed #8a5a12;margin:0;padding:9px 14px;font-size:.82rem;font-weight:700}.dv>.error-banner{margin-bottom:0}.dv-list-head{font-family:var(--font-head);letter-spacing:.5px;margin:0;font-size:.95rem}.dv-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.dv-row{text-align:left;width:100%;color:var(--ink);background:var(--panel-bg);border:3px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);cursor:pointer;flex-direction:column;gap:8px;padding:12px 16px;font-family:inherit;display:flex}.dv-row:hover{background:var(--task-bg-hover);box-shadow:var(--shadow)}.dv-row-soon{background:var(--task-bg)}.dv-row-soon:hover{background:#c2fff3}.dv-row-new{animation:.9s ease-out dv-row-new}@keyframes dv-row-new{0%{border-color:var(--accent);box-shadow:var(--shadow-soft);transform:scale(1)}30%{border-color:var(--accent);box-shadow:var(--shadow);transform:scale(1.02)}to{border-color:var(--panel-border);box-shadow:var(--shadow-soft);transform:scale(1)}}@media (prefers-reduced-motion:reduce){.dv-row-new{border-color:var(--accent);animation:none}}.dv-row-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dv-day{font-family:var(--font-head);letter-spacing:.3px;font-size:.92rem}.dv-soon{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:2px solid var(--panel-border);border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-fg);flex:none;padding:3px 10px;font-size:.66rem;font-weight:800}.dv-row-stars{margin-left:auto}.dv-winners{flex-wrap:wrap;gap:6px 16px;display:flex}.dv-winner{align-items:center;gap:7px;min-width:0;font-size:.84rem;display:inline-flex}.dv-letter{background:var(--accent);color:#fff;width:22px;height:22px;font-family:var(--font-head);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.7rem;line-height:1;display:inline-flex}.dv-winner-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:18rem;font-weight:600;overflow:hidden}.dv-more{width:100%}.dv-empty{border:3px dashed var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);color:var(--ink-soft);text-align:center;margin:0;padding:24px 22px;font-size:.88rem;line-height:1.55}.stars,.stars-read{align-items:center;gap:2px;display:inline-flex}.stars-star{color:#cfcfcf;font-size:1.05rem;line-height:1}.stars-on{color:#e0a100}.stars-btn{cursor:pointer;background:0 0;border:none;padding:2px 3px;font-size:1.25rem}.stars-btn:hover:not(:disabled){color:#e0a100}@media (width<=768px){.dv-head{flex-direction:column;align-items:stretch}.dv-actions{flex-wrap:wrap}.dv-actions>.btn,.dv-actions>.tt-wrap{flex:10rem}.dv-actions>.tt-wrap>.btn{width:100%}.dv-row-stars{margin-left:0}.dv-winners{flex-direction:column;gap:6px}.dv-winner-title{white-space:normal;max-width:none}.stars-btn{min-width:44px;min-height:44px;font-size:1.5rem}}@media (width<=480px){.dv-title{font-size:1.2rem}.dv-head,.dsub-head{padding:14px 16px}.dv-row{padding:10px 12px}.dsub-head{flex-direction:column;align-items:stretch}.dsub-back{width:100%}}.di{max-width:980px}.di input[type=text]{border-radius:var(--radius-sm);border:2px solid var(--track);background:var(--panel-bg);color:var(--ink);padding:9px 10px;font-family:inherit;font-size:.9rem}.di input[type=text].is-invalid{border-color:#b53a3a}.di input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);flex:none;padding:0}.di-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.di-intro{color:var(--ink-soft);flex:20rem;margin:0;font-size:.82rem;line-height:1.5}.di-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:7px;font-size:.8rem;font-weight:700;display:flex}.di-anchors{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.di-anchor{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;display:inline-flex}.di-anchor:hover>.di-letter{box-shadow:var(--shadow-soft)}.di-anchor-zero>.di-letter{color:#8a5a12;background:#f4e2c4}.di-slot{border:3px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-soft);flex-direction:column;gap:8px;padding:12px;display:flex}.di-slot-head{align-items:center;gap:8px;display:flex}.di-slot-name{min-width:0;font-family:var(--font-head);letter-spacing:.3px;flex:auto;margin:0;font-size:.82rem;font-weight:800}.di-count{border-radius:var(--radius-pill);background:var(--track);color:var(--ink-soft);flex:none;padding:2px 9px;font-size:.68rem;font-weight:800}.di-count-zero{color:#8a5a12;background:#f4e2c4}.di-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.di-row{border:2px solid var(--track);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:.86rem;display:flex}.di-title{overflow-wrap:anywhere;flex:12rem;min-width:0}.di-busy{opacity:.6}.di-archived{background:var(--track);color:var(--ink-soft);border-style:dashed}.di-tag{border:2px solid var(--track);border-radius:var(--radius-pill);background:var(--panel-bg);text-transform:uppercase;letter-spacing:.06em;flex:none;padding:2px 8px;font-size:.64rem;font-weight:800}.di-row-actions{flex-wrap:wrap;flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.di-edit,.di-add{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.di-edit input[type=text],.di-add input[type=text]{flex:12rem;min-width:0}.di-full{flex:100%}.di-choice{flex-direction:column;gap:8px;width:100%;display:flex}.di-choice-q{overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.di-choice-opts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.di-choice-opt{align-items:center;gap:10px;display:flex}.di-choice-opt>.btn{flex:0 0 11rem}.di-choice-cap{min-width:0;color:var(--ink-soft);flex:auto;font-size:.76rem;line-height:1.4}@media (width<=768px){.di-head{flex-direction:column}.di-anchors{gap:6px}.di-anchor{justify-content:center;align-items:center;min-width:44px;min-height:44px}.di-title{flex:100%}.di-row-actions{width:100%;margin-left:0}.di-row-actions>.btn,.di-row-actions>.tt-wrap{flex:auto}.di-row-actions>.tt-wrap>.btn{width:100%}.di-edit input[type=text],.di-add input[type=text]{flex:100%}.di input[type=text]{min-height:44px}.di-choice-opt{flex-direction:column;align-items:stretch;gap:4px}.di-choice-opt>.btn{flex:none;width:100%}}.dw{gap:16px;max-width:1100px}.dw input,.dw select{border-radius:var(--radius-sm);border:2px solid var(--track);background:var(--panel-bg);color:var(--ink);padding:9px 10px;font-family:inherit;font-size:.9rem}.dw input.is-invalid,.dw select.is-invalid{border-color:#b53a3a}.dw-body{flex-direction:column;gap:14px;display:flex}.dw-intro{color:var(--ink-soft);margin:0;font-size:.82rem;line-height:1.5}.dw-ready{letter-spacing:.02em;color:var(--ink-soft);margin:0;font-size:.76rem;font-weight:700}.dw-steps{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dw-step{border:2px solid var(--track);border-radius:var(--radius-pill);background:var(--panel-bg);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:7px;padding:5px 12px 5px 6px;font-size:.7rem;font-weight:800;display:inline-flex}.dw-step-num{background:var(--track);width:20px;height:20px;color:var(--ink-soft);font-family:var(--font-head);border-radius:50%;justify-content:center;align-items:center;font-size:.66rem;line-height:1;display:inline-flex}.dw-step.is-on{border-color:var(--panel-border);background:var(--head-bg);color:var(--ink);box-shadow:var(--shadow-soft)}.dw-step.is-on .dw-step-num{background:var(--accent);color:#fff}.dw-step.is-done{border-color:var(--panel-border);color:var(--ink)}.dw-step.is-skipped{opacity:.55;text-decoration:line-through}.dw-letter,.dc-letter,.di-letter,.dr-letter{background:var(--accent);color:#fff;width:24px;height:24px;font-family:var(--font-head);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.72rem;line-height:1;display:inline-flex}.dw-pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dw-slot{border:3px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-soft);flex-direction:column;gap:8px;padding:12px;display:flex}.dw-slot-bad{border-color:#b53a3a}.dw-slot-head{align-items:center;gap:8px;display:flex}.dw-slot-name{min-width:0;font-family:var(--font-head);letter-spacing:.3px;flex:auto;margin:0;font-size:.78rem;font-weight:800}.dw-count{border-radius:var(--radius-pill);background:var(--track);color:var(--ink-soft);flex:none;padding:2px 9px;font-size:.68rem;font-weight:800}.dw-count-full{background:var(--chip-bg);color:var(--chip-fg)}.dw-combo{flex-direction:column;gap:8px;display:flex;position:relative}.dw-combo>input{width:100%}.dw-combo-list{z-index:5;border:3px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);min-width:100%;max-height:240px;box-shadow:var(--shadow);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.dw-combo-opt{border-radius:var(--radius-sm);cursor:pointer;overflow-wrap:anywhere;padding:8px 10px;font-size:.84rem}.dw-combo-opt.is-active{background:var(--task-bg-hover)}.dw-combo-empty{color:var(--ink-soft);margin:0;font-size:.74rem}.dw-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dw-chip{border:2px solid var(--panel-border);border-radius:var(--radius-pill);background:var(--task-bg);overflow-wrap:anywhere;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:.78rem;display:inline-flex}.dw-chip-x{width:22px;height:22px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.dw-chip-x:hover{color:var(--ink)}.dw-slot-problem{color:#b53a3a;margin:0;font-size:.74rem;font-weight:700}.dw-recap{border:3px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-soft);flex-direction:column;gap:12px;margin:0;padding:14px;list-style:none;display:flex}.dw-recap-row{align-items:flex-start;gap:10px;display:flex}.dw-recap-row+.dw-recap-row{border-top:2px solid var(--track);padding-top:12px}.dw-recap-main{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.dw-recap-name{font-family:var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.68rem}.dw-recap-title{overflow-wrap:anywhere;margin:0;font-size:1.02rem;font-weight:800;line-height:1.3}.dw .dw-recap-pick{max-width:100%;color:var(--ink-soft);align-self:flex-start;margin-top:2px;padding:6px 8px;font-size:.78rem}.dw-when{border-top:2px solid var(--track);flex-direction:column;gap:10px;padding-top:14px;display:flex}.dw-date{max-width:16rem}.dw-foot{border-top:2px solid var(--track);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:12px;display:flex}.dc{flex-direction:column;gap:14px;display:flex}.dc-groups{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dc-group{border:3px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-soft);flex-direction:column;gap:8px;padding:12px;display:flex}.dc-group-head{font-family:var(--font-head);letter-spacing:.3px;align-items:center;gap:8px;margin:0;font-size:.78rem;font-weight:800;display:flex}.dc-group-name{overflow-wrap:anywhere;flex:auto;min-width:0}.dc-entries{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dc-entry{border:2px solid var(--track);border-radius:var(--radius-sm);background:var(--panel-bg);align-items:center;gap:8px;padding:9px 11px;font-size:.84rem;display:flex}.dc-entry-title{overflow-wrap:anywhere;min-width:0}.dc-flag{margin-left:auto}.dc-hot{border-color:var(--panel-border);background:var(--chip-bg);color:var(--chip-fg);font-weight:800;animation:.42s ease-in-out infinite alternate dc-hot-pulse}.dc-out{background:var(--track);color:var(--ink-soft);border-style:dashed;text-decoration:line-through;animation:.38s ease-in-out dc-shake}.dc-win{border-color:var(--panel-border);background:var(--task-bg);box-shadow:var(--shadow-soft);font-weight:800;animation:.5s ease-out dc-win-pop}.dc-progress{text-align:center;min-height:2.7em;color:var(--ink-soft);margin:0;font-size:.8rem;font-weight:700;line-height:1.35}.dc-actions{justify-content:center;display:flex}.dc-go{min-width:15rem}.dc-speed{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.dc-speed-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-right:2px;font-size:.7rem;font-weight:800}.dc-speed-btn{font-family:var(--font-body);border:2px solid var(--track);border-radius:var(--radius-pill);background:var(--panel-bg);color:var(--ink-soft);cursor:pointer;padding:4px 10px;font-size:.72rem;font-weight:700}.dc-speed-btn.is-on{border-color:var(--panel-border);background:var(--chip-bg);color:var(--chip-fg)}.dc-speed-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes dc-hot-pulse{0%{box-shadow:var(--shadow-soft);transform:scale(1)}to{box-shadow:var(--shadow);transform:scale(1.04)}}@keyframes dc-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes dc-win-pop{0%{transform:scale(1)}45%{transform:scale(1.08)rotate(-1.2deg)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.dc-hot,.dc-out,.dc-win{animation:none}}@media (width<=768px){.dw-pick,.dc-groups{grid-template-columns:1fr}.dw .dw-recap-pick{align-self:stretch;width:100%}.dw-recap{padding:12px}.dw-date{max-width:none}.dw input,.dw select,.dw-combo-opt{min-height:44px}.dw-combo-opt{align-items:center;display:flex}.dw-chip-x{width:32px;height:32px}.dc-go{width:100%}.dc-speed-btn{min-height:36px}.dw-foot>.btn,.dw-foot>.tt-wrap{flex:10rem}.dw-foot>.tt-wrap>.btn{width:100%}}.dr{flex-direction:column;gap:14px;display:flex}.dr input[type=date],.dr textarea{border-radius:var(--radius-sm);border:2px solid var(--track);background:var(--panel-bg);color:var(--ink);padding:9px 10px;font-family:inherit;font-size:.9rem}.dr input[type=date].is-invalid{border-color:#b53a3a}.dr-winners{border:3px solid var(--panel-border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-soft);flex-direction:column;gap:8px;margin:0;padding:12px;list-style:none;display:flex}.dr-winner{align-items:center;gap:10px;display:flex}.dr-slot{width:8.5rem;font-family:var(--font-head);letter-spacing:.3px;flex:none;font-size:.74rem}.dr-title{overflow-wrap:anywhere;min-width:0;font-size:.9rem;font-weight:600}.dr-form{flex-direction:column;gap:14px;display:flex}.dr-date{max-width:16rem}.dr-stars{margin-top:2px}.dr-note{resize:vertical;width:100%;min-height:5.5rem;line-height:1.5}@media (width<=768px){.dr-winner{flex-wrap:wrap}.dr-slot{width:auto}.dr-title{flex:100%;padding-left:34px}.dr-date{max-width:none}.dr input[type=date]{min-height:44px}body{height:auto;padding:12px;overflow:auto}.sankey{min-width:800px}#app,.wrap{height:auto}.hamburger{display:inline-flex}.nav{display:none}header.topbar{gap:12px;margin-bottom:12px}.title-block{flex:auto;gap:12px}.title-block h1{font-size:1.5rem}.house-badge{padding:8px 14px 8px 10px}.house-badge .badge-score{font-size:1.6rem}.grid{flex-direction:column;gap:16px;min-height:0;display:flex}.df-popover{min-width:0;left:0;right:0}.df-popover select{width:100%}.panel{height:auto}.grid>.panel{flex:none}.panel-body,.panel-grow .panel-body,.settings .panel-body,.settings{overflow:visible}.cat-layout{flex-direction:column}.cat-list{overflow:visible}.today-score{border-left:none;border-top:2px solid var(--track);flex-direction:row;justify-content:center;gap:16px;padding:14px 0 0}.months{flex-direction:column;gap:18px}.month{flex:auto;min-width:0}.st-tabs{border:3px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);flex-wrap:nowrap;gap:0;overflow-x:auto}.st-tabs button{min-height:44px;box-shadow:none;white-space:nowrap;border:none;border-radius:0;flex:1 0 auto}.st-tabs button+button{border-left:2px solid var(--panel-border)}.st-tabs button.active{box-shadow:none}.st-cat,.st-field,.st-task{flex-wrap:wrap}.st-cat .st-num{width:72px}dialog.app-modal.sheet-on-mobile{border:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}dialog.app-modal.sheet-on-mobile .modal-card{height:100dvh;max-height:100dvh}.paliers-grid{flex-direction:column}.paliers-editor{min-width:0}.curve{width:100%;max-width:340px;height:auto}.btn{min-height:44px}.btn-del:not(.btn-del-wide),.modal-x{width:44px;height:44px}.st-input,.task-form input,.task-form select,.palier-row input{min-height:44px}}@media (width<=480px){body{padding:10px}.title-block h1{font-size:1.25rem}.day{--mark-size:22px}.cal-head,.cal-row{grid-template-columns:22px repeat(7,1fr);column-gap:2px}.week-label{padding:3px 0;font-size:.58rem}.toast-host{width:auto;bottom:8px;left:8px;right:8px;transform:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
